{"version":3,"file":"static/js/main.1cace745.js","mappings":"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Q,IAAIw2D,EACrBx2D,EA/JY,GAiKZ,EACAA,EAAKnE,cACL,MACA,GACA,EACD,IAKH,CACE,UAGA,WACA,QACA,YAKAH,SAAQsE,IACRy2D,EAAWz2D,GAAQ,IAAIw2D,EACrBx2D,EAxLY,GA0LZ,EACAA,EACA,MACA,GACA,EACD,IAKH,CACE,UACA,YAKAtE,SAAQsE,IACRy2D,EAAWz2D,GAAQ,IAAIw2D,EACrBx2D,EAvMuB,GAyMvB,EACAA,EACA,MACA,GACA,EACD,IAIH,CACE,OACA,OACA,OACA,QAKAtE,SAAQsE,IACRy2D,EAAWz2D,GAAQ,IAAIw2D,EACrBx2D,EArNqB,GAuNrB,EACAA,EACA,MACA,GACA,EACD,IAIH,CAAC,UAAW,SAAStE,SAAQsE,IAC3By2D,EAAWz2D,GAAQ,IAAIw2D,EACrBx2D,EAtOY,GAwOZ,EACAA,EAAKnE,cACL,MACA,GACA,EACD,IAGH,MAAM86D,EAAW,iBACXC,EAAa93D,GAASA,EAAM,GAAG3E,cAOrC,CACE,gBACA,qBACA,cACA,iBACA,aACA,YACA,YACA,sBACA,8BACA,gBACA,kBACA,oBACA,oBACA,eACA,YACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,aACA,+BACA,6BACA,cACA,iBACA,kBACA,iBACA,iBACA,aACA,aACA,eACA,oBACA,qBACA,cACA,WACA,iBACA,mBACA,kBACA,aACA,eACA,yBACA,0BACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,cACA,kBACA,iBACA,qBACA,sBACA,eACA,gBACA,eACA,eACA,YACA,gBACA,iBACA,gBACA,aACA,gBACA,gBACA,eACA,eACA,cACA,YAKAuB,SAAQssB,IACR,MAAMhoB,EAAOgoB,EAAcpf,QAAQ+tD,EAAUC,GAC7CH,EAAWz2D,GAAQ,IAAIw2D,EACrBx2D,EA9VW,GAgWX,EACAgoB,EACA,MACA,GACA,EACD,IAIH,CACE,gBACA,gBACA,aACA,aACA,cACA,cAKAtsB,SAAQssB,IACR,MAAMhoB,EAAOgoB,EAAcpf,QAAQ+tD,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CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,QAAS,CACL,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KACA,MAEJ,GAAM,CACF,IACA,IACA,KAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,MAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,SAAU,CACN,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,IACA,MAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,SAAU,CACN,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,KAEJ,GAAM,CACF,IACA,KACA,KACA,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MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACM,MAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACM,OAANA,GACM,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,KACf,OAANA,GACM,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACpBA,GAAK,MAAUA,GAAK,MACf,OAANA,GACCA,GAAK,MAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACCA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,OACf,QAANA,GACM,QAANA,GACM,QAANA,GACM,QAANA,GACCA,GAAK,OAAUA,GAAK,KAC7B,CEvvCA,SAASu8E,GAAcC,GACnBA,EAAI3gF,SAAQ,SAAUiT,GAElB,UADOA,EAAGjC,SACNkjE,EAAgBjhE,IAAOmhE,EAAgBnhE,GACvC,IAAK,IAAIkN,KAAKlN,EAAG7K,eACN6K,EAAG7K,QAAQ+X,GAAGnP,SACrB0vE,GAAcztE,EAAG7K,QAAQ+X,GAAG9hB,YAG3B01E,EAAgB9gE,IAAOwhE,EAAiBxhE,EAAG2T,SAG1CotD,EAAc/gE,IAAOghE,EAAchhE,KACzCyhE,EAAmBzhE,EAAG2T,cAHf3T,EAAG2T,MA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","sources":["../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/env/classes/FormData.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/utils.js","../node_modules/axios/node_modules/form-data/lib/browser.js","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/locale/fi.js","../node_modules/dayjs/locale/sv.js","../node_modules/dayjs/plugin/customParseFormat.js","../node_modules/dayjs/plugin/isoWeek.js","../node_modules/dayjs/plugin/localeData.js","../node_modules/dayjs/plugin/localizedFormat.js","../node_modules/dayjs/plugin/weekYear.js","../node_modules/dayjs/plugin/weekday.js","../node_modules/domhandler/lib/index.js","../node_modules/domhandler/lib/node.js","../node_modules/domhandler/node_modules/domelementtype/lib/index.js","../node_modules/fade-props/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/html-dom-parser/src/client/constants.ts","../node_modules/html-dom-parser/src/client/domparser.ts","../node_modules/html-dom-parser/src/client/html-to-dom.ts","../node_modules/html-dom-parser/src/client/utilities.ts","../node_modules/html-react-parser/src/attributes-to-props.ts","../node_modules/html-react-parser/src/dom-to-react.ts","../node_modules/html-react-parser/src/index.ts","../node_modules/html-react-parser/src/utilities.ts","../node_modules/inline-style-parser/index.js","../node_modules/lodash.debounce/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-dom/node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/react-dom/node_modules/scheduler/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-property/lib/index.js","../node_modules/react-property/lib/possibleStandardNamesOptimized.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/style-to-js/src/index.ts","../node_modules/style-to-js/src/utilities.ts","../node_modules/style-to-object/src/index.ts","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../node_modules/tslib/tslib.es6.js","../node_modules/react-intl/lib/src/components/injectIntl.js","../node_modules/@formatjs/ecma402-abstract/lib/utils.js","../node_modules/@formatjs/icu-messageformat-parser/lib/error.js","../node_modules/@formatjs/icu-messageformat-parser/lib/types.js","../node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","../node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/number.js","../node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","../node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","../node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","../node_modules/@formatjs/icu-messageformat-parser/lib/index.js","../node_modules/@formatjs/fast-memoize/lib/index.js","../node_modules/intl-messageformat/lib/src/error.js","../node_modules/intl-messageformat/lib/src/formatters.js","../node_modules/intl-messageformat/lib/src/core.js","../node_modules/@formatjs/intl/lib/src/error.js","../node_modules/@formatjs/intl/lib/src/utils.js","../node_modules/react-intl/lib/src/utils.js","../node_modules/@formatjs/intl/lib/src/message.js","../node_modules/@formatjs/intl/lib/src/number.js","../node_modules/@formatjs/intl/lib/src/relativeTime.js","../node_modules/@formatjs/intl/lib/src/dateTime.js","../node_modules/@formatjs/intl/lib/src/plural.js","../node_modules/@formatjs/intl/lib/src/list.js","../node_modules/@formatjs/intl/lib/src/displayName.js","../node_modules/@formatjs/intl/lib/src/create-intl.js","../node_modules/react-intl/lib/src/components/provider.js","../node_modules/use-undo/lib/use-undo.m.js","../node_modules/react-intl/lib/src/components/useIntl.js","../node_modules/react-intl/lib/src/components/message.js","components/SSNField.js","components/DatePicker.js","components/MultiChoiceField.js","components/FormElement.js","../node_modules/html-react-parser/esm/index.mjs","components/ChatHtml.js","components/LeftArrowIcon.js","components/ChatMessage.js","components/MessageBox.js","question/questionHelper.js","api/AxiosClient.ts","analytics/DataLayer.ts","helpers/MobileDetection.js","components/Clickbot.js","lang/languageHelpers.js","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/internal/treeshake_helpers.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/internal/constants.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/base.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/safe.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/safe_get.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/object/get_own_prop_desc.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/object/has_own_prop.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/object/has_own.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/object/for_each_key.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/object/define.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/internal/map.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/string/as_string.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/diagnostics.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/throw.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/object/object.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/enum.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/symbol/well_known.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/internal/global.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/internal/unwrapFunction.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/math/min_max.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/string/slice.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/string/substring.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/polyfills/symbol.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/lazy.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/cache.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/environment.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/symbol/symbol.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/iterator/forOf.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/iterator/iterator.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/funcs/funcs.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/array/append.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/array/forEach.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/array/indexOf.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/array/map.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/array/slice.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/array/find.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/array/reduce.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/object/set_proto.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/customError.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/object/create.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/date.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/polyfills/trim.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/string/trim.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/encode.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/object/is_plain_object.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/object/copy.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/extend.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/length.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/perf.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/string/split.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/helpers/get_set_value.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/string/ends_with.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/string/index_of.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/timer/handler.ts","../https:/raw.githubusercontent.com/nevware21/ts-utils/refs/tags/0.11.6/lib/src/timer/timeout.ts","../node_modules/@microsoft/applicationinsights-shims/src/Constants.ts","../node_modules/@microsoft/applicationinsights-shims/src/TsLibShims.ts","../node_modules/@microsoft/dynamicproto-js/src/DynamicProto.ts","../node_modules/@microsoft/applicationinsights-common/dist-es5/applicationinsights-common.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/InternalConstants.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/EnvUtils.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/RandomHelper.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DataCacheHelper.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/ConfigDefaults.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicSupport.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicProperty.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/AggregationError.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicState.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicConfig.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/ConfigDefaultHelpers.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DbgExtensionUtils.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DiagnosticLogger.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/CookieMgr.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/PerfManager.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/CoreUtils.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/W3cTraceParent.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/TelemetryHelpers.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/UnloadHookContainer.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js","../node_modules/@microsoft/applicationinsights-react-js/dist-esm/ReactPlugin.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Enums.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/StorageHelperFuncs.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Constants.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Common/DataSanitizer.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/TelemetryItemCreator.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Event.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Trace.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Common/DataPoint.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Metric.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/PageView.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/PageViewPerformance.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Exception.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/RequestResponseHeaders.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/UrlHelperFuncs.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Util.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/RemoteDependencyData.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/DomHelperFuncs.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/EventHelpers.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/InstrumentHooks.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/Telemetry/PageViewManager.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/AnalyticsPlugin.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/Telemetry/PageVisitTimeManager.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/Timing.js","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/promise/debug.ts","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/internal/constants.ts","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/promise/await.ts","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/internal/state.ts","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/promise/event.ts","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/promise/base.ts","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/promise/itemProcessor.ts","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/promise/asyncPromise.ts","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/promise/nativePromise.ts","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/promise/syncPromise.ts","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/promise/idlePromise.ts","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/promise/promise.ts","../https:/raw.githubusercontent.com/nevware21/ts-async/refs/tags/0.5.4/lib/src/polyfills/promise.ts","../node_modules/@microsoft/applicationinsights-cfgsync-js/dist-es5/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-cfgsync-js/dist-es5/CfgSyncHelperFuncs.js","../node_modules/@microsoft/applicationinsights-cfgsync-js/dist-es5/CfgSyncPlugin.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Offline.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK.Enums/InitActiveStatusEnum.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/Constants.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/SenderPostManager.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/AsyncUtils.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/ResponseHelpers.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Interfaces/Contracts/ContextTagKeys.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Interfaces/PartAExtensions.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Common/Envelope.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Common/Data.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/InternalConstants.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/EnvelopeCreator.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/SendBuffer.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/Sender.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/Serializer.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js","../node_modules/@microsoft/applicationinsights-channel-js/dist-es5/TelemetryProcessors/Sample.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/ConnectionStringParser.js","../node_modules/@microsoft/applicationinsights-common/dist-es5/ThrottleMgr.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/NotificationManager.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/TelemetryInitializerPlugin.js","../node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/AppInsightsCore.js","../node_modules/@microsoft/applicationinsights-dependencies-js/dist-es5/InternalConstants.js","../node_modules/@microsoft/applicationinsights-dependencies-js/dist-es5/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-dependencies-js/dist-es5/ajaxRecord.js","../node_modules/@microsoft/applicationinsights-dependencies-js/dist-es5/ajax.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/Application.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/Device.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/Internal.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/Location.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/Session.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/TelemetryTrace.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/Context/User.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/TelemetryContext.js","../node_modules/@microsoft/applicationinsights-properties-js/dist-es5/PropertiesPlugin.js","../node_modules/@microsoft/applicationinsights-web/dist-es5/InternalConstants.js","../node_modules/@microsoft/applicationinsights-web/dist-es5/AISku.js","../node_modules/@microsoft/applicationinsights-web/dist-es5/__DynamicConstants.js","telemetry/TelemetryProvider.tsx","index.js"],"sourcesContent":["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 transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\nvar platform = require('../platform');\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 withXSRFToken = config.withXSRFToken;\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) && utils.isStandardBrowserEnv()) {\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\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(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 var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var 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 (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n var xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\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.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 // false, 0 (zero number), and '' (empty string) are valid JSON values\n if (!requestData && requestData !== false && requestData !== 0 && requestData !== '') {\n requestData = null;\n }\n\n var 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);\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');\nvar formDataToJSON = require('./helpers/formDataToJSON');\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.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/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};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\naxios.formToJSON = function(thing) {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\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 = 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 = 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, 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 */\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\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\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\nmodule.exports = CanceledError;\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 buildFullPath = require('./buildFullPath');\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 {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\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 var paramsSerializer = config.paramsSerializer;\n\n if (paramsSerializer !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n\n utils.isFunction(paramsSerializer) && (config.paramsSerializer = {serialize: paramsSerializer});\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 var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\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\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\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 * @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: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar 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(function(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 = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\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\nmodule.exports = AxiosError;\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 * Clear all interceptors from the stack\n */\nInterceptorManager.prototype.clear = function 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 */\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 utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\n\n/**\n * Throws a `CanceledError` 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 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 * @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 null,\n config.transformRequest\n );\n\n normalizeHeaderName(config.headers, 'Accept');\n normalizeHeaderName(config.headers, 'Content-Type');\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 response.status,\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 reason.response.status,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\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.isEmptyObject(source)) {\n return utils.merge({}, target);\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 'withXSRFToken': 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 };\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 AxiosError = require('./AxiosError');\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(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\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 {Number} status HTTP status code\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, status, 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, status);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\nvar toURLEncodedForm = require('../helpers/toURLEncodedForm');\nvar platform = require('../platform');\nvar formDataToJSON = require('../helpers/formDataToJSON');\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: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n var contentType = headers && headers['Content-Type'] || '';\n var hasJSONContentType = contentType.indexOf('application/json') > -1;\n var isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n var isFormData = utils.isFormData(data);\n\n if (isFormData) {\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 setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var 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 var _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 setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var 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\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","// eslint-disable-next-line strict\nmodule.exports = require('form-data');\n","module.exports = {\n \"version\": \"0.28.1\"\n};","'use strict';\n\nvar toFormData = require('./toFormData');\n\nfunction encode(str) {\n var 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\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nvar prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n var _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\nmodule.exports = AxiosURLSearchParams;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar AxiosURLSearchParams = require('../helpers/AxiosURLSearchParams');\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 * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n var _encode = options && options.encode || encode;\n\n var serializeFn = options && options.serialize;\n\n var 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 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\nvar utils = require('../utils');\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(function(match) {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\nfunction arrayToObject(arr) {\n var obj = {};\n var keys = Object.keys(arr);\n var i;\n var len = keys.length;\n var key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n var name = path[index++];\n var isNumericKey = Number.isFinite(+name);\n var isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProperty(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 var 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 var obj = {};\n\n utils.forEachEntry(formData, function(name, value) {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nmodule.exports = formDataToJSON;\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.slice(0, i)).toLowerCase();\n val = utils.trim(line.slice(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\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\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 utils = require('../utils');\nvar AxiosError = require('../core/AxiosError');\nvar envFormData = require('../env/classes/FormData');\n\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\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\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nvar predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\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 * @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 * @returns {Object}\n **/\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 var metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n var visitor = options.visitor || defaultVisitor;\n var dots = options.dots;\n var indexes = options.indexes;\n var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n var 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 *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n var 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) && 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 var stack = [];\n\n var exposedHelpers = Object.assign(predicates, {\n defaultVisitor: defaultVisitor,\n convertValue: convertValue,\n isVisitable: 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 var result = !utils.isUndefined(el) && 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\nmodule.exports = toFormData;\n","'use strict';\n\nvar utils = require('../utils');\nvar toFormData = require('./toFormData');\nvar platform = require('../platform/');\n\nmodule.exports = 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\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\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 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 * @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 AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\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 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\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nmodule.exports = FormData;\n","'use strict';\n\nvar AxiosURLSearchParams = require('../../../helpers/AxiosURLSearchParams');\n\nmodule.exports = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nmodule.exports = {\n isBrowser: true,\n classes: {\n URLSearchParams: require('./classes/URLSearchParams'),\n FormData: require('./classes/FormData'),\n Blob: Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nmodule.exports = require('./node/');\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// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\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 * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\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 (kindOf(val) !== '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 empty Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a empty Object, otherwise false\n */\nfunction isEmptyObject(val) {\n return val && Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\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 FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var 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 * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar 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 * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/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 var 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\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\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\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\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 * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter, propFilter) {\n var props;\n var i;\n var prop;\n var 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 && Object.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 * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction 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 var 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 * @param {*} [thing]\n * @returns {?Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n var i = thing.length;\n if (!isNumber(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nfunction forEachEntry(obj, fn) {\n var generator = obj && obj[Symbol.iterator];\n\n var iterator = generator.call(obj);\n\n var result;\n\n while ((result = iterator.next()) && !result.done) {\n var pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\nfunction matchAll(regExp, str) {\n var matches;\n var arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\nvar isHTMLForm = kindOfTest('HTMLFormElement');\n\nvar hasOwnProperty = (function resolver(_hasOwnProperty) {\n return function(obj, prop) {\n return _hasOwnProperty.call(obj, prop);\n };\n})(Object.prototype.hasOwnProperty);\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 isEmptyObject: isEmptyObject,\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 inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList,\n forEachEntry: forEachEntry,\n matchAll: matchAll,\n isHTMLForm: isHTMLForm,\n hasOwnProperty: hasOwnProperty\n};\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):t.dayjs=e()}(this,function(){\"use strict\";var t=\"millisecond\",e=\"second\",n=\"minute\",r=\"hour\",i=\"day\",s=\"week\",u=\"month\",a=\"quarter\",o=\"year\",f=\"date\",h=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[^0-9]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,c=/\\[([^\\]]+)]|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,d={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(\"_\")},$=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},l={s:$,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+$(r,2,\"0\")+\":\"+$(i,2,\"0\")},m:function t(e,n){if(e.date()-1){n=i>12;break}}else n=t===(e?\"pm\":\"PM\");return n},d={A:[o,function(t){this.afternoon=h(t,!1)}],a:[o,function(t){this.afternoon=h(t,!0)}],S:[/\\d/,function(t){this.milliseconds=100*+t}],SS:[r,function(t){this.milliseconds=10*+t}],SSS:[/\\d{3}/,function(t){this.milliseconds=+t}],s:[i,a(\"seconds\")],ss:[i,a(\"seconds\")],m:[i,a(\"minutes\")],mm:[i,a(\"minutes\")],H:[i,a(\"hours\")],h:[i,a(\"hours\")],HH:[i,a(\"hours\")],hh:[i,a(\"hours\")],D:[i,a(\"day\")],DD:[r,a(\"day\")],Do:[o,function(t){var e=s.ordinal,n=t.match(/\\d+/);if(this.day=n[0],e)for(var r=1;r<=31;r+=1)e(r).replace(/\\[|\\]/g,\"\")===t&&(this.day=r)}],M:[i,a(\"month\")],MM:[r,a(\"month\")],MMM:[o,function(t){var e=u(\"months\"),n=(u(\"monthsShort\")||e.map(function(t){return t.substr(0,3)})).indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(t){var e=u(\"months\").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e}],Y:[/[+-]?\\d+/,a(\"year\")],YY:[r,function(t){t=+t,this.year=t+(t>68?1900:2e3)}],YYYY:[/\\d{4}/,a(\"year\")],Z:f,ZZ:f};var c=function(t,r,i){try{var o=function(t){for(var r=(t=e(t,s&&s.formats)).match(n),i=r.length,o=0;o0?f-1:Y.getMonth());var y=h||0,L=c||0,g=m||0,$=l||0;return M?new Date(Date.UTC(p,D,v,y,L,g,$+60*M.offset*1e3)):i?new Date(Date.UTC(p,D,v,y,L,g,$)):new Date(p,D,v,y,L,g,$)}catch(t){return new Date(\"\")}};return function(t,e,n){n.p.customParseFormat=!0;var r=e.prototype,i=r.parse;r.parse=function(t){var e=t.date,r=t.utc,o=t.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],u=!0===o[3],h=f||u,d=o[2];u&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=c(e,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),h&&e!==this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var m=a.length,l=1;l<=m;l+=1){o[1]=a[l-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}l===m&&(this.$d=new Date(\"\"))}else i.call(this,t)}}});\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):t.dayjs_plugin_isoWeek=e()}(this,function(){\"use strict\";var t=\"day\";return function(e,i,s){var a=function(e){return e.add(4-e.isoWeekday(),t)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(e){if(!this.$utils().u(e))return this.add(7*(e-this.isoWeek()),t);var i,d,n,r,o=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),r=4-n.isoWeekday(),n.isoWeekday()>4&&(r+=7),n.add(r,t));return o.diff(u,\"week\")+1},d.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var n=d.startOf;d.startOf=function(t,e){var i=this.$utils(),s=!!i.u(e)||e;return\"isoweek\"===i.p(t)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(t,e)}}});\n","!function(n,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):n.dayjs_plugin_localeData=t()}(this,function(){\"use strict\";return function(n,t,e){var r=function(n){return n&&(n.indexOf?n:n.s)},o=function(n,t,e,o,u){var a=n.name?n:n.$locale(),i=r(a[t]),s=r(a[e]),d=i||s.map(function(n){return n.substr(0,o)});if(!u)return d;var f=a.weekStart;return d.map(function(n,t){return d[(t+(f||0))%7]})},u=function(){return e.Ls[e.locale()]},a=function(n,t){return n.formats[t]||function(n){return n.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,function(n,t,e){return t||e.slice(1)})}(n.formats[t.toUpperCase()])};t.prototype.localeData=function(){return function(){var n=this;return{months:function(t){return t?t.format(\"MMMM\"):o(n,\"months\")},monthsShort:function(t){return t?t.format(\"MMM\"):o(n,\"monthsShort\",\"months\",3)},firstDayOfWeek:function(){return n.$locale().weekStart||0},weekdays:function(t){return t?t.format(\"dddd\"):o(n,\"weekdays\")},weekdaysMin:function(t){return t?t.format(\"dd\"):o(n,\"weekdaysMin\",\"weekdays\",2)},weekdaysShort:function(t){return t?t.format(\"ddd\"):o(n,\"weekdaysShort\",\"weekdays\",3)},longDateFormat:function(t){return a(n.$locale(),t)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}}.bind(this)()},e.localeData=function(){var n=u();return{firstDayOfWeek:function(){return n.weekStart||0},weekdays:function(){return e.weekdays()},weekdaysShort:function(){return e.weekdaysShort()},weekdaysMin:function(){return e.weekdaysMin()},months:function(){return e.months()},monthsShort:function(){return e.monthsShort()},longDateFormat:function(t){return a(n,t)},meridiem:n.meridiem,ordinal:n.ordinal}},e.months=function(){return o(u(),\"months\")},e.monthsShort=function(){return o(u(),\"monthsShort\",\"months\",3)},e.weekdays=function(n){return o(u(),\"weekdays\",null,null,n)},e.weekdaysShort=function(n){return o(u(),\"weekdaysShort\",\"weekdays\",3,n)},e.weekdaysMin=function(n){return o(u(),\"weekdaysMin\",\"weekdays\",2,n)}}});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.dayjs_plugin_localizedFormat=t()}(this,function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,n,o){var r=n.prototype,M=r.format;o.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var n=this.$locale().formats,o=function(t,n){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(t,o,r){var M=r&&r.toUpperCase();return o||n[r]||e[r]||n[M].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,function(e,t,n){return t||n.slice(1)})})}(t,void 0===n?{}:n);return M.call(this,o)}}});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.dayjs_plugin_weekYear=t()}(this,function(){\"use strict\";return function(e,t){t.prototype.weekYear=function(){var e=this.month(),t=this.week(),n=this.year();return 1===t&&11===e?n+1:0===e&&t>=52?n-1:n}}});\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.dayjs_plugin_weekday=t()}(this,function(){\"use strict\";return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,n=this.$W,i=(n 0\n ? this.children[this.children.length - 1]\n : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"childNodes\", {\n /**\n * Same as {@link children}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.children;\n },\n set: function (children) {\n this.children = children;\n },\n enumerable: false,\n configurable: true\n });\n return NodeWithChildren;\n}(Node));\nexports.NodeWithChildren = NodeWithChildren;\nvar CDATA = /** @class */ (function (_super) {\n __extends(CDATA, _super);\n function CDATA() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.CDATA;\n return _this;\n }\n Object.defineProperty(CDATA.prototype, \"nodeType\", {\n get: function () {\n return 4;\n },\n enumerable: false,\n configurable: true\n });\n return CDATA;\n}(NodeWithChildren));\nexports.CDATA = CDATA;\n/**\n * The root node of the document.\n */\nvar Document = /** @class */ (function (_super) {\n __extends(Document, _super);\n function Document() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Root;\n return _this;\n }\n Object.defineProperty(Document.prototype, \"nodeType\", {\n get: function () {\n return 9;\n },\n enumerable: false,\n configurable: true\n });\n return Document;\n}(NodeWithChildren));\nexports.Document = Document;\n/**\n * An element within the DOM.\n */\nvar Element = /** @class */ (function (_super) {\n __extends(Element, _super);\n /**\n * @param name Name of the tag, eg. `div`, `span`.\n * @param attribs Object mapping attribute names to attribute values.\n * @param children Children of the node.\n */\n function Element(name, attribs, children, type) {\n if (children === void 0) { children = []; }\n if (type === void 0) { type = name === \"script\"\n ? domelementtype_1.ElementType.Script\n : name === \"style\"\n ? domelementtype_1.ElementType.Style\n : domelementtype_1.ElementType.Tag; }\n var _this = _super.call(this, children) || this;\n _this.name = name;\n _this.attribs = attribs;\n _this.type = type;\n return _this;\n }\n Object.defineProperty(Element.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"tagName\", {\n // DOM Level 1 aliases\n /**\n * Same as {@link name}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.name;\n },\n set: function (name) {\n this.name = name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"attributes\", {\n get: function () {\n var _this = this;\n return Object.keys(this.attribs).map(function (name) {\n var _a, _b;\n return ({\n name: name,\n value: _this.attribs[name],\n namespace: (_a = _this[\"x-attribsNamespace\"]) === null || _a === void 0 ? void 0 : _a[name],\n prefix: (_b = _this[\"x-attribsPrefix\"]) === null || _b === void 0 ? void 0 : _b[name],\n });\n });\n },\n enumerable: false,\n configurable: true\n });\n return Element;\n}(NodeWithChildren));\nexports.Element = Element;\n/**\n * @param node Node to check.\n * @returns `true` if the node is a `Element`, `false` otherwise.\n */\nfunction isTag(node) {\n return (0, domelementtype_1.isTag)(node);\n}\nexports.isTag = isTag;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `CDATA`, `false` otherwise.\n */\nfunction isCDATA(node) {\n return node.type === domelementtype_1.ElementType.CDATA;\n}\nexports.isCDATA = isCDATA;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Text`, `false` otherwise.\n */\nfunction isText(node) {\n return node.type === domelementtype_1.ElementType.Text;\n}\nexports.isText = isText;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Comment`, `false` otherwise.\n */\nfunction isComment(node) {\n return node.type === domelementtype_1.ElementType.Comment;\n}\nexports.isComment = isComment;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDirective(node) {\n return node.type === domelementtype_1.ElementType.Directive;\n}\nexports.isDirective = isDirective;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDocument(node) {\n return node.type === domelementtype_1.ElementType.Root;\n}\nexports.isDocument = isDocument;\n/**\n * @param node Node to check.\n * @returns `true` if the node has children, `false` otherwise.\n */\nfunction hasChildren(node) {\n return Object.prototype.hasOwnProperty.call(node, \"children\");\n}\nexports.hasChildren = hasChildren;\n/**\n * Clone a node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\nfunction cloneNode(node, recursive) {\n if (recursive === void 0) { recursive = false; }\n var result;\n if (isText(node)) {\n result = new Text(node.data);\n }\n else if (isComment(node)) {\n result = new Comment(node.data);\n }\n else if (isTag(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_1 = new Element(node.name, __assign({}, node.attribs), children);\n children.forEach(function (child) { return (child.parent = clone_1); });\n if (node.namespace != null) {\n clone_1.namespace = node.namespace;\n }\n if (node[\"x-attribsNamespace\"]) {\n clone_1[\"x-attribsNamespace\"] = __assign({}, node[\"x-attribsNamespace\"]);\n }\n if (node[\"x-attribsPrefix\"]) {\n clone_1[\"x-attribsPrefix\"] = __assign({}, node[\"x-attribsPrefix\"]);\n }\n result = clone_1;\n }\n else if (isCDATA(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_2 = new CDATA(children);\n children.forEach(function (child) { return (child.parent = clone_2); });\n result = clone_2;\n }\n else if (isDocument(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_3 = new Document(children);\n children.forEach(function (child) { return (child.parent = clone_3); });\n if (node[\"x-mode\"]) {\n clone_3[\"x-mode\"] = node[\"x-mode\"];\n }\n result = clone_3;\n }\n else if (isDirective(node)) {\n var instruction = new ProcessingInstruction(node.name, node.data);\n if (node[\"x-name\"] != null) {\n instruction[\"x-name\"] = node[\"x-name\"];\n instruction[\"x-publicId\"] = node[\"x-publicId\"];\n instruction[\"x-systemId\"] = node[\"x-systemId\"];\n }\n result = instruction;\n }\n else {\n throw new Error(\"Not implemented yet: \".concat(node.type));\n }\n result.startIndex = node.startIndex;\n result.endIndex = node.endIndex;\n if (node.sourceCodeLocation != null) {\n result.sourceCodeLocation = node.sourceCodeLocation;\n }\n return result;\n}\nexports.cloneNode = cloneNode;\nfunction cloneChildren(childs) {\n var children = childs.map(function (child) { return cloneNode(child, true); });\n for (var i = 1; i < children.length; i++) {\n children[i].prev = children[i - 1];\n children[i - 1].next = children[i];\n }\n return children;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for \"); // \"<script src="javascript:alert('Hello');"></script>\"\r\n * ```\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function encodeAsHtml(value: string) {\r\n !_htmlEntityCache && (_htmlEntityCache = {\r\n \"&\": \"amp\",\r\n \"<\": \"lt\",\r\n \">\": \"gt\",\r\n \"\\\"\": \"quot\",\r\n \"'\": \"#39\"\r\n });\r\n \r\n return asString(value).replace(/[&<>\"']/g, match => \"&\" + _htmlEntityCache[match] + \";\");\r\n}\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { getWindow, hasWindow } from \"../helpers/environment\";\r\nimport { CALL, CONSTRUCTOR, FUNCTION, ObjClass, OBJECT, PROTOTYPE, TO_STRING } from \"../internal/constants\";\r\nimport { objHasOwnProperty } from \"./has_own_prop\";\r\nimport { objGetPrototypeOf } from \"./object\";\r\n\r\n// Use to cache the result of Object.cont\r\nlet _fnToString: () => string;\r\nlet _objCtrFnString: string;\r\nlet _gblWindow: Window;\r\n\r\n/**\r\n * Checks to see if the past value is a plain object (not a class/array) value.\r\n * Object are considered to be \"plain\" if they are created with no prototype `Object.create(null)`\r\n * or by using the Object global (native) function, all other \"objects\" ar\r\n * @since 0.4.4\r\n * @group Type Identity\r\n * @group Object\r\n * @param value - The value to check\r\n * @returns true if `value` is a normal plain object\r\n * @example\r\n * ```ts\r\n * console.log(isPlainObject({ 0: 'a', 1: 'b', 2: 'c' })); // true\r\n * console.log(isPlainObject({ 100: 'a', 2: 'b', 7: 'c' })); // true\r\n * console.log(isPlainObject(objCreate(null))); // true\r\n *\r\n * const myObj = objCreate({}, {\r\n * getFoo: {\r\n * value() { return this.foo; }\r\n * }\r\n * });\r\n * myObj.foo = 1;\r\n * console.log(isPlainObject(myObj)); // true\r\n *\r\n * console.log(isPlainObject(['a', 'b', 'c'])); // false\r\n * console.log(isPlainObject(new Date())); // false\r\n * console.log(isPlainObject(new Error(\"An Error\"))); // false\r\n * console.log(isPlainObject(null)); // false\r\n * console.log(isPlainObject(undefined)); // false\r\n * console.log(isPlainObject(\"null\")); // false\r\n * console.log(isPlainObject(\"undefined\")); // false\r\n * console.log(isPlainObject(\"1\")); // false\r\n * console.log(isPlainObject(\"aa\")); // false\r\n * ```\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function isPlainObject(value: any): value is object {\r\n if (!value || typeof value !== OBJECT) {\r\n return false;\r\n }\r\n\r\n if (!_gblWindow) {\r\n // Lazily cache the current global window value and default it to \"true\" (so we bypass this check in the future)\r\n _gblWindow = hasWindow() ? getWindow() : (true as any);\r\n }\r\n\r\n let result = false;\r\n if (value !== _gblWindow) {\r\n\r\n if (!_objCtrFnString) {\r\n // Lazily caching what the runtime reports as the object function constructor (as a string)\r\n // Using an current function lookup to find what this runtime calls a \"native\" function\r\n _fnToString = Function[PROTOTYPE][TO_STRING];\r\n _objCtrFnString = _fnToString[CALL](ObjClass);\r\n }\r\n\r\n try {\r\n let proto = objGetPrototypeOf(value);\r\n\r\n // No prototype so looks like an object created with Object.create(null)\r\n result = !proto;\r\n if (!result) {\r\n if (objHasOwnProperty(proto, CONSTRUCTOR)) {\r\n proto = proto[CONSTRUCTOR]\r\n }\r\n \r\n result = !!(proto && typeof proto === FUNCTION && _fnToString[CALL](proto) === _objCtrFnString);\r\n }\r\n } catch (ex) {\r\n // Something went wrong, so it's not an object we are playing with\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { arrForEach } from \"../array/forEach\";\r\nimport { isArray, isDate, isNullOrUndefined, isPrimitiveType } from \"../helpers/base\";\r\nimport { CALL, FUNCTION, NULL_VALUE, OBJECT } from \"../internal/constants\";\r\nimport { objDefine } from \"./define\";\r\nimport { isPlainObject } from \"./is_plain_object\";\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Provides the current context while performing a deep copy\r\n */\r\ninterface _DeepCopyContext {\r\n handler: ObjDeepCopyHandler;\r\n src: any;\r\n path?: Array;\r\n}\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Defines the type used for tracking visited objects during deep copy to identify recursive\r\n * objects.\r\n */\r\ninterface _RecursiveVisitMap {\r\n k: any;\r\n v: any;\r\n}\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Generic Object deep copy handler which creates a new plain object and copies enumerable properties from\r\n * the source to the new target plain object. The source object does not have to be a plain object.\r\n * @param details - The details object for the current property being copied\r\n * @returns true if the handler processed the field.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nfunction _defaultDeepCopyHandler(details: IObjDeepCopyHandlerDetails): boolean {\r\n // Make sure we at least copy plain objects\r\n details.value && plainObjDeepCopyHandler(details);\r\n\r\n // Always return true so that the iteration completes\r\n return true;\r\n}\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * The ordered default deep copy handlers\r\n */\r\nconst defaultDeepCopyHandlers: ObjDeepCopyHandler[] = [\r\n arrayDeepCopyHandler,\r\n plainObjDeepCopyHandler,\r\n functionDeepCopyHandler,\r\n dateDeepCopyHandler\r\n];\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Helper function used for detecting and handling recursive properties\r\n * @param visitMap - The current map of objects that have been visited\r\n * @param source - The value (object) to be copied\r\n * @param newPath - The new access path from the origin to the current property\r\n * @param cb - The callback function to call if the current object has not already been processed.\r\n * @returns The new deep copied property, may be incomplete as the object is recursive and is still in the process of being copied\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nfunction _getSetVisited(visitMap: _RecursiveVisitMap[], source: any, newPath: Array, cb: (newEntry: _RecursiveVisitMap) => void) {\r\n let theEntry: _RecursiveVisitMap;\r\n arrForEach(visitMap, (entry) => {\r\n if (entry.k === source) {\r\n theEntry = entry;\r\n return -1;\r\n }\r\n });\r\n\r\n if (!theEntry) {\r\n // Add the target to the visit map so that deep nested objects refer to the single instance\r\n // Even if we have not finished processing it yet.\r\n theEntry = { k: source, v: source };\r\n visitMap.push(theEntry);\r\n\r\n // Now call the copy callback so that it populates the target\r\n cb(theEntry);\r\n }\r\n\r\n return theEntry.v;\r\n}\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Internal helper which performs the recursive deep copy\r\n * @param visitMap - The current map of objects that have been visited\r\n * @param value - The value being copied\r\n * @param ctx - The current copy context\r\n * @param key - [Optional] the current `key` for the value from the source object\r\n * @returns The new deep copied instance of the value.\r\n */\r\nfunction _deepCopy(visitMap: _RecursiveVisitMap[], value: T, ctx: _DeepCopyContext, key?: string | number | symbol): T {\r\n let userHandler = ctx.handler;\r\n let newPath = ctx.path ? (key ? ctx.path.concat(key) : ctx.path) : [];\r\n\r\n let newCtx: _DeepCopyContext = {\r\n handler: ctx.handler,\r\n src: ctx.src,\r\n path: newPath\r\n };\r\n\r\n const theType = typeof value;\r\n let isPlain = false;\r\n let isPrim = value === NULL_VALUE;\r\n if (!isPrim) {\r\n if (value && theType === OBJECT) {\r\n isPlain = isPlainObject(value);\r\n } else {\r\n isPrim = isPrimitiveType(theType);\r\n }\r\n }\r\n\r\n let details: IObjDeepCopyHandlerDetails = {\r\n type: theType,\r\n isPrim: isPrim,\r\n isPlain: isPlain,\r\n value: value,\r\n result: value,\r\n path: newPath,\r\n origin: ctx.src,\r\n copy: (source: T, newKey?: string | number | symbol): T => {\r\n return _deepCopy(visitMap, source, newKey ? newCtx : ctx, newKey);\r\n },\r\n copyTo: (target: T, source: T): T => {\r\n return _copyProps(visitMap, target, source, newCtx);\r\n }\r\n };\r\n\r\n if (!details.isPrim) {\r\n return _getSetVisited(visitMap, value, newPath, (newEntry) => {\r\n\r\n // Use an accessor to set the new value onto the new entry\r\n objDefine(details, \"result\", {\r\n g: function () {\r\n return newEntry.v;\r\n },\r\n s: function (newValue: any) {\r\n newEntry.v = newValue;\r\n }\r\n });\r\n\r\n let idx = 0;\r\n let handler = userHandler;\r\n while (!(handler || (idx < defaultDeepCopyHandlers.length ? defaultDeepCopyHandlers[idx++] : _defaultDeepCopyHandler))[CALL](ctx, details)) {\r\n handler = NULL_VALUE;\r\n }\r\n });\r\n }\r\n\r\n // Allow the user handler to override the provided value\r\n if (userHandler && userHandler[CALL](ctx, details)) {\r\n return details.result;\r\n }\r\n\r\n return value;\r\n}\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Internal helper to copy all of the enumerable properties from the source object to the new target object\r\n * @param visitMap - The current map of objects that have been visited\r\n * @param target - The target object to copy the properties to.\r\n * @param source - The source object to copy the properties from.\r\n * @param ctx - The current deep copy context\r\n * @returns The populated target object\r\n */\r\nfunction _copyProps(visitMap: _RecursiveVisitMap[], target: T, source: T, ctx: _DeepCopyContext) {\r\n if (!isNullOrUndefined(source)) {\r\n // Copy all properties (not just own properties)\r\n for (const key in source) {\r\n // Perform a deep copy of the object\r\n target[key] = _deepCopy(visitMap, source[key], ctx, key);\r\n }\r\n }\r\n\r\n return target;\r\n}\r\n\r\n/**\r\n * Object helper to copy all of the enumerable properties from the source object to the target, the\r\n * properties are copied via {@link objDeepCopy}. Automatic handling of recursive properties was added in v0.4.4\r\n * @group Object\r\n * @param target - The target object to populated\r\n * @param source - The source object to copy the properties from\r\n * @param handler - An optional callback that lets you provide / overide the deep cloning (Since 0.4.4)\r\n * @returns The target object\r\n * @example\r\n * ```ts\r\n * let a: any = { a: 1 };\r\n * let b: any = { b: 2, d: new Date(), e: new TestClass(\"Hello Darkness\") };\r\n * a.b = b; // { a: 1, b: { b: 2} }\r\n * b.a = a; // { a: 1, b: { b: 2, a: { a: 1, { b: 2, a: ... }}}}\r\n *\r\n * function copyHandler(details: IObjDeepCopyHandlerDetails) {\r\n * // details.origin === a\r\n * // details.path[] is the path to the current value\r\n * if (details.value && isDate(details.value)) {\r\n * // So for the date path === [ \"b\", \"d\" ] which represents\r\n * // details.origin[\"b\"][\"d\"] === The Date\r\n *\r\n * // Create a clone the Date object and set as the \"newValue\"\r\n * details.value = new Date(details.value.getTime());\r\n *\r\n * // Return true to indicate that we have \"handled\" the conversion\r\n * // See objDeepCopy example for just reusing the original value (just don't replace details.value)\r\n * return true;\r\n * }\r\n *\r\n * return false;\r\n * }\r\n *\r\n * let c: any = objCopyProps({}, a, copyHandler);\r\n *\r\n * assert.notEqual(a, c, \"check a and c are not the same\");\r\n * assert.ok(c !== c.b.a, \"The root object won't be the same for the target reference as are are copying properties to our target\");\r\n * assert.ok(c.b === c.b.a.b, \"Check that the 2 'b' references are the same object\");\r\n * assert.ok(c.b.a === c.b.a.b.a, \"Check that the 2 'a' references are the same object\");\r\n * assert.ok(c.b.d === c.b.a.b.d, \"Check that the 2 'd' references are the same object\");\r\n * assert.ok(isDate(c.b.d), \"The copied date is still real 'Date' instance\");\r\n * assert.notEqual(c.b.d, a.b.d, \"And the copied date is not the same as the original\");\r\n * assert.equal(c.b.d.getTime(), a.b.d.getTime(), \"But the dates are the same\");\r\n *\r\n * assert.ok(isObject(c.b.d), \"The copied date is now an object\");\r\n * ```\r\n */\r\nexport function objCopyProps(target: T, source: any, handler?: ObjDeepCopyHandler) {\r\n let ctx: _DeepCopyContext = {\r\n handler: handler,\r\n src: source,\r\n path: []\r\n };\r\n\r\n return _copyProps([], target, source, ctx);\r\n}\r\n\r\n/**\r\n * Context details passed to the deep copy handler to allow it parse the current value based on the original source\r\n * and path to reach the current value. The provided value should be updated with the value to by copied into the\r\n * new deep copy and will be used when the handler returns true.\r\n * @since 0.4.4\r\n * @group Object - Deep Copy\r\n */\r\nexport interface IObjDeepCopyHandlerDetails {\r\n /**\r\n * Identifies the type of the value as per `typeof value`, saves each check having to process this value.\r\n */\r\n type: string;\r\n\r\n /**\r\n * Identifies whether the type of the value is considered to be a primitive value\r\n */\r\n isPrim: boolean;\r\n\r\n /**\r\n * Identifies whether the type is a plain object or not, this also saves each handler from checking\r\n * the `type`, currently the type will also be \"object\" if this is `true`.\r\n * @since 0.9.6\r\n */\r\n isPlain: boolean;\r\n\r\n /**\r\n * The current value to be processed, replace this value with the new deep copied value to use when returning\r\n * true from the handler. Ignored when the handler returns false.\r\n */\r\n readonly value: any;\r\n\r\n /**\r\n * Replace this value with the new deep copied value (defaults to the same as the value property) this value will be\r\n * used when returning true from the handler. Ignored when the handler returns false.\r\n */\r\n result: any;\r\n\r\n /**\r\n * A array of keys from the orginal source (origin) object which lead to the current value\r\n */\r\n path: Array;\r\n\r\n /**\r\n * The original source object passed into the `objDeepCopy()` or `objCopyProps()` functions.\r\n */\r\n origin?: any;\r\n\r\n /**\r\n * Continue the deep copy with the current context and recursive checks, effectively calls {@link objDeepCopy}\r\n * but keeps the current context and recursive references.\r\n * @param source - The source object to be copied\r\n */\r\n copy(source: T, key?: string | number | symbol): T;\r\n\r\n /**\r\n * Continue the deep copy with the current context and recursive checks by copying all of the properties\r\n * from the source to the target instance, effectively calls {@link objCopyProps} but keeps the current context\r\n * and recursive references.\r\n * @param target - The target object to populated\r\n * @param source - The source object to copy the properties from\r\n */\r\n copyTo(target: T, source: T): T;\r\n}\r\n\r\n/**\r\n * An optional deep copy handler that lets you provide your own logic for deep copying objects, will\r\n * only be called once per object/property combination, so if an object is recursively included it\r\n * will only get called for the first instance.\r\n * Handlers SHOULD assign the \"result\" value with the new target instance BEFORE performing any additional deep copying,\r\n * so any recursive objects will get a reference to the new instance and not keep attempting to create new copies.\r\n * @since 0.4.4\r\n * @group Object - Deep Copy\r\n * @return true if handled and the value in details should be used otherwise false to continue with the default handling\r\n * The library includes several helpers which can be reused by any user provided handler\r\n * - {@link functionDeepCopyHandler} - Used to copy functions\r\n * - {@link arrayDeepCopyHandler} - Used to copy arrays\r\n * - {@link plainObjDeepCopyHandler} - Used to copy plain objects\r\n * - {@link dateDeepCopyHandler} - Used to copy date instances\r\n */\r\nexport type ObjDeepCopyHandler = (details: IObjDeepCopyHandlerDetails) => boolean;\r\n\r\n/**\r\n * Performs a deep copy of the source object, this is designed to work with base (plain) objects, arrays and primitives\r\n * if the source object contains class objects they will either be not cloned or may be considered non-operational after\r\n * performing a deep copy. ie. This is performing a deep copy of the objects properties so that altering the copy will\r\n * not mutate the source object hierarchy.\r\n * Automatic handling of recursive properties was added in v0.4.4.\r\n * @group Object\r\n * @group Object - Deep Copy\r\n * @param source - The source object to be copied\r\n * @param handler - An optional callback that lets you provide / overide the deep cloning (Since 0.4.4)\r\n * @return A new object which contains a deep copy of the source properties\r\n * @example\r\n * ```ts\r\n * let a: any = { a: 1 };\r\n * let b: any = { b: 2, d: new Date(), e: new TestClass(\"Hello Darkness\") };\r\n * a.b = b; // { a: 1, b: { b: 2} }\r\n * b.a = a; // { a: 1, b: { b: 2, a: { a: 1, { b: 2, a: ... }}}}\r\n *\r\n * function copyHandler(details: IObjDeepCopyHandlerDetails) {\r\n * // details.origin === a\r\n * // details.path[] is the path to the current value\r\n * if (details.value && isDate(details.value)) {\r\n * // So for the date path === [ \"b\", \"d\" ] which represents\r\n * // details.origin[\"b\"][\"d\"] === The Date\r\n *\r\n * // Return true to indicate that we have \"handled\" the conversion\r\n * // Which in this case will reuse the existing instance (as we didn't replace details.value)\r\n * // See objCopyProps example for replacing the Date instance\r\n * return true;\r\n * }\r\n *\r\n * return false;\r\n * }\r\n *\r\n * let c: any = objDeepCopy(a, copyHandler);\r\n *\r\n * assert.notEqual(a, c, \"check a and c are not the same\");\r\n * assert.ok(c === c.b.a, \"The root object won't be the same for the target reference\");\r\n * assert.ok(c.b === c.b.a.b, \"Check that the 2 'b' references are the same object\");\r\n * assert.ok(c.b.a === c.b.a.b.a, \"Check that the 2 'a' references are the same object\");\r\n * assert.ok(c.b.d === c.b.a.b.d, \"Check that the 2 'd' references are the same object\");\r\n * assert.ok(isDate(c.b.d), \"The copied date is still real 'Date' instance\");\r\n * assert.equal(c.b.d, a.b.d, \"And the copied date is the original date\");\r\n * assert.equal(c.b.d.getTime(), a.b.d.getTime(), \"But the dates are the same\");\r\n * assert.ok(isObject(c.b.d), \"The copied date is now an object\");\r\n * assert.ok(!isError(c.b.e), \"The copied error is no longer a real 'Error' instance\");\r\n * assert.ok(isObject(c.b.e), \"The copied error is now an object\");\r\n * assert.equal(42, c.b.e.value, \"Expect that the local property was copied\");\r\n * ```\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function objDeepCopy(source: T, handler?: ObjDeepCopyHandler): T {\r\n let ctx: _DeepCopyContext = {\r\n handler: handler,\r\n src: source\r\n };\r\n\r\n return _deepCopy([], source, ctx);\r\n}\r\n\r\n/**\r\n * Deep copy handler to identify and copy arrays.\r\n * @since 0.4.4\r\n * @group Object - Deep Copy\r\n * @param details - The details object for the current property being copied\r\n * @returns `true` if the current value is a function otherwise `false`\r\n */\r\nexport function arrayDeepCopyHandler(details: IObjDeepCopyHandlerDetails): boolean {\r\n let value = details.value;\r\n if (isArray(value)) {\r\n // Assign the \"result\" value before performing any additional deep Copying, so any recursive object get a reference to this instance\r\n let target: any[] = details.result = [];\r\n target.length = value.length;\r\n\r\n // Copying all properties as arrays can contain non-indexed based properties\r\n details.copyTo(target, value);\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * Deep copy handler to identify and copy Date instances.\r\n * @since 0.4.4\r\n * @group Object - Deep Copy\r\n * @param details - The details object for the current property being copied\r\n * @returns `true` if the current value is a function otherwise `false`\r\n */\r\nexport function dateDeepCopyHandler(details: IObjDeepCopyHandlerDetails) {\r\n let value = details.value;\r\n if (isDate(value)) {\r\n details.result = new Date(value.getTime());\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * Deep copy handler to identify and copy functions. This handler just returns the original\r\n * function so the original function will be assigned to any new deep copied instance.\r\n * @since 0.4.4\r\n * @group Object - Deep Copy\r\n * @param details - The details object for the current property being copied\r\n * @returns `true` if the current value is a function otherwise `false`\r\n */\r\nexport function functionDeepCopyHandler(details: IObjDeepCopyHandlerDetails): boolean {\r\n if (details.type === FUNCTION) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * Deep copy handler to identify and copy plain objects.\r\n * @since 0.4.4\r\n * @group Object - Deep Copy\r\n * @param details - The details object for the current property being copied\r\n * @returns `true` if the current value is a function otherwise `false`\r\n */\r\nexport function plainObjDeepCopyHandler(details: IObjDeepCopyHandlerDetails): boolean {\r\n let value = details.value;\r\n if (value && details.isPlain) {\r\n // Assign the \"result\" value before performing any additional deep Copying, so any recursive object get a reference to this instance\r\n let target = details.result = {};\r\n details.copyTo(target, value);\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { arrForEach } from \"../array/forEach\";\r\nimport { ArrSlice, CALL } from \"../internal/constants\";\r\nimport { objCopyProps, objDeepCopy } from \"../object/copy\";\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n */\r\nfunction _doExtend(target: T, theArgs: any[]): any {\r\n arrForEach(theArgs, (theArg) => {\r\n objCopyProps(target, theArg);\r\n });\r\n\r\n return target;\r\n}\r\n\r\n/**\r\n * Create a new object by merging the passed arguments, this is effectively the same as calling `objExtend({}, ...theArgs)` where\r\n * all of the arguments are added to a new object that is returned.\r\n * @group Object\r\n * @param target - The original object to be extended.\r\n * @param theArgs - The optional number of arguments to be copied\r\n * @returns - A new object or the original\r\n */\r\nexport function deepExtend(target: T, ...theArgs: any): T & any;\r\n\r\n/**\r\n * Create a new object by merging the passed arguments, this is effectively the same as calling `objExtend({}, ...theArgs)` where\r\n * all of the arguments are added to a new object that is returned.\r\n * @group Object\r\n * @param target - The original object to be extended.\r\n * @param objN - The optional number of arguments to be copied\r\n * @returns - A new object or the original\r\n */\r\nexport function deepExtend(target: T, obj1?: T1, obj2?: T2, obj3?: T3, obj4?: T4, obj5?: T5, obj6?: T6): T & T1 & T2 & T3 & T4 & T5 & T6 {\r\n return _doExtend(objDeepCopy(target) || {}, ArrSlice[CALL](arguments));\r\n}\r\n \r\n/**\r\n * Extend the target object by merging the passed arguments into it\r\n * @group Object\r\n * @param target - The object to be extended or overwritten\r\n * @param theArgs - The optional number of arguments to be copied\r\n * @returns - A new object or the original\r\n */\r\nexport function objExtend(target: T, ...theArgs: any): T & any;\r\n\r\n/**\r\n * Extend the target object by merging the passed arguments into it\r\n * @group Object\r\n * @param target - The object to be extended or overwritten\r\n * @param objN - The optional number of arguments to be copied\r\n * @returns - A new object or the original\r\n */\r\nexport function objExtend(target: T, obj1?: T1, obj2?: T2, obj3?: T3, obj4?: T4, obj5?: T5, obj6?: T6): T & T1 & T2 & T3 & T4 & T5 & T6 {\r\n return _doExtend(target || {}, ArrSlice[CALL](arguments));\r\n}\r\n\r\n ","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { LENGTH } from \"../internal/constants\";\r\nimport { _unwrapProp } from \"../internal/unwrapFunction\";\r\n\r\n/**\r\n * Interface to identify that an object contains the length property used as a type\r\n * constraint for {@link getLength}\r\n *\r\n * @since 0.4.2\r\n * @group String\r\n * @group Array\r\n * @group Object\r\n */\r\nexport interface IGetLength {\r\n\r\n /**\r\n * Identifies the property that returns the length of the instance\r\n */\r\n length: unknown;\r\n}\r\n\r\n/**\r\n * Helper to return the length value of an object, this will return the value\r\n * of the \"length\" property. Generally used to return the length of a string or array.\r\n *\r\n * @since 0.4.2\r\n * @group Array\r\n * @group String\r\n * @group String\r\n * @group Array\r\n * @group Object\r\n * @param value - The value to return the length property from, must contain a `length` property\r\n * @example\r\n * ```ts\r\n * getLength(\"\"); // returns 0\r\n * getLength(\"Hello World\"); // returns 11\r\n * getLength([]); // returns 0;\r\n * getLength([0, 1, 2, 3]); // returns 4;\r\n * getLength({ length: 42}); // returns 42\r\n * getLength({ length: () => 53; }); // returns the function that if called would return 53\r\n * ```\r\n */\r\nexport const getLength: (value: T) => T[\"length\"] = (/*#__PURE__*/_unwrapProp(LENGTH));\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { ICachedValue, createCachedValue } from \"./cache\";\r\nimport { utcNow } from \"./date\";\r\nimport { getInst } from \"./environment\";\r\nimport { _globalLazyTestHooks, _initTestHooks } from \"./lazy\";\r\nimport { safe } from \"./safe\";\r\n\r\nlet _perf: ICachedValue\r\n\r\n/**\r\n * Identify whether the runtimne contains a `performance` object\r\n *\r\n * @since 0.4.4\r\n * @group Environment\r\n * @returns\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function hasPerformance(): boolean {\r\n return !!getPerformance();\r\n}\r\n\r\n/**\r\n * Returns the global `performance` Object if available, which can be used to\r\n * gather performance information about the current document. It serves as the\r\n * point of exposure for the Performance Timeline API, the High Resolution Time\r\n * API, the Navigation Timing API, the User Timing API, and the Resource Timing API.\r\n *\r\n * @since 0.4.4\r\n * @group Environment\r\n * @returns The global performance object if available.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getPerformance(): Performance {\r\n !_globalLazyTestHooks && _initTestHooks();\r\n if (!_perf || _globalLazyTestHooks.lzy) {\r\n _perf = createCachedValue(safe(getInst, [\"performance\"]).v);\r\n }\r\n \r\n return _perf.v;\r\n}\r\n\r\n/**\r\n * Returns the number of milliseconds that has elapsed since the time origin, if\r\n * the runtime does not support the `performance` API it will fallback to return\r\n * the number of milliseconds since the unix epoch.\r\n *\r\n * @since 0.4.4\r\n * @group Timer\r\n *\r\n * @returns The number of milliseconds as a `DOMHighResTimeStamp` double value or\r\n * an integer depending on the runtime.\r\n * @example\r\n * ```ts\r\n * let now = perfNow();\r\n * ```\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function perfNow(): number {\r\n let perf = getPerformance();\r\n if (perf && perf.now) {\r\n return perf.now();\r\n }\r\n\r\n return utcNow();\r\n}\r\n\r\n/**\r\n * Return the number of milliseconds that have elapsed since the provided `startTime`\r\n * the `startTime` MUST be obtained from {@link perfNow} to ensure the correct elapsed\r\n * value is returned.\r\n *\r\n * @since 0.4.4\r\n * @group Timer\r\n *\r\n * @param startTime - The startTime obtained from `perfNow`\r\n * @returns The number of milliseconds that have elapsed since the startTime.\r\n * @example\r\n * ```ts\r\n * let start = perfNow();\r\n * // Do some work\r\n * let totalTime = elapsedTime(start);\r\n * ```\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function elapsedTime(startTime: number): number {\r\n return perfNow() - startTime;\r\n}","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2023 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { NULL_VALUE, StrProto } from \"../internal/constants\";\r\nimport { _unwrapFunction, _unwrapFunctionWithPoly } from \"../internal/unwrapFunction\";\r\nimport { polyStrSymSplit } from \"../polyfills/split\";\r\nimport { hasSymbol } from \"../symbol/symbol\";\r\n\r\n/**\r\n * The `strSplit()` splits a string into substrings using the pattern and divides a String\r\n * into an ordered list of substrings by searching for the pattern, puts these substrings\r\n * into an array, and returns the array.\r\n * @since 0.9.1\r\n * @group String\r\n * @param value - The string value to be split into substrings.\r\n * @param separator - The pattern describing where each split should occur. Can be undefined, a\r\n * string, or an object with a [`Symbol.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/split)\r\n * method (if supported) — the typical example being a regular expression. Omitting separator or\r\n * passing undefined causes strSplit() to return an array with the calling string as a single\r\n * element. All values that are not undefined or objects with a `@@split` method are coerced to strings.\r\n * @param limit - A non-negative integer specifying a limit on the number of substrings to be\r\n * included in the array. If provided, splits the string at each occurrence of the specified\r\n * separator, but stops when limit entries have been placed in the array. Any leftover text is\r\n * not included in the array at all.\r\n * - The array may contain fewer entries than limit if the end of the string is reached before\r\n * the limit is reached.\r\n * - If limit is 0, [] is returned.\r\n * @return An Array of strings, split at each point where the separator occurs in the given string.\r\n * @example\r\n * ```ts\r\n * strSplit(\"Oh brave new world that has such people in it.\", \" \");\r\n * // [ \"Oh\", \"brave\", \"new\", \"world\", \"that\", \"has\", \"such\", \"people\", \"in\", \"it.\" ]\r\n *\r\n * strSplit(\"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec\", \",\");\r\n * // [ \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\" ]\r\n * ```\r\n */\r\nexport const strSplit: (value: string, separator: string | RegExp, limit?: number) => string[] = (/*#__PURE__*/_unwrapFunction(\"split\", StrProto));\r\n\r\n/**\r\n * The `strSymSplit()` splits a string into substrings using the [`Symbol.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/split)\r\n * method from the splitter object to provide custom behavior. If the runtime supports symbols\r\n * then the default runtime `split` method will be called, It will use {@link getKnownSymbol}\r\n * to get the {@link WellKnownSymbols.split} symbol which will return the runtime symbol or the\r\n * polyfill symbol when not supported by the runtime.\r\n * @since 0.9.1\r\n * @group String\r\n * @param value - The string value to be split into substrings.\r\n * @param splitter - The object which contains a Symbol.split method, Omitting splitter or passing\r\n * an object that doesn't contain a Symbol.split causes it to return an array with the calling\r\n * string as a single element.\r\n * @param limit - A non-negative integer specifying a limit on the number of substrings to be\r\n * included in the array. If provided, splits the string at each occurrence of the specified\r\n * separator, but stops when limit entries have been placed in the array. Any leftover text is\r\n * not included in the array at all.\r\n * - The array may contain fewer entries than limit if the end of the string is reached before\r\n * the limit is reached.\r\n * - If limit is 0, [] is returned.\r\n * @return An Array of strings, split at each point where the separator occurs in the given string.\r\n * @example\r\n * ```ts\r\n * const splitByNumber = {\r\n * [Symbol.split]: (str: string) => {\r\n * let num = 1;\r\n * let pos = 0;\r\n * const result = [];\r\n * while (pos < str.length) {\r\n * const matchPos = strIndexOf(str, asString(num), pos);\r\n * if (matchPos === -1) {\r\n * result.push(strSubstring(str, pos));\r\n * break;\r\n * }\r\n * result.push(strSubstring(str, pos, matchPos));\r\n * pos = matchPos + asString(num).length;\r\n * num++;\r\n * }\r\n * return result;\r\n * }\r\n * };\r\n *\r\n * const myString = \"a1bc2c5d3e4f\";\r\n * console.log(strSymSplit(myString, splitByNumber)); // [ \"a\", \"bc\", \"c5d\", \"e\", \"f\" ]\r\n * ```\r\n */\r\nexport const strSymSplit: (value: string, splitter: { [Symbol.split](string: string, limit?: number): string[]; }, limit?: number) => string[] = (/*#__PURE__*/_unwrapFunctionWithPoly(\"split\", StrProto, !hasSymbol() ? polyStrSymSplit : NULL_VALUE));\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { arrForEach } from \"../array/forEach\";\r\nimport { isNullOrUndefined } from \"./base\";\r\nimport { strSplit } from \"../string/split\";\r\nimport { iterForOf } from \"../iterator/forOf\";\r\n\r\n/**\r\n * Get the named value from the target object where the path may be presented by a string which\r\n * contains \".\" characters to separate the nested objects of the heirarchy / path to the value.\r\n * @since 0.9.1\r\n * @group Value\r\n * @param target - The source object that contains the value\r\n * @param path - The path identifing the location where the value should be located\r\n * @param defValue - If the final value or any intervening object in the heirarchy is not present\r\n * the default value will be returned\r\n * @returns The value located based on the path or the defaule value\r\n * @example\r\n * ```ts\r\n * let theValue = {\r\n * Hello: {\r\n * Darkness: {\r\n * my: \"old\"\r\n * }\r\n * },\r\n * friend: \"I've\",\r\n * come: {\r\n * to: {\r\n * see: \"you\"\r\n * }\r\n * }\r\n * };\r\n *\r\n * let value = getValueByKey(theValue, \"Hello.Darkness.my\", \"friend\");\r\n * // value === \"my\"\r\n *\r\n * let value = getValueByKey(theValue, \"My.Old\", \"friend\");\r\n * // value === \"friend\"\r\n *\r\n * let value = getValueByKey(theValue, \"come.to\", \"friend\");\r\n * // value === { see: \"you\" }\r\n *\r\n * let value = getValueByKey(theValue, \"friend\", \"friend\");\r\n * // value === \"I've\"\r\n * ```\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getValueByKey(target: T, path: string, defValue?: V): V {\r\n if (!path || !target) {\r\n return defValue;\r\n }\r\n\r\n let parts = strSplit(path, \".\");\r\n let cnt = parts.length;\r\n\r\n for (let lp = 0; lp < cnt && !isNullOrUndefined(target); lp++) {\r\n target = target[parts[lp]];\r\n }\r\n\r\n return (!isNullOrUndefined(target) ? target : defValue) as V;\r\n}\r\n\r\n/**\r\n * Get the named value from the target object where the path is represented by the string iterator\r\n * or iterable to separate the nested objects of the heirarchy / path to the value. If the target\r\n * does not contain the full path the iterator will not be completed.\r\n *\r\n * The order of processing of the iterator is not reset if you add or remove elements to the iterator,\r\n * the actual behavior will depend on the iterator imeplementation.\r\n *\r\n * If the passed `iter` is both an Iterable and Iterator the Iterator interface takes preceedence.\r\n * @since 0.9.1\r\n * @group Value\r\n * @param target - The source object that contains the value\r\n * @param iter - The iter identifying the path of the final key value\r\n * @param defValue - If the final value or any intervening object in the heirarchy is not present\r\n * the default value will be returned\r\n * @returns The value located based on the path or the defaule value\r\n * @example\r\n * ```ts\r\n * let theValue = {\r\n * Hello: {\r\n * Darkness: {\r\n * my: \"old\"\r\n * }\r\n * },\r\n * friend: \"I've\",\r\n * come: {\r\n * to: {\r\n * see: \"you\"\r\n * }\r\n * }\r\n * };\r\n *\r\n * let value = getValueByKey(theValue, [\"Hello\", \"Darkness\", \"my\"], \"friend\");\r\n * // value === \"my\"\r\n *\r\n * let value = getValueByKey(theValue, [\"My\", \"Old\"], \"friend\");\r\n * // value === \"friend\"\r\n *\r\n * let value = getValueByKey(theValue, [\"come\", \"to\"], \"friend\");\r\n * // value === { see: \"you\" }\r\n *\r\n * let value = getValueByKey(theValue, [\"friend\"], \"friend\");\r\n * // value === \"I've\"\r\n * ```\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function getValueByIter(target: T, iter: Iterator | Iterable, defValue?: V): V {\r\n if (!iter || !target) {\r\n return defValue;\r\n }\r\n\r\n iterForOf(iter, (value) => {\r\n if (isNullOrUndefined(target)) {\r\n return -1;\r\n }\r\n\r\n target = target[value];\r\n });\r\n\r\n return (!isNullOrUndefined(target) ? target : defValue) as V;\r\n}\r\n\r\n/**\r\n * Set the named value on the target object where the path may be presented by a string which\r\n * contains \".\" characters to separate the nested objects of the heirarchy / path to the value.\r\n * @since 0.9.1\r\n * @group Value\r\n * @param target - The target object\r\n * @param path - The path identifying the location of the final key value\r\n * @param value - The value to set\r\n * @example\r\n * ```ts\r\n * let theValue = { };\r\n * setValueByKey(theValue, \"Hello.Darkness.my\", \"old\");\r\n * // Resulting Object: { Hello: { Darkness: { my: \"old\" } } }\r\n * setValueByKey(theValue, \"friend\", \"I've\");\r\n * // Resulting Object: { Hello: { Darkness: { my: \"old\" } }, friend: \"I've\" }\r\n * setValueByKey(theValue, \"come.to.see\", \"you\");\r\n * // Resulting Object: { Hello: { Darkness: { my: \"old\" } }, friend: \"I've\", come: { to : { see: \"you\" } } }\r\n * ```\r\n */\r\nexport function setValueByKey(target: any, path: string, value: T) {\r\n if (target && path) {\r\n let parts = strSplit(path, \".\");\r\n let lastKey = parts.pop();\r\n \r\n arrForEach(parts, (key) => {\r\n if (isNullOrUndefined(target[key])) {\r\n // Add an empty object / map\r\n target[key] = {};\r\n }\r\n \r\n target = target[key];\r\n });\r\n \r\n target[lastKey] = value;\r\n }\r\n}\r\n\r\n/**\r\n * Set the named value on the target object where the path is represented by the string iterator\r\n * or iterable to separate the nested objects of the heirarchy / path to the value.\r\n *\r\n * The order of processing of the iterator is not reset if you add or remove elements to the iterator,\r\n * the actual behavior will depend on the iterator imeplementation.\r\n *\r\n * If the passed `iter` is both an Iterable and Iterator the Iterator interface takes preceedence.\r\n * @since 0.9.1\r\n * @group Value\r\n * @param target - The target object\r\n * @param iter - The iter identifying the path of the final key value\r\n * @param value - The value to set\r\n * @example\r\n * ```ts\r\n * let theValue = { };\r\n * setValueByIter(theValue, [\"Hello\", \"Darkness\", \"my\"], \"old\");\r\n * // Resulting Object: { Hello: { Darkness: { my: \"old\" } } }\r\n * setValueByIter(theValue, [\"friend\"], \"I've\");\r\n * // Resulting Object: { Hello: { Darkness: { my: \"old\" } }, friend: \"I've\" }\r\n * setValueByIter(theValue, [\"come\", \"to\", \"see\"], \"you\");\r\n * // Resulting Object: { Hello: { Darkness: { my: \"old\" } }, friend: \"I've\", come: { to : { see: \"you\" } } }\r\n * ```\r\n */\r\nexport function setValueByIter(target: any, iter: Iterator | Iterable, value: T) {\r\n if (target && iter) {\r\n let lastKey: string;\r\n \r\n iterForOf(iter, (key: string) => {\r\n if (lastKey) {\r\n if (isNullOrUndefined(target[lastKey])) {\r\n // Add an empty object / map\r\n target[lastKey] = {};\r\n }\r\n \r\n target = target[lastKey];\r\n }\r\n\r\n lastKey = key;\r\n });\r\n \r\n target[lastKey] = value;\r\n }\r\n}","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { isString, isUndefined } from \"../helpers/base\";\r\nimport { dumpObj } from \"../helpers/diagnostics\";\r\nimport { throwTypeError } from \"../helpers/throw\";\r\nimport { LENGTH, StrProto } from \"../internal/constants\";\r\nimport { _unwrapFunctionWithPoly } from \"../internal/unwrapFunction\";\r\nimport { asString } from \"./as_string\";\r\nimport { strSubstring } from \"./substring\";\r\n\r\n/**\r\n * This method lets you determine whether or not a string ends with another string. This method is case-sensitive.\r\n * @group String\r\n * @param value - The value to be checked\r\n * @param searchString - The characters to be searched for at the end of `value` string.\r\n * @param length - If provided, it is used as the length of `value`. Defaults to value.length.\r\n */\r\nexport const strEndsWith: (value: string, searchString: string, length?: number) => boolean = (/*#__PURE__*/_unwrapFunctionWithPoly(\"endsWith\", StrProto, polyStrEndsWith));\r\n\r\n/**\r\n * This method lets you determine whether or not a string ends with another string. This method is case-sensitive.\r\n * @group Polyfill\r\n * @group String\r\n * @param value - The value to be checked\r\n * @param searchString - The characters to be searched for at the end of `value` string.\r\n * @param length - If provided, it is used as the length of `value`. Defaults to value.length.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function polyStrEndsWith(value: string, searchString: string, length?: number): boolean {\r\n if (!isString(value)) {\r\n throwTypeError(\"'\" + dumpObj(value) + \"' is not a string\");\r\n }\r\n\r\n let searchValue = isString(searchString) ? searchString : asString(searchString);\r\n let end = (!isUndefined(length) && length < value[LENGTH]) ? length : value[LENGTH];\r\n\r\n return strSubstring(value, end - searchValue[LENGTH], end) === searchValue;\r\n}\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { StrProto } from \"../internal/constants\";\r\nimport { _unwrapFunction } from \"../internal/unwrapFunction\";\r\n\r\n/**\r\n * The `strIndexOf()` method, given two arguments: the string and a substring to search for, searches\r\n * the entire calling string, and returns the index of the first occurrence of the specified substring.\r\n * Given a thrid argument: a number, the method returns the first occurrence of the specified substring\r\n * at an index greater than or equal to the specified number.\r\n * @group String\r\n * @param value - The value to be checked for the seeach string\r\n * @param searchString - The substring to search for in the value\r\n * @param position - The starting position to search from\r\n * @example\r\n * ```ts\r\n * strIndexOf('hello world', '') // returns 0\r\n * strIndexOf('hello world', '', 0) // returns 0\r\n * strIndexOf('hello world', '', 3) // returns 3\r\n * strIndexOf('hello world', '', 8) // returns 8\r\n *\r\n * // However, if the thrid argument is greater than the length of the string\r\n * strIndexOf('hello world', '', 11) // returns 11\r\n * strIndexOf('hello world', '', 13) // returns 11\r\n * strIndexOf('hello world', '', 22) // returns 11\r\n *\r\n * strIndexOf('Blue Whale', 'Blue') // returns 0\r\n * strIndexOf('Blue Whale', 'Blute') // returns -1\r\n * strIndexOf('Blue Whale', 'Whale', 0) // returns 5\r\n * strIndexOf('Blue Whale', 'Whale', 5) // returns 5\r\n * strIndexOf('Blue Whale', 'Whale', 7) // returns -1\r\n * strIndexOf('Blue Whale', '') // returns 0\r\n * strIndexOf('Blue Whale', '', 9) // returns 9\r\n * strIndexOf('Blue Whale', '', 10) // returns 10\r\n * strIndexOf('Blue Whale', '', 11) // returns 10\r\n * ```\r\n */\r\nexport const strIndexOf: (value: string, searchString: string, position?: number) => number = (/*#__PURE__*/_unwrapFunction(\"indexOf\", StrProto));\r\n\r\n/**\r\n * The `strLastIndexOf()` method, given two arguments: the string and a substring to search for, searches\r\n * the entire calling string, and returns the index of the last occurrence of the specified substring.\r\n * Given a third argument: a number, the method returns the last occurrence of the specified substring\r\n * at an index less than or equal to the specified number.\r\n * @group String\r\n * @param value - The value to be checked for the seeach string\r\n * @param searchString - The substring to search for in the value\r\n * @param position - The starting position to search from\r\n * @example\r\n * ```ts\r\n * strLastIndexOf('canal', 'a'); // returns 3\r\n * strLastIndexOf('canal', 'a', 2); // returns 1\r\n * strLastIndexOf('canal', 'a', 0); // returns -1\r\n * strLastIndexOf('canal', 'x'); // returns -1\r\n * strLastIndexOf('canal', 'c', -5); // returns 0\r\n * strLastIndexOf('canal', 'c', 0); // returns 0\r\n * strLastIndexOf('canal', ''); // returns 5\r\n * strLastIndexOf('canal', '', 2); // returns 2\r\n * ```\r\n */\r\nexport const strLastIndexOf: (value: string, searchString: string, position?: number) => number = (/*#__PURE__*/_unwrapFunction(\"lastIndexOf\", StrProto));\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { NULL_VALUE } from \"../internal/constants\";\r\nimport { objDefineProp } from \"../object/define\";\r\n\r\nconst REF = \"ref\";\r\nconst UNREF = \"unref\";\r\nconst HAS_REF = \"hasRef\";\r\nconst ENABLED = \"enabled\";\r\n\r\n/**\r\n * A Timer handler which is returned from {@link scheduleTimeout} which contains functions to\r\n * cancel or restart (refresh) the timeout function.\r\n *\r\n * @since 0.4.4\r\n * @group Timer\r\n */\r\nexport interface ITimerHandler {\r\n /**\r\n * Cancels a timeout that was previously scheduled, after calling this function any previously\r\n * scheduled timer will not execute.\r\n * @example\r\n * ```ts\r\n * let theTimer = scheduleTimeout(...);\r\n * theTimer.cancel();\r\n * ```\r\n */\r\n cancel(): void;\r\n\r\n /**\r\n * Reschedules the timer to call its callback at the previously specified duration\r\n * adjusted to the current time. This is useful for refreshing a timer without allocating\r\n * a new JavaScript object.\r\n *\r\n * Using this on a timer that has already called its callback will reactivate the timer.\r\n * Calling on a timer that has not yet executed will just reschedule the current timer.\r\n * @example\r\n * ```ts\r\n * let theTimer = scheduleTimeout(...);\r\n * // The timer will be restarted (if already executed) or rescheduled (if it has not yet executed)\r\n * theTimer.refresh();\r\n * ```\r\n */\r\n refresh(): ITimerHandler;\r\n\r\n /**\r\n * When called, requests that the event loop not exit so long when the ITimerHandler is active.\r\n * Calling timer.ref() multiple times will have no effect. By default, all ITimerHandler objects\r\n * will create \"ref'ed\" instances, making it normally unnecessary to call timer.ref() unless\r\n * timer.unref() had been called previously.\r\n * @since 0.7.0\r\n * @returns the ITimerHandler instance\r\n * @example\r\n * ```ts\r\n * let theTimer = createTimeout(...);\r\n *\r\n * // Make sure the timer is referenced (the default) so that the runtime (Node) does not terminate\r\n * // if there is a waiting referenced timer.\r\n * theTimer.ref();\r\n * ```\r\n */\r\n ref(): this;\r\n\r\n /**\r\n * When called, the any active ITimerHandler instance will not require the event loop to remain\r\n * active (Node.js). If there is no other activity keeping the event loop running, the process may\r\n * exit before the ITimerHandler instance callback is invoked. Calling timer.unref() multiple times\r\n * will have no effect.\r\n * @since 0.7.0\r\n * @returns the ITimerHandler instance\r\n * @example\r\n * ```ts\r\n * let theTimer = createTimeout(...);\r\n *\r\n * // Unreference the timer so that the runtime (Node) may terminate if nothing else is running.\r\n * theTimer.unref();\r\n * ```\r\n */\r\n unref(): this;\r\n\r\n /**\r\n * If true, any running referenced `ITimerHandler` instance will keep the Node.js event loop active.\r\n * @since 0.7.0\r\n * @example\r\n * ```ts\r\n * let theTimer = createTimeout(...);\r\n *\r\n * // Unreference the timer so that the runtime (Node) may terminate if nothing else is running.\r\n * theTimer.unref();\r\n * let hasRef = theTimer.hasRef(); // false\r\n *\r\n * theTimer.ref();\r\n * hasRef = theTimer.hasRef(); // true\r\n * ```\r\n */\r\n hasRef(): boolean;\r\n\r\n /**\r\n * Gets or Sets a flag indicating if the underlying timer is currently enabled and running.\r\n * Setting the enabled flag to the same as it's current value has no effect, setting to `true`\r\n * when already `true` will not {@link ITimerHandler.refresh | refresh}() the timer.\r\n * And setting to `false` will {@link ITimerHandler.cancel | cancel}() the timer.\r\n * @since 0.8.1\r\n * @example\r\n * ```ts\r\n * let theTimer = createTimeout(...);\r\n *\r\n * // Check if enabled\r\n * theTimer.enabled; // false\r\n *\r\n * // Start the timer\r\n * theTimer.enabled = true; // Same as calling refresh()\r\n * theTimer.enabled; //true\r\n *\r\n * // Has no effect as it's already running\r\n * theTimer.enabled = true;\r\n *\r\n * // Will refresh / restart the time\r\n * theTimer.refresh()\r\n *\r\n * let theTimer = scheduleTimeout(...);\r\n *\r\n * // Check if enabled\r\n * theTimer.enabled; // true\r\n * ```\r\n */\r\n enabled: boolean;\r\n}\r\n\r\n/**\r\n * @ignore\r\n * @internal\r\n */\r\nexport interface _TimerHandler {\r\n /**\r\n * The public handler to return to the caller\r\n */\r\n h: ITimerHandler,\r\n\r\n /**\r\n * The callback function that should be called when the timer operation\r\n * has completed and will not automatically rescheduled\r\n * @returns\r\n */\r\n dn: () => void\r\n}\r\n\r\n/**\r\n * @ignore\r\n * @internal\r\n * Internal function to create and manage an ITimerHandler implementation, the object returned from this function\r\n * it directly used / returned by the pulic functions used to create timers (idle, interval and timeout)\r\n * @param startTimer - Should the timer be started as part of creating the handler\r\n * @param refreshFn - The function used to create/start or refresh the timer\r\n * @param cancelFn - The function used to cancel the timer.\r\n * @returns The new ITimerHandler instance\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function _createTimerHandler(startTimer: boolean, refreshFn: (timerId: T) => T, cancelFn: (timerId: T) => void): _TimerHandler {\r\n let ref = true;\r\n let timerId: T = startTimer ? refreshFn(NULL_VALUE) : NULL_VALUE;\r\n let theTimerHandler: ITimerHandler;\r\n\r\n function _unref() {\r\n ref = false;\r\n timerId && timerId[UNREF] && timerId[UNREF]();\r\n return theTimerHandler;\r\n }\r\n\r\n function _cancel() {\r\n timerId && cancelFn(timerId);\r\n timerId = NULL_VALUE;\r\n }\r\n\r\n function _refresh() {\r\n timerId = refreshFn(timerId);\r\n if (!ref) {\r\n _unref();\r\n }\r\n\r\n return theTimerHandler;\r\n }\r\n\r\n function _setEnabled(value: boolean) {\r\n !value && timerId && _cancel();\r\n value && !timerId && _refresh();\r\n }\r\n\r\n theTimerHandler = {\r\n cancel: _cancel,\r\n refresh: _refresh\r\n } as any;\r\n\r\n theTimerHandler[HAS_REF] = () => {\r\n if (timerId && timerId[HAS_REF]) {\r\n return timerId[HAS_REF]();\r\n }\r\n\r\n return ref;\r\n };\r\n\r\n theTimerHandler[REF] = () => {\r\n ref = true;\r\n timerId && timerId[REF] && timerId[REF]();\r\n return theTimerHandler;\r\n };\r\n\r\n theTimerHandler[UNREF] = _unref;\r\n\r\n theTimerHandler = objDefineProp(theTimerHandler, ENABLED, {\r\n get: () => !!timerId,\r\n set: _setEnabled\r\n });\r\n\r\n return {\r\n h: theTimerHandler,\r\n dn: () => {\r\n timerId = NULL_VALUE;\r\n }\r\n };\r\n}\r\n","/*\r\n * @nevware21/ts-utils\r\n * https://github.com/nevware21/ts-utils\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { fnApply } from \"../funcs/funcs\";\r\nimport { isArray } from \"../helpers/base\";\r\nimport { ArrSlice, CALL, UNDEF_VALUE } from \"../internal/constants\";\r\nimport { ITimerHandler, _createTimerHandler } from \"./handler\";\r\n\r\nfunction _createTimeoutWith(startTimer: boolean, overrideFn: TimeoutOverrideFn | TimeoutOverrideFuncs, theArgs: any[]): ITimerHandler {\r\n let isArr = isArray(overrideFn);\r\n let len = isArr ? overrideFn.length : 0;\r\n let setFn: TimeoutOverrideFn = (len > 0 ? overrideFn[0] : (!isArr ? overrideFn : UNDEF_VALUE)) || setTimeout;\r\n let clearFn: ClearTimeoutOverrideFn = (len > 1 ? overrideFn[1] : UNDEF_VALUE) || clearTimeout;\r\n\r\n let timerFn = theArgs[0];\r\n theArgs[0] = function () {\r\n handler.dn();\r\n fnApply(timerFn, UNDEF_VALUE, ArrSlice[CALL](arguments));\r\n };\r\n \r\n let handler = _createTimerHandler(startTimer, (timerId?: any) => {\r\n if (timerId) {\r\n if (timerId.refresh) {\r\n timerId.refresh();\r\n return timerId;\r\n }\r\n\r\n fnApply(clearFn, UNDEF_VALUE, [ timerId ]);\r\n }\r\n\r\n return fnApply(setFn, UNDEF_VALUE, theArgs);\r\n }, function (timerId: any) {\r\n fnApply(clearFn, UNDEF_VALUE, [ timerId ]);\r\n });\r\n\r\n return handler.h;\r\n}\r\n\r\n/**\r\n * The signature of the override timeout function used to create a new timeout instance, it follows the same signature as\r\n * the native `setTimeout` API.\r\n * @since 0.4.4\r\n * @group Timer\r\n * @param callback - A function to be executed after the timer expires.\r\n * @param ms - The time, in milliseconds that the timer should wait before the specified function or code is executed.\r\n * If this parameter is omitted, a value of 0 is used, meaning execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by callback.\r\n * @return The returned timeoutID is a positive integer value which identifies the timer created by the call to setTimeout().\r\n * This value can be passed to clearTimeout() to cancel the timeout.\r\n */\r\nexport type TimeoutOverrideFn = (callback: (...args: TArgs) => void, ms?: number, ...args: TArgs) => number | any;\r\n\r\n/**\r\n * The signatire of the function to override clearing a previous timeout created with the {@link TimeoutOverrideFn}, it will be passed\r\n * the result returned from the {@link TimeoutOverrideFn} call.\r\n * @since 0.4.5\r\n * @group Timer\r\n * @param timeoutId - The value returned from the previous {@link TimeoutOverrideFn}.\r\n */\r\nexport type ClearTimeoutOverrideFn = (timeoutId: number | any) => void;\r\n\r\n/**\r\n * Defines the array signature used to pass the override set and clean functions for creating a timeout.\r\n * The first index [0] is the set function to be used and the second index [1] is the clear function to be used.\r\n * @since 0.4.5\r\n * @group Timer\r\n */\r\nexport type TimeoutOverrideFuncs = [ TimeoutOverrideFn | null, ClearTimeoutOverrideFn | null ];\r\n\r\n/**\r\n * Creates and starts a timer which executes a function or specified piece of code once the timer expires, this is simular\r\n * to using `setTimeout` but provides a return object for cancelling and restarting (refresh) the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.4.4\r\n * @group Timer\r\n *\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * let theTimeout = scheduleTimeout(() => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // Instead of calling clearTimeout() with the returned value from setTimeout() the returned\r\n * // handler instance can be used instead to cancel the timer\r\n * theTimeout.cancel();\r\n * theTimeout.enabled; // false\r\n *\r\n * // You can start the timer via enabled\r\n * theTimeout.enabled = true;\r\n *\r\n * // You can also \"restart\" the timer, whether it has previously triggered not not via the `refresh()`\r\n * theTimeout.refresh();\r\n * ```\r\n */\r\nexport function scheduleTimeout(callback: (...args: A) => void, timeout: number, ...args: A): ITimerHandler;\r\n\r\n/**\r\n * Creates and starts a timer which executes a function or specified piece of code once the timer expires, this is simular\r\n * to using `setTimeout` but provides a return object for cancelling and restarting (refresh) the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.4.4\r\n * @group Timer\r\n *\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * let theTimeout = scheduleTimeout(() => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // Instead of calling clearTimeout() with the returned value from setTimeout() the returned\r\n * // handler instance can be used instead to cancel the timer\r\n * theTimeout.cancel();\r\n * theTimeout.enabled; // false\r\n *\r\n * // You can start the timer via enabled\r\n * theTimeout.enabled = true;\r\n *\r\n * // You can also \"restart\" the timer, whether it has previously triggered not not via the `refresh()`\r\n * theTimeout.refresh();\r\n * ```\r\n */\r\nexport function scheduleTimeout(callback: (...args: A) => void, timeout: number): ITimerHandler {\r\n return _createTimeoutWith(true, UNDEF_VALUE, ArrSlice[CALL](arguments));\r\n}\r\n\r\n/**\r\n * Creates and starts a timer which executes a function or specified piece of code once the timer expires. The overrideFn will be\r\n * used to create the timer, this is simular to using `setTimeout` but provides a return object for cancelling and restarting\r\n * (refresh) the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.4.4\r\n * @group Timer\r\n *\r\n * @param overrideFn - setTimeout override function this will be called instead of the `setTimeout`, if the value\r\n * of `overrideFn` is null or undefined it will revert back to the native `setTimeout`. May also be an array with contains\r\n * both the setTimeout and clearTimeout override functions, if either is not provided the default native functions will be used\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * let theTimeout = scheduleTimeoutWith(newSetTimeoutFn, () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // Instead of calling clearTimeout() with the returned value from setTimeout() the returned\r\n * // handler instance can be used instead to cancel the timer\r\n * theTimeout.cancel();\r\n * theTimeout.enabled; // false\r\n *\r\n * // You can start the timer via enabled\r\n * theTimeout.enabled = true;\r\n *\r\n * // You can also \"restart\" the timer, whether it has previously triggered not not via the `refresh()`\r\n * theTimeout.refresh();\r\n * ```\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * // Your own \"clearTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newClearTimeoutFn(timeoutId: number) {\r\n * overrideCalled ++;\r\n * return clearTimeout( timeout);\r\n * }\r\n *\r\n * let theTimeout = scheduleTimeoutWith([newSetTimeoutFn, newClearTimeoutFn], () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // Instead of calling clearTimeout() with the returned value from setTimeout() the returned\r\n * // handler instance can be used instead to cancel the timer, internally this will call the newClearTimeoutFn\r\n * theTimeout.cancel();\r\n * theTimeout.enabled; // false\r\n *\r\n * // You can start the timer via enabled\r\n * theTimeout.enabled = true;\r\n *\r\n * // You can also \"restart\" the timer, whether it has previously triggered not not via the `refresh()`\r\n * theTimeout.refresh();\r\n * ```\r\n */\r\nexport function scheduleTimeoutWith(overrideFn: TimeoutOverrideFn | TimeoutOverrideFuncs, callback: (...args: A) => void, timeout: number, ...args: A): ITimerHandler;\r\n\r\n/**\r\n * Creates and starts a timer which executes a function or specified piece of code once the timer expires. The overrideFn will be\r\n * used to create the timer, this is simular to using `setTimeout` but provides a return object for cancelling and restarting\r\n * (refresh) the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.4.4\r\n * @group Timer\r\n *\r\n * @param overrideFn - setTimeout override function this will be called instead of the `setTimeout`, if the value\r\n * of `overrideFn` is null or undefined it will revert back to the native `setTimeout`. May also be an array with contains\r\n * both the setTimeout and clearTimeout override functions, if either is not provided the default native functions will be used\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * let theTimeout = scheduleTimeoutWith(newSetTimeoutFn, () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // Instead of calling clearTimeout() with the returned value from setTimeout() the returned\r\n * // handler instance can be used instead to cancel the timer\r\n * theTimeout.cancel();\r\n * theTimeout.enabled; // false\r\n *\r\n * // You can start the timer via enabled\r\n * theTimeout.enabled = true;\r\n *\r\n * // You can also \"restart\" the timer, whether it has previously triggered not not via the `refresh()`\r\n * theTimeout.refresh();\r\n * ```\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * // Your own \"clearTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newClearTimeoutFn(timeoutId: number) {\r\n * overrideCalled ++;\r\n * return clearTimeout( timeout);\r\n * }\r\n *\r\n * let theTimeout = scheduleTimeoutWith([newSetTimeoutFn, newClearTimeoutFn], () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // Instead of calling clearTimeout() with the returned value from setTimeout() the returned\r\n * // handler instance can be used instead to cancel the timer, internally this will call the newClearTimeoutFn\r\n * theTimeout.cancel();\r\n * theTimeout.enabled; // false\r\n *\r\n * // You can start the timer via enabled\r\n * theTimeout.enabled = true;\r\n *\r\n * // You can also \"restart\" the timer, whether it has previously triggered not not via the `refresh()`\r\n * theTimeout.refresh();\r\n * ```\r\n */\r\nexport function scheduleTimeoutWith(overrideFn: TimeoutOverrideFn | TimeoutOverrideFuncs, callback: (...args: A) => void, timeout: number): ITimerHandler {\r\n return _createTimeoutWith(true, overrideFn, ArrSlice[CALL](arguments, 1));\r\n}\r\n\r\n/**\r\n * Creates a non-running (paused) timer which will execute a function or specified piece of code when enabled and the timer expires,\r\n * this is simular to using `scheduleTimeout` but the timer is not enabled (running) and you MUST call `refresh` to start the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.7.0\r\n * @group Timer\r\n *\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * let theTimeout = createTimeout(() => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // As the timer is not started you will need to call \"refresh\" to start the timer\r\n * theTimeout.refresh();\r\n *\r\n * // or set enabled to true\r\n * theTimeout.enabled = true;\r\n * ```\r\n */\r\nexport function createTimeout(callback: (...args: A) => void, timeout: number, ...args: A): ITimerHandler;\r\n\r\n/**\r\n * Creates a non-running (paused) timer which will execute a function or specified piece of code when enabled and the timer expires,\r\n * this is simular to using `scheduleTimeout` but the timer is not enabled (running) and you MUST call `refresh` to start the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.7.0\r\n * @group Timer\r\n *\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * let theTimeout = createTimeout(() => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // As the timer is not started you will need to call \"refresh\" to start the timer\r\n * theTimeout.refresh();\r\n *\r\n * // or set enabled to true\r\n * theTimeout.enabled = true;\r\n * ```\r\n */\r\nexport function createTimeout(callback: (...args: A) => void, timeout: number): ITimerHandler {\r\n return _createTimeoutWith(false, UNDEF_VALUE, ArrSlice[CALL](arguments));\r\n}\r\n\r\n/**\r\n * Creates a non-running (paused) timer which will execute a function or specified piece of code when enabled once the timer expires.\r\n * The overrideFn will be used to create the timer, this is simular to using `scheduleTimeoutWith` but the timer is not enabled (running)\r\n * and you MUST call `refresh` to start the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.7.0\r\n * @group Timer\r\n *\r\n * @param overrideFn - setTimeout override function this will be called instead of the `setTimeout`, if the value\r\n * of `overrideFn` is null or undefined it will revert back to the native `setTimeout`. May also be an array with contains\r\n * both the setTimeout and clearTimeout override functions, if either is not provided the default native functions will be used\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * let theTimeout = createTimeoutWith(newSetTimeoutFn, () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // As the timer is not started you will need to call \"refresh\" to start the timer\r\n * theTimeout.refresh();\r\n *\r\n * // or set enabled to true\r\n * theTimeout.enabled = true;\r\n * ```\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * // Your own \"clearTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newClearTimeoutFn(timeoutId: number) {\r\n * overrideCalled ++;\r\n * return clearTimeout( timeout);\r\n * }\r\n *\r\n * let theTimeout = createTimeoutWith([newSetTimeoutFn, newClearTimeoutFn], () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // As the timer is not started you will need to call \"refresh\" to start the timer\r\n * theTimeout.refresh();\r\n *\r\n * // or set enabled to true\r\n * theTimeout.enabled = true;\r\n * ```\r\n */\r\nexport function createTimeoutWith(overrideFn: TimeoutOverrideFn | TimeoutOverrideFuncs, callback: (...args: A) => void, timeout: number, ...args: A): ITimerHandler;\r\n\r\n/**\r\n * Creates a non-running (paused) timer which will execute a function or specified piece of code when enabled once the timer expires.\r\n * The overrideFn will be used to create the timer, this is simular to using `scheduleTimeoutWith` but the timer is not enabled (running)\r\n * and you MUST call `refresh` to start the timer.\r\n *\r\n * The timer may be cancelled (cleared) by calling the `cancel()` function on the returned {@link ITimerHandler}, or\r\n * you can \"reschedule\" and/or \"restart\" the timer by calling the `refresh()` function on the returned {@link ITimerHandler}\r\n * instance\r\n *\r\n * @since 0.7.0\r\n * @group Timer\r\n *\r\n * @param overrideFn - setTimeout override function this will be called instead of the `setTimeout`, if the value\r\n * of `overrideFn` is null or undefined it will revert back to the native `setTimeout`. May also be an array with contains\r\n * both the setTimeout and clearTimeout override functions, if either is not provided the default native functions will be used\r\n * @param callback - The function to be executed after the timer expires.\r\n * @param timeout - The time, in milliseconds that the timer should wait before the specified\r\n * function or code is executed. If this parameter is omitted, a value of 0 is used, meaning\r\n * execute \"immediately\", or more accurately, the next event cycle.\r\n * @param args - Additional arguments which are passed through to the function specified by `callback`.\r\n * @returns A {@link ITimerHandler} instance which can be used to cancel the timeout.\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * let theTimeout = createTimeoutWith(newSetTimeoutFn, () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // As the timer is not started you will need to call \"refresh\" to start the timer\r\n * theTimeout.refresh();\r\n *\r\n * // or set enabled to true\r\n * theTimeout.enabled = true;\r\n * ```\r\n * @example\r\n * ```ts\r\n * let timeoutCalled = false;\r\n * // Your own \"setTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newSetTimeoutFn(callback: TimeoutOverrideFn) {\r\n * overrideCalled ++;\r\n * return setTimeout(callback, timeout);\r\n * }\r\n *\r\n * // Your own \"clearTimeout\" implementation to allow you to perform additional operations or possible wrap\r\n * // the callback to add timings.\r\n * function newClearTimeoutFn(timeoutId: number) {\r\n * overrideCalled ++;\r\n * return clearTimeout( timeout);\r\n * }\r\n *\r\n * let theTimeout = createTimeoutWith([newSetTimeoutFn, newClearTimeoutFn], () => {\r\n * // This callback will be called after 100ms as this uses setTimeout()\r\n * timeoutCalled = true;\r\n * }, 100);\r\n *\r\n * // As the timer is not started you will need to call \"refresh\" to start the timer\r\n * theTimeout.refresh();\r\n *\r\n * // or set enabled to true\r\n * theTimeout.enabled = true;\r\n * ```\r\n */\r\nexport function createTimeoutWith(overrideFn: TimeoutOverrideFn | TimeoutOverrideFuncs, callback: (...args: A) => void, timeout: number): ITimerHandler {\r\n return _createTimeoutWith(false, overrideFn, ArrSlice[CALL](arguments, 1));\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nexport const strShimFunction = \"function\";\r\nexport const strShimObject = \"object\";\r\nexport const strShimUndefined = \"undefined\";\r\nexport const strShimPrototype = \"prototype\";\r\nexport const strDefault = \"default\";\r\n\r\nexport const ObjClass = Object;\r\nexport const ObjProto = ObjClass[strShimPrototype];\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { getGlobal, objAssign, objCreate, objDefineProp, objHasOwnProperty, throwTypeError } from \"@nevware21/ts-utils\";\r\nimport {\r\n ObjClass, ObjProto,\r\n strDefault, strShimFunction, strShimPrototype\r\n} from \"./Constants\";\r\n\r\n// Most of these functions have been directly shamelessly \"lifted\" from the https://github.com/@microsoft/tslib and\r\n// modified to be ES5 compatible and applying several minification and tree-shaking techniques so that Application Insights\r\n// can successfully use TypeScript \"importHelpers\" which imports tslib during compilation but it will use these at runtime\r\n// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require\r\n// them.\r\n\r\nexport const SymbolObj = (getGlobal()||{})[\"Symbol\"];\r\nexport const ReflectObj = (getGlobal()||{})[\"Reflect\"];\r\nexport const __hasReflect = !!ReflectObj;\r\n\r\nconst strDecorate = \"decorate\";\r\nconst strMetadata = \"metadata\";\r\nconst strGetOwnPropertySymbols = \"getOwnPropertySymbols\";\r\nconst strIterator = \"iterator\";\r\nconst strHasOwnProperty = \"hasOwnProperty\";\r\n\r\nexport declare type ObjAssignFunc = (t: any, ...sources:any[]) => any;\r\n\r\nexport var __objAssignFnImpl: ObjAssignFunc = function(t: any): any {\r\n // tslint:disable-next-line: ban-comma-operator\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) {\r\n if (ObjProto[strHasOwnProperty].call(s, p)) {\r\n (t as any)[p] = s[p];\r\n }\r\n }\r\n }\r\n return t;\r\n};\r\n\r\nexport var __assignFn: ObjAssignFunc = objAssign || __objAssignFnImpl;\r\n\r\n// tslint:disable-next-line: only-arrow-functions\r\nvar extendStaticsFn = function(d: any, b: any): any {\r\n extendStaticsFn = ObjClass[\"setPrototypeOf\"] ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n ({ __proto__: [] } instanceof Array && function (d: any, b: any) {\r\n d.__proto__ = b;\r\n }) ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n function (d: any, b: any) {\r\n for (var p in b) {\r\n if (b[strHasOwnProperty](p)) {\r\n d[p] = b[p];\r\n }\r\n }\r\n };\r\n return extendStaticsFn(d, b);\r\n};\r\n\r\nexport function __extendsFn(d: any, b: any) {\r\n if (typeof b !== strShimFunction && b !== null) {\r\n throwTypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n }\r\n extendStaticsFn(d, b);\r\n function __(this: any) {\r\n this.constructor = d;\r\n }\r\n // tslint:disable-next-line: ban-comma-operator\r\n d[strShimPrototype] = b === null ? objCreate(b) : (__[strShimPrototype] = b[strShimPrototype], new (__ as any)());\r\n}\r\n\r\nexport function __restFn(s: any, e: any) {\r\n var t = {};\r\n for (var k in s) {\r\n if (objHasOwnProperty(s, k) && e.indexOf(k) < 0) {\r\n t[k] = s[k];\r\n }\r\n }\r\n if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) {\r\n for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && ObjProto[\"propertyIsEnumerable\"].call(s, p[i])) {\r\n t[p[i]] = s[p[i]];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorateFn(decorators: any, target: any, key: any, desc: any) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass[\"getOwnPropertyDescriptor\"](target, key) : desc, d;\r\n if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) {\r\n r = ReflectObj[strDecorate](decorators, target, key, desc);\r\n } else {\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n // eslint-disable-next-line no-cond-assign\r\n if (d = decorators[i]) {\r\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n }\r\n }\r\n }\r\n\r\n // tslint:disable-next-line:ban-comma-operator\r\n return c > 3 && r && objDefineProp(target, key, r), r;\r\n}\r\n\r\nexport function __paramFn(paramIndex: number, decorator: Function) {\r\n return function (target: any, key: any) {\r\n decorator(target, key, paramIndex);\r\n }\r\n}\r\n\r\nexport function __metadataFn(metadataKey: any, metadataValue: any) {\r\n if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) {\r\n return ReflectObj[strMetadata](metadataKey, metadataValue);\r\n }\r\n}\r\n\r\nexport function __exportStarFn(m: any, o: any) {\r\n for (var p in m) {\r\n if (p !== strDefault && !objHasOwnProperty(o, p)) {\r\n __createBindingFn(o, m, p);\r\n }\r\n }\r\n}\r\n\r\nexport function __createBindingFn(o: any, m: any, k: any, k2?: any) {\r\n if (k2 === undefined) {\r\n k2 = k;\r\n }\r\n \r\n if (!!objDefineProp) {\r\n objDefineProp(o, k2, {\r\n enumerable: true,\r\n get() {\r\n return m[k];\r\n }\r\n });\r\n } else {\r\n o[k2] = m[k];\r\n }\r\n}\r\n\r\nexport function __valuesFn(o: any) {\r\n var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0;\r\n if (m) {\r\n return m.call(o);\r\n }\r\n\r\n if (o && typeof o.length === \"number\") {\r\n return {\r\n next () {\r\n if (o && i >= o.length) {\r\n o = void 0;\r\n }\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n\r\n throwTypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __readFn(o: any, n: any) {\r\n var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]];\r\n if (!m) {\r\n return o;\r\n }\r\n\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) {\r\n ar.push(r.value);\r\n }\r\n } catch (error) {\r\n e = {\r\n error\r\n };\r\n } finally {\r\n try {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (r && !r.done && (m = i[\"return\"])) {\r\n m.call(i);\r\n }\r\n } finally {\r\n if (e) {\r\n // eslint-disable-next-line no-unsafe-finally\r\n throw e.error;\r\n }\r\n }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArraysFn() {\r\n var theArgs = arguments;\r\n // Calculate new total size\r\n for (var s = 0, i = 0, il = theArgs.length; i < il; i++) {\r\n s += theArgs[i].length;\r\n }\r\n\r\n // Create new full array\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\r\n for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) {\r\n r[k] = a[j];\r\n }\r\n }\r\n\r\n return r;\r\n}\r\n\r\nexport function __spreadArrayFn(to: any, from: any) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\r\n to[j] = from[i];\r\n }\r\n\r\n return to;\r\n}\r\n\r\nexport function __makeTemplateObjectFn(cooked: any, raw: any) {\r\n if (objDefineProp) {\r\n objDefineProp(cooked, \"raw\", { value: raw });\r\n } else {\r\n cooked.raw = raw;\r\n }\r\n\r\n return cooked;\r\n}\r\n\r\nexport function __importStarFn(mod: any) {\r\n if (mod && mod.__esModule) {\r\n return mod;\r\n }\r\n\r\n var result = {};\r\n if (mod != null) {\r\n for (var k in mod) {\r\n if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) {\r\n __createBindingFn(result, mod, k);\r\n }\r\n }\r\n }\r\n\r\n // Set default module\r\n if (!!objDefineProp) {\r\n objDefineProp( result, strDefault, { enumerable: true, value: mod });\r\n } else {\r\n result[strDefault] = mod;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function __importDefaultFn(mod:any) {\r\n return (mod && mod.__esModule) ? mod : { strDefault: mod };\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { getGlobal, objCreate, objHasOwnProperty, throwTypeError } from \"@nevware21/ts-utils\";\r\n\r\ninterface DynamicGlobalSettings {\r\n /**\r\n * Stores the global options which will also be exposed on the runtime global\r\n */\r\n o: IDynamicProtoOpts,\r\n\r\n /**\r\n * Internal Global used to generate a unique dynamic class name, every new class will increase this value\r\n * @ignore\r\n */ \r\n n: number\r\n};\r\n\r\nconst UNDEFINED = \"undefined\";\r\n\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */ \r\nconst Constructor = 'constructor';\r\n\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */ \r\nconst Prototype = 'prototype';\r\n \r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nconst strFunction = 'function';\r\n\r\n/**\r\n * Used to define the name of the instance function lookup table\r\n * @ignore\r\n */ \r\nconst DynInstFuncTable = '_dynInstFuncs';\r\n \r\n/**\r\n * Name used to tag the dynamic prototype function\r\n * @ignore\r\n */ \r\nconst DynProxyTag = '_isDynProxy';\r\n \r\n/**\r\n * Name added to a prototype to define the dynamic prototype \"class\" name used to lookup the function table\r\n * @ignore\r\n */ \r\nconst DynClassName = '_dynClass';\r\n \r\n/**\r\n * Prefix added to the classname to avoid any name clashes with other instance level properties\r\n * @ignore\r\n */ \r\nconst DynClassNamePrefix = '_dynCls$';\r\n \r\n/**\r\n * A tag which is used to check if we have already to attempted to set the instance function if one is not present\r\n * @ignore\r\n */\r\nconst DynInstChkTag = '_dynInstChk';\r\n \r\n/**\r\n * A tag which is used to check if we are allows to try and set an instance function is one is not present. Using the same \r\n * tag name as the function level but a different const name for readability only.\r\n */\r\nconst DynAllowInstChkTag = DynInstChkTag;\r\n \r\n/**\r\n * The global (imported) instances where the global performance options are stored\r\n */\r\nconst DynProtoDefaultOptions = '_dfOpts';\r\n \r\n/**\r\n * Value used as the name of a class when it cannot be determined\r\n * @ignore\r\n */ \r\nconst UnknownValue = '_unknown_';\r\n \r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nconst str__Proto = \"__proto__\";\r\n \r\n/**\r\n * The polyfill version of __proto__ so that it doesn't cause issues for anyone not expecting it to exist\r\n */\r\nconst DynProtoBaseProto = \"_dyn\" + str__Proto;\r\n\r\n/**\r\n * Runtime Global holder for dynamicProto settings\r\n */\r\nconst DynProtoGlobalSettings = \"__dynProto$Gbl\";\r\n\r\n/**\r\n * Track the current prototype for IE8 as you can't look back to get the prototype\r\n */\r\nconst DynProtoCurrent = \"_dynInstProto\";\r\n \r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nconst strUseBaseInst = 'useBaseInst';\r\n \r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nconst strSetInstFuncs = 'setInstFuncs';\r\n \r\nconst Obj = Object;\r\n\r\n/**\r\n * Pre-lookup to check if we are running on a modern browser (i.e. not IE8)\r\n * @ignore\r\n */\r\nlet _objGetPrototypeOf = Obj[\"getPrototypeOf\"];\r\n\r\n/**\r\n * Pre-lookup to check for the existence of this function\r\n */\r\nlet _objGetOwnProps = Obj[\"getOwnPropertyNames\"];\r\n\r\n// Since 1.1.7 moving these to the runtime global to work around mixed version and module issues\r\n// See Issue https://github.com/microsoft/DynamicProto-JS/issues/57 for details\r\nlet _gbl = getGlobal();\r\nlet _gblInst: DynamicGlobalSettings = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {\r\n o: {\r\n [strSetInstFuncs]: true,\r\n [strUseBaseInst]: true\r\n },\r\n n: 1000 // Start new global index @ 1000 so we \"fix\" some cases when mixed with 1.1.6 or earlier\r\n});\r\n\r\n/**\r\n * Helper used to check whether the target is an Object prototype or Array prototype\r\n * @ignore\r\n */ \r\nfunction _isObjectOrArrayPrototype(target:any) {\r\n return target && (target === Obj[Prototype] || target === Array[Prototype]);\r\n}\r\n\r\n/**\r\n * Helper used to check whether the target is an Object prototype, Array prototype or Function prototype\r\n * @ignore\r\n */ \r\nfunction _isObjectArrayOrFunctionPrototype(target:any) {\r\n return _isObjectOrArrayPrototype(target) || target === Function[Prototype];\r\n}\r\n\r\n/**\r\n * Helper used to get the prototype of the target object as getPrototypeOf is not available in an ES3 environment.\r\n * @ignore\r\n */ \r\nfunction _getObjProto(target:any) {\r\n let newProto;\r\n\r\n if (target) {\r\n // This method doesn't exist in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n return _objGetPrototypeOf(target);\r\n }\r\n\r\n let curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);\r\n\r\n // Using the pre-calculated value as IE8 doesn't support looking up the prototype of a prototype and thus fails for more than 1 base class\r\n newProto = target[DynProtoBaseProto] || curProto;\r\n if (!objHasOwnProperty(target, DynProtoBaseProto)) {\r\n // As this prototype doesn't have this property then this is from an inherited class so newProto is the base to return so save it\r\n // so we can look it up value (which for a multiple hierarchy dynamicProto will be the base class)\r\n delete target[DynProtoCurrent]; // Delete any current value allocated to this instance so we pick up the value from prototype hierarchy\r\n newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];\r\n target[DynProtoCurrent] = curProto;\r\n }\r\n }\r\n\r\n return newProto;\r\n}\r\n\r\n/**\r\n * Helper to get the properties of an object, including none enumerable ones as functions on a prototype in ES6\r\n * are not enumerable.\r\n * @param target \r\n */\r\nfunction _forEachProp(target: any, func: (name: string) => void) {\r\n let props: string[] = [];\r\n if (_objGetOwnProps) {\r\n props = _objGetOwnProps(target);\r\n } else {\r\n for (let name in target) {\r\n if (typeof name === \"string\" && objHasOwnProperty(target, name)) {\r\n props.push(name);\r\n }\r\n }\r\n }\r\n\r\n if (props && props.length > 0) {\r\n for (let lp = 0; lp < props.length; lp++) {\r\n func(props[lp]);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Helper function to check whether the provided function name is a potential candidate for dynamic\r\n * callback and prototype generation.\r\n * @param target The target object, may be a prototype or class object\r\n * @param funcName The function name\r\n * @param skipOwn Skips the check for own property\r\n * @ignore\r\n */\r\nfunction _isDynamicCandidate(target:any, funcName:string, skipOwn:boolean) {\r\n return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);\r\n}\r\n\r\n/**\r\n * Helper to throw a TypeError exception\r\n * @param message the message\r\n * @ignore\r\n */\r\nfunction _throwTypeError(message:string) {\r\n throwTypeError(\"DynamicProto: \" + message);\r\n}\r\n\r\n/**\r\n * Returns a collection of the instance functions that are defined directly on the thisTarget object, it does \r\n * not return any inherited functions\r\n * @param thisTarget The object to get the instance functions from\r\n * @ignore\r\n */\r\nfunction _getInstanceFuncs(thisTarget:any): any {\r\n // Get the base proto\r\n var instFuncs = objCreate(null);\r\n\r\n // Save any existing instance functions\r\n _forEachProp(thisTarget, (name) => {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {\r\n // Create an instance callback for passing the base function to the caller\r\n instFuncs[name] = thisTarget[name];\r\n }\r\n });\r\n\r\n return instFuncs;\r\n}\r\n\r\n/**\r\n * Returns whether the value is included in the array\r\n * @param values The array of values\r\n * @param value The value\r\n */\r\nfunction _hasVisited(values:any[], value:any) {\r\n for (let lp = values.length - 1; lp >= 0; lp--) {\r\n if (values[lp] === value) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * Returns an object that contains callback functions for all \"base/super\" functions, this is used to \"save\"\r\n * enabling calling super.xxx() functions without requiring that the base \"class\" has defined a prototype references\r\n * @param target The current instance\r\n * @ignore\r\n */\r\nfunction _getBaseFuncs(classProto:any, thisTarget:any, instFuncs:any, useBaseInst:boolean): any {\r\n function _instFuncProxy(target:any, funcHost: any, funcName: string) {\r\n let theFunc = funcHost[funcName];\r\n if (theFunc[DynProxyTag] && useBaseInst) {\r\n // grab and reuse the hosted looking function (if available) otherwise the original passed function\r\n let instFuncTable = target[DynInstFuncTable] || {};\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;\r\n }\r\n }\r\n\r\n return function() {\r\n // eslint-disable-next-line prefer-rest-params\r\n return theFunc.apply(target, arguments);\r\n };\r\n }\r\n\r\n // Start creating a new baseFuncs by creating proxies for the instance functions (as they may get replaced)\r\n var baseFuncs = objCreate(null);\r\n _forEachProp(instFuncs, (name) => {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);\r\n });\r\n \r\n // Get the base prototype functions\r\n var baseProto = _getObjProto(classProto);\r\n let visited:any[] = [];\r\n\r\n // Don't include base object functions for Object, Array or Function\r\n while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {\r\n // look for prototype functions\r\n _forEachProp(baseProto, (name) => {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n // For IE 7/8 the prototype lookup doesn't provide the full chain so we need to bypass the \r\n // hasOwnProperty check we get all of the methods, main difference is that IE7/8 doesn't return\r\n // the Object prototype methods while bypassing the check\r\n if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);\r\n }\r\n });\r\n\r\n // We need to find all possible functions that might be overloaded by walking the entire prototype chain\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(baseProto);\r\n baseProto = _getObjProto(baseProto);\r\n }\r\n\r\n return baseFuncs;\r\n}\r\n\r\nfunction _getInstFunc(target: any, funcName: string, proto: any, currentDynProtoProxy: any) {\r\n let instFunc = null;\r\n\r\n // We need to check whether the class name is defined directly on this prototype otherwise\r\n // it will walk the proto chain and return any parent proto classname.\r\n if (target && objHasOwnProperty(proto, DynClassName)) {\r\n\r\n let instFuncTable = target[DynInstFuncTable] || objCreate(null);\r\n instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];\r\n\r\n if (!instFunc) {\r\n // Avoid stack overflow from recursive calling the same function\r\n _throwTypeError(\"Missing [\" + funcName + \"] \" + strFunction);\r\n }\r\n\r\n // We have the instance function, lets check it we can speed up further calls\r\n // by adding the instance function back directly on the instance (avoiding the dynamic func lookup)\r\n if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {\r\n // If the instance already has an instance function we can't replace it\r\n let canAddInst = !objHasOwnProperty(target, funcName);\r\n\r\n // Get current prototype\r\n let objProto = _getObjProto(target);\r\n let visited:any[] = [];\r\n\r\n // Lookup the function starting at the top (instance level prototype) and traverse down, if the first matching function\r\n // if nothing is found or if the first hit is a dynamic proto instance then we can safely add an instance shortcut\r\n while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {\r\n let protoFunc = objProto[funcName];\r\n if (protoFunc) {\r\n canAddInst = (protoFunc === currentDynProtoProxy);\r\n break;\r\n }\r\n\r\n // We need to find all possible initial functions to ensure that we don't bypass a valid override function\r\n visited.push(objProto);\r\n objProto = _getObjProto(objProto);\r\n }\r\n\r\n try {\r\n if (canAddInst) {\r\n // This instance doesn't have an instance func and the class hierarchy does have a higher level prototype version\r\n // so it's safe to directly assign for any subsequent calls (for better performance)\r\n target[funcName] = instFunc;\r\n }\r\n\r\n // Block further attempts to set the instance function for any\r\n instFunc[DynInstChkTag] = 1;\r\n } catch (e) {\r\n // Don't crash if the object is readonly or the runtime doesn't allow changing this\r\n // And set a flag so we don't try again for any function\r\n instFuncTable[DynAllowInstChkTag] = false;\r\n }\r\n }\r\n }\r\n\r\n return instFunc;\r\n}\r\n\r\nfunction _getProtoFunc(funcName: string, proto: any, currentDynProtoProxy: any) {\r\n let protoFunc = proto[funcName];\r\n\r\n // Check that the prototype function is not a self reference -- try to avoid stack overflow!\r\n if (protoFunc === currentDynProtoProxy) {\r\n // It is so lookup the base prototype\r\n protoFunc = _getObjProto(proto)[funcName];\r\n }\r\n\r\n if (typeof protoFunc !== strFunction) {\r\n _throwTypeError(\"[\" + funcName + \"] is not a \" + strFunction);\r\n }\r\n\r\n return protoFunc;\r\n}\r\n\r\n/**\r\n * Add the required dynamic prototype methods to the the class prototype\r\n * @param proto - The class prototype\r\n * @param className - The instance classname \r\n * @param target - The target instance\r\n * @param baseInstFuncs - The base instance functions\r\n * @param setInstanceFunc - Flag to allow prototype function to reset the instance function if one does not exist\r\n * @ignore\r\n */\r\nfunction _populatePrototype(proto:any, className:string, target:any, baseInstFuncs:any, setInstanceFunc:boolean) {\r\n function _createDynamicPrototype(proto:any, funcName:string) {\r\n let dynProtoProxy = function() {\r\n // Use the instance or prototype function\r\n let instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);\r\n // eslint-disable-next-line prefer-rest-params\r\n return instFunc.apply(this, arguments);\r\n };\r\n \r\n // Tag this function as a proxy to support replacing dynamic proxy elements (primary use case is for unit testing\r\n // via which can dynamically replace the prototype function reference)\r\n (dynProtoProxy as any)[DynProxyTag] = 1;\r\n return dynProtoProxy;\r\n }\r\n \r\n if (!_isObjectOrArrayPrototype(proto)) {\r\n let instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);\r\n if (!_isObjectOrArrayPrototype(instFuncTable)) {\r\n let instFuncs = instFuncTable[className] = (instFuncTable[className] || objCreate(null)); // fetch and assign if as it may not exist yet\r\n\r\n // Set whether we are allow to lookup instances, if someone has set to false then do not re-enable\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;\r\n }\r\n\r\n if (!_isObjectOrArrayPrototype(instFuncs)) {\r\n _forEachProp(target, (name) => {\r\n // Only add overridden functions\r\n if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name] ) {\r\n // Save the instance Function to the lookup table and remove it from the instance as it's not a dynamic proto function\r\n instFuncs[name] = target[name];\r\n delete target[name];\r\n \r\n // Add a dynamic proto if one doesn't exist or if a prototype function exists and it's not a dynamic one\r\n if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {\r\n proto[name] = _createDynamicPrototype(proto, name);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Checks whether the passed prototype object appears to be correct by walking the prototype hierarchy of the instance\r\n * @param classProto The class prototype instance\r\n * @param thisTarget The current instance that will be checked whether the passed prototype instance is in the hierarchy\r\n * @ignore\r\n */\r\nfunction _checkPrototype(classProto:any, thisTarget:any) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n // As this is primarily a coding time check, don't bother checking if running in IE8 or lower\r\n let visited:any[] = [];\r\n let thisProto = _getObjProto(thisTarget);\r\n while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {\r\n if (thisProto === classProto) {\r\n return true;\r\n }\r\n\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(thisProto);\r\n thisProto = _getObjProto(thisProto);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // If objGetPrototypeOf doesn't exist then just assume everything is ok.\r\n return true;\r\n}\r\n\r\n/**\r\n * Gets the current prototype name using the ES6 name if available otherwise falling back to a use unknown as the name.\r\n * It's not critical for this to return a name, it's used to decorate the generated unique name for easier debugging only.\r\n * @param target \r\n * @param unknownValue \r\n * @ignore\r\n */\r\nfunction _getObjName(target:any, unknownValue?:string) {\r\n if (objHasOwnProperty(target, Prototype)) {\r\n // Look like a prototype\r\n return target.name || unknownValue || UnknownValue\r\n }\r\n\r\n return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;\r\n}\r\n\r\n/**\r\n * Interface to define additional configuration options to control how the dynamic prototype functions operate.\r\n */\r\nexport interface IDynamicProtoOpts {\r\n\r\n /**\r\n * Should the dynamic prototype attempt to set an instance function for instances that do not already have an\r\n * function of the same name or have been extended by a class with a (non-dynamic proto) prototype function.\r\n */\r\n setInstFuncs: boolean,\r\n\r\n /**\r\n * When looking for base (super) functions if it finds a dynamic proto instances can it use the instance functions\r\n * and bypass the prototype lookups. Defaults to true.\r\n */\r\n useBaseInst?: boolean\r\n}\r\n\r\n/**\r\n * The delegate signature for the function used as the callback for dynamicProto() \r\n * @typeparam DPType This is the generic type of the class, used to keep intellisense valid for the proxy instance, even \r\n * though it is only a proxy that only contains the functions \r\n * @param theTarget This is the real \"this\" of the current target object\r\n * @param baseFuncProxy The is a proxy object which ONLY contains this function that existed on the \"this\" instance before\r\n * calling dynamicProto, it does NOT contain properties of this. This is basically equivalent to using the \"super\" keyword.\r\n */\r\nexport type DynamicProtoDelegate = (theTarget:DPType, baseFuncProxy?:DPType) => void;\r\n\r\n/**\r\n * Helper function when creating dynamic (inline) functions for classes, this helper performs the following tasks :-\r\n * - Saves references to all defined base class functions\r\n * - Calls the delegateFunc with the current target (this) and a base object reference that can be used to call all \"super\" functions.\r\n * - Will populate the class prototype for all overridden functions to support class extension that call the prototype instance.\r\n * Callers should use this helper when declaring all function within the constructor of a class, as mentioned above the delegateFunc is \r\n * passed both the target \"this\" and an object that can be used to call any base (super) functions, using this based object in place of\r\n * super.XXX() (which gets expanded to _super.prototype.XXX()) provides a better minification outcome and also ensures the correct \"this\"\r\n * context is maintained as TypeScript creates incorrect references using super.XXXX() for dynamically defined functions i.e. Functions\r\n * defined in the constructor or some other function (rather than declared as complete typescript functions).\r\n * ### Usage\r\n * ```typescript\r\n * import dynamicProto from \"@microsoft/dynamicproto-js\";\r\n * class ExampleClass extends BaseClass {\r\n * constructor() {\r\n * dynamicProto(ExampleClass, this, (_self, base) => {\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.newFunc = () => {\r\n * // Access any \"this\" instance property \r\n * if (_self.someProperty) {\r\n * ...\r\n * }\r\n * }\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.myFunction = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * // Call the base version of the function that we are overriding\r\n * base.myFunction();\r\n * }\r\n * ...\r\n * }\r\n * _self.initialize = () => {\r\n * ...\r\n * }\r\n * // Warnings: While the following will work as _self is simply a reference to\r\n * // this, if anyone overrides myFunction() the overridden will be called first\r\n * // as the normal JavaScript method resolution will occur and the defined\r\n * // _self.initialize() function is actually gets removed from the instance and\r\n * // a proxy prototype version is created to reference the created method.\r\n * _self.initialize();\r\n * });\r\n * }\r\n * }\r\n * ```\r\n * @typeparam DPType This is the generic type of the class, used to keep intellisense valid\r\n * @typeparam DPCls The type that contains the prototype of the current class\r\n * @param theClass - This is the current class instance which contains the prototype for the current class\r\n * @param target - The current \"this\" (target) reference, when the class has been extended this.prototype will not be the 'theClass' value.\r\n * @param delegateFunc - The callback function (closure) that will create the dynamic function\r\n * @param options - Additional options to configure how the dynamic prototype operates\r\n */\r\nexport default function dynamicProto(theClass:DPCls, target:DPType, delegateFunc: DynamicProtoDelegate, options?:IDynamicProtoOpts): void {\r\n // Make sure that the passed theClass argument looks correct\r\n if (!objHasOwnProperty(theClass, Prototype)) {\r\n _throwTypeError(\"theClass is an invalid class definition.\");\r\n }\r\n\r\n // Quick check to make sure that the passed theClass argument looks correct (this is a common copy/paste error)\r\n let classProto = theClass[Prototype];\r\n if (!_checkPrototype(classProto, target)) {\r\n _throwTypeError(\"[\" + _getObjName(theClass) + \"] not in hierarchy of [\" + _getObjName(target) + \"]\");\r\n }\r\n\r\n let className = null;\r\n if (objHasOwnProperty(classProto, DynClassName)) {\r\n // Only grab the class name if it's defined on this prototype (i.e. don't walk the prototype chain)\r\n className = classProto[DynClassName];\r\n } else {\r\n // As not all browser support name on the prototype creating a unique dynamic one if we have not already\r\n // assigned one, so we can use a simple string as the lookup rather than an object for the dynamic instance\r\n // function table lookup.\r\n className = DynClassNamePrefix + _getObjName(theClass, \"_\") + \"$\" + _gblInst.n ;\r\n _gblInst.n++;\r\n classProto[DynClassName] = className;\r\n }\r\n\r\n let perfOptions = dynamicProto[DynProtoDefaultOptions];\r\n let useBaseInst = !!perfOptions[strUseBaseInst];\r\n if (useBaseInst && options && options[strUseBaseInst] !== undefined) {\r\n useBaseInst = !!options[strUseBaseInst];\r\n }\r\n\r\n // Get the current instance functions\r\n let instFuncs = _getInstanceFuncs(target);\r\n\r\n // Get all of the functions for any base instance (before they are potentially overridden)\r\n let baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);\r\n\r\n // Execute the delegate passing in both the current target \"this\" and \"base\" function references\r\n // Note casting the same type as we don't actually have the base class here and this will provide some intellisense support\r\n delegateFunc(target, baseFuncs as DPType);\r\n\r\n // Don't allow setting instance functions for older IE instances\r\n let setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];\r\n if (setInstanceFunc && options) {\r\n setInstanceFunc = !!options[strSetInstFuncs];\r\n }\r\n\r\n // Populate the Prototype for any overridden instance functions\r\n _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);\r\n}\r\n\r\n/**\r\n * Exposes the default global options to allow global configuration, if the global values are disabled these will override\r\n * any passed values. This is primarily exposed to support unit-testing without the need for individual classes to expose\r\n * their internal usage of dynamic proto.\r\n */\r\ndynamicProto[DynProtoDefaultOptions] = _gblInst.o;\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the\r\nexport { correlationIdSetPrefix, correlationIdGetPrefix, correlationIdCanIncludeCorrelationHeader, correlationIdGetCorrelationContext, correlationIdGetCorrelationContextValue, dateTimeUtilsNow, dateTimeUtilsDuration, isInternalApplicationInsightsEndpoint, createDistributedTraceContextFromTrace } from \"./Util\";\r\nexport { ThrottleMgr } from \"./ThrottleMgr\";\r\nexport { parseConnectionString, ConnectionStringParser } from \"./ConnectionStringParser\";\r\nexport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nexport { Envelope } from \"./Telemetry/Common/Envelope\";\r\nexport { Event } from \"./Telemetry/Event\";\r\nexport { Exception } from \"./Telemetry/Exception\";\r\nexport { Metric } from \"./Telemetry/Metric\";\r\nexport { PageView } from \"./Telemetry/PageView\";\r\nexport { RemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nexport { Trace } from \"./Telemetry/Trace\";\r\nexport { PageViewPerformance } from \"./Telemetry/PageViewPerformance\";\r\nexport { Data } from \"./Telemetry/Common/Data\";\r\nexport { SeverityLevel } from \"./Interfaces/Contracts/SeverityLevel\";\r\nexport { ConfigurationManager } from \"./Interfaces/IConfig\";\r\nexport { ContextTagKeys } from \"./Interfaces/Contracts/ContextTagKeys\";\r\nexport { dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from \"./Telemetry/Common/DataSanitizer\";\r\nexport { TelemetryItemCreator, createTelemetryItem } from \"./TelemetryItemCreator\";\r\nexport { CtxTagKeys, Extensions } from \"./Interfaces/PartAExtensions\";\r\nexport { DistributedTracingModes, EventPersistence } from \"./Enums\";\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from \"./HelperFuncs\";\r\nexport { isBeaconsSupported as isBeaconApiSupported, createTraceParent, parseTraceParent, isValidTraceId, isValidSpanId, isValidTraceParent, isSampledFlag, formatTraceParent, findW3cTraceParent, findAllScripts } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from \"./DomHelperFuncs\";\r\nexport { utlDisableStorage, utlEnableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage, utlSetStoragePrefix } from \"./StorageHelperFuncs\";\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from \"./UrlHelperFuncs\";\r\nexport { createOfflineListener } from \"./Offline\";\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n//# sourceMappingURL=applicationinsights-common.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 11\r\nexport var _DYN_BLK_VAL = \"blkVal\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 55\r\nexport var _DYN_RD_ONLY = \"rdOnly\"; // Count: 4\r\nexport var _DYN_NOTIFY = \"notify\"; // Count: 4\r\nexport var _DYN_WARN_TO_CONSOLE = \"warnToConsole\"; // Count: 4\r\nexport var _DYN_THROW_INTERNAL = \"throwInternal\"; // Count: 5\r\nexport var _DYN_SET_DF = \"setDf\"; // Count: 6\r\nexport var _DYN_WATCH = \"watch\"; // Count: 8\r\nexport var _DYN_LOGGER = \"logger\"; // Count: 21\r\nexport var _DYN_APPLY = \"apply\"; // Count: 7\r\nexport var _DYN_PUSH = \"push\"; // Count: 35\r\nexport var _DYN_SPLICE = \"splice\"; // Count: 8\r\nexport var _DYN_HDLR = \"hdlr\"; // Count: 6\r\nexport var _DYN_CANCEL = \"cancel\"; // Count: 6\r\nexport var _DYN_INITIALIZE = \"initialize\"; // Count: 5\r\nexport var _DYN_IDENTIFIER = \"identifier\"; // Count: 8\r\nexport var _DYN_REMOVE_NOTIFICATION_0 = \"removeNotificationListener\"; // Count: 4\r\nexport var _DYN_ADD_NOTIFICATION_LIS1 = \"addNotificationListener\"; // Count: 4\r\nexport var _DYN_IS_INITIALIZED = \"isInitialized\"; // Count: 10\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 2\r\nexport var _DYN__INACTIVE = \"INACTIVE\"; // Count: 3\r\nexport var _DYN_VALUE = \"value\"; // Count: 5\r\nexport var _DYN_GET_NOTIFY_MGR = \"getNotifyMgr\"; // Count: 5\r\nexport var _DYN_GET_PLUGIN = \"getPlugin\"; // Count: 6\r\nexport var _DYN_NAME = \"name\"; // Count: 12\r\nexport var _DYN_I_KEY = \"iKey\"; // Count: 5\r\nexport var _DYN_TIME = \"time\"; // Count: 6\r\nexport var _DYN_PROCESS_NEXT = \"processNext\"; // Count: 15\r\nexport var _DYN_GET_PROCESS_TEL_CONT2 = \"getProcessTelContext\"; // Count: 2\r\nexport var _DYN_POLL_INTERNAL_LOGS = \"pollInternalLogs\"; // Count: 2\r\nexport var _DYN_ENABLED = \"enabled\"; // Count: 6\r\nexport var _DYN_STOP_POLLING_INTERNA3 = \"stopPollingInternalLogs\"; // Count: 2\r\nexport var _DYN_UNLOAD = \"unload\"; // Count: 9\r\nexport var _DYN_ON_COMPLETE = \"onComplete\"; // Count: 5\r\nexport var _DYN_VERSION = \"version\"; // Count: 6\r\nexport var _DYN_LOGGING_LEVEL_CONSOL4 = \"loggingLevelConsole\"; // Count: 2\r\nexport var _DYN_CREATE_NEW = \"createNew\"; // Count: 7\r\nexport var _DYN_TEARDOWN = \"teardown\"; // Count: 9\r\nexport var _DYN_MESSAGE_ID = \"messageId\"; // Count: 4\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 7\r\nexport var _DYN_IS_ASYNC = \"isAsync\"; // Count: 6\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 10\r\nexport var _DYN__DO_TEARDOWN = \"_doTeardown\"; // Count: 5\r\nexport var _DYN_UPDATE = \"update\"; // Count: 6\r\nexport var _DYN_GET_NEXT = \"getNext\"; // Count: 12\r\nexport var _DYN_SET_NEXT_PLUGIN = \"setNextPlugin\"; // Count: 5\r\nexport var _DYN_PROTOCOL = \"protocol\"; // Count: 3\r\nexport var _DYN_USER_AGENT = \"userAgent\"; // Count: 5\r\nexport var _DYN_SPLIT = \"split\"; // Count: 7\r\nexport var _DYN_NODE_TYPE = \"nodeType\"; // Count: 3\r\nexport var _DYN_REPLACE = \"replace\"; // Count: 9\r\nexport var _DYN_LOG_INTERNAL_MESSAGE = \"logInternalMessage\"; // Count: 2\r\nexport var _DYN_TYPE = \"type\"; // Count: 14\r\nexport var _DYN_HANDLER = \"handler\"; // Count: 5\r\nexport var _DYN_STATUS = \"status\"; // Count: 5\r\nexport var _DYN_GET_RESPONSE_HEADER = \"getResponseHeader\"; // Count: 2\r\nexport var _DYN_GET_ALL_RESPONSE_HEA5 = \"getAllResponseHeaders\"; // Count: 2\r\nexport var _DYN_IS_CHILD_EVT = \"isChildEvt\"; // Count: 3\r\nexport var _DYN_DATA = \"data\"; // Count: 7\r\nexport var _DYN_GET_CTX = \"getCtx\"; // Count: 6\r\nexport var _DYN_SET_CTX = \"setCtx\"; // Count: 10\r\nexport var _DYN_COMPLETE = \"complete\"; // Count: 3\r\nexport var _DYN_ITEMS_RECEIVED = \"itemsReceived\"; // Count: 3\r\nexport var _DYN_URL_STRING = \"urlString\"; // Count: 5\r\nexport var _DYN_SEND_POST = \"sendPOST\"; // Count: 3\r\nexport var _DYN_HEADERS = \"headers\"; // Count: 5\r\nexport var _DYN_TIMEOUT = \"timeout\"; // Count: 6\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 2\r\nexport var _DYN_TRACE_ID = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID = \"spanId\"; // Count: 5\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 6\r\nexport var _DYN_GET_ATTRIBUTE = \"getAttribute\"; // Count: 3\r\n//# sourceMappingURL=__DynamicConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\nexport var UNDEFINED_VALUE = undefined;\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_CHANNELS = \"channels\";\r\nexport var STR_CORE = \"core\";\r\nexport var STR_CREATE_PERF_MGR = \"createPerfMgr\";\r\nexport var STR_DISABLED = \"disabled\";\r\nexport var STR_EXTENSION_CONFIG = \"extensionConfig\";\r\nexport var STR_EXTENSIONS = \"extensions\";\r\nexport var STR_PROCESS_TELEMETRY = \"processTelemetry\";\r\nexport var STR_PRIORITY = \"priority\";\r\nexport var STR_EVENTS_SENT = \"eventsSent\";\r\nexport var STR_EVENTS_DISCARDED = \"eventsDiscarded\";\r\nexport var STR_EVENTS_SEND_REQUEST = \"eventsSendRequest\";\r\nexport var STR_PERF_EVENT = \"perfEvent\";\r\nexport var STR_OFFLINE_STORE = \"offlineEventsStored\";\r\nexport var STR_OFFLINE_SENT = \"offlineBatchSent\";\r\nexport var STR_OFFLINE_DROP = \"offlineBatchDrop\";\r\nexport var STR_GET_PERF_MGR = \"getPerfMgr\";\r\nexport var STR_DOMAIN = \"domain\";\r\nexport var STR_PATH = \"path\";\r\nexport var STR_NOT_DYNAMIC_ERROR = \"Not dynamic - \";\r\n//# sourceMappingURL=InternalConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjAssign, ObjClass } from \"@microsoft/applicationinsights-shims\";\r\nimport { arrForEach, asString as asString21, isArray, isBoolean, isError, isFunction, isNullOrUndefined, isNumber, isObject, isPlainObject, isString, isUndefined, objDeepFreeze, objDefine, objForEachKey, objHasOwn, strIndexOf, strTrim } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_GET_ALL_RESPONSE_HEA5, _DYN_GET_RESPONSE_HEADER, _DYN_LENGTH, _DYN_NAME, _DYN_REPLACE, _DYN_SPLIT, _DYN_STATUS, _DYN_TO_LOWER_CASE } from \"../__DynamicConstants\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// RESTRICT and AVOID circular dependencies you should not import other contained modules or export the contents of this file directly\r\n// Added to help with minification\r\nvar strGetPrototypeOf = \"getPrototypeOf\";\r\nvar rCamelCase = /-([a-z])/g;\r\nvar rNormalizeInvalid = /([^\\w\\d_$])/g;\r\nvar rLeadingNumeric = /^(\\d+[\\w\\d_$])/;\r\nexport var _getObjProto = Object[strGetPrototypeOf];\r\nexport function isNotUndefined(value) {\r\n return !isUndefined(value);\r\n}\r\nexport function isNotNullOrUndefined(value) {\r\n return !isNullOrUndefined(value);\r\n}\r\n/**\r\n * Validates that the string name conforms to the JS IdentifierName specification and if not\r\n * normalizes the name so that it would. This method does not identify or change any keywords\r\n * meaning that if you pass in a known keyword the same value will be returned.\r\n * This is a simplified version\r\n * @param name - The name to validate\r\n */\r\nexport function normalizeJsName(name) {\r\n var value = name;\r\n if (value && isString(value)) {\r\n // CamelCase everything after the \"-\" and remove the dash\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rCamelCase, function (_all, letter) {\r\n return letter.toUpperCase();\r\n });\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rNormalizeInvalid, \"_\");\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rLeadingNumeric, function (_all, match) {\r\n return \"_\" + match;\r\n });\r\n }\r\n return value;\r\n}\r\n/**\r\n * A simple wrapper (for minification support) to check if the value contains the search string.\r\n * @param value - The string value to check for the existence of the search value\r\n * @param search - The value search within the value\r\n */\r\nexport function strContains(value, search) {\r\n if (value && search) {\r\n return strIndexOf(value, search) !== -1;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\nexport function toISOString(date) {\r\n return date && date.toISOString() || \"\";\r\n}\r\nexport var deepFreeze = objDeepFreeze;\r\n/**\r\n * Returns the name of object if it's an Error. Otherwise, returns empty string.\r\n */\r\nexport function getExceptionName(object) {\r\n if (isError(object)) {\r\n return object[_DYN_NAME /* @min:%2ename */];\r\n }\r\n return STR_EMPTY;\r\n}\r\n/**\r\n * Sets the provided value on the target instance using the field name when the provided chk function returns true, the chk\r\n * function will only be called if the new value is no equal to the original value.\r\n * @param target - The target object\r\n * @param field - The key of the target\r\n * @param value - The value to set\r\n * @param valChk - [Optional] Callback to check the value that if supplied will be called check if the new value can be set\r\n * @param srcChk - [Optional] Callback to check to original value that if supplied will be called if the new value should be set (if allowed)\r\n * @returns The existing or new value, depending what was set\r\n */\r\nexport function setValue(target, field, value, valChk, srcChk) {\r\n var theValue = value;\r\n if (target) {\r\n theValue = target[field];\r\n if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {\r\n theValue = value;\r\n target[field] = theValue;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Returns the current value from the target object if not null or undefined otherwise sets the new value and returns it\r\n * @param target - The target object to return or set the default value\r\n * @param field - The key for the field to set on the target\r\n * @param defValue - [Optional] The value to set if not already present, when not provided a empty object will be added\r\n */\r\nexport function getSetValue(target, field, defValue) {\r\n var theValue;\r\n if (target) {\r\n theValue = target[field];\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n // Supports having the default as null\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n target[field] = theValue;\r\n }\r\n }\r\n else {\r\n // Expanded for performance so we only check defValue if required\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n }\r\n return theValue;\r\n}\r\nfunction _createProxyFunction(source, funcName) {\r\n var srcFunc = null;\r\n var src = null;\r\n if (isFunction(source)) {\r\n srcFunc = source;\r\n }\r\n else {\r\n src = source;\r\n }\r\n return function () {\r\n // Capture the original arguments passed to the method\r\n var originalArguments = arguments;\r\n if (srcFunc) {\r\n src = srcFunc();\r\n }\r\n if (src) {\r\n return src[funcName][_DYN_APPLY /* @min:%2eapply */](src, originalArguments);\r\n }\r\n };\r\n}\r\n/**\r\n * Effectively assigns all enumerable properties (not just own properties) and functions (including inherited prototype) from\r\n * the source object to the target, it attempts to use proxy getters / setters (if possible) and proxy functions to avoid potential\r\n * implementation issues by assigning prototype functions as instance ones\r\n *\r\n * This method is the primary method used to \"update\" the snippet proxy with the ultimate implementations.\r\n *\r\n * Special ES3 Notes:\r\n * Updates (setting) of direct property values on the target or indirectly on the source object WILL NOT WORK PROPERLY, updates to the\r\n * properties of \"referenced\" object will work (target.context.newValue = 10 => will be reflected in the source.context as it's the\r\n * same object). ES3 Failures: assigning target.myProp = 3 -> Won't change source.myProp = 3, likewise the reverse would also fail.\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param chkSet - An optional callback to determine whether a specific property/function should be proxied\r\n */\r\nexport function proxyAssign(target, source, chkSet) {\r\n if (target && source && isObject(target) && isObject(source)) {\r\n var _loop_1 = function (field) {\r\n if (isString(field)) {\r\n var value = source[field];\r\n if (isFunction(value)) {\r\n if (!chkSet || chkSet(field, true, source, target)) {\r\n // Create a proxy function rather than just copying the (possible) prototype to the new object as an instance function\r\n target[field] = _createProxyFunction(source, field);\r\n }\r\n }\r\n else if (!chkSet || chkSet(field, false, source, target)) {\r\n if (objHasOwn(target, field)) {\r\n // Remove any previous instance property\r\n delete target[field];\r\n }\r\n objDefine(target, field, {\r\n g: function () {\r\n return source[field];\r\n },\r\n s: function (theValue) {\r\n source[field] = theValue;\r\n }\r\n });\r\n }\r\n }\r\n };\r\n // effectively apply/proxy full source to the target instance\r\n for (var field in source) {\r\n _loop_1(field);\r\n }\r\n }\r\n return target;\r\n}\r\n/**\r\n * Creates a proxy function on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param name - The function name that will be added on the target\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param theFunc - The function name on the source that will be proxied on the target\r\n * @param overwriteTarget - If `false` this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {\r\n if (target && name && source) {\r\n if (overwriteTarget !== false || isUndefined(target[name])) {\r\n target[name] = _createProxyFunction(source, theFunc);\r\n }\r\n }\r\n}\r\n/**\r\n * Creates proxy functions on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param functionsToProxy - An array of function names that will be proxied on the target\r\n * @param overwriteTarget - If false this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {\r\n if (target && source && isObject(target) && isArray(functionsToProxy)) {\r\n arrForEach(functionsToProxy, function (theFuncName) {\r\n if (isString(theFuncName)) {\r\n proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);\r\n }\r\n });\r\n }\r\n return target;\r\n}\r\n/**\r\n * Simpler helper to create a dynamic class that implements the interface and populates the values with the defaults.\r\n * Only instance properties (hasOwnProperty) values are copied from the defaults to the new instance\r\n * @param defaults - Simple helper\r\n */\r\nexport function createClassFromInterface(defaults) {\r\n return /** @class */ (function () {\r\n function class_1() {\r\n var _this = this;\r\n if (defaults) {\r\n objForEachKey(defaults, function (field, value) {\r\n _this[field] = value;\r\n });\r\n }\r\n }\r\n return class_1;\r\n }());\r\n}\r\n/**\r\n * A helper function to assist with JIT performance for objects that have properties added / removed dynamically\r\n * this is primarily for chromium based browsers and has limited effects on Firefox and none of IE. Only call this\r\n * function after you have finished \"updating\" the object, calling this within loops reduces or defeats the benefits.\r\n * This helps when iterating using for..in, objKeys() and objForEach()\r\n * @param theObject - The object to be optimized if possible\r\n */\r\nexport function optimizeObject(theObject) {\r\n // V8 Optimization to cause the JIT compiler to create a new optimized object for looking up the own properties\r\n // primarily for object with <= 19 properties for >= 20 the effect is reduced or non-existent\r\n if (theObject && ObjAssign) {\r\n theObject = ObjClass(ObjAssign({}, theObject));\r\n }\r\n return theObject;\r\n}\r\nexport function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {\r\n // Variables\r\n var theArgs = arguments;\r\n var extended = theArgs[0] || {};\r\n var argLen = theArgs[_DYN_LENGTH /* @min:%2elength */];\r\n var deep = false;\r\n var idx = 1;\r\n // Check for \"Deep\" flag\r\n if (argLen > 0 && isBoolean(extended)) {\r\n deep = extended;\r\n extended = theArgs[idx] || {};\r\n idx++;\r\n }\r\n // Handle case when target is a string or something (possible in deep copy)\r\n if (!isObject(extended)) {\r\n extended = {};\r\n }\r\n // Loop through each remaining object and conduct a merge\r\n for (; idx < argLen; idx++) {\r\n var arg = theArgs[idx];\r\n var isArgArray = isArray(arg);\r\n var isArgObj = isObject(arg);\r\n for (var prop in arg) {\r\n var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));\r\n if (!propOk) {\r\n continue;\r\n }\r\n var newValue = arg[prop];\r\n var isNewArray = void 0;\r\n // If deep merge and property is an object, merge properties\r\n if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {\r\n // Grab the current value of the extended object\r\n var clone = extended[prop];\r\n if (isNewArray) {\r\n if (!isArray(clone)) {\r\n // We can't \"merge\" an array with a non-array so overwrite the original\r\n clone = [];\r\n }\r\n }\r\n else if (!isPlainObject(clone)) {\r\n // We can't \"merge\" an object with a non-object\r\n clone = {};\r\n }\r\n // Never move the original objects always clone them\r\n newValue = objExtend(deep, clone, newValue);\r\n }\r\n // Assign the new (or previous) value (unless undefined)\r\n if (newValue !== undefined) {\r\n extended[prop] = newValue;\r\n }\r\n }\r\n }\r\n return extended;\r\n}\r\nexport var asString = asString21;\r\nexport function isFeatureEnabled(feature, cfg) {\r\n var rlt = false;\r\n var ft = cfg && cfg.featureOptIn && cfg.featureOptIn[feature];\r\n if (feature && ft) {\r\n var mode = ft.mode;\r\n // NOTE: None will be considered as true\r\n rlt = (mode == 3 /* FeatureOptInMode.enable */) || (mode == 1 /* FeatureOptInMode.none */);\r\n }\r\n return rlt;\r\n}\r\nexport function getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return null;\r\n}\r\nexport function formatErrorMessageXdr(xdr, message) {\r\n if (xdr) {\r\n return \"XDomainRequest,Response:\" + getResponseText(xdr) || \"\";\r\n }\r\n return message;\r\n}\r\nexport function formatErrorMessageXhr(xhr, message) {\r\n if (xhr) {\r\n return \"XMLHttpRequest,Status:\" + xhr[_DYN_STATUS /* @min:%2estatus */] + \",Response:\" + getResponseText(xhr) || xhr.response || \"\";\r\n }\r\n return message;\r\n}\r\nexport function prependTransports(theTransports, newTransports) {\r\n if (newTransports) {\r\n if (isNumber(newTransports)) {\r\n theTransports = [newTransports].concat(theTransports);\r\n }\r\n else if (isArray(newTransports)) {\r\n theTransports = newTransports.concat(theTransports);\r\n }\r\n }\r\n return theTransports;\r\n}\r\nvar strDisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nvar strWithCredentials = \"withCredentials\";\r\nvar strTimeout = \"timeout\";\r\n/**\r\n * Create and open an XMLHttpRequest object\r\n * @param method - The request method\r\n * @param urlString - The url\r\n * @param withCredentials - Option flag indicating that credentials should be sent\r\n * @param disabled - Optional flag indicating that the XHR object should be marked as disabled and not tracked (default is false)\r\n * @param isSync - Optional flag indicating if the instance should be a synchronous request (defaults to false)\r\n * @param timeout - Optional value identifying the timeout value that should be assigned to the XHR request\r\n * @returns A new opened XHR request\r\n */\r\nexport function openXhr(method, urlString, withCredentials, disabled, isSync, timeout) {\r\n if (disabled === void 0) { disabled = false; }\r\n if (isSync === void 0) { isSync = false; }\r\n function _wrapSetXhrProp(xhr, prop, value) {\r\n try {\r\n xhr[prop] = value;\r\n }\r\n catch (e) {\r\n // - Wrapping as depending on the environment setting the property may fail (non-terminally)\r\n }\r\n }\r\n var xhr = new XMLHttpRequest();\r\n if (disabled) {\r\n // Tag the instance so it's not tracked (trackDependency)\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n _wrapSetXhrProp(xhr, strDisabledPropertyName, disabled);\r\n }\r\n if (withCredentials) {\r\n // Some libraries require that the withCredentials flag is set \"before\" open and\r\n // - Wrapping as IE 10 has started throwing when setting before open\r\n _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);\r\n }\r\n xhr.open(method, urlString, !isSync);\r\n if (withCredentials) {\r\n // withCredentials should be set AFTER open (https://xhr.spec.whatwg.org/#the-withcredentials-attribute)\r\n // And older firefox instances from 11+ will throw for sync events (current versions don't) which happens during unload processing\r\n _wrapSetXhrProp(xhr, strWithCredentials, withCredentials);\r\n }\r\n // Only set the timeout for asynchronous requests as\r\n // \"Timeout shouldn't be used for synchronous XMLHttpRequests requests used in a document environment or it will throw an InvalidAccessError exception.\"\"\r\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/timeout\r\n if (!isSync && timeout) {\r\n _wrapSetXhrProp(xhr, strTimeout, timeout);\r\n }\r\n return xhr;\r\n}\r\n/**\r\n* Converts the XHR getAllResponseHeaders to a map containing the header key and value.\r\n* @internal\r\n*/\r\n// tslint:disable-next-line: align\r\nexport function convertAllHeadersToMap(headersString) {\r\n var headers = {};\r\n if (isString(headersString)) {\r\n var headersArray = strTrim(headersString)[_DYN_SPLIT /* @min:%2esplit */](/[\\r\\n]+/);\r\n arrForEach(headersArray, function (headerEntry) {\r\n if (headerEntry) {\r\n var idx = headerEntry.indexOf(\": \");\r\n if (idx !== -1) {\r\n // The new spec has the headers returning all as lowercase -- but not all browsers do this yet\r\n var header = strTrim(headerEntry.substring(0, idx))[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var value = strTrim(headerEntry.substring(idx + 1));\r\n headers[header] = value;\r\n }\r\n else {\r\n headers[strTrim(headerEntry)] = 1;\r\n }\r\n }\r\n });\r\n }\r\n return headers;\r\n}\r\n/**\r\n* append the XHR headers.\r\n* @internal\r\n*/\r\nexport function _appendHeader(theHeaders, xhr, name) {\r\n if (!theHeaders[name] && xhr && xhr[_DYN_GET_RESPONSE_HEADER /* @min:%2egetResponseHeader */]) {\r\n var value = xhr[_DYN_GET_RESPONSE_HEADER /* @min:%2egetResponseHeader */](name);\r\n if (value) {\r\n theHeaders[name] = strTrim(value);\r\n }\r\n }\r\n return theHeaders;\r\n}\r\nvar STR_KILL_DURATION_HEADER = \"kill-duration\";\r\nvar STR_KILL_DURATION_SECONDS_HEADER = \"kill-duration-seconds\";\r\nvar STR_TIME_DELTA_HEADER = \"time-delta-millis\";\r\n/**\r\n* get the XHR getAllResponseHeaders.\r\n* @internal\r\n*/\r\nexport function _getAllResponseHeaders(xhr, isOneDs) {\r\n var theHeaders = {};\r\n if (!xhr[_DYN_GET_ALL_RESPONSE_HEA5 /* @min:%2egetAllResponseHeaders */]) {\r\n // Firefox 2-63 doesn't have getAllResponseHeaders function but it does have getResponseHeader\r\n // Only call these if getAllResponseHeaders doesn't exist, otherwise we can get invalid response errors\r\n // as collector is not currently returning the correct header to allow JS to access these headers\r\n if (!!isOneDs) {\r\n theHeaders = _appendHeader(theHeaders, xhr, STR_TIME_DELTA_HEADER);\r\n theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_HEADER);\r\n theHeaders = _appendHeader(theHeaders, xhr, STR_KILL_DURATION_SECONDS_HEADER);\r\n }\r\n }\r\n else {\r\n theHeaders = convertAllHeadersToMap(xhr[_DYN_GET_ALL_RESPONSE_HEA5 /* @min:%2egetAllResponseHeaders */]());\r\n }\r\n return theHeaders;\r\n}\r\n//# sourceMappingURL=HelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { getGlobal, strShimObject, strShimPrototype, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { getDocument, getInst, getNavigator, getPerformance, hasNavigator, isFunction, isString, isUndefined, strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH, _DYN_NAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { strContains } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n/**\r\n * This file exists to hold environment utilities that are required to check and\r\n * validate the current operating environment. Unless otherwise required, please\r\n * only use defined methods (functions) in this class so that users of these\r\n * functions/properties only need to include those that are used within their own modules.\r\n */\r\nvar strDocumentMode = \"documentMode\";\r\nvar strLocation = \"location\";\r\nvar strConsole = \"console\";\r\nvar strJSON = \"JSON\";\r\nvar strCrypto = \"crypto\";\r\nvar strMsCrypto = \"msCrypto\";\r\nvar strReactNative = \"ReactNative\";\r\nvar strMsie = \"msie\";\r\nvar strTrident = \"trident/\";\r\nvar strXMLHttpRequest = \"XMLHttpRequest\";\r\nvar _isTrident = null;\r\nvar _navUserAgentCheck = null;\r\nvar _enableMocks = false;\r\nvar _useXDomainRequest = null;\r\nvar _beaconsSupported = null;\r\nfunction _hasProperty(theClass, property) {\r\n var supported = false;\r\n if (theClass) {\r\n try {\r\n supported = property in theClass;\r\n if (!supported) {\r\n var proto = theClass[strShimPrototype];\r\n if (proto) {\r\n supported = property in proto;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n if (!supported) {\r\n try {\r\n var tmp = new theClass();\r\n supported = !isUndefined(tmp[property]);\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n }\r\n }\r\n return supported;\r\n}\r\n/**\r\n * Enable the lookup of test mock objects if requested\r\n * @param enabled\r\n */\r\nexport function setEnableEnvMocks(enabled) {\r\n _enableMocks = enabled;\r\n}\r\n/**\r\n * Returns the global location object if it is present otherwise null.\r\n * This helper is used to access the location object without causing an exception\r\n * \"Uncaught ReferenceError: location is not defined\"\r\n */\r\nexport function getLocation(checkForMock) {\r\n if (checkForMock && _enableMocks) {\r\n var mockLocation = getInst(\"__mockLocation\");\r\n if (mockLocation) {\r\n return mockLocation;\r\n }\r\n }\r\n if (typeof location === strShimObject && location) {\r\n return location;\r\n }\r\n return getInst(strLocation);\r\n}\r\n/**\r\n * Returns the global console object\r\n */\r\nexport function getConsole() {\r\n if (typeof console !== strShimUndefined) {\r\n return console;\r\n }\r\n return getInst(strConsole);\r\n}\r\n/**\r\n * Checks if JSON object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: JSON is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasJSON() {\r\n return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);\r\n}\r\n/**\r\n * Returns the global JSON object if it is present otherwise null.\r\n * This helper is used to access the JSON object without causing an exception\r\n * \"Uncaught ReferenceError: JSON is not defined\"\r\n */\r\nexport function getJSON() {\r\n if (hasJSON()) {\r\n return JSON || getInst(strJSON);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getCrypto() {\r\n return getInst(strCrypto);\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getMsCrypto() {\r\n return getInst(strMsCrypto);\r\n}\r\n/**\r\n * Returns whether the environment is reporting that we are running in a React Native Environment\r\n */\r\nexport function isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n var nav = getNavigator();\r\n if (nav && nav.product) {\r\n return nav.product === strReactNative;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Identifies whether the current environment appears to be IE\r\n */\r\nexport function isIE() {\r\n var nav = getNavigator();\r\n if (nav && (nav[_DYN_USER_AGENT /* @min:%2euserAgent */] !== _navUserAgentCheck || _isTrident === null)) {\r\n // Added to support test mocking of the user agent\r\n _navUserAgentCheck = nav[_DYN_USER_AGENT /* @min:%2euserAgent */];\r\n var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));\r\n }\r\n return _isTrident;\r\n}\r\n/**\r\n * Gets IE version returning the document emulation mode if we are running on IE, or null otherwise\r\n */\r\nexport function getIEVersion(userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n if (!userAgentStr) {\r\n var navigator_1 = getNavigator() || {};\r\n userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // Also check for documentMode in case X-UA-Compatible meta tag was included in HTML.\r\n if (strContains(ua, strMsie)) {\r\n var doc = getDocument() || {};\r\n return Math.max(parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strMsie)[1]), (doc[strDocumentMode] || 0));\r\n }\r\n else if (strContains(ua, strTrident)) {\r\n var tridentVer = parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strTrident)[1]);\r\n if (tridentVer) {\r\n return tridentVer + 4;\r\n }\r\n }\r\n return null;\r\n}\r\nexport function isSafari(userAgentStr) {\r\n if (!userAgentStr || !isString(userAgentStr)) {\r\n var navigator_2 = getNavigator() || {};\r\n userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n return (strIndexOf(ua, \"safari\") >= 0);\r\n}\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @param useCached - [Optional] used for testing to bypass the cached lookup, when `true` this will\r\n * cause the cached global to be reset.\r\n * @returns True if supported, false otherwise.\r\n */\r\nexport function isBeaconsSupported(useCached) {\r\n if (_beaconsSupported === null || useCached === false) {\r\n _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);\r\n }\r\n return _beaconsSupported;\r\n}\r\n/**\r\n * Checks if the Fetch API is supported in the current environment.\r\n * @param withKeepAlive - [Optional] If True, check if fetch is available and it supports the keepalive feature, otherwise only check if fetch is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isFetchSupported(withKeepAlive) {\r\n var isSupported = false;\r\n try {\r\n isSupported = !!getInst(\"fetch\");\r\n var request = getInst(\"Request\");\r\n if (isSupported && withKeepAlive && request) {\r\n isSupported = _hasProperty(request, \"keepalive\");\r\n }\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nexport function useXDomainRequest() {\r\n if (_useXDomainRequest === null) {\r\n _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);\r\n if (_useXDomainRequest && isXhrSupported()) {\r\n _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), \"withCredentials\");\r\n }\r\n }\r\n return _useXDomainRequest;\r\n}\r\n/**\r\n * Checks if XMLHttpRequest is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isXhrSupported() {\r\n var isSupported = false;\r\n try {\r\n var xmlHttpRequest = getInst(strXMLHttpRequest);\r\n isSupported = !!xmlHttpRequest;\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nfunction _getNamedValue(values, name) {\r\n if (values) {\r\n for (var i = 0; i < values[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var value = values[i];\r\n if (value[_DYN_NAME /* @min:%2ename */]) {\r\n if (value[_DYN_NAME /* @min:%2ename */] === name) {\r\n return value;\r\n }\r\n }\r\n }\r\n }\r\n return {};\r\n}\r\n/**\r\n * Helper function to fetch the named meta-tag from the page.\r\n * @param name\r\n */\r\nexport function findMetaTag(name) {\r\n var doc = getDocument();\r\n if (doc && name) {\r\n // Look for a meta-tag\r\n return _getNamedValue(doc.querySelectorAll(\"meta\"), name).content;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Helper function to fetch the named server timing value from the page response (first navigation event).\r\n * @param name\r\n */\r\nexport function findNamedServerTiming(name) {\r\n var value;\r\n var perf = getPerformance();\r\n if (perf) {\r\n // Try looking for a server-timing header\r\n var navPerf = perf.getEntriesByType(\"navigation\") || [];\r\n value = _getNamedValue((navPerf[_DYN_LENGTH /* @min:%2elength */] > 0 ? navPerf[0] : {}).serverTiming, name).description;\r\n }\r\n return value;\r\n}\r\n// TODO: should reuse this method for analytics plugin\r\nexport function dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport function createCustomDomEvent(eventName, details) {\r\n var event = null;\r\n var detail = { detail: details || null };\r\n if (isFunction(CustomEvent)) { // Use CustomEvent constructor when available\r\n event = new CustomEvent(eventName, detail);\r\n }\r\n else { // CustomEvent has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"CustomEvent\");\r\n event.initCustomEvent(eventName, true, true, detail);\r\n }\r\n }\r\n return event;\r\n}\r\nexport function sendCustomEvent(evtName, cfg, customDetails) {\r\n var global = getGlobal();\r\n if (global && global.CustomEvent) {\r\n try {\r\n var details = { cfg: cfg || null, customDetails: customDetails || null };\r\n return dispatchEvent(global, createCustomDomEvent(evtName, details));\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=EnvUtils.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { utcNow } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { getCrypto, getMsCrypto, isIE } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar UInt32Mask = 0x100000000;\r\nvar MaxUInt32 = 0xffffffff;\r\nvar SEED1 = 123456789;\r\nvar SEED2 = 987654321;\r\n// MWC based Random generator (for IE)\r\nvar _mwcSeeded = false;\r\nvar _mwcW = SEED1;\r\nvar _mwcZ = SEED2;\r\n// Takes any integer\r\nfunction _mwcSeed(seedValue) {\r\n if (seedValue < 0) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n seedValue >>>= 0;\r\n }\r\n _mwcW = (SEED1 + seedValue) & MaxUInt32;\r\n _mwcZ = (SEED2 - seedValue) & MaxUInt32;\r\n _mwcSeeded = true;\r\n}\r\nfunction _autoSeedMwc() {\r\n // Simple initialization using default Math.random() - So we inherit any entropy from the browser\r\n // and bitwise XOR with the current milliseconds\r\n try {\r\n var now = utcNow() & 0x7fffffff;\r\n _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);\r\n }\r\n catch (e) {\r\n // Don't crash if something goes wrong\r\n }\r\n}\r\n/**\r\n * Generate a random value between 0 and maxValue, max value should be limited to a 32-bit maximum.\r\n * So maxValue(16) will produce a number from 0..16 (range of 17)\r\n * @param maxValue\r\n */\r\nexport function randomValue(maxValue) {\r\n if (maxValue > 0) {\r\n return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * generate a random 32-bit number (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), defaults un-unsigned.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function random32(signed) {\r\n var value = 0;\r\n var c = getCrypto() || getMsCrypto();\r\n if (c && c.getRandomValues) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;\r\n }\r\n if (value === 0 && isIE()) {\r\n // For IE 6, 7, 8 (especially on XP) Math.random is not very random\r\n if (!_mwcSeeded) {\r\n // Set the seed for the Mwc algorithm\r\n _autoSeedMwc();\r\n }\r\n // Don't use Math.random for IE\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = mwcRandom32() & MaxUInt32;\r\n }\r\n if (value === 0) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = Math.floor((UInt32Mask * Math.random()) | 0);\r\n }\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Seed the MWC random number generator with the specified seed or a random value\r\n * @param value - optional the number to used as the seed, if undefined, null or zero a random value will be chosen\r\n */\r\nexport function mwcRandomSeed(value) {\r\n if (!value) {\r\n _autoSeedMwc();\r\n }\r\n else {\r\n _mwcSeed(value);\r\n }\r\n}\r\n/**\r\n * Generate a random 32-bit number between (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), using MWC (Multiply with carry)\r\n * instead of Math.random() defaults to un-signed.\r\n * Used as a replacement random generator for IE to avoid issues with older IE instances.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function mwcRandom32(signed) {\r\n _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;\r\n _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;\r\n var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Generate random base64 id string.\r\n * The default length is 22 which is 132-bits so almost the same as a GUID but as base64 (the previous default was 5)\r\n * @param maxLength - Optional value to specify the length of the id to be generated, defaults to 22\r\n */\r\nexport function newId(maxLength) {\r\n if (maxLength === void 0) { maxLength = 22; }\r\n var base64chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n // Start with an initial random number, consuming the value in reverse byte order\r\n var number = random32() >>> 0; // Make sure it's a +ve number\r\n var chars = 0;\r\n var result = STR_EMPTY;\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < maxLength) {\r\n chars++;\r\n result += base64chars.charAt(number & 0x3F);\r\n number >>>= 6; // Zero fill with right shift\r\n if (chars === 5) {\r\n // 5 base64 characters === 30 bits so we don't have enough bits for another base64 char\r\n // So add on another 30 bits and make sure it's +ve\r\n number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;\r\n chars = 0; // We need to reset the number every 5 chars (30 bits)\r\n }\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=RandomHelper.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { objDefine } from \"@nevware21/ts-utils\";\r\nimport { _DYN_NODE_TYPE } from \"../__DynamicConstants\";\r\nimport { normalizeJsName } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { newId } from \"./RandomHelper\";\r\nvar version = '3.3.4';\r\nvar instanceName = \".\" + newId(6);\r\nvar _dataUid = 0;\r\n// Accepts only:\r\n// - Node\r\n// - Node.ELEMENT_NODE\r\n// - Node.DOCUMENT_NODE\r\n// - Object\r\n// - Any\r\nfunction _canAcceptData(target) {\r\n return target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 1 || target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 9 || !(+target[_DYN_NODE_TYPE /* @min:%2enodeType */]);\r\n}\r\nfunction _getCache(data, target) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n theCache = {};\r\n try {\r\n if (_canAcceptData(target)) {\r\n objDefine(target, data.id, {\r\n e: false,\r\n v: theCache\r\n });\r\n }\r\n }\r\n catch (e) {\r\n // Not all environments allow extending all objects, so just ignore the cache in those cases\r\n }\r\n }\r\n return theCache;\r\n}\r\nexport function createUniqueNamespace(name, includeVersion) {\r\n if (includeVersion === void 0) { includeVersion = false; }\r\n return normalizeJsName(name + (_dataUid++) + (includeVersion ? \".\" + version : STR_EMPTY) + instanceName);\r\n}\r\nexport function createElmNodeData(name) {\r\n var data = {\r\n id: createUniqueNamespace(\"_aiData-\" + (name || STR_EMPTY) + \".\" + version),\r\n accept: function (target) {\r\n return _canAcceptData(target);\r\n },\r\n get: function (target, name, defValue, addDefault) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n if (addDefault) {\r\n // Side effect is adds the cache\r\n theCache = _getCache(data, target);\r\n theCache[normalizeJsName(name)] = defValue;\r\n }\r\n return defValue;\r\n }\r\n return theCache[normalizeJsName(name)];\r\n },\r\n kill: function (target, name) {\r\n if (target && target[name]) {\r\n try {\r\n delete target[name];\r\n }\r\n catch (e) {\r\n // Just cleaning up, so if this fails -- ignore\r\n }\r\n }\r\n }\r\n };\r\n return data;\r\n}\r\n//# sourceMappingURL=DataCacheHelper.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { asString, isArray, isDefined, isNullOrUndefined, isObject, isPlainObject, isUndefined, objForEachKey, objHasOwn } from \"@nevware21/ts-utils\";\r\nimport { _DYN_BLK_VAL, _DYN_LENGTH, _DYN_RD_ONLY } from \"../__DynamicConstants\";\r\nfunction _isConfigDefaults(value) {\r\n return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, \"v\") || objHasOwn(value, \"mrg\") || objHasOwn(value, \"ref\") || value.set));\r\n}\r\nfunction _getDefault(dynamicHandler, theConfig, cfgDefaults) {\r\n var defValue;\r\n var isDefaultValid = cfgDefaults.dfVal || isDefined;\r\n // There is a fallback config key so try and grab that first\r\n if (theConfig && cfgDefaults.fb) {\r\n var fallbacks = cfgDefaults.fb;\r\n if (!isArray(fallbacks)) {\r\n fallbacks = [fallbacks];\r\n }\r\n for (var lp = 0; lp < fallbacks[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var fallback = fallbacks[lp];\r\n var fbValue = theConfig[fallback];\r\n if (isDefaultValid(fbValue)) {\r\n defValue = fbValue;\r\n }\r\n else if (dynamicHandler) {\r\n // Needed to ensure that the fallback value (and potentially) new field is also dynamic even if null/undefined\r\n fbValue = dynamicHandler.cfg[fallback];\r\n if (isDefaultValid(fbValue)) {\r\n defValue = fbValue;\r\n }\r\n // Needed to ensure that the fallback value (and potentially) new field is also dynamic even if null/undefined\r\n dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);\r\n }\r\n if (isDefaultValid(defValue)) {\r\n // We have a valid default so break out of the look\r\n break;\r\n }\r\n }\r\n }\r\n // If the value is still not defined and we have a default value then use that\r\n if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {\r\n defValue = cfgDefaults.v;\r\n }\r\n return defValue;\r\n}\r\n/**\r\n * Recursively resolve the default value\r\n * @param dynamicHandler\r\n * @param theConfig\r\n * @param cfgDefaults\r\n * @returns\r\n */\r\nfunction _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {\r\n var theValue = cfgDefaults;\r\n if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {\r\n theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);\r\n }\r\n if (theValue) {\r\n if (_isConfigDefaults(theValue)) {\r\n theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);\r\n }\r\n var newValue_1;\r\n if (isArray(theValue)) {\r\n newValue_1 = [];\r\n newValue_1[_DYN_LENGTH /* @min:%2elength */] = theValue[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n else if (isPlainObject(theValue)) {\r\n newValue_1 = {};\r\n }\r\n if (newValue_1) {\r\n objForEachKey(theValue, function (key, value) {\r\n if (value && _isConfigDefaults(value)) {\r\n value = _resolveDefaultValue(dynamicHandler, theConfig, value);\r\n }\r\n newValue_1[key] = value;\r\n });\r\n theValue = newValue_1;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Applies the default value on the config property and makes sure that it's dynamic\r\n * @param theConfig\r\n * @param name\r\n * @param defaultValue\r\n */\r\nexport function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {\r\n // Resolve the initial config value from the provided value or use the defined default\r\n var isValid;\r\n var setFn;\r\n var defValue;\r\n var cfgDefaults = defaultValue;\r\n var mergeDf;\r\n var reference;\r\n var readOnly;\r\n var blkDynamicValue;\r\n if (_isConfigDefaults(cfgDefaults)) {\r\n // looks like a IConfigDefault\r\n isValid = cfgDefaults.isVal;\r\n setFn = cfgDefaults.set;\r\n readOnly = cfgDefaults[_DYN_RD_ONLY /* @min:%2erdOnly */];\r\n blkDynamicValue = cfgDefaults[_DYN_BLK_VAL /* @min:%2eblkVal */];\r\n mergeDf = cfgDefaults.mrg;\r\n reference = cfgDefaults.ref;\r\n if (!reference && isUndefined(reference)) {\r\n reference = !!mergeDf;\r\n }\r\n defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);\r\n }\r\n else {\r\n defValue = defaultValue;\r\n }\r\n if (blkDynamicValue) {\r\n // Mark the property so that any value assigned will be blocked from conversion, we need to do this\r\n // before assigning or fetching the value to ensure it's not converted\r\n dynamicHandler[_DYN_BLK_VAL /* @min:%2eblkVal */](theConfig, name);\r\n }\r\n // Set the value to the default value;\r\n var theValue;\r\n var usingDefault = true;\r\n var cfgValue = theConfig[name];\r\n // try and get and user provided values\r\n if (cfgValue || !isNullOrUndefined(cfgValue)) {\r\n // Use the defined theConfig[name] value\r\n theValue = cfgValue;\r\n usingDefault = false;\r\n // The values are different and we have a special default value check, which is used to\r\n // override config values like empty strings to continue using the default\r\n if (isValid && theValue !== defValue && !isValid(theValue)) {\r\n theValue = defValue;\r\n usingDefault = true;\r\n }\r\n if (setFn) {\r\n theValue = setFn(theValue, defValue, theConfig);\r\n usingDefault = theValue === defValue;\r\n }\r\n }\r\n if (!usingDefault) {\r\n if (isPlainObject(theValue) || isArray(defValue)) {\r\n // we are using the user supplied value and it's an object\r\n if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {\r\n // Resolve/apply the defaults\r\n objForEachKey(defValue, function (dfName, dfValue) {\r\n // Sets the value and makes it dynamic (if it doesn't already exist)\r\n _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);\r\n });\r\n }\r\n }\r\n }\r\n else if (defValue) {\r\n // Just resolve the default\r\n theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);\r\n }\r\n else {\r\n theValue = defValue;\r\n }\r\n // if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {\r\n // theValue = _cfgDeepCopy(theValue);\r\n // }\r\n // Needed to ensure that the (potentially) new field is dynamic even if null/undefined\r\n dynamicHandler.set(theConfig, name, theValue);\r\n if (reference) {\r\n dynamicHandler.ref(theConfig, name);\r\n }\r\n if (readOnly) {\r\n dynamicHandler[_DYN_RD_ONLY /* @min:%2erdOnly */](theConfig, name);\r\n }\r\n}\r\n//# sourceMappingURL=ConfigDefaults.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { isArray, isPlainObject, objForEachKey, symbolFor, throwTypeError } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\n// Using Symbol.for so that if the same symbol was already created it would be returned\r\n// To handle multiple instances using potentially different versions we are not using\r\n// createUniqueNamespace()\r\nexport var CFG_HANDLER_LINK = symbolFor(\"[[ai_dynCfg_1]]\");\r\n/**\r\n * @internal\r\n * @ignore\r\n * The symbol to tag objects / arrays with if they should not be converted\r\n */\r\nvar BLOCK_DYNAMIC = symbolFor(\"[[ai_blkDynCfg_1]]\");\r\n/**\r\n * @internal\r\n * @ignore\r\n * The symbol to tag objects to indicate that when included into the configuration that\r\n * they should be converted into a trackable dynamic object.\r\n */\r\nvar FORCE_DYNAMIC = symbolFor(\"[[ai_frcDynCfg_1]]\");\r\nexport function _cfgDeepCopy(source) {\r\n if (source) {\r\n var target_1;\r\n if (isArray(source)) {\r\n target_1 = [];\r\n target_1[_DYN_LENGTH /* @min:%2elength */] = source[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n else if (isPlainObject(source)) {\r\n target_1 = {};\r\n }\r\n if (target_1) {\r\n // Copying index values by property name as the extensionConfig can be an array or object\r\n objForEachKey(source, function (key, value) {\r\n // Perform a deep copy of the object\r\n target_1[key] = _cfgDeepCopy(value);\r\n });\r\n return target_1;\r\n }\r\n }\r\n return source;\r\n}\r\n/**\r\n * @internal\r\n * Get the dynamic config handler if the value is already dynamic\r\n * @param value\r\n * @returns\r\n */\r\nexport function getDynamicConfigHandler(value) {\r\n if (value) {\r\n var handler = value[CFG_HANDLER_LINK] || value;\r\n if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {\r\n return handler;\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Mark the provided value so that if it's included into the configuration it will NOT have\r\n * its properties converted into a dynamic (reactive) object. If the object is not a plain object\r\n * or an array (ie. a class) this function has not affect as only Objects and Arrays are converted\r\n * into dynamic objects in the dynamic configuration.\r\n *\r\n * When you have tagged a value as both {@link forceDynamicConversion} and blocked force will take precedence.\r\n *\r\n * You should only need to use this function, if you are creating dynamic \"classes\" from objects\r\n * which confirm to the require interface. A common case for this is during unit testing where it's\r\n * easier to create mock extensions.\r\n *\r\n * If `value` is falsy (null / undefined / 0 / empty string etc) it will not be tagged and\r\n * if there is an exception adding the property to the value (because its frozen etc) the\r\n * exception will be swallowed\r\n *\r\n * @example\r\n * ```ts\r\n * // This is a valid \"extension\", but it is technically an object\r\n * // So when included in the config.extensions it WILL be cloned and then\r\n * // converted into a dynamic object, where all of its properties will become\r\n * // get/set object properties and will be tracked. While this WILL still\r\n * // function, when attempt to use a mocking framework on top of this the\r\n * // functions are now technically get accessors which return a function\r\n * // and this can cause some mocking frameworks to fail.\r\n * let mockChannel = {\r\n * pause: () => { },\r\n* resume: () => { },\r\n* teardown: () => { },\r\n* flush: (async: any, callBack: any) => { },\r\n* processTelemetry: (env: any) => { },\r\n* setNextPlugin: (next: any) => { },\r\n* initialize: (config: any, core: any, extensions: any) => { },\r\n* identifier: \"testChannel\",\r\n* priority: 1003\r\n* };\r\n * ```\r\n * @param value - The object that you want to block from being converted into a\r\n * trackable dynamic object\r\n * @returns The original value\r\n */\r\nexport function blockDynamicConversion(value) {\r\n if (value && (isPlainObject(value) || isArray(value))) {\r\n try {\r\n value[BLOCK_DYNAMIC] = true;\r\n }\r\n catch (e) {\r\n // Don't throw for this case as it's an ask only\r\n }\r\n }\r\n return value;\r\n}\r\n/**\r\n * This is the reverse case of {@link blockDynamicConversion} in that this will tag an\r\n * object to indicate that it should always be converted into a dynamic trackable object\r\n * even when not an object or array. So all properties of this object will become\r\n * get / set accessor functions.\r\n *\r\n * When you have tagged a value as both {@link forceDynamicConversion} and blocked force will take precedence.\r\n *\r\n * If `value` is falsy (null / undefined / 0 / empty string etc) it will not be tagged and\r\n * if there is an exception adding the property to the value (because its frozen etc) the\r\n * exception will be swallowed.\r\n * @param value - The object that should be tagged and converted if included into a dynamic\r\n * configuration.\r\n * @returns The original value\r\n */\r\nexport function forceDynamicConversion(value) {\r\n if (value) {\r\n try {\r\n value[FORCE_DYNAMIC] = true;\r\n }\r\n catch (e) {\r\n // Don't throw for this case as it's an ask only\r\n }\r\n }\r\n return value;\r\n}\r\n/**\r\n * @internal\r\n * @ignore\r\n * Helper function to check whether an object can or should be converted into a dynamic\r\n * object.\r\n * @param value - The object to check whether it should be converted\r\n * @returns `true` if the value should be converted otherwise `false`.\r\n */\r\nexport function _canMakeDynamic(getFunc, state, value) {\r\n var result = false;\r\n // Object must exist and be truthy\r\n if (value && !getFunc[state.blkVal]) {\r\n // Tagged as always convert\r\n result = value[FORCE_DYNAMIC];\r\n // Check that it's not explicitly tagged as blocked\r\n if (!result && !value[BLOCK_DYNAMIC]) {\r\n // Only convert plain objects or arrays by default\r\n result = isPlainObject(value) || isArray(value);\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Throws an invalid access exception\r\n * @param message - The message to include in the exception\r\n */\r\nexport function throwInvalidAccess(message) {\r\n throwTypeError(\"InvalidAccess:\" + message);\r\n}\r\n//# sourceMappingURL=DynamicSupport.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, dumpObj, isArray, objDefine, objDefineProp, objForEachKey, objGetOwnPropertyDescriptor } from \"@nevware21/ts-utils\";\r\nimport { UNDEFINED_VALUE } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_APPLY, _DYN_HDLR, _DYN_LOGGER, _DYN_PUSH, _DYN_SPLICE, _DYN_THROW_INTERNAL } from \"../__DynamicConstants\";\r\nimport { CFG_HANDLER_LINK, _canMakeDynamic, blockDynamicConversion, throwInvalidAccess } from \"./DynamicSupport\";\r\nvar arrayMethodsToPatch = [\r\n \"push\",\r\n \"pop\",\r\n \"shift\",\r\n \"unshift\",\r\n \"splice\"\r\n];\r\nexport var _throwDynamicError = function (logger, name, desc, e) {\r\n logger && logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](3 /* eLoggingSeverity.DEBUG */, 108 /* _eInternalMessageId.DynamicConfigException */, \"\".concat(desc, \" [\").concat(name, \"] failed - \") + dumpObj(e));\r\n};\r\nfunction _patchArray(state, target, name) {\r\n if (isArray(target)) {\r\n // Monkey Patch the methods that might change the array\r\n arrForEach(arrayMethodsToPatch, function (method) {\r\n var orgMethod = target[method];\r\n target[method] = 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 result = orgMethod[_DYN_APPLY /* @min:%2eapply */](this, args);\r\n // items may be added, removed or moved so need to make some new dynamic properties\r\n _makeDynamicObject(state, target, name, \"Patching\");\r\n return result;\r\n };\r\n });\r\n }\r\n}\r\nfunction _getOwnPropGetter(target, name) {\r\n var propDesc = objGetOwnPropertyDescriptor(target, name);\r\n return propDesc && propDesc.get;\r\n}\r\nfunction _createDynamicProperty(state, theConfig, name, value) {\r\n // Does not appear to be dynamic so lets make it so\r\n var detail = {\r\n n: name,\r\n h: [],\r\n trk: function (handler) {\r\n if (handler && handler.fn) {\r\n if (arrIndexOf(detail.h, handler) === -1) {\r\n // Add this handler to the collection that should be notified when the value changes\r\n detail.h[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n state.trk(handler, detail);\r\n }\r\n },\r\n clr: function (handler) {\r\n var idx = arrIndexOf(detail.h, handler);\r\n if (idx !== -1) {\r\n detail.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n }\r\n };\r\n // Flag to optimize lookup response time by avoiding additional function calls\r\n var checkDynamic = true;\r\n var isObjectOrArray = false;\r\n function _getProperty() {\r\n if (checkDynamic) {\r\n isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);\r\n // Make sure that if it's an object that we make it dynamic\r\n if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {\r\n // It doesn't look like it's already dynamic so lets make sure it's converted the object into a dynamic Config as well\r\n value = _makeDynamicObject(state, value, name, \"Converting\");\r\n }\r\n // If it needed to be converted it now has been\r\n checkDynamic = false;\r\n }\r\n // If there is an active handler then add it to the tracking set of handlers\r\n var activeHandler = state.act;\r\n if (activeHandler) {\r\n detail.trk(activeHandler);\r\n }\r\n return value;\r\n }\r\n // Tag this getter as our dynamic property and provide shortcut for notifying a change\r\n _getProperty[state.prop] = {\r\n chng: function () {\r\n state.add(detail);\r\n }\r\n };\r\n function _setProperty(newValue) {\r\n if (value !== newValue) {\r\n if (!!_getProperty[state.ro] && !state.upd) {\r\n // field is marked as readonly so return false\r\n throwInvalidAccess(\"[\" + name + \"] is read-only:\" + dumpObj(theConfig));\r\n }\r\n if (checkDynamic) {\r\n isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);\r\n checkDynamic = false;\r\n }\r\n // The value must be a plain object or an array to enforce the reference (in-place updates)\r\n var isReferenced = isObjectOrArray && _getProperty[state.rf];\r\n if (isObjectOrArray) {\r\n // We are about to replace a plain object or an array\r\n if (isReferenced) {\r\n // Reassign the properties from the current value to the same properties from the newValue\r\n // This will set properties not in the newValue to undefined\r\n objForEachKey(value, function (key) {\r\n value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;\r\n });\r\n // Now assign / re-assign value with all of the keys from newValue\r\n try {\r\n objForEachKey(newValue, function (key, theValue) {\r\n _setDynamicProperty(state, value, key, theValue);\r\n });\r\n // Now drop newValue so when we assign value later it keeps the existing reference\r\n newValue = value;\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, \"Assigning\", e);\r\n // Mark as not an object or array so we don't try and do this again\r\n isObjectOrArray = false;\r\n }\r\n }\r\n else if (value && value[CFG_HANDLER_LINK]) {\r\n // As we are replacing the value, if it's already dynamic then we need to notify the listeners\r\n // for every property it has already\r\n objForEachKey(value, function (key) {\r\n // Check if the value is dynamic\r\n var getter = _getOwnPropGetter(value, key);\r\n if (getter) {\r\n // And if it is tell it's listeners that the value has changed\r\n var valueState = getter[state.prop];\r\n valueState && valueState.chng();\r\n }\r\n });\r\n }\r\n }\r\n if (newValue !== value) {\r\n var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);\r\n if (!isReferenced && newIsObjectOrArray) {\r\n // As the newValue is an object/array lets preemptively make it dynamic\r\n newValue = _makeDynamicObject(state, newValue, name, \"Converting\");\r\n }\r\n // Now assign the internal \"value\" to the newValue\r\n value = newValue;\r\n isObjectOrArray = newIsObjectOrArray;\r\n }\r\n // Cause any listeners to be scheduled for notification\r\n state.add(detail);\r\n }\r\n }\r\n objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });\r\n}\r\nexport function _setDynamicProperty(state, target, name, value) {\r\n if (target) {\r\n // To be a dynamic property it needs to have a get function\r\n var getter = _getOwnPropGetter(target, name);\r\n var isDynamic = getter && !!getter[state.prop];\r\n if (!isDynamic) {\r\n _createDynamicProperty(state, target, name, value);\r\n }\r\n else {\r\n // Looks like it's already dynamic just assign the new value\r\n target[name] = value;\r\n }\r\n }\r\n return target;\r\n}\r\nexport function _setDynamicPropertyState(state, target, name, flags) {\r\n if (target) {\r\n // To be a dynamic property it needs to have a get function\r\n var getter = _getOwnPropGetter(target, name);\r\n var isDynamic = getter && !!getter[state.prop];\r\n var inPlace = flags && flags[0 /* _eSetDynamicPropertyFlags.inPlace */];\r\n var rdOnly = flags && flags[1 /* _eSetDynamicPropertyFlags.readOnly */];\r\n var blkProp = flags && flags[2 /* _eSetDynamicPropertyFlags.blockDynamicProperty */];\r\n if (!isDynamic) {\r\n if (blkProp) {\r\n try {\r\n // Attempt to mark the target as blocked from conversion\r\n blockDynamicConversion(target);\r\n }\r\n catch (e) {\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, \"Blocking\", e);\r\n }\r\n }\r\n try {\r\n // Make sure it's dynamic so that we can tag the property as per the state\r\n _setDynamicProperty(state, target, name, target[name]);\r\n getter = _getOwnPropGetter(target, name);\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, \"State\", e);\r\n }\r\n }\r\n // Assign the optional flags if true\r\n if (inPlace) {\r\n getter[state.rf] = inPlace;\r\n }\r\n if (rdOnly) {\r\n getter[state.ro] = rdOnly;\r\n }\r\n if (blkProp) {\r\n getter[state.blkVal] = true;\r\n }\r\n }\r\n return target;\r\n}\r\nexport function _makeDynamicObject(state, target, name, desc) {\r\n try {\r\n // Assign target with new value properties (converting into dynamic properties in the process)\r\n objForEachKey(target, function (key, value) {\r\n // Assign and/or make the property dynamic\r\n _setDynamicProperty(state, target, key, value);\r\n });\r\n if (!target[CFG_HANDLER_LINK]) {\r\n // Link the config back to the dynamic config details\r\n objDefineProp(target, CFG_HANDLER_LINK, {\r\n get: function () {\r\n return state[_DYN_HDLR /* @min:%2ehdlr */];\r\n }\r\n });\r\n _patchArray(state, target, name);\r\n }\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, desc, e);\r\n }\r\n return target;\r\n}\r\n//# sourceMappingURL=DynamicProperty.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, createCustomError, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nvar aggregationErrorType;\r\n/**\r\n * Throws an Aggregation Error which includes all of the errors that led to this error occurring\r\n * @param message - The message describing the aggregation error (the sourceError details are added to this)\r\n * @param sourceErrors - An array of the errors that caused this situation\r\n */\r\nexport function throwAggregationError(message, sourceErrors) {\r\n if (!aggregationErrorType) {\r\n aggregationErrorType = createCustomError(\"AggregationError\", function (self, args) {\r\n if (args[_DYN_LENGTH /* @min:%2elength */] > 1) {\r\n // Save the provided errors\r\n self.errors = args[1];\r\n }\r\n });\r\n }\r\n var theMessage = message || \"One or more errors occurred.\";\r\n arrForEach(sourceErrors, function (srcError, idx) {\r\n theMessage += \"\\n\".concat(idx, \" > \").concat(dumpObj(srcError));\r\n });\r\n throw new aggregationErrorType(theMessage, sourceErrors || []);\r\n}\r\n//# sourceMappingURL=AggregationError.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, dumpObj, newSymbol, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { throwAggregationError } from \"../JavaScriptSDK/AggregationError\";\r\nimport { _DYN_BLK_VAL, _DYN_CANCEL, _DYN_HDLR, _DYN_LENGTH, _DYN_LOGGER, _DYN_NOTIFY, _DYN_PUSH, _DYN_RD_ONLY, _DYN_SET_DF, _DYN_THROW_INTERNAL } from \"../__DynamicConstants\";\r\nvar symPrefix = \"[[ai_\";\r\nvar symPostfix = \"]]\";\r\nexport function _createState(cfgHandler) {\r\n var _a;\r\n var dynamicPropertySymbol = newSymbol(symPrefix + \"get\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyReadOnly = newSymbol(symPrefix + \"ro\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyReferenced = newSymbol(symPrefix + \"rf\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyBlockValue = newSymbol(symPrefix + \"blkVal\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyDetail = newSymbol(symPrefix + \"dtl\" + cfgHandler.uid + symPostfix);\r\n var _waitingHandlers = null;\r\n var _watcherTimer = null;\r\n var theState;\r\n function _useHandler(activeHandler, callback) {\r\n var prevWatcher = theState.act;\r\n try {\r\n theState.act = activeHandler;\r\n if (activeHandler && activeHandler[dynamicPropertyDetail]) {\r\n // Clear out the previously tracked details for this handler, so that access are re-evaluated\r\n arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {\r\n detail.clr(activeHandler);\r\n });\r\n activeHandler[dynamicPropertyDetail] = [];\r\n }\r\n callback({\r\n cfg: cfgHandler.cfg,\r\n set: cfgHandler.set.bind(cfgHandler),\r\n setDf: cfgHandler[_DYN_SET_DF /* @min:%2esetDf */].bind(cfgHandler),\r\n ref: cfgHandler.ref.bind(cfgHandler),\r\n rdOnly: cfgHandler[_DYN_RD_ONLY /* @min:%2erdOnly */].bind(cfgHandler)\r\n });\r\n }\r\n catch (e) {\r\n var logger = cfgHandler[_DYN_LOGGER /* @min:%2elogger */];\r\n if (logger) {\r\n // Don't let one individual failure break everyone\r\n logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](1 /* eLoggingSeverity.CRITICAL */, 107 /* _eInternalMessageId.ConfigWatcherException */, dumpObj(e));\r\n }\r\n // Re-throw the exception so that any true \"error\" is reported back to the called\r\n throw e;\r\n }\r\n finally {\r\n theState.act = prevWatcher || null;\r\n }\r\n }\r\n function _notifyWatchers() {\r\n if (_waitingHandlers) {\r\n var notifyHandlers = _waitingHandlers;\r\n _waitingHandlers = null;\r\n // Stop any timer as we are running them now anyway\r\n _watcherTimer && _watcherTimer[_DYN_CANCEL /* @min:%2ecancel */]();\r\n _watcherTimer = null;\r\n var watcherFailures_1 = [];\r\n // Now run the handlers\r\n arrForEach(notifyHandlers, function (handler) {\r\n if (handler) {\r\n if (handler[dynamicPropertyDetail]) {\r\n arrForEach(handler[dynamicPropertyDetail], function (detail) {\r\n // Clear out this handler from previously tracked details, so that access are re-evaluated\r\n detail.clr(handler);\r\n });\r\n handler[dynamicPropertyDetail] = null;\r\n }\r\n // The handler may have self removed as part of another handler so re-check\r\n if (handler.fn) {\r\n try {\r\n _useHandler(handler, handler.fn);\r\n }\r\n catch (e) {\r\n // Don't let a single failing watcher cause other watches to fail\r\n watcherFailures_1[_DYN_PUSH /* @min:%2epush */](e);\r\n }\r\n }\r\n }\r\n });\r\n // During notification we may have had additional updates -- so notify those updates as well\r\n if (_waitingHandlers) {\r\n try {\r\n _notifyWatchers();\r\n }\r\n catch (e) {\r\n watcherFailures_1[_DYN_PUSH /* @min:%2epush */](e);\r\n }\r\n }\r\n if (watcherFailures_1[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n throwAggregationError(\"Watcher error(s): \", watcherFailures_1);\r\n }\r\n }\r\n }\r\n function _addWatcher(detail) {\r\n if (detail && detail.h[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n if (!_waitingHandlers) {\r\n _waitingHandlers = [];\r\n }\r\n if (!_watcherTimer) {\r\n _watcherTimer = scheduleTimeout(function () {\r\n _watcherTimer = null;\r\n _notifyWatchers();\r\n }, 0);\r\n }\r\n // Add all of the handlers for this detail (if not already present) - using normal for-loop for performance\r\n for (var idx = 0; idx < detail.h[_DYN_LENGTH /* @min:%2elength */]; idx++) {\r\n var handler = detail.h[idx];\r\n // Add this handler to the collection of handlers to re-execute\r\n if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {\r\n _waitingHandlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n }\r\n }\r\n function _trackHandler(handler, detail) {\r\n if (handler) {\r\n var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];\r\n if (arrIndexOf(details, detail) === -1) {\r\n // If this detail is not already listed as tracked then add it so that we re-evaluate it's usage\r\n details[_DYN_PUSH /* @min:%2epush */](detail);\r\n }\r\n }\r\n }\r\n theState = (_a = {\r\n prop: dynamicPropertySymbol,\r\n ro: dynamicPropertyReadOnly,\r\n rf: dynamicPropertyReferenced\r\n },\r\n _a[_DYN_BLK_VAL /* @min:blkVal */] = dynamicPropertyBlockValue,\r\n _a[_DYN_HDLR /* @min:hdlr */] = cfgHandler,\r\n _a.add = _addWatcher,\r\n _a[_DYN_NOTIFY /* @min:notify */] = _notifyWatchers,\r\n _a.use = _useHandler,\r\n _a.trk = _trackHandler,\r\n _a);\r\n return theState;\r\n}\r\n//# sourceMappingURL=DynamicState.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dumpObj, isUndefined, objDefine, objForEachKey } from \"@nevware21/ts-utils\";\r\nimport { createUniqueNamespace } from \"../JavaScriptSDK/DataCacheHelper\";\r\nimport { STR_NOT_DYNAMIC_ERROR } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_BLK_VAL, _DYN_LOGGER, _DYN_NOTIFY, _DYN_RD_ONLY, _DYN_SET_DF, _DYN_THROW_INTERNAL, _DYN_WARN_TO_CONSOLE, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { _applyDefaultValue } from \"./ConfigDefaults\";\r\nimport { _makeDynamicObject, _setDynamicProperty, _setDynamicPropertyState, _throwDynamicError } from \"./DynamicProperty\";\r\nimport { _createState } from \"./DynamicState\";\r\nimport { CFG_HANDLER_LINK, _cfgDeepCopy, getDynamicConfigHandler, throwInvalidAccess } from \"./DynamicSupport\";\r\n/**\r\n * Identifies a function which will be re-called whenever any of it's accessed configuration values\r\n * change.\r\n * @param configHandler - The callback that will be called for the initial request and then whenever any\r\n * accessed configuration changes are identified.\r\n */\r\nfunction _createAndUseHandler(state, configHandler) {\r\n var handler = {\r\n fn: configHandler,\r\n rm: function () {\r\n // Clear all references to the handler so it can be garbage collected\r\n // This will also cause this handler to never get called and eventually removed\r\n handler.fn = null;\r\n state = null;\r\n configHandler = null;\r\n }\r\n };\r\n objDefine(handler, \"toJSON\", { v: function () { return \"WatcherHandler\" + (handler.fn ? \"\" : \"[X]\"); } });\r\n state.use(handler, configHandler);\r\n return handler;\r\n}\r\n/**\r\n * Creates the dynamic config handler and associates with the target config as the root object\r\n * @param target - The config that you want to be root of the dynamic config\r\n * @param inPlace - Should the passed config be converted in-place or a new proxy returned\r\n * @returns The existing dynamic handler or a new instance with the provided config values\r\n */\r\nfunction _createDynamicHandler(logger, target, inPlace) {\r\n var _a;\r\n var dynamicHandler = getDynamicConfigHandler(target);\r\n if (dynamicHandler) {\r\n // The passed config is already dynamic so return it's tracker\r\n return dynamicHandler;\r\n }\r\n var uid = createUniqueNamespace(\"dyncfg\", true);\r\n var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);\r\n var theState;\r\n function _notifyWatchers() {\r\n theState[_DYN_NOTIFY /* @min:%2enotify */]();\r\n }\r\n function _setValue(target, name, value) {\r\n try {\r\n target = _setDynamicProperty(theState, target, name, value);\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError(logger, name, \"Setting value\", e);\r\n }\r\n return target[name];\r\n }\r\n function _watch(configHandler) {\r\n return _createAndUseHandler(theState, configHandler);\r\n }\r\n function _block(configHandler, allowUpdate) {\r\n theState.use(null, function (details) {\r\n var prevUpd = theState.upd;\r\n try {\r\n if (!isUndefined(allowUpdate)) {\r\n theState.upd = allowUpdate;\r\n }\r\n configHandler(details);\r\n }\r\n finally {\r\n theState.upd = prevUpd;\r\n }\r\n });\r\n }\r\n function _ref(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as referenced with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 /* _eSetDynamicPropertyFlags.inPlace */] = true, _a))[name];\r\n }\r\n function _rdOnly(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 /* _eSetDynamicPropertyFlags.readOnly */] = true, _a))[name];\r\n }\r\n function _blkPropValue(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 /* _eSetDynamicPropertyFlags.blockDynamicProperty */] = true, _a))[name];\r\n }\r\n function _applyDefaults(theConfig, defaultValues) {\r\n if (defaultValues) {\r\n // Resolve/apply the defaults\r\n objForEachKey(defaultValues, function (name, value) {\r\n // Sets the value and makes it dynamic (if it doesn't already exist)\r\n _applyDefaultValue(cfgHandler, theConfig, name, value);\r\n });\r\n }\r\n return theConfig;\r\n }\r\n var cfgHandler = (_a = {\r\n uid: null,\r\n cfg: newTarget\r\n },\r\n _a[_DYN_LOGGER /* @min:logger */] = logger,\r\n _a[_DYN_NOTIFY /* @min:notify */] = _notifyWatchers,\r\n _a.set = _setValue,\r\n _a[_DYN_SET_DF /* @min:setDf */] = _applyDefaults,\r\n _a[_DYN_WATCH /* @min:watch */] = _watch,\r\n _a.ref = _ref,\r\n _a[_DYN_RD_ONLY /* @min:rdOnly */] = _rdOnly,\r\n _a[_DYN_BLK_VAL /* @min:blkVal */] = _blkPropValue,\r\n _a._block = _block,\r\n _a);\r\n objDefine(cfgHandler, \"uid\", {\r\n c: false,\r\n e: false,\r\n w: false,\r\n v: uid\r\n });\r\n theState = _createState(cfgHandler);\r\n // Setup tracking for all defined default keys\r\n _makeDynamicObject(theState, newTarget, \"config\", \"Creating\");\r\n return cfgHandler;\r\n}\r\n/**\r\n * Log an invalid access message to the console\r\n * @param message\r\n */\r\nfunction _logInvalidAccess(logger, message) {\r\n if (logger) {\r\n logger[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](2 /* eLoggingSeverity.WARNING */, 108 /* _eInternalMessageId.DynamicConfigException */, message);\r\n }\r\n else {\r\n // We don't have a logger so just throw an exception\r\n throwInvalidAccess(message);\r\n }\r\n}\r\n/**\r\n * Create or return a dynamic version of the passed config, if it is not already dynamic\r\n * @param config - The config to be converted into a dynamic config\r\n * @param defaultConfig - The default values to apply on the config if the properties don't already exist\r\n * @param inPlace - Should the config be converted in-place into a dynamic config or a new instance returned, defaults to true\r\n * @returns The dynamic config handler for the config (whether new or existing)\r\n */\r\nexport function createDynamicConfig(config, defaultConfig, logger, inPlace) {\r\n var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);\r\n if (defaultConfig) {\r\n dynamicHandler[_DYN_SET_DF /* @min:%2esetDf */](dynamicHandler.cfg, defaultConfig);\r\n }\r\n return dynamicHandler;\r\n}\r\n/**\r\n * Watch and track changes for accesses to the current config, the provided config MUST already be\r\n * a dynamic config or a child accessed via the dynamic config\r\n * @param config\r\n * @param configHandler\r\n * @param logger - The logger instance to use if there is no existing handler\r\n * @returns A watcher handler instance that can be used to remove itself when being unloaded\r\n * @throws TypeError if the provided config is not a dynamic config instance\r\n */\r\nexport function onConfigChange(config, configHandler, logger) {\r\n var handler = config[CFG_HANDLER_LINK] || config;\r\n if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {\r\n return handler[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n }\r\n _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));\r\n return createDynamicConfig(config, null, logger)[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n}\r\n//# sourceMappingURL=DynamicConfig.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { asString, isBoolean, isFunction, isNullOrUndefined, isString } from \"@nevware21/ts-utils\";\r\nimport { STR_EMPTY } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_BLK_VAL, _DYN_TO_LOWER_CASE } from \"../__DynamicConstants\";\r\n/**\r\n * @internal\r\n * @ignore\r\n * @param str\r\n * @param defaultValue\r\n * @returns\r\n */\r\nfunction _stringToBoolOrDefault(theValue, defaultValue, theConfig) {\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n return defaultValue;\r\n }\r\n if (isBoolean(theValue)) {\r\n return theValue;\r\n }\r\n return asString(theValue)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"true\";\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance with the field defined as an object\r\n * that should be merged\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfMerge(defaultValue) {\r\n return {\r\n mrg: true,\r\n v: defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance with the provided field set function\r\n * @param setter - The IConfigCheckFn function to validate the user provided value\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfSet(setter, defaultValue) {\r\n return {\r\n set: setter,\r\n v: defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance with the provided field validator\r\n * @param validator - The IConfigCheckFn function to validate the user provided value\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @param fallBackName - The fallback configuration name if the current value is not available\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfValidate(validator, defaultValue, fallBackName) {\r\n return {\r\n fb: fallBackName,\r\n isVal: validator,\r\n v: defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance that will validate and convert the user\r\n * provided value to a boolean from a string or boolean value\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @param fallBackName - The fallback configuration name if the current value is not available\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfBoolean(defaultValue, fallBackName) {\r\n return {\r\n fb: fallBackName,\r\n set: _stringToBoolOrDefault,\r\n v: !!defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance that will validate that the user\r\n * provided value is a function.\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfFunc(defaultValue) {\r\n return {\r\n isVal: isFunction,\r\n v: defaultValue || null\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance that will validate that the user\r\n * provided value is a function.\r\n * @param defaultValue - The default string value to apply it not provided or it's not valid, defaults to an empty string\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfString(defaultValue) {\r\n return {\r\n isVal: isString,\r\n v: asString(defaultValue || STR_EMPTY)\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance identifying that value associated with this property\r\n * should not have it's properties converted into a dynamic config properties.\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfBlockPropValue(defaultValue) {\r\n var _a;\r\n return _a = {},\r\n _a[_DYN_BLK_VAL /* @min:blkVal */] = true,\r\n _a.v = defaultValue,\r\n _a;\r\n}\r\n//# sourceMappingURL=ConfigDefaultHelpers.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getInst } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];\r\nvar _aiNamespace = null;\r\nvar _debugListener;\r\nfunction _listenerProxyFunc(name, config) {\r\n return function () {\r\n var args = arguments;\r\n var dbgExt = getDebugExt(config);\r\n if (dbgExt) {\r\n var listener = dbgExt.listener;\r\n if (listener && listener[name]) {\r\n listener[name][_DYN_APPLY /* @min:%2eapply */](listener, args);\r\n }\r\n }\r\n };\r\n}\r\nfunction _getExtensionNamespace() {\r\n // Cache the lookup of the global namespace object\r\n var target = getInst(\"Microsoft\");\r\n if (target) {\r\n _aiNamespace = target[\"ApplicationInsights\"];\r\n }\r\n return _aiNamespace;\r\n}\r\nexport function getDebugExt(config) {\r\n var ns = _aiNamespace;\r\n if (!ns && config.disableDbgExt !== true) {\r\n ns = _aiNamespace || _getExtensionNamespace();\r\n }\r\n return ns ? ns[\"ChromeDbgExt\"] : null;\r\n}\r\nexport function getDebugListener(config) {\r\n if (!_debugListener) {\r\n _debugListener = {};\r\n for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);\r\n }\r\n }\r\n return _debugListener;\r\n}\r\n//# sourceMappingURL=DbgExtensionUtils.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nvar _a;\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dumpObj, isFunction, isUndefined } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { _DYN_DIAG_LOG, _DYN_LOGGER, _DYN_LOGGING_LEVEL_CONSOL4, _DYN_LOG_INTERNAL_MESSAGE, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_PUSH, _DYN_REPLACE, _DYN_THROW_INTERNAL, _DYN_UNLOAD, _DYN_WARN_TO_CONSOLE } from \"../__DynamicConstants\";\r\nimport { getDebugExt } from \"./DbgExtensionUtils\";\r\nimport { getConsole, getJSON, hasJSON } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar STR_WARN_TO_CONSOLE = \"warnToConsole\";\r\n/**\r\n * For user non actionable traces use AI Internal prefix.\r\n */\r\nvar AiNonUserActionablePrefix = \"AI (Internal): \";\r\n/**\r\n * Prefix of the traces in portal.\r\n */\r\nvar AiUserActionablePrefix = \"AI: \";\r\n/**\r\n * Session storage key for the prefix for the key indicating message type already logged\r\n */\r\nvar AIInternalMessagePrefix = \"AITR_\";\r\nvar defaultValues = {\r\n loggingLevelConsole: 0,\r\n loggingLevelTelemetry: 1,\r\n maxMessageLimit: 25,\r\n enableDebug: false\r\n};\r\nvar _logFuncs = (_a = {},\r\n _a[0 /* eLoggingSeverity.DISABLED */] = null,\r\n _a[1 /* eLoggingSeverity.CRITICAL */] = \"errorToConsole\",\r\n _a[2 /* eLoggingSeverity.WARNING */] = STR_WARN_TO_CONSOLE,\r\n _a[3 /* eLoggingSeverity.DEBUG */] = \"debugToConsole\",\r\n _a);\r\nfunction _sanitizeDiagnosticText(text) {\r\n if (text) {\r\n return \"\\\"\" + text[_DYN_REPLACE /* @min:%2ereplace */](/\\\"/g, STR_EMPTY) + \"\\\"\";\r\n }\r\n return STR_EMPTY;\r\n}\r\nfunction _logToConsole(func, message) {\r\n var theConsole = getConsole();\r\n if (!!theConsole) {\r\n var logFunc = \"log\";\r\n if (theConsole[func]) {\r\n logFunc = func;\r\n }\r\n if (isFunction(theConsole[logFunc])) {\r\n theConsole[logFunc](message);\r\n }\r\n }\r\n}\r\nvar _InternalLogMessage = /** @class */ (function () {\r\n function _InternalLogMessage(msgId, msg, isUserAct, properties) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var _self = this;\r\n _self[_DYN_MESSAGE_ID /* @min:%2emessageId */] = msgId;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] =\r\n (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +\r\n msgId;\r\n var strProps = STR_EMPTY;\r\n if (hasJSON()) {\r\n strProps = getJSON().stringify(properties);\r\n }\r\n var diagnosticText = (msg ? \" message:\" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +\r\n (properties ? \" props:\" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] += diagnosticText;\r\n }\r\n _InternalLogMessage.dataType = \"MessageData\";\r\n return _InternalLogMessage;\r\n}());\r\nexport { _InternalLogMessage };\r\nexport function safeGetLogger(core, config) {\r\n return (core || {})[_DYN_LOGGER /* @min:%2elogger */] || new DiagnosticLogger(config);\r\n}\r\nvar DiagnosticLogger = /** @class */ (function () {\r\n function DiagnosticLogger(config) {\r\n this.identifier = \"DiagnosticLogger\";\r\n /**\r\n * The internal logging queue\r\n */\r\n this.queue = [];\r\n /**\r\n * Count of internal messages sent\r\n */\r\n var _messageCount = 0;\r\n /**\r\n * Holds information about what message types were already logged to console or sent to server.\r\n */\r\n var _messageLogged = {};\r\n var _loggingLevelConsole;\r\n var _loggingLevelTelemetry;\r\n var _maxInternalMessageLimit;\r\n var _enableDebug;\r\n var _unloadHandler;\r\n dynamicProto(DiagnosticLogger, this, function (_self) {\r\n _unloadHandler = _setDefaultsFromConfig(config || {});\r\n _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\n _self[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */] = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);\r\n if (_enableDebug) {\r\n throw dumpObj(message);\r\n }\r\n else {\r\n // Get the logging function and fallback to warnToConsole of for some reason errorToConsole doesn't exist\r\n var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;\r\n if (!isUndefined(message[_DYN_MESSAGE /* @min:%2emessage */])) {\r\n if (isUserAct) {\r\n // check if this message type was already logged to console for this page view and if so, don't log it again\r\n var messageKey = +message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n _messageLogged[messageKey] = true;\r\n }\r\n }\r\n else {\r\n // Only log traces if the console Logging Level is >= the throwInternal severity level\r\n if (_loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n }\r\n _logInternalMessage(severity, message);\r\n }\r\n else {\r\n _debugExtMsg(\"throw\" + (severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"Critical\" : \"Warning\"), message);\r\n }\r\n }\r\n };\r\n _self.debugToConsole = function (message) {\r\n _logToConsole(\"debug\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n _self[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */] = function (message) {\r\n _logToConsole(\"warn\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n _self.errorToConsole = function (message) {\r\n _logToConsole(\"error\", message);\r\n _debugExtMsg(\"error\", message);\r\n };\r\n _self.resetInternalMessageCount = function () {\r\n _messageCount = 0;\r\n _messageLogged = {};\r\n };\r\n _self[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */] = _logInternalMessage;\r\n _self[_DYN_UNLOAD /* @min:%2eunload */] = function (isAsync) {\r\n _unloadHandler && _unloadHandler.rm();\r\n _unloadHandler = null;\r\n };\r\n function _logInternalMessage(severity, message) {\r\n if (_areInternalMessagesThrottled()) {\r\n return;\r\n }\r\n // check if this message type was already logged for this session and if so, don't log it again\r\n var logMessage = true;\r\n var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n // if the session storage is not available, limit to only one message type per page view\r\n if (_messageLogged[messageKey]) {\r\n logMessage = false;\r\n }\r\n else {\r\n _messageLogged[messageKey] = true;\r\n }\r\n if (logMessage) {\r\n // Push the event in the internal queue\r\n if (severity <= _loggingLevelTelemetry) {\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](message);\r\n _messageCount++;\r\n _debugExtMsg((severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"error\" : \"warn\"), message);\r\n }\r\n // When throttle limit reached, send a special event\r\n if (_messageCount === _maxInternalMessageLimit) {\r\n var throttleLimitMessage = \"Internal events throttle limit per PageView reached for this app.\";\r\n var throttleMessage = new _InternalLogMessage(23 /* _eInternalMessageId.MessageLimitPerPVExceeded */, throttleLimitMessage, false);\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](throttleMessage);\r\n if (severity === 1 /* eLoggingSeverity.CRITICAL */) {\r\n _self.errorToConsole(throttleLimitMessage);\r\n }\r\n else {\r\n _self[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](throttleLimitMessage);\r\n }\r\n }\r\n }\r\n }\r\n function _setDefaultsFromConfig(config) {\r\n // make sure the config is dynamic\r\n return onConfigChange(createDynamicConfig(config, defaultValues, _self).cfg, function (details) {\r\n var config = details.cfg;\r\n _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 /* @min:%2eloggingLevelConsole */];\r\n _loggingLevelTelemetry = config.loggingLevelTelemetry;\r\n _maxInternalMessageLimit = config.maxMessageLimit;\r\n _enableDebug = config.enableDebug;\r\n });\r\n }\r\n function _areInternalMessagesThrottled() {\r\n return _messageCount >= _maxInternalMessageLimit;\r\n }\r\n function _debugExtMsg(name, data) {\r\n var dbgExt = getDebugExt(config || {});\r\n if (dbgExt && dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */]) {\r\n dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */](name, data);\r\n }\r\n }\r\n });\r\n }\r\n /**\r\n * 0: OFF (default)\r\n * 1: CRITICAL\r\n * 2: >= WARNING\r\n */\r\n DiagnosticLogger.prototype.consoleLoggingLevel = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\n DiagnosticLogger.prototype.throwInternal = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * This will write a debug message to the console if possible\r\n * @param message - {string} - The debug message\r\n */\r\n DiagnosticLogger.prototype.debugToConsole = function (message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * This will write a warning to the console if possible\r\n * @param message - {string} - The warning message\r\n */\r\n DiagnosticLogger.prototype.warnToConsole = function (message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * This will write an error to the console if possible\r\n * @param message - {string} - The warning message\r\n */\r\n DiagnosticLogger.prototype.errorToConsole = function (message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Resets the internal message count\r\n */\r\n DiagnosticLogger.prototype.resetInternalMessageCount = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Logs a message to the internal queue.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The message to log.\r\n */\r\n DiagnosticLogger.prototype.logInternalMessage = function (severity, message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Unload and remove any state that this IDiagnosticLogger may be holding, this is generally called when the\r\n * owning SDK is being unloaded.\r\n * @param isAsync - Can the unload be performed asynchronously (default)\r\n * @return If the unload occurs synchronously then nothing should be returned, if happening asynchronously then\r\n * the function should return an [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * / Promise to allow any listeners to wait for the operation to complete.\r\n */\r\n DiagnosticLogger.prototype.unload = function (isAsync) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return DiagnosticLogger;\r\n}());\r\nexport { DiagnosticLogger };\r\nfunction _getLogger(logger) {\r\n return (logger || new DiagnosticLogger());\r\n}\r\n/**\r\n * This is a helper method which will call throwInternal on the passed logger, will throw exceptions in\r\n * debug mode or attempt to log the error as a console warning. This helper is provided mostly to better\r\n * support minification as logger.throwInternal() will not compress the publish \"throwInternal\" used throughout\r\n * the code.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\nexport function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n _getLogger(logger)[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](severity, msgId, msg, properties, isUserAct);\r\n}\r\n/**\r\n * This is a helper method which will call warnToConsole on the passed logger with the provided message.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\nexport function _warnToConsole(logger, message) {\r\n _getLogger(logger)[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n}\r\n/**\r\n * Logs a message to the internal queue.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The message to log.\r\n */\r\nexport function _logInternalMessage(logger, severity, message) {\r\n _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */](severity, message);\r\n}\r\n//# sourceMappingURL=DiagnosticLogger.js.map","var _a, _b;\r\nimport { arrForEach, arrIndexOf, dumpObj, getDocument, getLazy, getNavigator, isArray, isFunction, isNullOrUndefined, isString, isTruthy, isUndefined, objForEachKey, strEndsWith, strIndexOf, strLeft, strSubstring, strTrim, utcNow } from \"@nevware21/ts-utils\";\r\nimport { cfgDfMerge } from \"../Config/ConfigDefaultHelpers\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { _DYN_ENABLED, _DYN_LENGTH, _DYN_LOGGER, _DYN_PROTOCOL, _DYN_SET_DF, _DYN_SPLIT, _DYN_UNLOAD, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { getLocation, isIE } from \"./EnvUtils\";\r\nimport { getExceptionName, isNotNullOrUndefined, setValue, strContains } from \"./HelperFuncs\";\r\nimport { STR_DOMAIN, STR_EMPTY, STR_PATH, UNDEFINED_VALUE } from \"./InternalConstants\";\r\nvar strToGMTString = \"toGMTString\";\r\nvar strToUTCString = \"toUTCString\";\r\nvar strCookie = \"cookie\";\r\nvar strExpires = \"expires\";\r\nvar strIsCookieUseDisabled = \"isCookieUseDisabled\";\r\nvar strDisableCookiesUsage = \"disableCookiesUsage\";\r\nvar strConfigCookieMgr = \"_ckMgr\";\r\nvar _supportsCookies = null;\r\nvar _allowUaSameSite = null;\r\nvar _parsedCookieValue = null;\r\nvar _doc;\r\nvar _cookieCache = {};\r\nvar _globalCookieConfig = {};\r\n// // `isCookieUseDisabled` is deprecated, so explicitly casting as a key of IConfiguration to avoid typing error\r\n// // when both isCookieUseDisabled and disableCookiesUsage are used disableCookiesUsage will take precedent, which is\r\n// // why its listed first\r\n/**\r\n * Set the supported dynamic config values as undefined (or an empty object) so that\r\n * any listeners will be informed of any changes.\r\n * Explicitly NOT including the deprecated `isCookieUseDisabled` as we don't want to support\r\n * the v1 deprecated field as dynamic for updates\r\n */\r\nvar rootDefaultConfig = (_a = {\r\n cookieCfg: cfgDfMerge((_b = {},\r\n _b[STR_DOMAIN] = { fb: \"cookieDomain\", dfVal: isNotNullOrUndefined },\r\n _b.path = { fb: \"cookiePath\", dfVal: isNotNullOrUndefined },\r\n _b.enabled = UNDEFINED_VALUE,\r\n _b.ignoreCookies = UNDEFINED_VALUE,\r\n _b.blockedCookies = UNDEFINED_VALUE,\r\n _b)),\r\n cookieDomain: UNDEFINED_VALUE,\r\n cookiePath: UNDEFINED_VALUE\r\n },\r\n _a[strDisableCookiesUsage] = UNDEFINED_VALUE,\r\n _a);\r\nfunction _getDoc() {\r\n !_doc && (_doc = getLazy(function () { return getDocument(); }));\r\n}\r\n/**\r\n * @ignore\r\n * DO NOT USE or export from the module, this is exposed as public to support backward compatibility of previous static utility methods only.\r\n * If you want to manager cookies either use the ICookieMgr available from the core instance via getCookieMgr() or create\r\n * your own instance of the CookieMgr and use that.\r\n * Using this directly for enabling / disabling cookie handling will not only affect your usage but EVERY user of cookies.\r\n * Example, if you are using a shared component that is also using Application Insights you will affect their cookie handling.\r\n * @param logger - The DiagnosticLogger to use for reporting errors.\r\n */\r\nfunction _gblCookieMgr(config, logger) {\r\n // Stash the global instance against the BaseCookieMgr class\r\n var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];\r\n if (!inst) {\r\n // Note: not using the getSetValue() helper as that would require always creating a temporary cookieMgr\r\n // that ultimately is never used\r\n inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);\r\n _globalCookieConfig[strConfigCookieMgr] = inst;\r\n }\r\n return inst;\r\n}\r\nfunction _isMgrEnabled(cookieMgr) {\r\n if (cookieMgr) {\r\n return cookieMgr.isEnabled();\r\n }\r\n return true;\r\n}\r\nfunction _isIgnoredCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {\r\n return arrIndexOf(cookieMgrCfg.ignoreCookies, name) !== -1;\r\n }\r\n return false;\r\n}\r\nfunction _isBlockedCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.blockedCookies)) {\r\n if (arrIndexOf(cookieMgrCfg.blockedCookies, name) !== -1) {\r\n return true;\r\n }\r\n }\r\n return _isIgnoredCookie(cookieMgrCfg, name);\r\n}\r\nfunction _isCfgEnabled(rootConfig, cookieMgrConfig) {\r\n var isCfgEnabled = cookieMgrConfig[_DYN_ENABLED /* @min:%2eenabled */];\r\n if (isNullOrUndefined(isCfgEnabled)) {\r\n // Set the enabled from the provided setting or the legacy root values\r\n var cookieEnabled = void 0;\r\n // This field is deprecated and dynamic updates will not be fully supported\r\n if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {\r\n cookieEnabled = !rootConfig[strIsCookieUseDisabled];\r\n }\r\n // If this value is defined it takes precedent over the above\r\n if (!isUndefined(rootConfig[strDisableCookiesUsage])) {\r\n cookieEnabled = !rootConfig[strDisableCookiesUsage];\r\n }\r\n // Not setting the cookieMgrConfig.enabled as that will update (set) the global dynamic config\r\n // So future \"updates\" then may not be as expected\r\n isCfgEnabled = cookieEnabled;\r\n }\r\n return isCfgEnabled;\r\n}\r\n/**\r\n * Helper to return the ICookieMgr from the core (if not null/undefined) or a default implementation\r\n * associated with the configuration or a legacy default.\r\n * @param core\r\n * @param config\r\n * @returns\r\n */\r\nexport function safeGetCookieMgr(core, config) {\r\n var cookieMgr;\r\n if (core) {\r\n // Always returns an instance\r\n cookieMgr = core.getCookieMgr();\r\n }\r\n else if (config) {\r\n var cookieCfg = config.cookieCfg;\r\n if (cookieCfg && cookieCfg[strConfigCookieMgr]) {\r\n cookieMgr = cookieCfg[strConfigCookieMgr];\r\n }\r\n else {\r\n cookieMgr = createCookieMgr(config);\r\n }\r\n }\r\n if (!cookieMgr) {\r\n // Get or initialize the default global (legacy) cookie manager if we couldn't find one\r\n cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return cookieMgr;\r\n}\r\nexport function createCookieMgr(rootConfig, logger) {\r\n var _a;\r\n var cookieMgrConfig;\r\n var _path;\r\n var _domain;\r\n var unloadHandler;\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n var _enabled;\r\n var _getCookieFn;\r\n var _setCookieFn;\r\n var _delCookieFn;\r\n // Make sure the root config is dynamic as it may be the global config\r\n rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;\r\n // Will get recalled if the referenced configuration is changed\r\n unloadHandler = onConfigChange(rootConfig, function (details) {\r\n // Make sure the root config has all of the the defaults to the root config to ensure they are dynamic\r\n details[_DYN_SET_DF /* @min:%2esetDf */](details.cfg, rootDefaultConfig);\r\n // Create and apply the defaults to the cookieCfg element\r\n cookieMgrConfig = details.ref(details.cfg, \"cookieCfg\"); // details.setDf(details.cfg.cookieCfg, defaultConfig);\r\n _path = cookieMgrConfig[STR_PATH /* @min:%2epath */] || \"/\";\r\n _domain = cookieMgrConfig[STR_DOMAIN /* @min:%2edomain */];\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false;\r\n _getCookieFn = cookieMgrConfig.getCookie || _getCookieValue;\r\n _setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n _delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;\r\n }, logger);\r\n var cookieMgr = (_a = {\r\n isEnabled: function () {\r\n var enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false && _enabled && areCookiesSupported(logger);\r\n // Using an indirect lookup for any global cookie manager to support tree shaking for SDK's\r\n // that don't use the \"applicationinsights-core\" version of the default cookie function\r\n var gblManager = _globalCookieConfig[strConfigCookieMgr];\r\n if (enabled && gblManager && cookieMgr !== gblManager) {\r\n // Make sure the GlobalCookie Manager instance (if not this instance) is also enabled.\r\n // As the global (deprecated) functions may have been called (for backward compatibility)\r\n enabled = _isMgrEnabled(gblManager);\r\n }\r\n return enabled;\r\n },\r\n setEnabled: function (value) {\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = value !== false;\r\n cookieMgrConfig[_DYN_ENABLED /* @min:%2eenabled */] = value;\r\n },\r\n set: function (name, value, maxAgeSec, domain, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {\r\n var values = {};\r\n var theValue = strTrim(value || STR_EMPTY);\r\n var idx = strIndexOf(theValue, \";\");\r\n if (idx !== -1) {\r\n theValue = strTrim(strLeft(value, idx));\r\n values = _extractParts(strSubstring(value, idx + 1));\r\n }\r\n // Only update domain if not already present (isUndefined) and the value is truthy (not null, undefined or empty string)\r\n setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);\r\n if (!isNullOrUndefined(maxAgeSec)) {\r\n var _isIE = isIE();\r\n if (isUndefined(values[strExpires])) {\r\n var nowMs = utcNow();\r\n // Only add expires if not already present\r\n var expireMs = nowMs + (maxAgeSec * 1000);\r\n // Sanity check, if zero or -ve then ignore\r\n if (expireMs > 0) {\r\n var expiry = new Date();\r\n expiry.setTime(expireMs);\r\n setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);\r\n }\r\n }\r\n if (!_isIE) {\r\n // Only replace if not already present\r\n setValue(values, \"max-age\", STR_EMPTY + maxAgeSec, null, isUndefined);\r\n }\r\n }\r\n var location_1 = getLocation();\r\n if (location_1 && location_1[_DYN_PROTOCOL /* @min:%2eprotocol */] === \"https:\") {\r\n setValue(values, \"secure\", null, null, isUndefined);\r\n // Only set same site if not also secure\r\n if (_allowUaSameSite === null) {\r\n _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT /* @min:%2euserAgent */]);\r\n }\r\n if (_allowUaSameSite) {\r\n setValue(values, \"SameSite\", \"None\", null, isUndefined);\r\n }\r\n }\r\n setValue(values, STR_PATH, path || _path, null, isUndefined);\r\n //let setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n _setCookieFn(name, _formatCookieValue(theValue, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n get: function (name) {\r\n var value = STR_EMPTY;\r\n if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {\r\n value = _getCookieFn(name);\r\n }\r\n return value;\r\n },\r\n del: function (name, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n // Only remove the cookie if the manager and cookie support has not been disabled\r\n result = cookieMgr.purge(name, path);\r\n }\r\n return result;\r\n },\r\n purge: function (name, path) {\r\n var _a;\r\n var result = false;\r\n if (areCookiesSupported(logger)) {\r\n // Setting the expiration date in the past immediately removes the cookie\r\n var values = (_a = {},\r\n _a[STR_PATH] = path ? path : \"/\",\r\n _a[strExpires] = \"Thu, 01 Jan 1970 00:00:01 GMT\",\r\n _a);\r\n if (!isIE()) {\r\n // Set max age to expire now\r\n values[\"max-age\"] = \"0\";\r\n }\r\n // let delCookie = cookieMgrConfig.delCookie || _setCookieValue;\r\n _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));\r\n result = true;\r\n }\r\n return result;\r\n }\r\n },\r\n _a[_DYN_UNLOAD /* @min:unload */] = function (isAsync) {\r\n unloadHandler && unloadHandler.rm();\r\n unloadHandler = null;\r\n },\r\n _a);\r\n // Associated this cookie manager with the config\r\n cookieMgr[strConfigCookieMgr] = cookieMgr;\r\n return cookieMgr;\r\n}\r\n/*\r\n* Helper method to tell if document.cookie object is supported by the runtime\r\n*/\r\nexport function areCookiesSupported(logger) {\r\n if (_supportsCookies === null) {\r\n _supportsCookies = false;\r\n !_doc && _getDoc();\r\n try {\r\n var doc = _doc.v || {};\r\n _supportsCookies = doc[strCookie] !== undefined;\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 68 /* _eInternalMessageId.CannotAccessCookie */, \"Cannot access document.cookie - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return _supportsCookies;\r\n}\r\nfunction _extractParts(theValue) {\r\n var values = {};\r\n if (theValue && theValue[_DYN_LENGTH /* @min:%2elength */]) {\r\n var parts = strTrim(theValue)[_DYN_SPLIT /* @min:%2esplit */](\";\");\r\n arrForEach(parts, function (thePart) {\r\n thePart = strTrim(thePart || STR_EMPTY);\r\n if (thePart) {\r\n var idx = strIndexOf(thePart, \"=\");\r\n if (idx === -1) {\r\n values[thePart] = null;\r\n }\r\n else {\r\n values[strTrim(strLeft(thePart, idx))] = strTrim(strSubstring(thePart, idx + 1));\r\n }\r\n }\r\n });\r\n }\r\n return values;\r\n}\r\nfunction _formatDate(theDate, func) {\r\n if (isFunction(theDate[func])) {\r\n return theDate[func]();\r\n }\r\n return null;\r\n}\r\nfunction _formatCookieValue(value, values) {\r\n var cookieValue = value || STR_EMPTY;\r\n objForEachKey(values, function (name, theValue) {\r\n cookieValue += \"; \" + name + (!isNullOrUndefined(theValue) ? \"=\" + theValue : STR_EMPTY);\r\n });\r\n return cookieValue;\r\n}\r\nfunction _getCookieValue(name) {\r\n var cookieValue = STR_EMPTY;\r\n !_doc && _getDoc();\r\n if (_doc.v) {\r\n var theCookie = _doc.v[strCookie] || STR_EMPTY;\r\n if (_parsedCookieValue !== theCookie) {\r\n _cookieCache = _extractParts(theCookie);\r\n _parsedCookieValue = theCookie;\r\n }\r\n cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);\r\n }\r\n return cookieValue;\r\n}\r\nfunction _setCookieValue(name, cookieValue) {\r\n !_doc && _getDoc();\r\n if (_doc.v) {\r\n _doc.v[strCookie] = name + \"=\" + cookieValue;\r\n }\r\n}\r\nexport function uaDisallowsSameSiteNone(userAgent) {\r\n if (!isString(userAgent)) {\r\n return false;\r\n }\r\n // Cover all iOS based browsers here. This includes:\r\n // - Safari on iOS 12 for iPhone, iPod Touch, iPad\r\n // - WkWebview on iOS 12 for iPhone, iPod Touch, iPad\r\n // - Chrome on iOS 12 for iPhone, iPod Touch, iPad\r\n // All of which are broken by SameSite=None, because they use the iOS networking stack\r\n if (strContains(userAgent, \"CPU iPhone OS 12\") || strContains(userAgent, \"iPad; CPU OS 12\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X based browsers that use the Mac OS networking stack. This includes:\r\n // - Safari on Mac OS X\r\n // This does not include:\r\n // - Internal browser on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strContains(userAgent, \"Version/\") && strContains(userAgent, \"Safari\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X internal browsers that use the Mac OS networking stack. This includes:\r\n // - Internal browser on Mac OS X\r\n // This does not include:\r\n // - Safari on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strEndsWith(userAgent, \"AppleWebKit/605.1.15 (KHTML, like Gecko)\")) {\r\n return true;\r\n }\r\n // Cover Chrome 50-69, because some versions are broken by SameSite=None, and none in this range require it.\r\n // Note: this covers some pre-Chromium Edge versions, but pre-Chromim Edge does not require SameSite=None, so this is fine.\r\n // Note: this regex applies to Windows, Mac OS X, and Linux, deliberately.\r\n if (strContains(userAgent, \"Chrome/5\") || strContains(userAgent, \"Chrome/6\")) {\r\n return true;\r\n }\r\n // Unreal Engine runs Chromium 59, but does not advertise as Chrome until 4.23. Treat versions of Unreal\r\n // that don't specify their Chrome version as lacking support for SameSite=None.\r\n if (strContains(userAgent, \"UnrealEngine\") && !strContains(userAgent, \"Chrome\")) {\r\n return true;\r\n }\r\n // UCBrowser < 12.13.2 ignores Set-Cookie headers with SameSite=None\r\n // NB: this rule isn't complete - you need regex to make a complete rule.\r\n // See: https://www.chromium.org/updates/same-site/incompatible-clients\r\n if (strContains(userAgent, \"UCBrowser/12\") || strContains(userAgent, \"UCBrowser/11\")) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=CookieMgr.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { isArray, isFunction, objDefine, utcNow } from \"@nevware21/ts-utils\";\r\nimport { _DYN_COMPLETE, _DYN_GET_CTX, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_CTX, _DYN_TIME } from \"../__DynamicConstants\";\r\nimport { STR_GET_PERF_MGR, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar strExecutionContextKey = \"ctx\";\r\nvar strParentContextKey = \"ParentContextKey\";\r\nvar strChildrenContextKey = \"ChildrenContextKey\";\r\nvar _defaultPerfManager = null;\r\nvar PerfEvent = /** @class */ (function () {\r\n function PerfEvent(name, payloadDetails, isAsync) {\r\n var _self = this;\r\n _self.start = utcNow();\r\n _self[_DYN_NAME /* @min:%2ename */] = name;\r\n _self[_DYN_IS_ASYNC /* @min:%2eisAsync */] = isAsync;\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return false; };\r\n if (isFunction(payloadDetails)) {\r\n // Create an accessor to minimize the potential performance impact of executing the payloadDetails callback\r\n var theDetails_1;\r\n objDefine(_self, \"payload\", {\r\n g: function () {\r\n // Delay the execution of the payloadDetails until needed\r\n if (!theDetails_1 && isFunction(payloadDetails)) {\r\n theDetails_1 = payloadDetails();\r\n // clear it out now so the referenced objects can be garbage collected\r\n payloadDetails = null;\r\n }\r\n return theDetails_1;\r\n }\r\n });\r\n }\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n if (key) {\r\n // The parent and child links are located directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {\r\n return _self[key];\r\n }\r\n return (_self[strExecutionContextKey] || {})[key];\r\n }\r\n return null;\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n // Put the parent and child links directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey]) {\r\n // Simple assumption, if we are setting a parent then we must be a child\r\n if (!_self[key]) {\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return true; };\r\n }\r\n _self[key] = value;\r\n }\r\n else if (key === PerfEvent[strChildrenContextKey]) {\r\n _self[key] = value;\r\n }\r\n else {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n }\r\n };\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () {\r\n var childTime = 0;\r\n var childEvts = _self[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (isArray(childEvts)) {\r\n for (var lp = 0; lp < childEvts[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var childEvt = childEvts[lp];\r\n if (childEvt) {\r\n childTime += childEvt[_DYN_TIME /* @min:%2etime */];\r\n }\r\n }\r\n }\r\n _self[_DYN_TIME /* @min:%2etime */] = utcNow() - _self.start;\r\n _self.exTime = _self[_DYN_TIME /* @min:%2etime */] - childTime;\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () { };\r\n };\r\n }\r\n PerfEvent.ParentContextKey = \"parent\";\r\n PerfEvent.ChildrenContextKey = \"childEvts\";\r\n return PerfEvent;\r\n}());\r\nexport { PerfEvent };\r\nvar PerfManager = /** @class */ (function () {\r\n function PerfManager(manager) {\r\n /**\r\n * General bucket used for execution context set and retrieved via setCtx() and getCtx.\r\n * Defined as private so it can be visualized via the DebugPlugin\r\n */\r\n this.ctx = {};\r\n dynamicProto(PerfManager, this, function (_self) {\r\n _self.create = function (src, payloadDetails, isAsync) {\r\n // TODO (@MSNev): at some point we will want to add additional configuration to \"select\" which events to instrument\r\n // for now this is just a simple do everything.\r\n return new PerfEvent(src, payloadDetails, isAsync);\r\n };\r\n _self.fire = function (perfEvent) {\r\n if (perfEvent) {\r\n perfEvent[_DYN_COMPLETE /* @min:%2ecomplete */]();\r\n if (manager && isFunction(manager[STR_PERF_EVENT /* @min:%2eperfEvent */])) {\r\n manager[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n }\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n };\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n return (_self[strExecutionContextKey] || {})[key];\r\n };\r\n });\r\n }\r\n /**\r\n * Create a new event and start timing, the manager may return null/undefined to indicate that it does not\r\n * want to monitor this source event.\r\n * @param src - The source name of the event\r\n * @param payloadDetails - An optional callback function to fetch the payload details for the event.\r\n * @param isAsync - Is the event occurring from a async event\r\n */\r\n PerfManager.prototype.create = function (src, payload, isAsync) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Complete the perfEvent and fire any notifications.\r\n * @param perfEvent - Fire the event which will also complete the passed event\r\n */\r\n PerfManager.prototype.fire = function (perfEvent) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Set an execution context value\r\n * @param key - The context key name\r\n * @param value - The value\r\n */\r\n PerfManager.prototype.setCtx = function (key, value) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Get the execution context value\r\n * @param key - The context key\r\n */\r\n PerfManager.prototype.getCtx = function (key) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return PerfManager;\r\n}());\r\nexport { PerfManager };\r\nvar doPerfActiveKey = \"CoreUtils.doPerf\";\r\n/**\r\n * Helper function to wrap a function with a perf event\r\n * @param mgrSource - The Performance Manager or a Performance provider source (may be null)\r\n * @param getSource - The callback to create the source name for the event (if perf monitoring is enabled)\r\n * @param func - The function to call and measure\r\n * @param details - A function to return the payload details\r\n * @param isAsync - Is the event / function being call asynchronously or synchronously\r\n */\r\nexport function doPerf(mgrSource, getSource, func, details, isAsync) {\r\n if (mgrSource) {\r\n var perfMgr = mgrSource;\r\n if (perfMgr[STR_GET_PERF_MGR]) {\r\n // Looks like a perf manager provider object\r\n perfMgr = perfMgr[STR_GET_PERF_MGR]();\r\n }\r\n if (perfMgr) {\r\n var perfEvt = void 0;\r\n var currentActive = perfMgr[_DYN_GET_CTX /* @min:%2egetCtx */](doPerfActiveKey);\r\n try {\r\n perfEvt = perfMgr.create(getSource(), details, isAsync);\r\n if (perfEvt) {\r\n if (currentActive && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strParentContextKey], currentActive);\r\n if (currentActive[_DYN_GET_CTX /* @min:%2egetCtx */] && currentActive[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n var children = currentActive[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (!children) {\r\n children = [];\r\n currentActive[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strChildrenContextKey], children);\r\n }\r\n children[_DYN_PUSH /* @min:%2epush */](perfEvt);\r\n }\r\n }\r\n // Set this event as the active event now\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, perfEvt);\r\n return func(perfEvt);\r\n }\r\n }\r\n catch (ex) {\r\n if (perfEvt && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](\"exception\", ex);\r\n }\r\n }\r\n finally {\r\n // fire the perf event\r\n if (perfEvt) {\r\n perfMgr.fire(perfEvt);\r\n }\r\n // Reset the active event to the previous value\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, currentActive);\r\n }\r\n }\r\n }\r\n return func();\r\n}\r\n/**\r\n * Set the global performance manager to use when there is no core instance or it has not been initialized yet.\r\n * @param perfManager - The IPerfManager instance to use when no performance manager is supplied.\r\n */\r\nexport function setGblPerfMgr(perfManager) {\r\n _defaultPerfManager = perfManager;\r\n}\r\n/**\r\n * Get the current global performance manager that will be used with no performance manager is supplied.\r\n * @returns - The current default manager\r\n */\r\nexport function getGblPerfMgr() {\r\n return _defaultPerfManager;\r\n}\r\n//# sourceMappingURL=PerfManager.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { strSubstr, strSubstring } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { random32 } from \"./RandomHelper\";\r\n// Added to help with minfication\r\nexport var Undefined = strShimUndefined;\r\nexport function newGuid() {\r\n var uuid = generateW3CId();\r\n return strSubstring(uuid, 0, 8) + \"-\" + strSubstring(uuid, 8, 12) + \"-\" + strSubstring(uuid, 12, 16) + \"-\" + strSubstring(uuid, 16, 20) + \"-\" + strSubstring(uuid, 20);\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n if (value && search) {\r\n var len = value[_DYN_LENGTH /* @min:%2elength */];\r\n var start = len - search[_DYN_LENGTH /* @min:%2elength */];\r\n return strSubstring(value, start >= 0 ? start : 0, len) === search;\r\n }\r\n return false;\r\n}\r\n/**\r\n * generate W3C trace id\r\n */\r\nexport function generateW3CId() {\r\n var hexValues = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\r\n // rfc4122 version 4 UUID without dashes and with lowercase letters\r\n var oct = STR_EMPTY, tmp;\r\n for (var a = 0; a < 4; a++) {\r\n tmp = random32();\r\n oct +=\r\n hexValues[tmp & 0xF] +\r\n hexValues[tmp >> 4 & 0xF] +\r\n hexValues[tmp >> 8 & 0xF] +\r\n hexValues[tmp >> 12 & 0xF] +\r\n hexValues[tmp >> 16 & 0xF] +\r\n hexValues[tmp >> 20 & 0xF] +\r\n hexValues[tmp >> 24 & 0xF] +\r\n hexValues[tmp >> 28 & 0xF];\r\n }\r\n // \"Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively\"\r\n var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];\r\n return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + \"4\" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);\r\n}\r\n//# sourceMappingURL=CoreUtils.js.map","import { arrForEach, isArray, isString, strLeft, strTrim } from \"@nevware21/ts-utils\";\r\nimport { _DYN_GET_ATTRIBUTE, _DYN_LENGTH, _DYN_PUSH, _DYN_SPAN_ID, _DYN_SPLIT, _DYN_TO_LOWER_CASE, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_VERSION } from \"../__DynamicConstants\";\r\nimport { generateW3CId } from \"./CoreUtils\";\r\nimport { findMetaTag, findNamedServerTiming } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// using {0,16} for leading and trailing whitespace just to constrain the possible runtime of a random string\r\nvar TRACE_PARENT_REGEX = /^([\\da-f]{2})-([\\da-f]{32})-([\\da-f]{16})-([\\da-f]{2})(-[^\\s]{1,64})?$/i;\r\nvar DEFAULT_VERSION = \"00\";\r\nvar INVALID_VERSION = \"ff\";\r\nvar INVALID_TRACE_ID = \"00000000000000000000000000000000\";\r\nvar INVALID_SPAN_ID = \"0000000000000000\";\r\nvar SAMPLED_FLAG = 0x01;\r\nfunction _isValid(value, len, invalidValue) {\r\n if (value && value[_DYN_LENGTH /* @min:%2elength */] === len && value !== invalidValue) {\r\n return !!value.match(/^[\\da-f]*$/i);\r\n }\r\n return false;\r\n}\r\nfunction _formatValue(value, len, defValue) {\r\n if (_isValid(value, len)) {\r\n return value;\r\n }\r\n return defValue;\r\n}\r\nfunction _formatFlags(value) {\r\n if (isNaN(value) || value < 0 || value > 255) {\r\n value = 0x01;\r\n }\r\n var result = value.toString(16);\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < 2) {\r\n result = \"0\" + result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Create a new ITraceParent instance using the provided values.\r\n * @param traceId - The traceId to use, when invalid a new random W3C id will be generated.\r\n * @param spanId - The parent/span id to use, a new random value will be generated if it is invalid.\r\n * @param flags - The traceFlags to use, defaults to zero (0) if not supplied or invalid\r\n * @param version - The version to used, defaults to version \"01\" if not supplied or invalid.\r\n * @returns\r\n */\r\nexport function createTraceParent(traceId, spanId, flags, version) {\r\n var _a;\r\n return _a = {},\r\n _a[_DYN_VERSION /* @min:version */] = _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,\r\n _a[_DYN_TRACE_ID /* @min:traceId */] = isValidTraceId(traceId) ? traceId : generateW3CId(),\r\n _a[_DYN_SPAN_ID /* @min:spanId */] = isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),\r\n _a.traceFlags = flags >= 0 && flags <= 0xFF ? flags : 1,\r\n _a;\r\n}\r\n/**\r\n * Attempt to parse the provided string as a W3C TraceParent header value (https://www.w3.org/TR/trace-context/#traceparent-header)\r\n *\r\n * @param value - The value to be parsed\r\n * @param selectIdx - If the found value is comma separated which is the preferred entry to select, defaults to the first\r\n * @returns\r\n */\r\nexport function parseTraceParent(value, selectIdx) {\r\n var _a;\r\n if (!value) {\r\n // Don't pass a null/undefined or empty string\r\n return null;\r\n }\r\n if (isArray(value)) {\r\n // The value may have been encoded on the page into an array so handle this automatically\r\n value = value[0] || \"\";\r\n }\r\n if (!value || !isString(value) || value[_DYN_LENGTH /* @min:%2elength */] > 8192) {\r\n // limit potential processing based on total length\r\n return null;\r\n }\r\n if (value.indexOf(\",\") !== -1) {\r\n var values = value[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n value = values[selectIdx > 0 && values[_DYN_LENGTH /* @min:%2elength */] > selectIdx ? selectIdx : 0];\r\n }\r\n // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent\r\n var match = TRACE_PARENT_REGEX.exec(strTrim(value));\r\n if (!match || // No match\r\n match[1] === INVALID_VERSION || // version ff is forbidden\r\n match[2] === INVALID_TRACE_ID || // All zeros is considered to be invalid\r\n match[3] === INVALID_SPAN_ID) { // All zeros is considered to be invalid\r\n return null;\r\n }\r\n return _a = {\r\n version: (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](),\r\n traceId: (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](),\r\n spanId: (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()\r\n },\r\n _a[_DYN_TRACE_FLAGS /* @min:traceFlags */] = parseInt(match[4], 16),\r\n _a;\r\n}\r\n/**\r\n * Is the provided W3c Trace Id a valid string representation, it must be a 32-character string\r\n * of lowercase hexadecimal characters for example, 4bf92f3577b34da6a3ce929d0e0e4736.\r\n * If all characters as zero (00000000000000000000000000000000) it will be considered an invalid value.\r\n * @param value - The W3c trace Id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidTraceId(value) {\r\n return _isValid(value, 32, INVALID_TRACE_ID);\r\n}\r\n/**\r\n * Is the provided W3c span id (aka. parent id) a valid string representation, it must be a 16-character\r\n * string of lowercase hexadecimal characters, for example, 00f067aa0ba902b7.\r\n * If all characters are zero (0000000000000000) this is considered an invalid value.\r\n * @param value - The W3c span id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidSpanId(value) {\r\n return _isValid(value, 16, INVALID_SPAN_ID);\r\n}\r\n/**\r\n * Validates that the provided ITraceParent instance conforms to the currently supported specifications\r\n * @param value\r\n * @returns\r\n */\r\nexport function isValidTraceParent(value) {\r\n if (!value ||\r\n !_isValid(value[_DYN_VERSION /* @min:%2eversion */], 2, INVALID_VERSION) ||\r\n !_isValid(value[_DYN_TRACE_ID /* @min:%2etraceId */], 32, INVALID_TRACE_ID) ||\r\n !_isValid(value[_DYN_SPAN_ID /* @min:%2espanId */], 16, INVALID_SPAN_ID) ||\r\n !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]), 2)) {\r\n // Each known field must contain a valid value\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n * Is the parsed traceParent indicating that the trace is currently sampled.\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function isSampledFlag(value) {\r\n if (isValidTraceParent(value)) {\r\n return (value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] & SAMPLED_FLAG) === SAMPLED_FLAG;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Format the ITraceParent value as a string using the supported and know version formats.\r\n * So even if the passed traceParent is a later version the string value returned from this\r\n * function will convert it to only the known version formats.\r\n * This currently only supports version \"00\" and invalid \"ff\"\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function formatTraceParent(value) {\r\n if (value) {\r\n // Special Note: This only supports formatting as version 00, future versions should encode any known supported version\r\n // So parsing a future version will populate the correct version value but reformatting will reduce it to version 00.\r\n var flags = _formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]);\r\n if (!_isValid(flags, 2)) {\r\n flags = \"01\";\r\n }\r\n var version = value[_DYN_VERSION /* @min:%2eversion */] || DEFAULT_VERSION;\r\n if (version !== \"00\" && version !== \"ff\") {\r\n // Reduce version to \"00\"\r\n version = DEFAULT_VERSION;\r\n }\r\n // Format as version 00\r\n return \"\".concat(version.toLowerCase(), \"-\").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID).toLowerCase(), \"-\").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID).toLowerCase(), \"-\").concat(flags.toLowerCase());\r\n }\r\n return \"\";\r\n}\r\n/**\r\n * Helper function to fetch the passed traceparent from the page, looking for it as a meta-tag or a Server-Timing header.\r\n * @param selectIdx - If the found value is comma separated which is the preferred entry to select, defaults to the first\r\n * @returns\r\n */\r\nexport function findW3cTraceParent(selectIdx) {\r\n var name = \"traceparent\";\r\n var traceParent = parseTraceParent(findMetaTag(name), selectIdx);\r\n if (!traceParent) {\r\n traceParent = parseTraceParent(findNamedServerTiming(name), selectIdx);\r\n }\r\n return traceParent;\r\n}\r\n/**\r\n * Find all script tags in the provided document and return the information about them.\r\n * @param doc\r\n * @returns\r\n */\r\nexport function findAllScripts(doc) {\r\n var scripts = doc.getElementsByTagName(\"script\");\r\n var result = [];\r\n arrForEach(scripts, function (script) {\r\n var src = script[_DYN_GET_ATTRIBUTE /* @min:%2egetAttribute */](\"src\");\r\n if (src) {\r\n var crossOrigin = script[_DYN_GET_ATTRIBUTE /* @min:%2egetAttribute */](\"crossorigin\");\r\n var async = script.hasAttribute(\"async\") === true;\r\n var defer = script.hasAttribute(\"defer\") === true;\r\n var referrerPolicy = script[_DYN_GET_ATTRIBUTE /* @min:%2egetAttribute */](\"referrerpolicy\");\r\n var info = { url: src };\r\n if (crossOrigin) {\r\n info.crossOrigin = crossOrigin;\r\n }\r\n if (async) {\r\n info.async = async;\r\n }\r\n if (defer) {\r\n info.defer = defer;\r\n }\r\n if (referrerPolicy) {\r\n info.referrerPolicy = referrerPolicy;\r\n }\r\n result[_DYN_PUSH /* @min:%2epush */](info);\r\n }\r\n });\r\n return result;\r\n}\r\n//# sourceMappingURL=W3cTraceParent.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { arrForEach, isFunction } from \"@nevware21/ts-utils\";\r\nimport { _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_INITIALIZE, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_SPAN_ID, _DYN_TEARDOWN, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { createElmNodeData } from \"./DataCacheHelper\";\r\nimport { STR_CORE, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { isValidSpanId, isValidTraceId } from \"./W3cTraceParent\";\r\nvar pluginStateData = createElmNodeData(\"plugin\");\r\nexport function _getPluginState(plugin) {\r\n return pluginStateData.get(plugin, \"state\", {}, true);\r\n}\r\n/**\r\n * Initialize the queue of plugins\r\n * @param plugins - The array of plugins to initialize and setting of the next plugin\r\n * @param config - The current config for the instance\r\n * @param core - THe current core instance\r\n * @param extensions - The extensions\r\n */\r\nexport function initializePlugins(processContext, extensions) {\r\n // Set the next plugin and identified the uninitialized plugins\r\n var initPlugins = [];\r\n var lastPlugin = null;\r\n var proxy = processContext[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n var pluginState;\r\n while (proxy) {\r\n var thePlugin = proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (thePlugin) {\r\n if (lastPlugin && lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] && thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]) {\r\n // Set this plugin as the next for the previous one\r\n lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](thePlugin);\r\n }\r\n pluginState = _getPluginState(thePlugin);\r\n var isInitialized = !!pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */];\r\n if (thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]) {\r\n isInitialized = thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]();\r\n }\r\n if (!isInitialized) {\r\n initPlugins[_DYN_PUSH /* @min:%2epush */](thePlugin);\r\n }\r\n lastPlugin = thePlugin;\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n }\r\n // Now initialize the plugins\r\n arrForEach(initPlugins, function (thePlugin) {\r\n var core = processContext[STR_CORE /* @min:%2ecore */]();\r\n thePlugin[_DYN_INITIALIZE /* @min:%2einitialize */](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n pluginState = _getPluginState(thePlugin);\r\n // Only add the core to the state if the plugin didn't set it (doesn't extend from BaseTelemetryPlugin)\r\n if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {\r\n pluginState[STR_CORE] = core;\r\n }\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = true;\r\n delete pluginState[_DYN_TEARDOWN /* @min:%2eteardown */];\r\n });\r\n}\r\nexport function sortPlugins(plugins) {\r\n // Sort by priority\r\n return plugins.sort(function (extA, extB) {\r\n var result = 0;\r\n if (extB) {\r\n var bHasProcess = extB[STR_PROCESS_TELEMETRY];\r\n if (extA[STR_PROCESS_TELEMETRY]) {\r\n result = bHasProcess ? extA[STR_PRIORITY] - extB[STR_PRIORITY] : 1;\r\n }\r\n else if (bHasProcess) {\r\n result = -1;\r\n }\r\n }\r\n else {\r\n result = extA ? 1 : -1;\r\n }\r\n return result;\r\n });\r\n // sort complete\r\n}\r\n/**\r\n * Teardown / Unload helper to perform teardown/unloading operations for the provided components synchronously or asynchronously, this will call any\r\n * _doTeardown() or _doUnload() functions on the provided components to allow them to finish removal.\r\n * @param components - The components you want to unload\r\n * @param unloadCtx - This is the context that should be used during unloading.\r\n * @param unloadState - The details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.\r\n * @param asyncCallback - An optional callback that the plugin must call if it returns true to inform the caller that it has completed any async unload/teardown operations.\r\n * @returns boolean - true if the plugin has or will call asyncCallback, this allows the plugin to perform any asynchronous operations.\r\n */\r\nexport function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {\r\n var idx = 0;\r\n function _doUnload() {\r\n while (idx < components[_DYN_LENGTH /* @min:%2elength */]) {\r\n var component = components[idx++];\r\n if (component) {\r\n var func = component._doUnload || component[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */];\r\n if (isFunction(func)) {\r\n if (func.call(component, unloadCtx, unloadState, _doUnload) === true) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return _doUnload();\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext which optionally also \"sets\" the value on a parent\r\n * @param parentCtx - An optional parent distributed trace instance\r\n * @returns A new IDistributedTraceContext instance that uses an internal temporary object\r\n */\r\nexport function createDistributedTraceContext(parentCtx) {\r\n var trace = {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace[_DYN_TRACE_ID /* @min:%2etraceId */];\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace[_DYN_TRACE_ID /* @min:%2etraceId */] = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace[_DYN_SPAN_ID /* @min:%2espanId */];\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace[_DYN_SPAN_ID /* @min:%2espanId */] = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = newTraceFlags;\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=TelemetryHelpers.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { arrForEach, dumpObj, isArray, isFunction, isNullOrUndefined, isUndefined, objForEachKey, objFreeze, objKeys } from \"@nevware21/ts-utils\";\r\nimport { _applyDefaultValue } from \"../Config/ConfigDefaults\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_IDENTIFIER, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SET_DF, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UNLOAD, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nimport { _throwInternal, safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { proxyFunctions } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_DISABLED, STR_EMPTY, STR_EXTENSION_CONFIG, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { doPerf } from \"./PerfManager\";\r\nimport { _getPluginState } from \"./TelemetryHelpers\";\r\nvar strTelemetryPluginChain = \"TelemetryPluginChain\";\r\nvar strHasRunFlags = \"_hasRun\";\r\nvar strGetTelCtx = \"_getTelCtx\";\r\nvar _chainId = 0;\r\nfunction _getNextProxyStart(proxy, core, startAt) {\r\n while (proxy) {\r\n if (proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]() === startAt) {\r\n return proxy;\r\n }\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n // This wasn't found in the existing chain so create an isolated one with just this plugin\r\n return createTelemetryProxyChain([startAt], core.config || {}, core);\r\n}\r\n/**\r\n * @ignore\r\n * @param telemetryChain\r\n * @param dynamicHandler\r\n * @param core\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n * @returns\r\n */\r\nfunction _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {\r\n // We have a special case where we want to start execution from this specific plugin\r\n // or we simply reuse the existing telemetry plugin chain (normal execution case)\r\n var _nextProxy = null; // By Default set as no next plugin\r\n var _onComplete = [];\r\n if (!dynamicHandler) {\r\n dynamicHandler = createDynamicConfig({}, null, core[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n if (startAt !== null) {\r\n // There is no next element (null) vs not defined (undefined) so use the full chain\r\n _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;\r\n }\r\n var context = {\r\n _next: _moveNext,\r\n ctx: {\r\n core: function () {\r\n return core;\r\n },\r\n diagLog: function () {\r\n return safeGetLogger(core, dynamicHandler.cfg);\r\n },\r\n getCfg: function () {\r\n return dynamicHandler.cfg;\r\n },\r\n getExtCfg: _resolveExtCfg,\r\n getConfig: _getConfig,\r\n hasNext: function () {\r\n return !!_nextProxy;\r\n },\r\n getNext: function () {\r\n return _nextProxy;\r\n },\r\n setNext: function (nextPlugin) {\r\n _nextProxy = nextPlugin;\r\n },\r\n iterate: _iterateChain,\r\n onComplete: _addOnComplete\r\n }\r\n };\r\n function _addOnComplete(onComplete, that) {\r\n var args = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n args[_i - 2] = arguments[_i];\r\n }\r\n if (onComplete) {\r\n _onComplete[_DYN_PUSH /* @min:%2epush */]({\r\n func: onComplete,\r\n self: !isUndefined(that) ? that : context.ctx,\r\n args: args\r\n });\r\n }\r\n }\r\n function _moveNext() {\r\n var nextProxy = _nextProxy;\r\n // Automatically move to the next plugin\r\n _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT /* @min:%2egetNext */]() : null;\r\n if (!nextProxy) {\r\n var onComplete = _onComplete;\r\n if (onComplete && onComplete[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(onComplete, function (completeDetails) {\r\n try {\r\n completeDetails.func.call(completeDetails.self, completeDetails.args);\r\n }\r\n catch (e) {\r\n _throwInternal(core[_DYN_LOGGER /* @min:%2elogger */], 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected Exception during onComplete - \" + dumpObj(e));\r\n }\r\n });\r\n _onComplete = [];\r\n }\r\n }\r\n return nextProxy;\r\n }\r\n function _getExtCfg(identifier, createIfMissing) {\r\n var idCfg = null;\r\n var cfg = dynamicHandler.cfg;\r\n if (cfg && identifier) {\r\n var extCfg = cfg[STR_EXTENSION_CONFIG /* @min:%2eextensionConfig */];\r\n if (!extCfg && createIfMissing) {\r\n extCfg = {};\r\n }\r\n // Always set the value so that the property always exists\r\n cfg[STR_EXTENSION_CONFIG] = extCfg; // Note: it is valid for the \"value\" to be undefined\r\n // Calling `ref()` has a side effect of causing the referenced property to become dynamic (if not already)\r\n extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);\r\n if (extCfg) {\r\n idCfg = extCfg[identifier];\r\n if (!idCfg && createIfMissing) {\r\n idCfg = {};\r\n }\r\n // Always set the value so that the property always exists\r\n extCfg[identifier] = idCfg; // Note: it is valid for the \"value\" to be undefined\r\n // Calling `ref()` has a side effect of causing the referenced property to become dynamic (if not already)\r\n idCfg = dynamicHandler.ref(extCfg, identifier);\r\n }\r\n }\r\n return idCfg;\r\n }\r\n function _resolveExtCfg(identifier, defaultValues) {\r\n var newConfig = _getExtCfg(identifier, true);\r\n if (defaultValues) {\r\n // Enumerate over the defaultValues and if not already populated attempt to\r\n // find a value from the root config or use the default value\r\n objForEachKey(defaultValues, function (field, defaultValue) {\r\n // for each unspecified field, set the default value\r\n if (isNullOrUndefined(newConfig[field])) {\r\n var cfgValue = dynamicHandler.cfg[field];\r\n if (cfgValue || !isNullOrUndefined(cfgValue)) {\r\n newConfig[field] = cfgValue;\r\n }\r\n }\r\n _applyDefaultValue(dynamicHandler, newConfig, field, defaultValue);\r\n });\r\n }\r\n return dynamicHandler[_DYN_SET_DF /* @min:%2esetDf */](newConfig, defaultValues);\r\n }\r\n function _getConfig(identifier, field, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var theValue;\r\n var extConfig = _getExtCfg(identifier, false);\r\n var rootConfig = dynamicHandler.cfg;\r\n if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {\r\n theValue = extConfig[field];\r\n }\r\n else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {\r\n theValue = rootConfig[field];\r\n }\r\n return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;\r\n }\r\n function _iterateChain(cb) {\r\n // Keep processing until we reach the end of the chain\r\n var nextPlugin;\r\n while (!!(nextPlugin = context._next())) {\r\n var plugin = nextPlugin[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (plugin) {\r\n // callback with the current on\r\n cb(plugin);\r\n }\r\n }\r\n }\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {\r\n var config = createDynamicConfig(cfg);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(env) {\r\n var nextPlugin = internalContext._next();\r\n if (nextPlugin) {\r\n // Run the next plugin which will call \"processNext()\"\r\n nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, context);\r\n }\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), config.cfg, core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for handling the unloading of the chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {\r\n var config = createDynamicConfig(core.config);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(unloadState) {\r\n var nextPlugin = internalContext._next();\r\n nextPlugin && nextPlugin[_DYN_UNLOAD /* @min:%2eunload */](context, unloadState);\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for updating the configuration\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {\r\n var config = createDynamicConfig(core.config);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(updateState) {\r\n return context.iterate(function (plugin) {\r\n if (isFunction(plugin[_DYN_UPDATE /* @min:%2eupdate */])) {\r\n plugin[_DYN_UPDATE /* @min:%2eupdate */](context, updateState);\r\n }\r\n });\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates an execution chain from the array of plugins\r\n * @param plugins - The array of plugins that will be executed in this order\r\n * @param defItemCtx - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n */\r\nexport function createTelemetryProxyChain(plugins, config, core, startAt) {\r\n var firstProxy = null;\r\n var add = startAt ? false : true;\r\n if (isArray(plugins) && plugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Create the proxies and wire up the next plugin chain\r\n var lastProxy_1 = null;\r\n arrForEach(plugins, function (thePlugin) {\r\n if (!add && startAt === thePlugin) {\r\n add = true;\r\n }\r\n if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Only add plugins that are processors\r\n var newProxy = createTelemetryPluginProxy(thePlugin, config, core);\r\n if (!firstProxy) {\r\n firstProxy = newProxy;\r\n }\r\n if (lastProxy_1) {\r\n // Set this new proxy as the next for the previous one\r\n lastProxy_1._setNext(newProxy);\r\n }\r\n lastProxy_1 = newProxy;\r\n }\r\n });\r\n }\r\n if (startAt && !firstProxy) {\r\n // Special case where the \"startAt\" was not in the original list of plugins\r\n return createTelemetryProxyChain([startAt], config, core);\r\n }\r\n return firstProxy;\r\n}\r\n/**\r\n * Create the processing telemetry proxy instance, the proxy is used to abstract the current plugin to allow monitoring and\r\n * execution plugins while passing around the dynamic execution state (IProcessTelemetryContext), the proxy instance no longer\r\n * contains any execution state and can be reused between requests (this was not the case for 2.7.2 and earlier with the\r\n * TelemetryPluginChain class).\r\n * @param plugin - The plugin instance to proxy\r\n * @param config - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n * @returns\r\n */\r\nexport function createTelemetryPluginProxy(plugin, config, core) {\r\n var nextProxy = null;\r\n var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]);\r\n var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */]);\r\n var chainId;\r\n if (plugin) {\r\n chainId = plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"-\" + plugin[STR_PRIORITY /* @min:%2epriority */] + \"-\" + _chainId++;\r\n }\r\n else {\r\n chainId = \"Unknown-0-\" + _chainId++;\r\n }\r\n var proxyChain = {\r\n getPlugin: function () {\r\n return plugin;\r\n },\r\n getNext: function () {\r\n return nextProxy;\r\n },\r\n processTelemetry: _processTelemetry,\r\n unload: _unloadPlugin,\r\n update: _updatePlugin,\r\n _id: chainId,\r\n _setNext: function (nextPlugin) {\r\n nextProxy = nextPlugin;\r\n }\r\n };\r\n function _getTelCtx() {\r\n var itemCtx;\r\n // Looks like a plugin didn't pass the (optional) context, so create a new one\r\n if (plugin && isFunction(plugin[strGetTelCtx])) {\r\n // This plugin extends from the BaseTelemetryPlugin so lets use it\r\n itemCtx = plugin[strGetTelCtx]();\r\n }\r\n if (!itemCtx) {\r\n // Create a temporary one\r\n itemCtx = createProcessTelemetryContext(proxyChain, config, core);\r\n }\r\n return itemCtx;\r\n }\r\n function _processChain(itemCtx, processPluginFn, name, details, isAsync) {\r\n var hasRun = false;\r\n var identifier = plugin ? plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] : strTelemetryPluginChain;\r\n var hasRunContext = itemCtx[strHasRunFlags];\r\n if (!hasRunContext) {\r\n // Assign and populate\r\n hasRunContext = itemCtx[strHasRunFlags] = {};\r\n }\r\n // Ensure that we keep the context in sync\r\n itemCtx.setNext(nextProxy);\r\n if (plugin) {\r\n doPerf(itemCtx[STR_CORE /* @min:%2ecore */](), function () { return identifier + \":\" + name; }, function () {\r\n // Mark this component as having run\r\n hasRunContext[chainId] = true;\r\n try {\r\n // Set a flag on the next plugin so we know if it was attempted to be executed\r\n var nextId = nextProxy ? nextProxy._id : STR_EMPTY;\r\n if (nextId) {\r\n hasRunContext[nextId] = false;\r\n }\r\n hasRun = processPluginFn(itemCtx);\r\n }\r\n catch (error) {\r\n var hasNextRun = nextProxy ? hasRunContext[nextProxy._id] : true;\r\n if (hasNextRun) {\r\n // The next plugin after us has already run so set this one as complete\r\n hasRun = true;\r\n }\r\n if (!nextProxy || !hasNextRun) {\r\n // Either we have no next plugin or the current one did not attempt to call the next plugin\r\n // Which means the current one is the root of the failure so log/report this failure\r\n _throwInternal(itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 73 /* _eInternalMessageId.PluginException */, \"Plugin [\" + identifier + \"] failed during \" + name + \" - \" + dumpObj(error) + \", run flags: \" + dumpObj(hasRunContext));\r\n }\r\n }\r\n }, details, isAsync);\r\n }\r\n return hasRun;\r\n }\r\n function _processTelemetry(env, itemCtx) {\r\n itemCtx = itemCtx || _getTelCtx();\r\n function _callProcessTelemetry(itemCtx) {\r\n if (!plugin || !hasProcessTelemetry) {\r\n return false;\r\n }\r\n var pluginState = _getPluginState(plugin);\r\n if (pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] || pluginState[STR_DISABLED]) {\r\n return false;\r\n }\r\n // Ensure that we keep the context in sync (for processNext()), just in case a plugin\r\n // doesn't calls processTelemetry() instead of itemContext.processNext() or some\r\n // other form of error occurred\r\n if (hasSetNext) {\r\n // Backward compatibility setting the next plugin on the instance\r\n plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](nextProxy);\r\n }\r\n plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, itemCtx);\r\n // Process Telemetry is expected to call itemCtx.processNext() or nextPlugin.processTelemetry()\r\n return true;\r\n }\r\n if (!_processChain(itemCtx, _callProcessTelemetry, \"processTelemetry\", function () { return ({ item: env }); }, !(env.sync))) {\r\n // The underlying plugin is either not defined, not enabled or does not have a processTelemetry implementation\r\n // so we still want the next plugin to be executed.\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n }\r\n function _unloadPlugin(unloadCtx, unloadState) {\r\n function _callTeardown() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only teardown the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n // Handle plugins that don't extend from the BaseTelemetryPlugin\r\n pluginState[STR_CORE /* @min:%2ecore */] = null;\r\n pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] = true;\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = false;\r\n if (plugin[_DYN_TEARDOWN /* @min:%2eteardown */] && plugin[_DYN_TEARDOWN /* @min:%2eteardown */](unloadCtx, unloadState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(unloadCtx, _callTeardown, \"unload\", function () { }, unloadState[_DYN_IS_ASYNC /* @min:%2eisAsync */])) {\r\n // Only called if we hasRun was not true\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n }\r\n function _updatePlugin(updateCtx, updateState) {\r\n function _callUpdate() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only update the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n if (plugin[_DYN_UPDATE /* @min:%2eupdate */] && plugin[_DYN_UPDATE /* @min:%2eupdate */](updateCtx, updateState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(updateCtx, _callUpdate, \"update\", function () { }, false)) {\r\n // Only called if we hasRun was not true\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n return objFreeze(proxyChain);\r\n}\r\n/**\r\n * This class will be removed!\r\n * @deprecated use createProcessTelemetryContext() instead\r\n */\r\nvar ProcessTelemetryContext = /** @class */ (function () {\r\n /**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n */\r\n function ProcessTelemetryContext(pluginChain, config, core, startAt) {\r\n var _self = this;\r\n var context = createProcessTelemetryContext(pluginChain, config, core, startAt);\r\n // Proxy all functions of the context to this object\r\n proxyFunctions(_self, context, objKeys(context));\r\n }\r\n return ProcessTelemetryContext;\r\n}());\r\nexport { ProcessTelemetryContext };\r\n//# sourceMappingURL=ProcessTelemetryContext.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrAppend, arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nvar _maxHooks;\r\nvar _hookAddMonitor;\r\n/**\r\n * Test hook for setting the maximum number of unload hooks and calling a monitor function when the hooks are added or removed\r\n * This allows for automatic test failure when the maximum number of unload hooks is exceeded\r\n * @param maxHooks - The maximum number of unload hooks\r\n * @param addMonitor - The monitor function to call when hooks are added or removed\r\n */\r\nexport function _testHookMaxUnloadHooksCb(maxHooks, addMonitor) {\r\n _maxHooks = maxHooks;\r\n _hookAddMonitor = addMonitor;\r\n}\r\n/**\r\n * Create a IUnloadHookContainer which can be used to remember unload hook functions to be executed during the component unloading\r\n * process.\r\n * @returns A new IUnloadHookContainer instance\r\n */\r\nexport function createUnloadHookContainer() {\r\n var _hooks = [];\r\n function _doUnload(logger) {\r\n var oldHooks = _hooks;\r\n _hooks = [];\r\n // Remove all registered unload hooks\r\n arrForEach(oldHooks, function (fn) {\r\n // allow either rm or remove callback function\r\n try {\r\n (fn.rm || fn.remove).call(fn);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unloading:\" + dumpObj(e));\r\n }\r\n });\r\n if (_maxHooks && oldHooks[_DYN_LENGTH /* @min:%2elength */] > _maxHooks) {\r\n _hookAddMonitor ? _hookAddMonitor(\"doUnload\", oldHooks) : _throwInternal(null, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.MaxUnloadHookExceeded */, \"Max unload hooks exceeded. An excessive number of unload hooks has been detected.\");\r\n }\r\n }\r\n function _addHook(hooks) {\r\n if (hooks) {\r\n arrAppend(_hooks, hooks);\r\n if (_maxHooks && _hooks[_DYN_LENGTH /* @min:%2elength */] > _maxHooks) {\r\n _hookAddMonitor ? _hookAddMonitor(\"Add\", _hooks) : _throwInternal(null, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.MaxUnloadHookExceeded */, \"Max unload hooks exceeded. An excessive number of unload hooks has been detected.\");\r\n }\r\n }\r\n }\r\n return {\r\n run: _doUnload,\r\n add: _addHook\r\n };\r\n}\r\n//# sourceMappingURL=UnloadHookContainer.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nvar _a;\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { isFunction, objDefine } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PROCESS_TEL_CONT2, _DYN_INITIALIZE, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_PROCESS_NEXT, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UPDATE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { isNotNullOrUndefined, proxyFunctionAs } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_EXTENSION_CONFIG, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext } from \"./ProcessTelemetryContext\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nimport { createUnloadHookContainer } from \"./UnloadHookContainer\";\r\nvar strGetPlugin = \"getPlugin\";\r\nvar defaultValues = (_a = {},\r\n _a[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: {} },\r\n _a);\r\n/**\r\n * BaseTelemetryPlugin provides a basic implementation of the ITelemetryPlugin interface so that plugins\r\n * can avoid implementation the same set of boiler plate code as well as provide a base\r\n * implementation so that new default implementations can be added without breaking all plugins.\r\n */\r\nvar BaseTelemetryPlugin = /** @class */ (function () {\r\n function BaseTelemetryPlugin() {\r\n var _self = this; // Setting _self here as it's used outside of the dynamicProto as well\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _isinitialized;\r\n var _rootCtx; // Used as the root context, holding the current config and initialized core\r\n var _nextPlugin; // Used for backward compatibility where plugins don't call the main pipeline\r\n var _unloadHandlerContainer;\r\n var _hookContainer;\r\n _initDefaults();\r\n dynamicProto(BaseTelemetryPlugin, _self, function (_self) {\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, core, extensions, pluginChain) {\r\n _setDefaults(config, core, pluginChain);\r\n _isinitialized = true;\r\n };\r\n _self[_DYN_TEARDOWN /* @min:%2eteardown */] = function (unloadCtx, unloadState) {\r\n var _a;\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (unloadCtx && core !== unloadCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing as either the plugin is not initialized or was not initialized by the current core\r\n return;\r\n }\r\n var result;\r\n var unloadDone = false;\r\n var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUnloadState = unloadState || (_a = {\r\n reason: 0 /* TelemetryUnloadReason.ManualTeardown */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = false,\r\n _a);\r\n function _unloadCallback() {\r\n if (!unloadDone) {\r\n unloadDone = true;\r\n _unloadHandlerContainer.run(theUnloadCtx, unloadState);\r\n _hookContainer.run(theUnloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]());\r\n if (result === true) {\r\n theUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n }\r\n _initDefaults();\r\n }\r\n }\r\n if (!_self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] || _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {\r\n _unloadCallback();\r\n }\r\n else {\r\n // Tell the caller that we will be calling processNext()\r\n result = true;\r\n }\r\n return result;\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (updateCtx, updateState) {\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (updateCtx && core !== updateCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing\r\n return;\r\n }\r\n var result;\r\n var updateDone = false;\r\n var theUpdateCtx = updateCtx || createProcessTelemetryUpdateContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUpdateState = updateState || {\r\n reason: 0 /* TelemetryUpdateReason.Unknown */\r\n };\r\n function _updateCallback() {\r\n if (!updateDone) {\r\n updateDone = true;\r\n _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n }\r\n }\r\n if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {\r\n _updateCallback();\r\n }\r\n else {\r\n result = true;\r\n }\r\n return result;\r\n };\r\n proxyFunctionAs(_self, \"_addUnloadCb\", function () { return _unloadHandlerContainer; }, \"add\");\r\n proxyFunctionAs(_self, \"_addHook\", function () { return _hookContainer; }, \"add\");\r\n objDefine(_self, \"_unloadHooks\", { g: function () { return _hookContainer; } });\r\n });\r\n // These are added after the dynamicProto so that are not moved to the prototype\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */] = function (itemCtx) {\r\n return _getTelCtx(itemCtx)[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n };\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () {\r\n return _isinitialized;\r\n };\r\n _self.setInitialized = function (isInitialized) {\r\n _isinitialized = isInitialized;\r\n };\r\n // _self.getNextPlugin = () => DO NOT IMPLEMENT\r\n // Sub-classes of this base class *should* not be relying on this value and instead\r\n // should use processNext() function. If you require access to the plugin use the\r\n // IProcessTelemetryContext.getNext().getPlugin() while in the pipeline, Note getNext() may return null.\r\n _self[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] = function (next) {\r\n _nextPlugin = next;\r\n };\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = function (env, itemCtx) {\r\n if (itemCtx) {\r\n // Normal core execution sequence\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Looks like backward compatibility or out of band processing. And as it looks\r\n // like a ITelemetryPlugin or ITelemetryPluginChain, just call processTelemetry\r\n _nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, null);\r\n }\r\n };\r\n _self._getTelCtx = _getTelCtx;\r\n function _getTelCtx(currentCtx) {\r\n if (currentCtx === void 0) { currentCtx = null; }\r\n var itemCtx = currentCtx;\r\n if (!itemCtx) {\r\n var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE /* @min:%2ecore */]);\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // Looks like a chain object\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin[strGetPlugin]);\r\n }\r\n else {\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin);\r\n }\r\n }\r\n return itemCtx;\r\n }\r\n function _setDefaults(config, core, pluginChain) {\r\n // Make sure the extensionConfig exists and the config is dynamic\r\n createDynamicConfig(config, defaultValues, safeGetLogger(core));\r\n if (!pluginChain && core) {\r\n // Get the first plugin from the core\r\n pluginChain = core[_DYN_GET_PROCESS_TEL_CONT2 /* @min:%2egetProcessTelContext */]()[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n var nextPlugin = _nextPlugin;\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // If it looks like a proxy/chain then get the plugin\r\n nextPlugin = _nextPlugin[strGetPlugin]();\r\n }\r\n // Support legacy plugins where core was defined as a property\r\n _self[STR_CORE /* @min:%2ecore */] = core;\r\n _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);\r\n }\r\n function _initDefaults() {\r\n _isinitialized = false;\r\n _self[STR_CORE /* @min:%2ecore */] = null;\r\n _rootCtx = null;\r\n _nextPlugin = null;\r\n _hookContainer = createUnloadHookContainer();\r\n _unloadHandlerContainer = createUnloadHandlerContainer();\r\n }\r\n }\r\n BaseTelemetryPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Tear down the plugin and remove any hooked value, the plugin should be removed so that it is no longer initialized and\r\n * therefore could be re-initialized after being torn down. The plugin should ensure that once this has been called any further\r\n * processTelemetry calls are ignored and it just calls the processNext() with the provided context.\r\n * @param unloadCtx - This is the context that should be used during unloading.\r\n * @param unloadState - The details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.\r\n * @returns boolean - true if the plugin has or will call processNext(), this for backward compatibility as previously teardown was synchronous and returned nothing.\r\n */\r\n BaseTelemetryPlugin.prototype.teardown = function (unloadCtx, unloadState) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return false;\r\n };\r\n /**\r\n * The the plugin should re-evaluate configuration and update any cached configuration settings.\r\n * @param updateCtx - This is the context that should be used during updating.\r\n * @param updateState - The details / state of the update process, it holds details like the current and previous configuration.\r\n * @returns boolean - true if the plugin has or will call updateCtx.processNext(), this allows the plugin to perform any asynchronous operations.\r\n */\r\n BaseTelemetryPlugin.prototype.update = function (updateCtx, updateState) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add an unload handler that will be called when the SDK is being unloaded\r\n * @param handler - the handler\r\n */\r\n BaseTelemetryPlugin.prototype._addUnloadCb = function (handler) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add this hook so that it is automatically removed during unloading\r\n * @param hooks - The single hook or an array of IInstrumentHook objects\r\n */\r\n BaseTelemetryPlugin.prototype._addHook = function (hooks) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return BaseTelemetryPlugin;\r\n}());\r\nexport { BaseTelemetryPlugin };\r\n//# sourceMappingURL=BaseTelemetryPlugin.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_DIAG_LOG, _DYN_PUSH } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nexport function createUnloadHandlerContainer() {\r\n var handlers = [];\r\n function _addHandler(handler) {\r\n if (handler) {\r\n handlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n function _runHandlers(unloadCtx, unloadState) {\r\n arrForEach(handlers, function (handler) {\r\n try {\r\n handler(unloadCtx, unloadState);\r\n }\r\n catch (e) {\r\n _throwInternal(unloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected error calling unload handler - \" + dumpObj(e));\r\n }\r\n });\r\n handlers = [];\r\n }\r\n return {\r\n add: _addHandler,\r\n run: _runHandlers\r\n };\r\n}\r\n//# sourceMappingURL=UnloadHandlerContainer.js.map","/**\r\n* ReactPlugin.ts\r\n* @copyright Microsoft 2019\r\n*/\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPluginIdentifier } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _throwInternal, isFunction, proxyFunctions, safeGetCookieMgr, onConfigChange, objDefineAccessors } from \"@microsoft/applicationinsights-core-js\";\r\nimport { objDeepFreeze } from \"@nevware21/ts-utils\";\r\nvar defaultReactExtensionConfig = objDeepFreeze({\r\n history: { blkVal: true, v: undefined }\r\n});\r\nvar ReactPlugin = /** @class */ (function (_super) {\r\n __extends(ReactPlugin, _super);\r\n function ReactPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 185;\r\n _this.identifier = 'ReactPlugin';\r\n var _analyticsPlugin;\r\n var _extensionConfig;\r\n var _unlisten;\r\n var _pageViewTimer;\r\n var _pageViewTracked;\r\n dynamicProto(ReactPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _super.prototype.initialize.call(_this, config, core, extensions, pluginChain);\r\n _self._addHook(onConfigChange(config, function (details) {\r\n var _a;\r\n var ctx = _self._getTelCtx();\r\n _extensionConfig = ctx.getExtCfg(_this.identifier, defaultReactExtensionConfig);\r\n _analyticsPlugin = (_a = core.getPlugin(AnalyticsPluginIdentifier)) === null || _a === void 0 ? void 0 : _a.plugin;\r\n if (isFunction(_unlisten)) {\r\n _unlisten();\r\n _unlisten = null;\r\n }\r\n if (_extensionConfig.history) {\r\n _addHistoryListener(_extensionConfig.history);\r\n if (!_pageViewTracked) {\r\n var pageViewTelemetry = {\r\n uri: _extensionConfig.history.location.pathname\r\n };\r\n _self.trackPageView(pageViewTelemetry);\r\n _pageViewTracked = true;\r\n }\r\n }\r\n }));\r\n };\r\n _self.getCookieMgr = function () {\r\n return safeGetCookieMgr(_self.core);\r\n };\r\n _self.getAppInsights = _getAnalytics;\r\n _self.processTelemetry = function (event, itemCtx) {\r\n _self.processNext(event, itemCtx);\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState, asyncCallback) {\r\n if (isFunction(_unlisten)) {\r\n _unlisten();\r\n }\r\n if (_pageViewTimer) {\r\n clearTimeout(_pageViewTimer);\r\n }\r\n _initDefaults();\r\n };\r\n // Proxy the analytics functions\r\n proxyFunctions(_self, _getAnalytics, [\r\n \"trackMetric\",\r\n \"trackPageView\",\r\n \"trackEvent\",\r\n \"trackException\",\r\n \"trackTrace\",\r\n ]);\r\n function _initDefaults() {\r\n _analyticsPlugin = null;\r\n _extensionConfig = null;\r\n _unlisten = null;\r\n _pageViewTimer = null;\r\n _pageViewTracked = false;\r\n }\r\n function _getAnalytics() {\r\n if (!_analyticsPlugin) {\r\n _throwInternal(_self.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"Analytics plugin is not available, React plugin telemetry will not be sent: \");\r\n }\r\n return _analyticsPlugin;\r\n }\r\n function _addHistoryListener(history) {\r\n var locationListener = function (arg) {\r\n // v4 of the history API passes \"location\" as the first argument, while v5 passes an object that contains location and action \r\n var locn = null;\r\n if (\"location\" in arg) {\r\n // Looks like v5\r\n locn = arg[\"location\"];\r\n }\r\n else {\r\n locn = arg;\r\n }\r\n // Timeout to ensure any changes to the DOM made by route changes get included in pageView telemetry\r\n _pageViewTimer = setTimeout(function () {\r\n _pageViewTimer = null;\r\n var pageViewTelemetry = { uri: locn.pathname };\r\n _self.trackPageView(pageViewTelemetry);\r\n }, 500);\r\n };\r\n _unlisten = history.listen(locationListener);\r\n }\r\n objDefineAccessors(_self, \"_extensionConfig\", function () { return _extensionConfig; });\r\n });\r\n return _this;\r\n }\r\n ReactPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Get the current cookie manager for this instance\r\n */\r\n ReactPlugin.prototype.getCookieMgr = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Get application insights instance.\r\n */\r\n ReactPlugin.prototype.getAppInsights = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Add Part A fields to the event\r\n * @param event The event that needs to be processed\r\n */\r\n ReactPlugin.prototype.processTelemetry = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ReactPlugin.prototype.trackMetric = function (metric, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ReactPlugin.prototype.trackPageView = function (pageView) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ReactPlugin.prototype.trackEvent = function (event, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ReactPlugin.prototype.trackException = function (exception, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ReactPlugin.prototype.trackTrace = function (trace, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return ReactPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport default ReactPlugin;\r\n//# sourceMappingURL=ReactPlugin.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { createEnum, createTypeMap } from \"@nevware21/ts-utils\";\r\n/**\r\n * Create an enum style object which has both the key => value and value => key mappings\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport var createEnumStyle = createEnum;\r\n/**\r\n * Create a 2 index map that maps an enum's key and value to the defined map value, X[\"key\"] => mapValue and X[0] => mapValue.\r\n * Generic values\r\n * - E = the const enum type (typeof eRequestHeaders);\r\n * - V = Identifies the valid values for the keys, this should include both the enum numeric and string key of the type. The\r\n * resulting \"Value\" of each entry identifies the valid values withing the assignments.\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport var createValueMap = createTypeMap;\r\n//# sourceMappingURL=EnumHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { createEnumStyle } from \"@microsoft/applicationinsights-core-js\";\r\nexport var StorageType = createEnumStyle({\r\n LocalStorage: 0 /* eStorageType.LocalStorage */,\r\n SessionStorage: 1 /* eStorageType.SessionStorage */\r\n});\r\nexport var DistributedTracingModes = createEnumStyle({\r\n AI: 0 /* eDistributedTracingModes.AI */,\r\n AI_AND_W3C: 1 /* eDistributedTracingModes.AI_AND_W3C */,\r\n W3C: 2 /* eDistributedTracingModes.W3C */\r\n});\r\n/**\r\n * The EventPersistence contains a set of values that specify the event's persistence.\r\n */\r\nexport var EventPersistence = createEnumStyle({\r\n /**\r\n * Normal persistence.\r\n */\r\n Normal: 1 /* EventPersistenceValue.Normal */,\r\n /**\r\n * Critical persistence.\r\n */\r\n Critical: 2 /* EventPersistenceValue.Critical */\r\n});\r\n//# sourceMappingURL=Enums.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_SPLIT = \"split\"; // Count: 6\r\nexport var _DYN_LENGTH = \"length\"; // Count: 41\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_INGESTIONENDPOINT = \"ingestionendpoint\"; // Count: 6\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 9\r\nexport var _DYN_PUSH = \"push\"; // Count: 5\r\nexport var _DYN_REMOVE_ITEM = \"removeItem\"; // Count: 3\r\nexport var _DYN_NAME = \"name\"; // Count: 11\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 10\r\nexport var _DYN_COUNT = \"count\"; // Count: 8\r\nexport var _DYN_PRE_TRIGGER_DATE = \"preTriggerDate\"; // Count: 4\r\nexport var _DYN_DISABLED = \"disabled\"; // Count: 3\r\nexport var _DYN_INTERVAL = \"interval\"; // Count: 3\r\nexport var _DYN_DAYS_OF_MONTH = \"daysOfMonth\"; // Count: 3\r\nexport var _DYN_DATE = \"date\"; // Count: 5\r\nexport var _DYN_GET_UTCDATE = \"getUTCDate\"; // Count: 3\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 4\r\nexport var _DYN_PATHNAME = \"pathname\"; // Count: 4\r\nexport var _DYN_CORRELATION_HEADER_E0 = \"correlationHeaderExcludePatterns\"; // Count: 2\r\nexport var _DYN_EXTENSION_CONFIG = \"extensionConfig\"; // Count: 4\r\nexport var _DYN_EXCEPTIONS = \"exceptions\"; // Count: 6\r\nexport var _DYN_PARSED_STACK = \"parsedStack\"; // Count: 13\r\nexport var _DYN_PROPERTIES = \"properties\"; // Count: 9\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 9\r\nexport var _DYN_SIZE_IN_BYTES = \"sizeInBytes\"; // Count: 11\r\nexport var _DYN_TYPE_NAME = \"typeName\"; // Count: 11\r\nexport var _DYN_SEVERITY_LEVEL = \"severityLevel\"; // Count: 5\r\nexport var _DYN_PROBLEM_GROUP = \"problemGroup\"; // Count: 3\r\nexport var _DYN_IS_MANUAL = \"isManual\"; // Count: 3\r\nexport var _DYN__CREATE_FROM_INTERFA1 = \"CreateFromInterface\"; // Count: 2\r\nexport var _DYN_ASSEMBLY = \"assembly\"; // Count: 7\r\nexport var _DYN_FILE_NAME = \"fileName\"; // Count: 8\r\nexport var _DYN_HAS_FULL_STACK = \"hasFullStack\"; // Count: 6\r\nexport var _DYN_LEVEL = \"level\"; // Count: 5\r\nexport var _DYN_METHOD = \"method\"; // Count: 7\r\nexport var _DYN_LINE = \"line\"; // Count: 6\r\nexport var _DYN_DURATION = \"duration\"; // Count: 4\r\nexport var _DYN_RECEIVED_RESPONSE = \"receivedResponse\"; // Count: 2\r\n//# sourceMappingURL=__DynamicConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { _throwInternal, dumpObj, getExceptionName, getGlobal, getGlobalInst, isNullOrUndefined, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { StorageType } from \"./Enums\";\r\nimport { _DYN_PUSH, _DYN_REMOVE_ITEM, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar _canUseLocalStorage = undefined;\r\nvar _canUseSessionStorage = undefined;\r\nvar _storagePrefix = \"\";\r\n/**\r\n * Gets the localStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getLocalStorageObject() {\r\n if (utlCanUseLocalStorage()) {\r\n return _getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Tests storage object (localStorage or sessionStorage) to verify that it is usable\r\n * More details here: https://mathiasbynens.be/notes/localstorage-pattern\r\n * @param storageType - Type of storage\r\n * @return {Storage} Returns storage object verified that it is usable\r\n */\r\nfunction _getVerifiedStorageObject(storageType) {\r\n try {\r\n if (isNullOrUndefined(getGlobal())) {\r\n return null;\r\n }\r\n var uid = (new Date)[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var storage = getGlobalInst(storageType === StorageType.LocalStorage ? \"localStorage\" : \"sessionStorage\");\r\n var name_1 = _storagePrefix + uid;\r\n storage.setItem(name_1, uid);\r\n var fail = storage.getItem(name_1) !== uid;\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name_1);\r\n if (!fail) {\r\n return storage;\r\n }\r\n }\r\n catch (exception) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\n/**\r\n * Gets the sessionStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getSessionStorageObject() {\r\n if (utlCanUseSessionStorage()) {\r\n return _getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Disables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlDisableStorage() {\r\n _canUseLocalStorage = false;\r\n _canUseSessionStorage = false;\r\n}\r\nexport function utlSetStoragePrefix(storagePrefix) {\r\n _storagePrefix = storagePrefix || \"\";\r\n}\r\n/**\r\n * Re-enables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlEnableStorage() {\r\n _canUseLocalStorage = utlCanUseLocalStorage(true);\r\n _canUseSessionStorage = utlCanUseSessionStorage(true);\r\n}\r\n/**\r\n * Returns whether LocalStorage can be used, if the reset parameter is passed a true this will override\r\n * any previous disable calls.\r\n * @param reset - Should the usage be reset and determined only based on whether LocalStorage is available\r\n */\r\nexport function utlCanUseLocalStorage(reset) {\r\n if (reset || _canUseLocalStorage === undefined) {\r\n _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return _canUseLocalStorage;\r\n}\r\nexport function utlGetLocalStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 1 /* _eInternalMessageId.BrowserCannotReadLocalStorage */, \"Browser failed read of local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetLocalStorage(logger, name, data) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 3 /* _eInternalMessageId.BrowserCannotWriteLocalStorage */, \"Browser failed write to local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 5 /* _eInternalMessageId.BrowserFailedRemovalFromLocalStorage */, \"Browser failed removal of local storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlCanUseSessionStorage(reset) {\r\n if (reset || _canUseSessionStorage === undefined) {\r\n _canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return _canUseSessionStorage;\r\n}\r\nexport function utlGetSessionStorageKeys() {\r\n var keys = [];\r\n if (utlCanUseSessionStorage()) {\r\n objForEachKey(getGlobalInst(\"sessionStorage\"), function (key) {\r\n keys[_DYN_PUSH /* @min:%2epush */](key);\r\n });\r\n }\r\n return keys;\r\n}\r\nexport function utlGetSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 2 /* _eInternalMessageId.BrowserCannotReadSessionStorage */, \"Browser failed read of session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetSessionStorage(logger, name, data) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 4 /* _eInternalMessageId.BrowserCannotWriteSessionStorage */, \"Browser failed write to session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 6 /* _eInternalMessageId.BrowserFailedRemovalFromSessionStorage */, \"Browser failed removal of session storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=StorageHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * This is an internal property used to cause internal (reporting) requests to be ignored from reporting\r\n * additional telemetry, to handle polyfil implementations ALL urls used with a disabled request will\r\n * also be ignored for future requests even when this property is not provided.\r\n * Tagging as Ignore as this is an internal value and is not expected to be used outside of the SDK\r\n * @ignore\r\n */\r\nexport var DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nexport var SampleRate = \"sampleRate\";\r\nexport var ProcessLegacy = \"ProcessLegacy\";\r\nexport var HttpMethod = \"http.method\";\r\nexport var DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\r\nexport var DEFAULT_BREEZE_PATH = \"/v2/track\";\r\nexport var strNotSpecified = \"not_specified\";\r\nexport var strIkey = \"iKey\";\r\n//# sourceMappingURL=Constants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { _throwInternal, getJSON, hasJSON, isObject, objForEachKey, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { asString, strSubstr, strSubstring } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH, _DYN_STRINGIFY, _DYN_TO_STRING } from \"../../__DynamicConstants\";\r\nexport function dataSanitizeKeyAndAddUniqueness(logger, key, map) {\r\n var origLength = key[_DYN_LENGTH /* @min:%2elength */];\r\n var field = dataSanitizeKey(logger, key);\r\n // validation truncated the length. We need to add uniqueness\r\n if (field[_DYN_LENGTH /* @min:%2elength */] !== origLength) {\r\n var i = 0;\r\n var uniqueField = field;\r\n while (map[uniqueField] !== undefined) {\r\n i++;\r\n uniqueField = strSubstring(field, 0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ - 3) + dsPadNumber(i);\r\n }\r\n field = uniqueField;\r\n }\r\n return field;\r\n}\r\nexport function dataSanitizeKey(logger, name) {\r\n var nameTrunc;\r\n if (name) {\r\n // Remove any leading or trailing whitespace\r\n name = strTrim(asString(name));\r\n // truncate the string to 150 chars\r\n if (name[_DYN_LENGTH /* @min:%2elength */] > 150 /* DataSanitizerValues.MAX_NAME_LENGTH */) {\r\n nameTrunc = strSubstring(name, 0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 57 /* _eInternalMessageId.NameTooLong */, \"name is too long. It has been truncated to \" + 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ + \" characters.\", { name: name }, true);\r\n }\r\n }\r\n return nameTrunc || name;\r\n}\r\nexport function dataSanitizeString(logger, value, maxLength) {\r\n if (maxLength === void 0) { maxLength = 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; }\r\n var valueTrunc;\r\n if (value) {\r\n maxLength = maxLength ? maxLength : 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; // in case default parameters dont work\r\n value = strTrim(asString(value));\r\n if (value[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n valueTrunc = strSubstring(value, 0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 61 /* _eInternalMessageId.StringValueTooLong */, \"string value is too long. It has been truncated to \" + maxLength + \" characters.\", { value: value }, true);\r\n }\r\n }\r\n return valueTrunc || value;\r\n}\r\nexport function dataSanitizeUrl(logger, url) {\r\n return dataSanitizeInput(logger, url, 2048 /* DataSanitizerValues.MAX_URL_LENGTH */, 66 /* _eInternalMessageId.UrlTooLong */);\r\n}\r\nexport function dataSanitizeMessage(logger, message) {\r\n var messageTrunc;\r\n if (message) {\r\n if (message[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */) {\r\n messageTrunc = strSubstring(message, 0, 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 56 /* _eInternalMessageId.MessageTruncated */, \"message is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */ + \" characters.\", { message: message }, true);\r\n }\r\n }\r\n return messageTrunc || message;\r\n}\r\nexport function dataSanitizeException(logger, exception) {\r\n var exceptionTrunc;\r\n if (exception) {\r\n // Make surte its a string\r\n var value = \"\" + exception;\r\n if (value[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */) {\r\n exceptionTrunc = strSubstring(value, 0, 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 52 /* _eInternalMessageId.ExceptionTruncated */, \"exception is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */ + \" characters.\", { exception: exception }, true);\r\n }\r\n }\r\n return exceptionTrunc || exception;\r\n}\r\nexport function dataSanitizeProperties(logger, properties) {\r\n if (properties) {\r\n var tempProps_1 = {};\r\n objForEachKey(properties, function (prop, value) {\r\n if (isObject(value) && hasJSON()) {\r\n // Stringify any part C properties\r\n try {\r\n value = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"custom property is not valid\", { exception: e }, true);\r\n }\r\n }\r\n value = dataSanitizeString(logger, value, 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */);\r\n prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);\r\n tempProps_1[prop] = value;\r\n });\r\n properties = tempProps_1;\r\n }\r\n return properties;\r\n}\r\nexport function dataSanitizeMeasurements(logger, measurements) {\r\n if (measurements) {\r\n var tempMeasurements_1 = {};\r\n objForEachKey(measurements, function (measure, value) {\r\n measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);\r\n tempMeasurements_1[measure] = value;\r\n });\r\n measurements = tempMeasurements_1;\r\n }\r\n return measurements;\r\n}\r\nexport function dataSanitizeId(logger, id) {\r\n return id ? dataSanitizeInput(logger, id, 128 /* DataSanitizerValues.MAX_ID_LENGTH */, 69 /* _eInternalMessageId.IdTooLong */)[_DYN_TO_STRING /* @min:%2etoString */]() : id;\r\n}\r\nexport function dataSanitizeInput(logger, input, maxLength, _msgId) {\r\n var inputTrunc;\r\n if (input) {\r\n input = strTrim(asString(input));\r\n if (input[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n inputTrunc = strSubstring(input, 0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, _msgId, \"input is too long, it has been truncated to \" + maxLength + \" characters.\", { data: input }, true);\r\n }\r\n }\r\n return inputTrunc || input;\r\n}\r\nexport function dsPadNumber(num) {\r\n var s = \"00\" + num;\r\n return strSubstr(s, s[_DYN_LENGTH /* @min:%2elength */] - 3);\r\n}\r\n//# sourceMappingURL=DataSanitizer.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { isNullOrUndefined, objForEachKey, throwError, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIkey, strNotSpecified } from \"./Constants\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { _DYN_NAME } from \"./__DynamicConstants\";\r\n/**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item - domain specific properties; part B\r\n * @param baseType - telemetry item type. ie PageViewData\r\n * @param envelopeName - name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties - user defined custom properties; part C\r\n * @param systemProperties - system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\nexport function createTelemetryItem(item, baseType, envelopeName, logger, customProperties, systemProperties) {\r\n var _a;\r\n envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;\r\n if (isNullOrUndefined(item) ||\r\n isNullOrUndefined(baseType) ||\r\n isNullOrUndefined(envelopeName)) {\r\n throwError(\"Input doesn't contain all required fields\");\r\n }\r\n var iKey = \"\";\r\n if (item[strIkey]) {\r\n iKey = item[strIkey];\r\n delete item[strIkey];\r\n }\r\n var telemetryItem = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = envelopeName,\r\n _a.time = toISOString(new Date()),\r\n _a.iKey = iKey,\r\n _a.ext = systemProperties ? systemProperties : {},\r\n _a.tags = [],\r\n _a.data = {},\r\n _a.baseType = baseType,\r\n _a.baseData = item // Part B\r\n ,\r\n _a);\r\n // Part C\r\n if (!isNullOrUndefined(customProperties)) {\r\n objForEachKey(customProperties, function (prop, value) {\r\n telemetryItem.data[prop] = value;\r\n });\r\n }\r\n return telemetryItem;\r\n}\r\nvar TelemetryItemCreator = /** @class */ (function () {\r\n function TelemetryItemCreator() {\r\n }\r\n /**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item - domain specific properties; part B\r\n * @param baseType - telemetry item type. ie PageViewData\r\n * @param envelopeName - name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties - user defined custom properties; part C\r\n * @param systemProperties - system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\n TelemetryItemCreator.create = createTelemetryItem;\r\n return TelemetryItemCreator;\r\n}());\r\nexport { TelemetryItemCreator };\r\n//# sourceMappingURL=TelemetryItemCreator.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Event = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the EventTelemetry object\r\n */\r\n function Event(logger, name, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Event.envelopeType = \"Microsoft.ApplicationInsights.{0}.Event\";\r\n Event.dataType = \"EventData\";\r\n return Event;\r\n}());\r\nexport { Event };\r\n//# sourceMappingURL=Event.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties } from \"./Common/DataSanitizer\";\r\nvar Trace = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the TraceTelemetry object\r\n */\r\n function Trace(logger, message, severityLevel, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n message = message || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, message);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n }\r\n Trace.envelopeType = \"Microsoft.ApplicationInsights.{0}.Message\";\r\n Trace.dataType = \"MessageData\";\r\n return Trace;\r\n}());\r\nexport { Trace };\r\n//# sourceMappingURL=Trace.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar DataPoint = /** @class */ (function () {\r\n function DataPoint() {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n name: 1 /* FieldType.Required */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 1 /* FieldType.Required */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */\r\n };\r\n /**\r\n * Metric type. Single measurement or the aggregated value.\r\n */\r\n this.kind = 0 /* DataPointType.Measurement */;\r\n }\r\n return DataPoint;\r\n}());\r\nexport { DataPoint };\r\n//# sourceMappingURL=DataPoint.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_COUNT, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { DataPoint } from \"./Common/DataPoint\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Metric = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, stdDev, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n metrics: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n var dataPoint = new DataPoint();\r\n dataPoint[_DYN_COUNT /* @min:%2ecount */] = count > 0 ? count : undefined;\r\n dataPoint.max = isNaN(max) || max === null ? undefined : max;\r\n dataPoint.min = isNaN(min) || min === null ? undefined : min;\r\n dataPoint[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n dataPoint.value = value;\r\n dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;\r\n _self.metrics = [dataPoint];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n}());\r\nexport { Metric };\r\n//# sourceMappingURL=Metric.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar strEmpty = \"\";\r\nexport function stringToBoolOrDefault(str, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n if (str === undefined || str === null) {\r\n return defaultValue;\r\n }\r\n return str.toString()[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"true\";\r\n}\r\n/**\r\n * Convert ms to c# time span format\r\n */\r\nexport function msToTimeSpan(totalms) {\r\n if (isNaN(totalms) || totalms < 0) {\r\n totalms = 0;\r\n }\r\n totalms = Math.round(totalms);\r\n var ms = strEmpty + totalms % 1000;\r\n var sec = strEmpty + Math.floor(totalms / 1000) % 60;\r\n var min = strEmpty + Math.floor(totalms / (1000 * 60)) % 60;\r\n var hour = strEmpty + Math.floor(totalms / (1000 * 60 * 60)) % 24;\r\n var days = Math.floor(totalms / (1000 * 60 * 60 * 24));\r\n ms = ms[_DYN_LENGTH /* @min:%2elength */] === 1 ? \"00\" + ms : ms[_DYN_LENGTH /* @min:%2elength */] === 2 ? \"0\" + ms : ms;\r\n sec = sec[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + sec : sec;\r\n min = min[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + min : min;\r\n hour = hour[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + hour : hour;\r\n return (days > 0 ? days + \".\" : strEmpty) + hour + \":\" + min + \":\" + sec + \".\" + ms;\r\n}\r\nexport function getExtensionByName(extensions, identifier) {\r\n var extension = null;\r\n arrForEach(extensions, function (value) {\r\n if (value.identifier === identifier) {\r\n extension = value;\r\n return -1;\r\n }\r\n });\r\n return extension;\r\n}\r\nexport function isCrossOriginError(message, url, lineNumber, columnNumber, error) {\r\n return !error && isString(message) && (message === \"Script error.\" || message === \"Script error\");\r\n}\r\n//# sourceMappingURL=HelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeId, dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageView = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageView(logger, name, url, durationMs, properties, measurements, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n id: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = dataSanitizeId(logger, id);\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n if (!isNaN(durationMs)) {\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(durationMs);\r\n }\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n PageView.envelopeType = \"Microsoft.ApplicationInsights.{0}.Pageview\";\r\n PageView.dataType = \"PageviewData\";\r\n return PageView;\r\n}());\r\nexport { PageView };\r\n//# sourceMappingURL=PageView.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES, _DYN_RECEIVED_RESPONSE } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageViewPerformance = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageViewPerformance(logger, name, url, unused, properties, measurements, cs4BaseData) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n perfTotal: 0 /* FieldType.Default */,\r\n networkConnect: 0 /* FieldType.Default */,\r\n sentRequest: 0 /* FieldType.Default */,\r\n receivedResponse: 0 /* FieldType.Default */,\r\n domProcessing: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (cs4BaseData) {\r\n _self.domProcessing = cs4BaseData.domProcessing;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = cs4BaseData[_DYN_DURATION /* @min:%2eduration */];\r\n _self.networkConnect = cs4BaseData.networkConnect;\r\n _self.perfTotal = cs4BaseData.perfTotal;\r\n _self[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */] = cs4BaseData[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */];\r\n _self.sentRequest = cs4BaseData.sentRequest;\r\n }\r\n }\r\n PageViewPerformance.envelopeType = \"Microsoft.ApplicationInsights.{0}.PageviewPerformance\";\r\n PageViewPerformance.dataType = \"PageviewPerformanceData\";\r\n return PageViewPerformance;\r\n}());\r\nexport { PageViewPerformance };\r\n//# sourceMappingURL=PageViewPerformance.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __assign } from \"tslib\";\r\nimport { arrForEach, arrMap, isArray, isError, isFunction, isNullOrUndefined, isObject, isString, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { getWindow, strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_ASSEMBLY, _DYN_EXCEPTIONS, _DYN_FILE_NAME, _DYN_HAS_FULL_STACK, _DYN_IS_MANUAL, _DYN_LENGTH, _DYN_LEVEL, _DYN_LINE, _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_METHOD, _DYN_NAME, _DYN_PARSED_STACK, _DYN_PROBLEM_GROUP, _DYN_PROPERTIES, _DYN_PUSH, _DYN_SEVERITY_LEVEL, _DYN_SIZE_IN_BYTES, _DYN_SPLIT, _DYN_STRINGIFY, _DYN_TO_STRING, _DYN_TYPE_NAME, _DYN__CREATE_FROM_INTERFA1 } from \"../__DynamicConstants\";\r\nimport { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar NoMethod = \"\";\r\nvar strError = \"error\";\r\nvar strStack = \"stack\";\r\nvar strStackDetails = \"stackDetails\";\r\nvar strErrorSrc = \"errorSrc\";\r\nvar strMessage = \"message\";\r\nvar strDescription = \"description\";\r\nfunction _stringify(value, convertToString) {\r\n var result = value;\r\n if (result && !isString(result)) {\r\n if (JSON && JSON[_DYN_STRINGIFY /* @min:%2estringify */]) {\r\n result = JSON[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n if (convertToString && (!result || result === \"{}\")) {\r\n if (isFunction(value[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n result = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n else {\r\n result = \"\" + value;\r\n }\r\n }\r\n }\r\n else {\r\n result = \"\" + value + \" - (Missing JSON.stringify)\";\r\n }\r\n }\r\n return result || \"\";\r\n}\r\nfunction _formatMessage(theEvent, errorType) {\r\n var evtMessage = theEvent;\r\n if (theEvent) {\r\n if (evtMessage && !isString(evtMessage)) {\r\n evtMessage = theEvent[strMessage] || theEvent[strDescription] || evtMessage;\r\n }\r\n // Make sure the message is a string\r\n if (evtMessage && !isString(evtMessage)) {\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n evtMessage = _stringify(evtMessage, true);\r\n }\r\n if (theEvent[\"filename\"]) {\r\n // Looks like an event object with filename\r\n evtMessage = evtMessage + \" @\" + (theEvent[\"filename\"] || \"\") + \":\" + (theEvent[\"lineno\"] || \"?\") + \":\" + (theEvent[\"colno\"] || \"?\");\r\n }\r\n }\r\n // Automatically add the error type to the message if it does already appear to be present\r\n if (errorType && errorType !== \"String\" && errorType !== \"Object\" && errorType !== \"Error\" && strIndexOf(evtMessage || \"\", errorType) === -1) {\r\n evtMessage = errorType + \": \" + evtMessage;\r\n }\r\n return evtMessage || \"\";\r\n}\r\nfunction _isExceptionDetailsInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return \"hasFullStack\" in value && \"typeName\" in value;\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isExceptionInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return (\"ver\" in value && \"exceptions\" in value && \"properties\" in value);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isStackDetails(details) {\r\n return details && details.src && isString(details.src) && details.obj && isArray(details.obj);\r\n}\r\nfunction _convertStackObj(errorStack) {\r\n var src = errorStack || \"\";\r\n if (!isString(src)) {\r\n if (isString(src[strStack])) {\r\n src = src[strStack];\r\n }\r\n else {\r\n src = \"\" + src;\r\n }\r\n }\r\n var items = src[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n return {\r\n src: src,\r\n obj: items\r\n };\r\n}\r\nfunction _getOperaStack(errorMessage) {\r\n var stack = [];\r\n var lines = errorMessage[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n for (var lp = 0; lp < lines[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var entry = lines[lp];\r\n if (lines[lp + 1]) {\r\n entry += \"@\" + lines[lp + 1];\r\n lp++;\r\n }\r\n stack[_DYN_PUSH /* @min:%2epush */](entry);\r\n }\r\n return {\r\n src: errorMessage,\r\n obj: stack\r\n };\r\n}\r\nfunction _getStackFromErrorObj(errorObj) {\r\n var details = null;\r\n if (errorObj) {\r\n try {\r\n /* Using bracket notation is support older browsers (IE 7/8 -- dont remember the version) that throw when using dot\r\n notation for undefined objects and we don't want to loose the error from being reported */\r\n if (errorObj[strStack]) {\r\n // Chrome/Firefox\r\n details = _convertStackObj(errorObj[strStack]);\r\n }\r\n else if (errorObj[strError] && errorObj[strError][strStack]) {\r\n // Edge error event provides the stack and error object\r\n details = _convertStackObj(errorObj[strError][strStack]);\r\n }\r\n else if (errorObj[\"exception\"] && errorObj.exception[strStack]) {\r\n details = _convertStackObj(errorObj.exception[strStack]);\r\n }\r\n else if (_isStackDetails(errorObj)) {\r\n details = errorObj;\r\n }\r\n else if (_isStackDetails(errorObj[strStackDetails])) {\r\n details = errorObj[strStackDetails];\r\n }\r\n else if (getWindow() && getWindow()[\"opera\"] && errorObj[strMessage]) {\r\n // Opera\r\n details = _getOperaStack(errorObj[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n else if (errorObj[\"reason\"] && errorObj.reason[strStack]) {\r\n // UnhandledPromiseRejection\r\n details = _convertStackObj(errorObj.reason[strStack]);\r\n }\r\n else if (isString(errorObj)) {\r\n details = _convertStackObj(errorObj);\r\n }\r\n else {\r\n var evtMessage = errorObj[strMessage] || errorObj[strDescription] || \"\";\r\n if (isString(errorObj[strErrorSrc])) {\r\n if (evtMessage) {\r\n evtMessage += \"\\n\";\r\n }\r\n evtMessage += \" from \" + errorObj[strErrorSrc];\r\n }\r\n if (evtMessage) {\r\n details = _convertStackObj(evtMessage);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // something unexpected happened so to avoid failing to report any error lets swallow the exception\r\n // and fallback to the callee/caller method\r\n details = _convertStackObj(e);\r\n }\r\n }\r\n return details || {\r\n src: \"\",\r\n obj: null\r\n };\r\n}\r\nfunction _formatStackTrace(stackDetails) {\r\n var stack = \"\";\r\n if (stackDetails) {\r\n if (stackDetails.obj) {\r\n arrForEach(stackDetails.obj, function (entry) {\r\n stack += entry + \"\\n\";\r\n });\r\n }\r\n else {\r\n stack = stackDetails.src || \"\";\r\n }\r\n }\r\n return stack;\r\n}\r\nfunction _parseStack(stack) {\r\n var parsedStack;\r\n var frames = stack.obj;\r\n if (frames && frames[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n parsedStack = [];\r\n var level_1 = 0;\r\n var totalSizeInBytes_1 = 0;\r\n arrForEach(frames, function (frame) {\r\n var theFrame = frame[_DYN_TO_STRING /* @min:%2etoString */]();\r\n if (_StackFrame.regex.test(theFrame)) {\r\n var parsedFrame = new _StackFrame(theFrame, level_1++);\r\n totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n parsedStack[_DYN_PUSH /* @min:%2epush */](parsedFrame);\r\n }\r\n });\r\n // DP Constraint - exception parsed stack must be < 32KB\r\n // remove frames from the middle to meet the threshold\r\n var exceptionParsedStackThreshold = 32 * 1024;\r\n if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack[_DYN_LENGTH /* @min:%2elength */] - 1;\r\n var size = 0;\r\n var acceptedLeft = left;\r\n var acceptedRight = right;\r\n while (left < right) {\r\n // check size\r\n var lSize = parsedStack[left][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n var rSize = parsedStack[right][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n size += lSize + rSize;\r\n if (size > exceptionParsedStackThreshold) {\r\n // remove extra frames from the middle\r\n var howMany = acceptedRight - acceptedLeft + 1;\r\n parsedStack.splice(acceptedLeft, howMany);\r\n break;\r\n }\r\n // update pointers\r\n acceptedLeft = left;\r\n acceptedRight = right;\r\n left++;\r\n right--;\r\n }\r\n }\r\n }\r\n return parsedStack;\r\n}\r\nfunction _getErrorType(errorType) {\r\n // Gets the Error Type by passing the constructor (used to get the true type of native error object).\r\n var typeName = \"\";\r\n if (errorType) {\r\n typeName = errorType.typeName || errorType[_DYN_NAME /* @min:%2ename */] || \"\";\r\n if (!typeName) {\r\n try {\r\n var funcNameRegex = /function (.{1,200})\\(/;\r\n var results = (funcNameRegex).exec((errorType).constructor[_DYN_TO_STRING /* @min:%2etoString */]());\r\n typeName = (results && results[_DYN_LENGTH /* @min:%2elength */] > 1) ? results[1] : \"\";\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n }\r\n return typeName;\r\n}\r\n/**\r\n * Formats the provided errorObj for display and reporting, it may be a String, Object, integer or undefined depending on the browser.\r\n * @param errorObj - The supplied errorObj\r\n */\r\nexport function _formatErrorCode(errorObj) {\r\n if (errorObj) {\r\n try {\r\n if (!isString(errorObj)) {\r\n var errorType = _getErrorType(errorObj);\r\n var result = _stringify(errorObj, false);\r\n if (!result || result === \"{}\") {\r\n if (errorObj[strError]) {\r\n // Looks like an MS Error Event\r\n errorObj = errorObj[strError];\r\n errorType = _getErrorType(errorObj);\r\n }\r\n result = _stringify(errorObj, true);\r\n }\r\n if (strIndexOf(result, errorType) !== 0 && errorType !== \"String\") {\r\n return errorType + \":\" + result;\r\n }\r\n return result;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n // Fallback to just letting the object format itself into a string\r\n return \"\" + (errorObj || \"\");\r\n}\r\nvar Exception = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n exceptions: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2; // TODO: handle the CS\"4.0\" ==> breeze 2 conversion in a better way\r\n if (!_isExceptionInternal(exception)) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n if (id) {\r\n properties.id = id;\r\n }\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = [new _ExceptionDetails(logger, exception, properties)];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n if (id) {\r\n _self.id = id;\r\n }\r\n }\r\n else {\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */] || [];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = exception[_DYN_PROPERTIES /* @min:%2eproperties */];\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = exception[_DYN_MEASUREMENTS /* @min:%2emeasurements */];\r\n if (exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */]) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */];\r\n }\r\n if (exception.id) {\r\n _self.id = exception.id;\r\n exception[_DYN_PROPERTIES /* @min:%2eproperties */].id = exception.id;\r\n }\r\n if (exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */]) {\r\n _self[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */] = exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */];\r\n }\r\n // bool/int types, use isNullOrUndefined\r\n if (!isNullOrUndefined(exception[_DYN_IS_MANUAL /* @min:%2eisManual */])) {\r\n _self[_DYN_IS_MANUAL /* @min:%2eisManual */] = exception[_DYN_IS_MANUAL /* @min:%2eisManual */];\r\n }\r\n }\r\n }\r\n Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {\r\n var _a;\r\n var errorType = _getErrorType(error || evt || message);\r\n return _a = {},\r\n _a[_DYN_MESSAGE /* @min:message */] = _formatMessage(message, errorType),\r\n _a.url = url,\r\n _a.lineNumber = lineNumber,\r\n _a.columnNumber = columnNumber,\r\n _a.error = _formatErrorCode(error || evt || message),\r\n _a.evt = _formatErrorCode(evt || message),\r\n _a[_DYN_TYPE_NAME /* @min:typeName */] = errorType,\r\n _a.stackDetails = _getStackFromErrorObj(stack || error || evt),\r\n _a.errorSrc = errorSrc,\r\n _a;\r\n };\r\n Exception.CreateFromInterface = function (logger, exception, properties, measurements) {\r\n var exceptions = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */]\r\n && arrMap(exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](logger, ex); });\r\n var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);\r\n return exceptionData;\r\n };\r\n Exception.prototype.toInterface = function () {\r\n var _a;\r\n var _b = this, exceptions = _b.exceptions, properties = _b.properties, measurements = _b.measurements, severityLevel = _b.severityLevel, problemGroup = _b.problemGroup, id = _b.id, isManual = _b.isManual;\r\n var exceptionDetailsInterface = exceptions instanceof Array\r\n && arrMap(exceptions, function (exception) { return exception.toInterface(); })\r\n || undefined;\r\n return _a = {\r\n ver: \"4.0\"\r\n },\r\n _a[_DYN_EXCEPTIONS /* @min:exceptions */] = exceptionDetailsInterface,\r\n _a.severityLevel = severityLevel,\r\n _a.properties = properties,\r\n _a.measurements = measurements,\r\n _a.problemGroup = problemGroup,\r\n _a.id = id,\r\n _a.isManual = isManual,\r\n _a;\r\n };\r\n /**\r\n * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.\r\n */\r\n Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {\r\n var _a;\r\n return {\r\n exceptions: [\r\n (_a = {},\r\n _a[_DYN_HAS_FULL_STACK /* @min:hasFullStack */] = true,\r\n _a.message = message,\r\n _a.stack = details,\r\n _a.typeName = typeName,\r\n _a)\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n Exception.formatError = _formatErrorCode;\r\n return Exception;\r\n}());\r\nexport { Exception };\r\nvar _ExceptionDetails = /** @class */ (function () {\r\n function _ExceptionDetails(logger, exception, properties) {\r\n this.aiDataContract = {\r\n id: 0 /* FieldType.Default */,\r\n outerId: 0 /* FieldType.Default */,\r\n typeName: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n hasFullStack: 0 /* FieldType.Default */,\r\n stack: 0 /* FieldType.Default */,\r\n parsedStack: 2 /* FieldType.Array */\r\n };\r\n var _self = this;\r\n if (!_isExceptionDetailsInternal(exception)) {\r\n var error = exception;\r\n var evt = error && error.evt;\r\n if (!isError(error)) {\r\n error = error[strError] || evt || error;\r\n }\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME /* @min:%2etypeName */])) || strNotSpecified;\r\n var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = _parseStack(stack);\r\n // after parsedStack is inited, iterate over each frame object, sanitize its assembly field\r\n if (isArray(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */])) {\r\n arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) {\r\n frame[_DYN_ASSEMBLY /* @min:%2eassembly */] = dataSanitizeString(logger, frame[_DYN_ASSEMBLY /* @min:%2eassembly */]);\r\n frame[_DYN_FILE_NAME /* @min:%2efileName */] = dataSanitizeString(logger, frame[_DYN_FILE_NAME /* @min:%2efileName */]);\r\n });\r\n }\r\n _self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));\r\n _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n if (properties) {\r\n properties[_DYN_TYPE_NAME /* @min:%2etypeName */] = properties[_DYN_TYPE_NAME /* @min:%2etypeName */] || _self[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n }\r\n }\r\n else {\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = exception[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = exception[_DYN_MESSAGE /* @min:%2emessage */];\r\n _self[strStack] = exception[strStack];\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] || [];\r\n _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */] = exception[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */];\r\n }\r\n }\r\n _ExceptionDetails.prototype.toInterface = function () {\r\n var _a;\r\n var _self = this;\r\n var parsedStack = _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return frame.toInterface(); });\r\n var exceptionDetailsInterface = (_a = {\r\n id: _self.id,\r\n outerId: _self.outerId,\r\n typeName: _self[_DYN_TYPE_NAME /* @min:%2etypeName */],\r\n message: _self[_DYN_MESSAGE /* @min:%2emessage */],\r\n hasFullStack: _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */],\r\n stack: _self[strStack]\r\n },\r\n _a[_DYN_PARSED_STACK /* @min:parsedStack */] = parsedStack || undefined,\r\n _a);\r\n return exceptionDetailsInterface;\r\n };\r\n _ExceptionDetails.CreateFromInterface = function (logger, exception) {\r\n var parsedStack = (exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](frame); }))\r\n || exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */];\r\n var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));\r\n return exceptionDetails;\r\n };\r\n return _ExceptionDetails;\r\n}());\r\nexport { _ExceptionDetails };\r\nvar _StackFrame = /** @class */ (function () {\r\n function _StackFrame(sourceFrame, level) {\r\n this.aiDataContract = {\r\n level: 1 /* FieldType.Required */,\r\n method: 1 /* FieldType.Required */,\r\n assembly: 0 /* FieldType.Default */,\r\n fileName: 0 /* FieldType.Default */,\r\n line: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n // Not converting this to isString() as typescript uses this logic to \"understand\" the different\r\n // types for the 2 different code paths\r\n if (typeof sourceFrame === \"string\") {\r\n var frame = sourceFrame;\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = level;\r\n _self[_DYN_METHOD /* @min:%2emethod */] = NoMethod;\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = strTrim(frame);\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = \"\";\r\n _self[_DYN_LINE /* @min:%2eline */] = 0;\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches[_DYN_LENGTH /* @min:%2elength */] >= 5) {\r\n _self[_DYN_METHOD /* @min:%2emethod */] = strTrim(matches[2]) || _self[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = strTrim(matches[4]);\r\n _self[_DYN_LINE /* @min:%2eline */] = parseInt(matches[5]) || 0;\r\n }\r\n }\r\n else {\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = sourceFrame[_DYN_LEVEL /* @min:%2elevel */];\r\n _self[_DYN_METHOD /* @min:%2emethod */] = sourceFrame[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = sourceFrame[_DYN_ASSEMBLY /* @min:%2eassembly */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = sourceFrame[_DYN_FILE_NAME /* @min:%2efileName */];\r\n _self[_DYN_LINE /* @min:%2eline */] = sourceFrame[_DYN_LINE /* @min:%2eline */];\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n }\r\n _self.sizeInBytes += _self.method[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.fileName[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.assembly[_DYN_LENGTH /* @min:%2elength */];\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] += _StackFrame.baseSize;\r\n _self.sizeInBytes += _self.level.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.line.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n _StackFrame.CreateFromInterface = function (frame) {\r\n return new _StackFrame(frame, null /* level is available in frame interface */);\r\n };\r\n _StackFrame.prototype.toInterface = function () {\r\n var _self = this;\r\n return {\r\n level: _self[_DYN_LEVEL /* @min:%2elevel */],\r\n method: _self[_DYN_METHOD /* @min:%2emethod */],\r\n assembly: _self[_DYN_ASSEMBLY /* @min:%2eassembly */],\r\n fileName: _self[_DYN_FILE_NAME /* @min:%2efileName */],\r\n line: _self[_DYN_LINE /* @min:%2eline */]\r\n };\r\n };\r\n // regex to match stack frames from ie/chrome/ff\r\n // methodName=$2, fileName=$4, lineNo=$5, column=$6\r\n _StackFrame.regex = /^([\\s]+at)?[\\s]{0,50}([^\\@\\()]+?)[\\s]{0,50}(\\@|\\()([^\\(\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; // '{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n}());\r\nexport { _StackFrame };\r\n//# sourceMappingURL=Exception.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { createValueMap } from \"@microsoft/applicationinsights-core-js\";\r\nexport var RequestHeaders = createValueMap({\r\n requestContextHeader: [0 /* eRequestHeaders.requestContextHeader */, \"Request-Context\"],\r\n requestContextTargetKey: [1 /* eRequestHeaders.requestContextTargetKey */, \"appId\"],\r\n requestContextAppIdFormat: [2 /* eRequestHeaders.requestContextAppIdFormat */, \"appId=cid-v1:\"],\r\n requestIdHeader: [3 /* eRequestHeaders.requestIdHeader */, \"Request-Id\"],\r\n traceParentHeader: [4 /* eRequestHeaders.traceParentHeader */, \"traceparent\"],\r\n traceStateHeader: [5 /* eRequestHeaders.traceStateHeader */, \"tracestate\"],\r\n sdkContextHeader: [6 /* eRequestHeaders.sdkContextHeader */, \"Sdk-Context\"],\r\n sdkContextHeaderAppIdRequest: [7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */, \"appId\"],\r\n requestContextHeaderLowerCase: [8 /* eRequestHeaders.requestContextHeaderLowerCase */, \"request-context\"]\r\n});\r\n//# sourceMappingURL=RequestResponseHeaders.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getDocument, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PATHNAME, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _document = getDocument() || {};\r\nvar _htmlAnchorIdx = 0;\r\n// Use an array of temporary values as it's possible for multiple calls to parseUrl() will be called with different URLs\r\n// Using a cache size of 5 for now as it current depth usage is at least 2, so adding a minor buffer to handle future updates\r\nvar _htmlAnchorElement = [null, null, null, null, null];\r\nexport function urlParseUrl(url) {\r\n var anchorIdx = _htmlAnchorIdx;\r\n var anchorCache = _htmlAnchorElement;\r\n var tempAnchor = anchorCache[anchorIdx];\r\n if (!_document.createElement) {\r\n // Always create the temp instance if createElement is not available\r\n tempAnchor = { host: urlParseHost(url, true) };\r\n }\r\n else if (!anchorCache[anchorIdx]) {\r\n // Create and cache the unattached anchor instance\r\n tempAnchor = anchorCache[anchorIdx] = _document.createElement(\"a\");\r\n }\r\n tempAnchor.href = url;\r\n // Move the cache index forward\r\n anchorIdx++;\r\n if (anchorIdx >= anchorCache[_DYN_LENGTH /* @min:%2elength */]) {\r\n anchorIdx = 0;\r\n }\r\n _htmlAnchorIdx = anchorIdx;\r\n return tempAnchor;\r\n}\r\nexport function urlGetAbsoluteUrl(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.href;\r\n }\r\n return result;\r\n}\r\nexport function urlGetPathName(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a[_DYN_PATHNAME /* @min:%2epathname */];\r\n }\r\n return result;\r\n}\r\nexport function urlGetCompleteUrl(method, absoluteUrl) {\r\n if (method) {\r\n return method.toUpperCase() + \" \" + absoluteUrl;\r\n }\r\n return absoluteUrl;\r\n}\r\n// Fallback method to grab host from url if document.createElement method is not available\r\nexport function urlParseHost(url, inclPort) {\r\n var fullHost = urlParseFullHost(url, inclPort) || \"\";\r\n if (fullHost) {\r\n var match = fullHost.match(/(www\\d{0,5}\\.)?([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 3 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n return match[2] + (match[3] || \"\");\r\n }\r\n }\r\n return fullHost;\r\n}\r\nexport function urlParseFullHost(url, inclPort) {\r\n var result = null;\r\n if (url) {\r\n var match = url.match(/(\\w{1,150}):\\/\\/([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 2 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n result = match[2] || \"\";\r\n if (inclPort && match[_DYN_LENGTH /* @min:%2elength */] > 2) {\r\n var protocol = (match[1] || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var port = match[3] || \"\";\r\n // IE includes the standard port so pass it off if it's the same as the protocol\r\n if (protocol === \"http\" && port === \":80\") {\r\n port = \"\";\r\n }\r\n else if (protocol === \"https\" && port === \":443\") {\r\n port = \"\";\r\n }\r\n result += port;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=UrlHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, dateNow, getPerformance, isNullOrUndefined, isValidSpanId, isValidTraceId } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH } from \"./Constants\";\r\nimport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { urlParseFullHost, urlParseUrl } from \"./UrlHelperFuncs\";\r\nimport { _DYN_CORRELATION_HEADER_E0, _DYN_LENGTH, _DYN_NAME, _DYN_PATHNAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\n// listing only non-geo specific locations\r\nvar _internalEndpoints = [\r\n DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH,\r\n \"https://breeze.aimon.applicationinsights.io\" + DEFAULT_BREEZE_PATH,\r\n \"https://dc-int.services.visualstudio.com\" + DEFAULT_BREEZE_PATH\r\n];\r\nvar _correlationIdPrefix = \"cid-v1:\";\r\nexport function isInternalApplicationInsightsEndpoint(endpointUrl) {\r\n return arrIndexOf(_internalEndpoints, endpointUrl[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) !== -1;\r\n}\r\nexport function correlationIdSetPrefix(prefix) {\r\n _correlationIdPrefix = prefix;\r\n}\r\nexport function correlationIdGetPrefix() {\r\n return _correlationIdPrefix;\r\n}\r\n/**\r\n * Checks if a request url is not on a excluded domain list and if it is safe to add correlation headers.\r\n * Headers are always included if the current domain matches the request domain. If they do not match (CORS),\r\n * they are regex-ed across correlationHeaderDomains and correlationHeaderExcludedDomains to determine if headers are included.\r\n * Some environments don't give information on currentHost via window.location.host (e.g. Cordova). In these cases, the user must\r\n * manually supply domains to include correlation headers on. Else, no headers will be included at all.\r\n */\r\nexport function correlationIdCanIncludeCorrelationHeader(config, requestUrl, currentHost) {\r\n if (!requestUrl || (config && config.disableCorrelationHeaders)) {\r\n return false;\r\n }\r\n if (config && config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */]) {\r\n for (var i = 0; i < config.correlationHeaderExcludePatterns[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */][i].test(requestUrl)) {\r\n return false;\r\n }\r\n }\r\n }\r\n var requestHost = urlParseUrl(requestUrl).host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n if (requestHost && (strIndexOf(requestHost, \":443\") !== -1 || strIndexOf(requestHost, \":80\") !== -1)) {\r\n // [Bug #1260] IE can include the port even for http and https URLs so if present\r\n // try and parse it to remove if it matches the default protocol port\r\n requestHost = (urlParseFullHost(requestUrl, true) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n }\r\n if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {\r\n return false;\r\n }\r\n var includedDomains = config && config.correlationHeaderDomains;\r\n if (includedDomains) {\r\n var matchExists_1;\r\n arrForEach(includedDomains, function (domain) {\r\n var regex = new RegExp(domain.toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n matchExists_1 = matchExists_1 || regex.test(requestHost);\r\n });\r\n if (!matchExists_1) {\r\n return false;\r\n }\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n // if we don't know anything about the requestHost, require the user to use included/excludedDomains.\r\n // Previously we always returned false for a falsy requestHost\r\n return requestHost && requestHost[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n}\r\n/**\r\n * Combines target appId and target role name from response header.\r\n */\r\nexport function correlationIdGetCorrelationContext(responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = correlationIdGetCorrelationContextValue(responseHeader, RequestHeaders[1 /* eRequestHeaders.requestContextTargetKey */]);\r\n if (correlationId && correlationId !== _correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n}\r\n/**\r\n * Gets key from correlation response header\r\n */\r\nexport function correlationIdGetCorrelationContextValue(responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n for (var i = 0; i < keyValues[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n var keyValue = keyValues[i][_DYN_SPLIT /* @min:%2esplit */](\"=\");\r\n if (keyValue[_DYN_LENGTH /* @min:%2elength */] === 2 && keyValue[0] === key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n}\r\nexport function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl[_DYN_PATHNAME /* @min:%2epathname */] != null) {\r\n var pathName = (parsedUrl.pathname[_DYN_LENGTH /* @min:%2elength */] === 0) ? \"/\" : parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n if (pathName.charAt(0) !== \"/\") {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function dateTimeUtilsNow() {\r\n // returns the window or webworker performance object\r\n var perf = getPerformance();\r\n if (perf && perf.now && perf.timing) {\r\n var now = perf.now() + perf.timing.navigationStart;\r\n // Known issue with IE where this calculation can be negative, so if it is then ignore and fallback\r\n if (now > 0) {\r\n return now;\r\n }\r\n }\r\n return dateNow();\r\n}\r\nexport function dateTimeUtilsDuration(start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext from an optional telemetryTrace\r\n * @param telemetryTrace - The telemetryTrace instance that is being wrapped\r\n * @param parentCtx - An optional parent distributed trace instance, almost always undefined as this scenario is only used in the case of multiple property handlers.\r\n * @returns A new IDistributedTraceContext instance that is backed by the telemetryTrace or temporary object\r\n */\r\nexport function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {\r\n var trace = telemetryTrace || {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace.traceID;\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace.traceID = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace.parentID;\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace.parentID = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace.traceFlags;\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace.traceFlags = newTraceFlags;\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=Util.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { AjaxHelperParseDependencyPath } from \"../Util\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar RemoteDependencyData = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the RemoteDependencyData object\r\n */\r\n function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {\r\n if (requestAPI === void 0) { requestAPI = \"Ajax\"; }\r\n this.aiDataContract = {\r\n id: 1 /* FieldType.Required */,\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n resultCode: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n success: 0 /* FieldType.Default */,\r\n data: 0 /* FieldType.Default */,\r\n target: 0 /* FieldType.Default */,\r\n type: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 0 /* FieldType.Default */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */,\r\n dependencyKind: 0 /* FieldType.Default */,\r\n dependencySource: 0 /* FieldType.Default */,\r\n commandName: 0 /* FieldType.Default */,\r\n dependencyTypeName: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = id;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(value);\r\n _self.success = success;\r\n _self.resultCode = resultCode + \"\";\r\n _self.type = dataSanitizeString(logger, requestAPI);\r\n var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);\r\n _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data; // get a value from hosturl if commandName not available\r\n _self.target = dataSanitizeString(logger, dependencyFields.target);\r\n if (correlationContext) {\r\n _self.target = \"\".concat(_self.target, \" | \").concat(correlationContext);\r\n }\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, dependencyFields[_DYN_NAME /* @min:%2ename */]);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n RemoteDependencyData.envelopeType = \"Microsoft.ApplicationInsights.{0}.RemoteDependency\";\r\n RemoteDependencyData.dataType = \"RemoteDependencyData\";\r\n return RemoteDependencyData;\r\n}());\r\nexport { RemoteDependencyData };\r\n//# sourceMappingURL=RemoteDependencyData.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getDocument, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nexport function createDomEvent(eventName) {\r\n var event = null;\r\n if (isFunction(Event)) { // Use Event constructor when available\r\n event = new Event(eventName);\r\n }\r\n else { // Event has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"Event\");\r\n event.initEvent(eventName, true, true);\r\n }\r\n }\r\n return event;\r\n}\r\n//# sourceMappingURL=DomHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, getDocument, getWindow, isArray, objForEachKey, objKeys } from \"@nevware21/ts-utils\";\r\nimport { _DYN_HANDLER, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_REPLACE, _DYN_SPLICE, _DYN_SPLIT, _DYN_TYPE } from \"../__DynamicConstants\";\r\nimport { createElmNodeData, createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// Added to help with minfication\r\nvar strOnPrefix = \"on\";\r\nvar strAttachEvent = \"attachEvent\";\r\nvar strAddEventHelper = \"addEventListener\";\r\nvar strDetachEvent = \"detachEvent\";\r\nvar strRemoveEventListener = \"removeEventListener\";\r\nvar strEvents = \"events\";\r\nvar strVisibilityChangeEvt = \"visibilitychange\";\r\nvar strPageHide = \"pagehide\";\r\nvar strPageShow = \"pageshow\";\r\nvar strUnload = \"unload\";\r\nvar strBeforeUnload = \"beforeunload\";\r\nvar strPageHideNamespace = createUniqueNamespace(\"aiEvtPageHide\");\r\nvar strPageShowNamespace = createUniqueNamespace(\"aiEvtPageShow\");\r\nvar rRemoveEmptyNs = /\\.[\\.]+/g;\r\nvar rRemoveTrailingEmptyNs = /[\\.]+$/;\r\nvar _guid = 1;\r\nvar elmNodeData = createElmNodeData(\"events\");\r\nvar eventNamespace = /^([^.]*)(?:\\.(.+)|)/;\r\nfunction _normalizeNamespace(name) {\r\n if (name && name[_DYN_REPLACE /* @min:%2ereplace */]) {\r\n return name[_DYN_REPLACE /* @min:%2ereplace */](/^[\\s\\.]+|(?=[\\s\\.])[\\.\\s]+$/g, STR_EMPTY);\r\n }\r\n return name;\r\n}\r\nfunction _getEvtNamespace(eventName, evtNamespace) {\r\n var _a;\r\n if (evtNamespace) {\r\n var theNamespace_1 = STR_EMPTY;\r\n if (isArray(evtNamespace)) {\r\n theNamespace_1 = STR_EMPTY;\r\n arrForEach(evtNamespace, function (name) {\r\n name = _normalizeNamespace(name);\r\n if (name) {\r\n if (name[0] !== \".\") {\r\n name = \".\" + name;\r\n }\r\n theNamespace_1 += name;\r\n }\r\n });\r\n }\r\n else {\r\n theNamespace_1 = _normalizeNamespace(evtNamespace);\r\n }\r\n if (theNamespace_1) {\r\n if (theNamespace_1[0] !== \".\") {\r\n theNamespace_1 = \".\" + theNamespace_1;\r\n }\r\n // We may only have the namespace and not an eventName\r\n eventName = (eventName || STR_EMPTY) + theNamespace_1;\r\n }\r\n }\r\n var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);\r\n return _a = {},\r\n _a[_DYN_TYPE /* @min:type */] = parsedEvent[1],\r\n _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, \".\").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT /* @min:%2esplit */](\".\").sort()).join(\".\"),\r\n _a;\r\n}\r\n/**\r\n * Get all of the registered events on the target object, this is primarily used for testing cleanup but may also be used by\r\n * applications to remove their own events\r\n * @param target - The EventTarget that has registered events\r\n * @param eventName - [Optional] The name of the event to return the registered handlers and full name (with namespaces)\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n */\r\nexport function __getRegisteredEvents(target, eventName, evtNamespace) {\r\n var theEvents = [];\r\n var eventCache = elmNodeData.get(target, strEvents, {}, false);\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n objForEachKey(eventCache, function (evtType, registeredEvents) {\r\n arrForEach(registeredEvents, function (value) {\r\n var _a;\r\n if (!evtName[_DYN_TYPE /* @min:%2etype */] || evtName[_DYN_TYPE /* @min:%2etype */] === value.evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (!evtName.ns || evtName.ns === evtName.ns) {\r\n theEvents[_DYN_PUSH /* @min:%2epush */]((_a = {},\r\n _a[_DYN_NAME /* @min:name */] = value.evtName[_DYN_TYPE /* @min:%2etype */] + (value.evtName.ns ? \".\" + value.evtName.ns : STR_EMPTY),\r\n _a.handler = value[_DYN_HANDLER /* @min:%2ehandler */],\r\n _a));\r\n }\r\n }\r\n });\r\n });\r\n return theEvents;\r\n}\r\n// Exported for internal unit testing only\r\nfunction _getRegisteredEvents(target, evtName, addDefault) {\r\n if (addDefault === void 0) { addDefault = true; }\r\n var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);\r\n var registeredEvents = aiEvts[evtName];\r\n if (!registeredEvents) {\r\n registeredEvents = aiEvts[evtName] = [];\r\n }\r\n return registeredEvents;\r\n}\r\nfunction _doDetach(obj, evtName, handlerRef, useCapture) {\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (obj[strRemoveEventListener]) {\r\n obj[strRemoveEventListener](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n }\r\n else if (obj[strDetachEvent]) {\r\n obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n }\r\n }\r\n}\r\nfunction _doAttach(obj, evtName, handlerRef, useCapture) {\r\n var result = false;\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */] && handlerRef) {\r\n if (obj[strAddEventHelper]) {\r\n // all browsers except IE before version 9\r\n obj[strAddEventHelper](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n result = true;\r\n }\r\n else if (obj[strAttachEvent]) {\r\n // IE before version 9\r\n obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n result = true;\r\n }\r\n }\r\n return result;\r\n}\r\nfunction _doUnregister(target, events, evtName, unRegFn) {\r\n var idx = events[_DYN_LENGTH /* @min:%2elength */];\r\n while (idx--) {\r\n var theEvent = events[idx];\r\n if (theEvent) {\r\n if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {\r\n if (!unRegFn || unRegFn(theEvent)) {\r\n _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER /* @min:%2ehandler */], theEvent.capture);\r\n // Remove the registered event\r\n events[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nfunction _unregisterEvents(target, evtName, unRegFn) {\r\n if (evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE /* @min:%2etype */]), evtName, unRegFn);\r\n }\r\n else {\r\n var eventCache = elmNodeData.get(target, strEvents, {});\r\n objForEachKey(eventCache, function (evtType, events) {\r\n _doUnregister(target, events, evtName, unRegFn);\r\n });\r\n // Cleanup\r\n if (objKeys(eventCache)[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n elmNodeData.kill(target, strEvents);\r\n }\r\n }\r\n}\r\nexport function mergeEvtNamespace(theNamespace, namespaces) {\r\n var newNamespaces;\r\n if (namespaces) {\r\n if (isArray(namespaces)) {\r\n newNamespaces = [theNamespace].concat(namespaces);\r\n }\r\n else {\r\n newNamespaces = [theNamespace, namespaces];\r\n }\r\n // resort the namespaces so they are always in order\r\n newNamespaces = (_getEvtNamespace(\"xx\", newNamespaces).ns)[_DYN_SPLIT /* @min:%2esplit */](\".\");\r\n }\r\n else {\r\n newNamespaces = theNamespace;\r\n }\r\n return newNamespaces;\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj - Object to add the event too.\r\n * @param eventName - String that specifies any of the standard DHTML Events without \"on\" prefix, if may also include an optional (dot \".\" prefixed)\r\n * namespaces \"click\" \"click.mynamespace\" in addition to specific namespaces.\r\n * @param handlerRef - Pointer that specifies the function to call when event fires\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture - [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n var _a;\r\n if (useCapture === void 0) { useCapture = false; }\r\n var result = false;\r\n if (target) {\r\n try {\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n result = _doAttach(target, evtName, handlerRef, useCapture);\r\n if (result && elmNodeData.accept(target)) {\r\n var registeredEvent = (_a = {\r\n guid: _guid++,\r\n evtName: evtName\r\n },\r\n _a[_DYN_HANDLER /* @min:handler */] = handlerRef,\r\n _a.capture = useCapture,\r\n _a);\r\n _getRegisteredEvents(target, evtName.type)[_DYN_PUSH /* @min:%2epush */](registeredEvent);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object - to remove the event from\r\n * @param eventName - {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef - {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture - [Optional] Defaults to false\r\n */\r\nexport function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n if (target) {\r\n try {\r\n var evtName_1 = _getEvtNamespace(eventName, evtNamespace);\r\n var found_1 = false;\r\n _unregisterEvents(target, evtName_1, function (regEvent) {\r\n if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER /* @min:%2ehandler */] === handlerRef) {\r\n found_1 = true;\r\n return true;\r\n }\r\n return false;\r\n });\r\n if (!found_1) {\r\n // fallback to try and remove as requested\r\n _doDetach(target, evtName_1, handlerRef, useCapture);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj - Object to add the event too.\r\n * @param eventNameWithoutOn - String that specifies any of the standard DHTML Events without \"on\" prefix and optional (dot \".\" prefixed) namespaces \"click\" \"click.mynamespace\".\r\n * @param handlerRef - Pointer that specifies the function to call when event fires\r\n * @param useCapture - [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object - to remove the event from\r\n * @param eventNameWithoutOn - {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef - {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param useCapture - [Optional] Defaults to false\r\n */\r\nexport function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Trys to add an event handler for the specified event to the window, body and document\r\n * @param eventName - {string} - The name of the event\r\n * @param callback - {any} - The callback function that needs to be executed for the given event\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @return {boolean} - true if the handler was successfully added\r\n */\r\nexport function addEventHandler(eventName, callback, evtNamespace) {\r\n var result = false;\r\n var w = getWindow();\r\n if (w) {\r\n result = eventOn(w, eventName, callback, evtNamespace);\r\n result = eventOn(w[\"body\"], eventName, callback, evtNamespace) || result;\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n result = eventOn(doc, eventName, callback, evtNamespace) || result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Trys to remove event handler(s) for the specified event/namespace to the window, body and document\r\n * @param eventName - {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param callback - {any} - - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventHandler(eventName, callback, evtNamespace) {\r\n var w = getWindow();\r\n if (w) {\r\n eventOff(w, eventName, callback, evtNamespace);\r\n eventOff(w[\"body\"], eventName, callback, evtNamespace);\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n eventOff(doc, eventName, callback, evtNamespace);\r\n }\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events - An string array of event names to bind the listener to\r\n * @param listener - The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nfunction _addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && events[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {\r\n added = addEventHandler(name, listener, evtNamespace) || added;\r\n }\r\n }\r\n });\r\n }\r\n return added;\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events - An string array of event names to bind the listener to\r\n * @param listener - The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && isArray(events)) {\r\n added = _addEventListeners(events, listener, excludeEvents, evtNamespace);\r\n if (!added && excludeEvents && excludeEvents[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Failed to add any listeners and we excluded some, so just attempt to add the excluded events\r\n added = _addEventListeners(events, listener, null, evtNamespace);\r\n }\r\n }\r\n return added;\r\n}\r\n/**\r\n * Remove the listener from the array of events\r\n * @param events - An string array of event names to bind the listener to\r\n * @param listener - The event callback to call when the event is triggered\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventListeners(events, listener, evtNamespace) {\r\n if (events && isArray(events)) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n removeEventHandler(name, listener, evtNamespace);\r\n }\r\n });\r\n }\r\n}\r\n/**\r\n * Listen to the 'beforeunload', 'unload' and 'pagehide' events which indicates a page unload is occurring,\r\n * this does NOT listen to the 'visibilitychange' event as while it does indicate that the page is being hidden\r\n * it does not *necessarily* mean that the page is being completely unloaded, it can mean that the user is\r\n * just navigating to a different Tab and may come back (without unloading the page). As such you may also\r\n * need to listen to the 'addPageHideEventListener' and 'addPageShowEventListener' events.\r\n * @param listener - The event callback to call when a page unload event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked, unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);\r\n}\r\n/**\r\n * Remove any matching 'beforeunload', 'unload' and 'pagehide' events that may have been added via addEventListener,\r\n * addEventListeners, addPageUnloadEventListener or addPageHideEventListener.\r\n * @param listener - The specific event callback to to be removed\r\n * @param evtNamespace - [Optional] Namespace(s) uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function removePageUnloadEventListener(listener, evtNamespace) {\r\n removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);\r\n}\r\n/**\r\n * Listen to the pagehide and visibility changing to 'hidden' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page hide event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] A Namespace to append to the event listeners so they can be uniquely identified and removed\r\n * based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageHideEventListener\" can remove these events.\r\n * Suggestion: pass as true if you are also calling addPageUnloadEventListener as that also hooks pagehide\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageHideEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"hidden\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);\r\n if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {\r\n pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;\r\n }\r\n if (!pageUnloadAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);\r\n }\r\n return pageUnloadAdded;\r\n}\r\n/**\r\n * Removes the pageHide event listeners added by addPageHideEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageHideEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageHideEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n removeEventListeners([strPageHide], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n/**\r\n * Listen to the pageshow and visibility changing to 'visible' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page is show event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional/Recommended] A Namespace to append to the event listeners so they can be uniquely\r\n * identified and removed based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageShowEventListener\" can remove these events.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageShowEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"visible\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);\r\n pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;\r\n if (!pageShowAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);\r\n }\r\n return pageShowAdded;\r\n}\r\n/**\r\n * Removes the pageShow event listeners added by addPageShowEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageShowEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageShowEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n removeEventListeners([strPageShow], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n//# sourceMappingURL=EventHelpers.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strShimFunction, strShimPrototype } from \"@microsoft/applicationinsights-shims\";\r\nimport { getInst, objHasOwnProperty } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SPLICE } from \"../__DynamicConstants\";\r\nimport { _getObjProto } from \"./HelperFuncs\";\r\nvar aiInstrumentHooks = \"_aiHooks\";\r\nvar cbNames = [\r\n \"req\", \"rsp\", \"hkErr\", \"fnErr\"\r\n];\r\n/** @ignore */\r\nfunction _arrLoop(arr, fn) {\r\n if (arr) {\r\n for (var lp = 0; lp < arr[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n if (fn(arr[lp], lp)) {\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n/** @ignore */\r\nfunction _doCallbacks(hooks, callDetails, cbArgs, hookCtx, type) {\r\n if (type >= 0 /* CallbackType.Request */ && type <= 2 /* CallbackType.HookError */) {\r\n _arrLoop(hooks, function (hook, idx) {\r\n var cbks = hook.cbks;\r\n var cb = cbks[cbNames[type]];\r\n if (cb) {\r\n // Set the specific hook context implementation using a lazy creation pattern\r\n callDetails.ctx = function () {\r\n var ctx = hookCtx[idx] = (hookCtx[idx] || {});\r\n return ctx;\r\n };\r\n try {\r\n cb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n catch (err) {\r\n var orgEx = callDetails.err;\r\n try {\r\n // Report Hook error via the callback\r\n var hookErrorCb = cbks[cbNames[2 /* CallbackType.HookError */]];\r\n if (hookErrorCb) {\r\n callDetails.err = err;\r\n hookErrorCb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n }\r\n catch (e) {\r\n // Not much we can do here -- swallowing the exception to avoid crashing the hosting app\r\n }\r\n finally {\r\n // restore the original exception (if any)\r\n callDetails.err = orgEx;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n/** @ignore */\r\nfunction _createFunctionHook(aiHook) {\r\n // Define a temporary method that queues-up a the real method call\r\n return function () {\r\n var _a;\r\n var funcThis = this;\r\n // Capture the original arguments passed to the method\r\n var orgArgs = arguments;\r\n var hooks = aiHook.h;\r\n var funcArgs = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = aiHook.n,\r\n _a.inst = funcThis,\r\n _a.ctx = null,\r\n _a.set = _replaceArg,\r\n _a);\r\n var hookCtx = [];\r\n var cbArgs = _createArgs([funcArgs], orgArgs);\r\n funcArgs.evt = getInst(\"event\");\r\n function _createArgs(target, theArgs) {\r\n _arrLoop(theArgs, function (arg) {\r\n target[_DYN_PUSH /* @min:%2epush */](arg);\r\n });\r\n return target;\r\n }\r\n function _replaceArg(idx, value) {\r\n orgArgs = _createArgs([], orgArgs);\r\n orgArgs[idx] = value;\r\n cbArgs = _createArgs([funcArgs], orgArgs);\r\n }\r\n // Call the pre-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 0 /* CallbackType.Request */);\r\n // Call the original function was called\r\n var theFunc = aiHook.f;\r\n if (theFunc) {\r\n try {\r\n funcArgs.rslt = theFunc[_DYN_APPLY /* @min:%2eapply */](funcThis, orgArgs);\r\n }\r\n catch (err) {\r\n // Report the request callback\r\n funcArgs.err = err;\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 3 /* CallbackType.FunctionError */);\r\n // rethrow the original exception so anyone listening for it can catch the exception\r\n throw err;\r\n }\r\n }\r\n // Call the post-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 1 /* CallbackType.Response */);\r\n return funcArgs.rslt;\r\n };\r\n}\r\n/** @ignore */\r\nfunction _getOwner(target, name, checkPrototype, checkParentProto) {\r\n var owner = null;\r\n if (target) {\r\n if (objHasOwnProperty(target, name)) {\r\n owner = target;\r\n }\r\n else if (checkPrototype) {\r\n owner = _getOwner(_getObjProto(target), name, checkParentProto, false);\r\n }\r\n }\r\n return owner;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProto(target, funcName, callbacks) {\r\n if (target) {\r\n return InstrumentFunc(target[strShimPrototype], funcName, callbacks, false);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProtos(target, funcNames, callbacks) {\r\n if (target) {\r\n return InstrumentFuncs(target[strShimPrototype], funcNames, callbacks, false);\r\n }\r\n return null;\r\n}\r\nfunction _createInstrumentHook(owner, funcName, fn, callbacks) {\r\n var aiHook = fn && fn[aiInstrumentHooks];\r\n if (!aiHook) {\r\n // Only hook the function once\r\n aiHook = {\r\n i: 0,\r\n n: funcName,\r\n f: fn,\r\n h: []\r\n };\r\n // Override (hook) the original function\r\n var newFunc = _createFunctionHook(aiHook);\r\n newFunc[aiInstrumentHooks] = aiHook; // Tag and store the function hooks\r\n owner[funcName] = newFunc;\r\n }\r\n var theHook = {\r\n // tslint:disable:object-literal-shorthand\r\n id: aiHook.i,\r\n cbks: callbacks,\r\n rm: function () {\r\n // DO NOT Use () => { shorthand for the function as the this gets replaced\r\n // with the outer this and not the this for theHook instance.\r\n var id = this.id;\r\n _arrLoop(aiHook.h, function (hook, idx) {\r\n if (hook.id === id) {\r\n aiHook.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return 1;\r\n }\r\n });\r\n }\r\n // tslint:enable:object-literal-shorthand\r\n };\r\n aiHook.i++;\r\n aiHook.h[_DYN_PUSH /* @min:%2epush */](theHook);\r\n return theHook;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n if (target && funcName && callbacks) {\r\n var owner = _getOwner(target, funcName, checkPrototype, checkParentProto);\r\n if (owner) {\r\n var fn = owner[funcName];\r\n if (typeof fn === strShimFunction) {\r\n return _createInstrumentHook(owner, funcName, fn, callbacks);\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFuncs(target, funcNames, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n var hooks = null;\r\n _arrLoop(funcNames, function (funcName) {\r\n var hook = InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto);\r\n if (hook) {\r\n if (!hooks) {\r\n hooks = [];\r\n }\r\n hooks[_DYN_PUSH /* @min:%2epush */](hook);\r\n }\r\n });\r\n return hooks;\r\n}\r\n/**\r\n * Add an instrumentation hook to the provided named \"event\" for the target class / object, this doesn't check whether the\r\n * named \"event\" is in fact a function and just assigns the instrumentation hook to the target[evtName]\r\n * @param target - The target object\r\n * @param evtName - The name of the event\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentEvent(target, evtName, callbacks, checkPrototype, checkParentProto) {\r\n if (target && evtName && callbacks) {\r\n var owner = _getOwner(target, evtName, checkPrototype, checkParentProto) || target;\r\n if (owner) {\r\n return _createInstrumentHook(owner, evtName, owner[evtName], callbacks);\r\n }\r\n }\r\n return null;\r\n}\r\n//# sourceMappingURL=InstrumentHooks.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 4\r\nexport var _DYN_IS_STORAGE_USE_DISAB0 = \"isStorageUseDisabled\"; // Count: 3\r\nexport var _DYN__ADD_HOOK = \"_addHook\"; // Count: 6\r\nexport var _DYN_CORE = \"core\"; // Count: 7\r\nexport var _DYN_DATA_TYPE = \"dataType\"; // Count: 8\r\nexport var _DYN_ENVELOPE_TYPE = \"envelopeType\"; // Count: 7\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 13\r\nexport var _DYN_TRACK = \"track\"; // Count: 7\r\nexport var _DYN_TRACK_PAGE_VIEW = \"trackPageView\"; // Count: 4\r\nexport var _DYN_TRACK_PREVIOUS_PAGE_1 = \"trackPreviousPageVisit\"; // Count: 3\r\nexport var _DYN_SEND_PAGE_VIEW_INTER2 = \"sendPageViewInternal\"; // Count: 7\r\nexport var _DYN_START_TIME = \"startTime\"; // Count: 6\r\nexport var _DYN_PROPERTIES = \"properties\"; // Count: 5\r\nexport var _DYN_DURATION = \"duration\"; // Count: 12\r\nexport var _DYN_SEND_PAGE_VIEW_PERFO3 = \"sendPageViewPerformanceInternal\"; // Count: 3\r\nexport var _DYN_POPULATE_PAGE_VIEW_P4 = \"populatePageViewPerformanceEvent\"; // Count: 3\r\nexport var _DYN_HREF = \"href\"; // Count: 6\r\nexport var _DYN_SEND_EXCEPTION_INTER5 = \"sendExceptionInternal\"; // Count: 2\r\nexport var _DYN_EXCEPTION = \"exception\"; // Count: 3\r\nexport var _DYN_ERROR = \"error\"; // Count: 5\r\nexport var _DYN__ONERROR = \"_onerror\"; // Count: 3\r\nexport var _DYN_ERROR_SRC = \"errorSrc\"; // Count: 3\r\nexport var _DYN_LINE_NUMBER = \"lineNumber\"; // Count: 5\r\nexport var _DYN_COLUMN_NUMBER = \"columnNumber\"; // Count: 5\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 4\r\nexport var _DYN__CREATE_AUTO_EXCEPTI6 = \"CreateAutoException\"; // Count: 3\r\nexport var _DYN_ADD_TELEMETRY_INITIA7 = \"addTelemetryInitializer\"; // Count: 4\r\nexport var _DYN_OVERRIDE_PAGE_VIEW_D8 = \"overridePageViewDuration\"; // Count: 2\r\nexport var _DYN_AUTO_TRACK_PAGE_VISI9 = \"autoTrackPageVisitTime\"; // Count: 2\r\nexport var _DYN_IS_BROWSER_LINK_TRAC10 = \"isBrowserLinkTrackingEnabled\"; // Count: 2\r\nexport var _DYN_LENGTH = \"length\"; // Count: 5\r\nexport var _DYN_ENABLE_AUTO_ROUTE_TR11 = \"enableAutoRouteTracking\"; // Count: 2\r\nexport var _DYN_ENABLE_UNHANDLED_PRO12 = \"enableUnhandledPromiseRejectionTracking\"; // Count: 2\r\nexport var _DYN_AUTO_UNHANDLED_PROMI13 = \"autoUnhandledPromiseInstrumented\"; // Count: 3\r\nexport var _DYN_GET_ENTRIES_BY_TYPE = \"getEntriesByType\"; // Count: 5\r\nexport var _DYN_IS_PERFORMANCE_TIMIN14 = \"isPerformanceTimingSupported\"; // Count: 2\r\nexport var _DYN_GET_PERFORMANCE_TIMI15 = \"getPerformanceTiming\"; // Count: 2\r\nexport var _DYN_NAVIGATION_START = \"navigationStart\"; // Count: 4\r\nexport var _DYN_SHOULD_COLLECT_DURAT16 = \"shouldCollectDuration\"; // Count: 3\r\nexport var _DYN_IS_PERFORMANCE_TIMIN17 = \"isPerformanceTimingDataReady\"; // Count: 2\r\nexport var _DYN_RESPONSE_START = \"responseStart\"; // Count: 5\r\nexport var _DYN_REQUEST_START = \"requestStart\"; // Count: 3\r\nexport var _DYN_LOAD_EVENT_END = \"loadEventEnd\"; // Count: 4\r\nexport var _DYN_RESPONSE_END = \"responseEnd\"; // Count: 5\r\nexport var _DYN_CONNECT_END = \"connectEnd\"; // Count: 4\r\nexport var _DYN_PAGE_VISIT_START_TIM18 = \"pageVisitStartTime\"; // Count: 2\r\n//# sourceMappingURL=__DynamicConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, arrForEach, dumpObj, getDocument, getExceptionName, getLocation, isNullOrUndefined } from \"@microsoft/applicationinsights-core-js\";\r\nimport { getPerformance, isUndefined, isWebWorker, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { _DYN_DURATION, _DYN_GET_ENTRIES_BY_TYPE, _DYN_GET_PERFORMANCE_TIMI15, _DYN_HREF, _DYN_IS_PERFORMANCE_TIMIN14, _DYN_IS_PERFORMANCE_TIMIN17, _DYN_LENGTH, _DYN_NAVIGATION_START, _DYN_POPULATE_PAGE_VIEW_P4, _DYN_PROPERTIES, _DYN_SEND_PAGE_VIEW_INTER2, _DYN_SEND_PAGE_VIEW_PERFO3, _DYN_SHOULD_COLLECT_DURAT16, _DYN_START_TIME, _DYN_TRACK_PAGE_VIEW } from \"../../__DynamicConstants\";\r\n/**\r\n * Class encapsulates sending page views and page view performance telemetry.\r\n */\r\nvar PageViewManager = /** @class */ (function () {\r\n function PageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {\r\n dynamicProto(PageViewManager, this, function (_self) {\r\n var queueTimer = null;\r\n var itemQueue = [];\r\n var pageViewPerformanceSent = false;\r\n var firstPageViewSent = false;\r\n var _logger;\r\n if (core) {\r\n _logger = core.logger;\r\n }\r\n function _flushChannels(isAsync) {\r\n if (core) {\r\n core.flush(isAsync, function () {\r\n // Event flushed, callback added to prevent promise creation\r\n });\r\n }\r\n }\r\n function _startTimer() {\r\n if (!queueTimer) {\r\n queueTimer = scheduleTimeout((function () {\r\n queueTimer = null;\r\n var allItems = itemQueue.slice(0);\r\n var doFlush = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (!item()) {\r\n // Not processed so rescheduled\r\n itemQueue.push(item);\r\n }\r\n else {\r\n doFlush = true;\r\n }\r\n });\r\n if (itemQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _startTimer();\r\n }\r\n if (doFlush) {\r\n // We process at least one item so flush the queue\r\n _flushChannels(true);\r\n }\r\n }), 100);\r\n }\r\n }\r\n function _addQueue(cb) {\r\n itemQueue.push(cb);\r\n _startTimer();\r\n }\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */] = function (pageView, customProperties) {\r\n var name = pageView.name;\r\n if (isNullOrUndefined(name) || typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = pageView.name = doc && doc.title || \"\";\r\n }\r\n var uri = pageView.uri;\r\n if (isNullOrUndefined(uri) || typeof uri !== \"string\") {\r\n var location_1 = getLocation();\r\n uri = pageView.uri = location_1 && location_1[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n if (!firstPageViewSent) {\r\n var perf = getPerformance();\r\n // Access the performance timing object\r\n var navigationEntries = (perf && perf[_DYN_GET_ENTRIES_BY_TYPE /* @min:%2egetEntriesByType */] && perf[_DYN_GET_ENTRIES_BY_TYPE /* @min:%2egetEntriesByType */](\"navigation\"));\r\n // Edge Case the navigation Entries may return an empty array and the timeOrigin is not supported on IE\r\n if (navigationEntries && navigationEntries[0] && !isUndefined(perf.timeOrigin)) {\r\n // Get the value of loadEventStart\r\n var loadEventStart = navigationEntries[0].loadEventStart;\r\n pageView[_DYN_START_TIME /* @min:%2estartTime */] = new Date(perf.timeOrigin + loadEventStart);\r\n }\r\n else {\r\n // calculate the start time manually\r\n var duration_1 = ((customProperties || pageView[_DYN_PROPERTIES /* @min:%2eproperties */] || {})[_DYN_DURATION /* @min:%2eduration */] || 0);\r\n pageView[_DYN_START_TIME /* @min:%2estartTime */] = new Date(new Date().getTime() - duration_1);\r\n }\r\n firstPageViewSent = true;\r\n }\r\n // case 1a. if performance timing is not supported by the browser, send the page view telemetry with the duration provided by the user. If the user\r\n // do not provide the duration, set duration to undefined\r\n // Also this is case 4\r\n if (!pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN14 /* @min:%2eisPerformanceTimingSupported */]()) {\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n _flushChannels(true);\r\n if (!isWebWorker()) {\r\n // no navigation timing (IE 8, iOS Safari 8.4, Opera Mini 8 - see http://caniuse.com/#feat=nav-timing)\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 25 /* _eInternalMessageId.NavigationTimingNotSupported */, \"trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.\");\r\n }\r\n return;\r\n }\r\n var pageViewSent = false;\r\n var customDuration;\r\n // if the performance timing is supported by the browser, calculate the custom duration\r\n var start = pageViewPerformanceManager[_DYN_GET_PERFORMANCE_TIMI15 /* @min:%2egetPerformanceTiming */]()[_DYN_NAVIGATION_START /* @min:%2enavigationStart */];\r\n if (start > 0) {\r\n customDuration = dateTimeUtilsDuration(start, +new Date);\r\n if (!pageViewPerformanceManager[_DYN_SHOULD_COLLECT_DURAT16 /* @min:%2eshouldCollectDuration */](customDuration)) {\r\n customDuration = undefined;\r\n }\r\n }\r\n // if the user has provided duration, send a page view telemetry with the provided duration. Otherwise, if\r\n // overridePageViewDuration is set to true, send a page view telemetry with the custom duration calculated earlier\r\n var duration;\r\n if (!isNullOrUndefined(customProperties) &&\r\n !isNullOrUndefined(customProperties[_DYN_DURATION /* @min:%2eduration */])) {\r\n duration = customProperties[_DYN_DURATION /* @min:%2eduration */];\r\n }\r\n if (overridePageViewDuration || !isNaN(duration)) {\r\n if (isNaN(duration)) {\r\n // case 3\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = customDuration;\r\n }\r\n // case 2\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n _flushChannels(true);\r\n pageViewSent = true;\r\n }\r\n // now try to send the page view performance telemetry\r\n var maxDurationLimit = 60000;\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n // Queue the event for processing\r\n _addQueue(function () {\r\n var processed = false;\r\n try {\r\n if (pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN17 /* @min:%2eisPerformanceTimingDataReady */]()) {\r\n processed = true;\r\n var pageViewPerformance = {\r\n name: name,\r\n uri: uri\r\n };\r\n pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P4 /* @min:%2epopulatePageViewPerformanceEvent */](pageViewPerformance);\r\n if (!pageViewPerformance.isValid && !pageViewSent) {\r\n // If navigation timing gives invalid numbers, then go back to \"override page view duration\" mode.\r\n // That's the best value we can get that makes sense.\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = customDuration;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n else {\r\n if (!pageViewSent) {\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = pageViewPerformance.durationMs;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n if (!pageViewPerformanceSent) {\r\n appInsights[_DYN_SEND_PAGE_VIEW_PERFO3 /* @min:%2esendPageViewPerformanceInternal */](pageViewPerformance, customProperties);\r\n pageViewPerformanceSent = true;\r\n }\r\n }\r\n }\r\n else if (start > 0 && dateTimeUtilsDuration(start, +new Date) > maxDurationLimit) {\r\n // if performance timings are not ready but we exceeded the maximum duration limit, just log a page view telemetry\r\n // with the maximum duration limit. Otherwise, keep waiting until performance timings are ready\r\n processed = true;\r\n if (!pageViewSent) {\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = maxDurationLimit;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 38 /* _eInternalMessageId.TrackPVFailedCalc */, \"trackPageView failed on page load calculation: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return processed;\r\n });\r\n };\r\n _self.teardown = function (unloadCtx, unloadState) {\r\n if (queueTimer) {\r\n queueTimer.cancel();\r\n queueTimer = null;\r\n var allItems = itemQueue.slice(0);\r\n var doFlush_1 = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (item()) {\r\n doFlush_1 = true;\r\n }\r\n });\r\n }\r\n };\r\n });\r\n }\r\n /**\r\n * Currently supported cases:\r\n * 1) (default case) track page view called with default parameters, overridePageViewDuration = false. Page view is sent with page view performance when navigation timing data is available.\r\n * a. If navigation timing is not supported then page view is sent right away with undefined duration. Page view performance is not sent.\r\n * 2) overridePageViewDuration = true, custom duration provided. Custom duration is used, page view sends right away.\r\n * 3) overridePageViewDuration = true, custom duration NOT provided. Page view is sent right away, duration is time spent from page load till now (or undefined if navigation timing is not supported).\r\n * 4) overridePageViewDuration = false, custom duration is provided. Page view is sent right away with custom duration.\r\n *\r\n * In all cases page view performance is sent once (only for the 1st call of trackPageView), or not sent if navigation timing is not supported.\r\n */\r\n PageViewManager.prototype.trackPageView = function (pageView, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n PageViewManager.prototype.teardown = function (unloadCtx, unloadState) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return PageViewManager;\r\n}());\r\nexport { PageViewManager };\r\n//# sourceMappingURL=PageViewManager.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateTimeUtilsDuration, msToTimeSpan } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, getNavigator, getPerformance, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_CONNECT_END, _DYN_DURATION, _DYN_GET_ENTRIES_BY_TYPE, _DYN_GET_PERFORMANCE_TIMI15, _DYN_IS_PERFORMANCE_TIMIN14, _DYN_IS_PERFORMANCE_TIMIN17, _DYN_LENGTH, _DYN_LOAD_EVENT_END, _DYN_NAVIGATION_START, _DYN_POPULATE_PAGE_VIEW_P4, _DYN_REQUEST_START, _DYN_RESPONSE_END, _DYN_RESPONSE_START, _DYN_SHOULD_COLLECT_DURAT16, _DYN_START_TIME } from \"../../__DynamicConstants\";\r\nvar MAX_DURATION_ALLOWED = 3600000; // 1h\r\nvar botAgentNames = [\"googlebot\", \"adsbot-google\", \"apis-google\", \"mediapartners-google\"];\r\nfunction _isPerformanceTimingSupported() {\r\n var perf = getPerformance();\r\n return perf && !!perf.timing;\r\n}\r\nfunction _isPerformanceNavigationTimingSupported() {\r\n var perf = getPerformance();\r\n return perf && perf.getEntriesByType && perf.getEntriesByType(\"navigation\")[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n}\r\nfunction _isPerformanceTimingDataReady() {\r\n var perf = getPerformance();\r\n var timing = perf ? perf.timing : 0;\r\n return timing\r\n && timing.domainLookupStart > 0\r\n && timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */] > 0\r\n && timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */] > 0\r\n && timing[_DYN_REQUEST_START /* @min:%2erequestStart */] > 0\r\n && timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */] > 0\r\n && timing[_DYN_RESPONSE_END /* @min:%2eresponseEnd */] > 0\r\n && timing[_DYN_CONNECT_END /* @min:%2econnectEnd */] > 0\r\n && timing.domLoading > 0;\r\n}\r\nfunction _getPerformanceTiming() {\r\n if (_isPerformanceTimingSupported()) {\r\n return getPerformance().timing;\r\n }\r\n return null;\r\n}\r\nfunction _getPerformanceNavigationTiming() {\r\n if (_isPerformanceNavigationTimingSupported()) {\r\n return getPerformance()[_DYN_GET_ENTRIES_BY_TYPE /* @min:%2egetEntriesByType */](\"navigation\")[0];\r\n }\r\n return null;\r\n}\r\n/**\r\n* This method tells if given durations should be excluded from collection.\r\n*/\r\nfunction _shouldCollectDuration() {\r\n var durations = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n durations[_i] = arguments[_i];\r\n }\r\n var _navigator = getNavigator() || {};\r\n // a full list of Google crawlers user agent strings - https://support.google.com/webmasters/answer/1061943?hl=en\r\n var userAgent = _navigator.userAgent;\r\n var isGoogleBot = false;\r\n if (userAgent) {\r\n for (var i = 0; i < botAgentNames[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n isGoogleBot = isGoogleBot || strIndexOf(userAgent.toLowerCase(), botAgentNames[i]) !== -1;\r\n }\r\n }\r\n if (isGoogleBot) {\r\n // Don't report durations for GoogleBot, it is returning invalid values in performance.timing API.\r\n return false;\r\n }\r\n else {\r\n // for other page views, don't report if it's outside of a reasonable range\r\n for (var i = 0; i < durations[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (durations[i] < 0 || durations[i] >= MAX_DURATION_ALLOWED) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Class encapsulates sending page view performance telemetry.\r\n */\r\nvar PageViewPerformanceManager = /** @class */ (function () {\r\n function PageViewPerformanceManager(core) {\r\n var _logger = safeGetLogger(core);\r\n dynamicProto(PageViewPerformanceManager, this, function (_self) {\r\n _self[_DYN_POPULATE_PAGE_VIEW_P4 /* @min:%2epopulatePageViewPerformanceEvent */] = function (pageViewPerformance) {\r\n pageViewPerformance.isValid = false;\r\n /*\r\n * http://www.w3.org/TR/navigation-timing/#processing-model\r\n * |-navigationStart\r\n * | |-connectEnd\r\n * | ||-requestStart\r\n * | || |-responseStart\r\n * | || | |-responseEnd\r\n * | || | |\r\n * | || | | |-loadEventEnd\r\n * |---network---||---request---|---response---|---dom---|\r\n * |--------------------------total----------------------|\r\n *\r\n * total = The difference between the load event of the current document is completed and the first recorded timestamp of the performance entry : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#duration\r\n * network = Redirect time + App Cache + DNS lookup time + TCP connection time\r\n * request = Request time : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#request_time\r\n * response = Response time\r\n * dom = Document load time : https://html.spec.whatwg.org/multipage/dom.html#document-load-timing-info\r\n * = Document processing time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#document_processing\r\n * + Loading time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#loading\r\n */\r\n var navigationTiming = _getPerformanceNavigationTiming();\r\n var timing = _getPerformanceTiming();\r\n var total = 0;\r\n var network = 0;\r\n var request = 0;\r\n var response = 0;\r\n var dom = 0;\r\n if (navigationTiming || timing) {\r\n if (navigationTiming) {\r\n total = navigationTiming[_DYN_DURATION /* @min:%2eduration */];\r\n /**\r\n * support both cases:\r\n * - startTime is always zero: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming\r\n * - for older browsers where the startTime is not zero\r\n */\r\n network = navigationTiming[_DYN_START_TIME /* @min:%2estartTime */] === 0 ? navigationTiming[_DYN_CONNECT_END /* @min:%2econnectEnd */] : dateTimeUtilsDuration(navigationTiming[_DYN_START_TIME /* @min:%2estartTime */], navigationTiming[_DYN_CONNECT_END /* @min:%2econnectEnd */]);\r\n request = dateTimeUtilsDuration(navigationTiming.requestStart, navigationTiming[_DYN_RESPONSE_START /* @min:%2eresponseStart */]);\r\n response = dateTimeUtilsDuration(navigationTiming[_DYN_RESPONSE_START /* @min:%2eresponseStart */], navigationTiming[_DYN_RESPONSE_END /* @min:%2eresponseEnd */]);\r\n dom = dateTimeUtilsDuration(navigationTiming.responseEnd, navigationTiming[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n }\r\n else {\r\n total = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */], timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n network = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */], timing[_DYN_CONNECT_END /* @min:%2econnectEnd */]);\r\n request = dateTimeUtilsDuration(timing.requestStart, timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */]);\r\n response = dateTimeUtilsDuration(timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */], timing[_DYN_RESPONSE_END /* @min:%2eresponseEnd */]);\r\n dom = dateTimeUtilsDuration(timing.responseEnd, timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n }\r\n if (total === 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 10 /* _eInternalMessageId.ErrorPVCalc */, \"error calculating page view performance.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (!_self[_DYN_SHOULD_COLLECT_DURAT16 /* @min:%2eshouldCollectDuration */](total, network, request, response, dom)) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 45 /* _eInternalMessageId.InvalidDurationValue */, \"Invalid page load duration value. Browser perf data won't be sent.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {\r\n // some browsers may report individual components incorrectly so that the sum of the parts will be bigger than total PLT\r\n // in this case, don't report client performance from this page\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 8 /* _eInternalMessageId.ClientPerformanceMathError */, \"client performance math error.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else {\r\n pageViewPerformance.durationMs = total;\r\n // // convert to timespans\r\n pageViewPerformance.perfTotal = pageViewPerformance[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(total);\r\n pageViewPerformance.networkConnect = msToTimeSpan(network);\r\n pageViewPerformance.sentRequest = msToTimeSpan(request);\r\n pageViewPerformance.receivedResponse = msToTimeSpan(response);\r\n pageViewPerformance.domProcessing = msToTimeSpan(dom);\r\n pageViewPerformance.isValid = true;\r\n }\r\n }\r\n };\r\n _self[_DYN_GET_PERFORMANCE_TIMI15 /* @min:%2egetPerformanceTiming */] = _getPerformanceTiming;\r\n _self[_DYN_IS_PERFORMANCE_TIMIN14 /* @min:%2eisPerformanceTimingSupported */] = _isPerformanceTimingSupported;\r\n _self[_DYN_IS_PERFORMANCE_TIMIN17 /* @min:%2eisPerformanceTimingDataReady */] = _isPerformanceTimingDataReady;\r\n _self[_DYN_SHOULD_COLLECT_DURAT16 /* @min:%2eshouldCollectDuration */] = _shouldCollectDuration;\r\n });\r\n }\r\n PageViewPerformanceManager.prototype.populatePageViewPerformanceEvent = function (pageViewPerformance) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n PageViewPerformanceManager.prototype.getPerformanceTiming = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Returns true is window performance timing API is supported, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceTimingSupported = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return true;\r\n };\r\n /**\r\n * As page loads different parts of performance timing numbers get set. When all of them are set we can report it.\r\n * Returns true if ready, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceTimingDataReady = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return true;\r\n };\r\n /**\r\n * This method tells if given durations should be excluded from collection.\r\n */\r\n PageViewPerformanceManager.prototype.shouldCollectDuration = function () {\r\n var durations = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n durations[_i] = arguments[_i];\r\n }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return true;\r\n };\r\n return PageViewPerformanceManager;\r\n}());\r\nexport { PageViewPerformanceManager };\r\n//# sourceMappingURL=PageViewPerformanceManager.js.map","/**\r\n* ApplicationInsights.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nvar _a;\r\nimport { __assign, __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPluginIdentifier, Event as EventTelemetry, Exception, Metric, PageView, PageViewPerformance, PropertiesPluginIdentifier, RemoteDependencyData, Trace, createDistributedTraceContextFromTrace, createDomEvent, createTelemetryItem, dataSanitizeString, isCrossOriginError, strNotSpecified, utlDisableStorage, utlEnableStorage, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, InstrumentEvent, arrForEach, cfgDfBoolean, cfgDfMerge, cfgDfSet, cfgDfString, cfgDfValidate, createProcessTelemetryContext, createUniqueNamespace, dumpObj, eventOff, eventOn, findAllScripts, generateW3CId, getDocument, getExceptionName, getHistory, getLocation, getWindow, hasHistory, hasWindow, isFunction, isNullOrUndefined, isString, isUndefined, mergeEvtNamespace, onConfigChange, safeGetCookieMgr, strUndefined, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { isArray, isError, objDeepFreeze, objDefine, scheduleTimeout, strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_ADD_TELEMETRY_INITIA7, _DYN_AUTO_TRACK_PAGE_VISI9, _DYN_AUTO_UNHANDLED_PROMI13, _DYN_COLUMN_NUMBER, _DYN_CORE, _DYN_DATA_TYPE, _DYN_DIAG_LOG, _DYN_DURATION, _DYN_ENABLE_AUTO_ROUTE_TR11, _DYN_ENABLE_UNHANDLED_PRO12, _DYN_ENVELOPE_TYPE, _DYN_ERROR, _DYN_ERROR_SRC, _DYN_EXCEPTION, _DYN_HREF, _DYN_IS_BROWSER_LINK_TRAC10, _DYN_IS_STORAGE_USE_DISAB0, _DYN_LENGTH, _DYN_LINE_NUMBER, _DYN_MESSAGE, _DYN_OVERRIDE_PAGE_VIEW_D8, _DYN_POPULATE_PAGE_VIEW_P4, _DYN_PROPERTIES, _DYN_SEND_EXCEPTION_INTER5, _DYN_SEND_PAGE_VIEW_INTER2, _DYN_SEND_PAGE_VIEW_PERFO3, _DYN_START_TIME, _DYN_TO_STRING, _DYN_TRACK, _DYN_TRACK_PAGE_VIEW, _DYN_TRACK_PREVIOUS_PAGE_1, _DYN__ADD_HOOK, _DYN__CREATE_AUTO_EXCEPTI6, _DYN__ONERROR } from \"../__DynamicConstants\";\r\nimport { PageViewManager } from \"./Telemetry/PageViewManager\";\r\nimport { PageViewPerformanceManager } from \"./Telemetry/PageViewPerformanceManager\";\r\nimport { PageVisitTimeManager } from \"./Telemetry/PageVisitTimeManager\";\r\nimport { Timing } from \"./Timing\";\r\nvar strEvent = \"event\";\r\nfunction _dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n }\r\n}\r\nfunction _getReason(error) {\r\n if (error && error.reason) {\r\n var reason = error.reason;\r\n if (!isString(reason) && isFunction(reason[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n return reason[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n return dumpObj(reason);\r\n }\r\n // Pass the original object down which will eventually get evaluated for any message or description\r\n return error || \"\";\r\n}\r\nvar MinMilliSeconds = 60000;\r\nvar defaultValues = objDeepFreeze((_a = {\r\n sessionRenewalMs: cfgDfSet(_chkConfigMilliseconds, 30 * 60 * 1000),\r\n sessionExpirationMs: cfgDfSet(_chkConfigMilliseconds, 24 * 60 * 60 * 1000),\r\n disableExceptionTracking: cfgDfBoolean()\r\n },\r\n _a[_DYN_AUTO_TRACK_PAGE_VISI9 /* @min:autoTrackPageVisitTime */] = cfgDfBoolean(),\r\n _a[_DYN_OVERRIDE_PAGE_VIEW_D8 /* @min:overridePageViewDuration */] = cfgDfBoolean(),\r\n _a[_DYN_ENABLE_UNHANDLED_PRO12 /* @min:enableUnhandledPromiseRejectionTracking */] = cfgDfBoolean(),\r\n _a[_DYN_AUTO_UNHANDLED_PROMI13 /* @min:autoUnhandledPromiseInstrumented */] = false,\r\n _a.samplingPercentage = cfgDfValidate(_chkSampling, 100),\r\n _a[_DYN_IS_STORAGE_USE_DISAB0 /* @min:isStorageUseDisabled */] = cfgDfBoolean(),\r\n _a[_DYN_IS_BROWSER_LINK_TRAC10 /* @min:isBrowserLinkTrackingEnabled */] = cfgDfBoolean(),\r\n _a[_DYN_ENABLE_AUTO_ROUTE_TR11 /* @min:enableAutoRouteTracking */] = cfgDfBoolean(),\r\n _a.namePrefix = cfgDfString(),\r\n _a.enableDebug = cfgDfBoolean(),\r\n _a.disableFlushOnBeforeUnload = cfgDfBoolean(),\r\n _a.disableFlushOnUnload = cfgDfBoolean(false, \"disableFlushOnBeforeUnload\"),\r\n _a.expCfg = cfgDfMerge({ inclScripts: false, expLog: undefined, maxLogs: 50 }),\r\n _a));\r\nfunction _chkConfigMilliseconds(value, defValue) {\r\n value = value || defValue;\r\n if (value < MinMilliSeconds) {\r\n value = MinMilliSeconds;\r\n }\r\n return +value;\r\n}\r\nfunction _chkSampling(value) {\r\n return !isNaN(value) && value > 0 && value <= 100;\r\n}\r\nfunction _updateStorageUsage(extConfig) {\r\n // Not resetting the storage usage as someone may have manually called utlDisableStorage, so this will only\r\n // reset based if the configuration option is provided\r\n if (!isUndefined(extConfig[_DYN_IS_STORAGE_USE_DISAB0 /* @min:%2eisStorageUseDisabled */])) {\r\n if (extConfig[_DYN_IS_STORAGE_USE_DISAB0 /* @min:%2eisStorageUseDisabled */]) {\r\n utlDisableStorage();\r\n }\r\n else {\r\n utlEnableStorage();\r\n }\r\n }\r\n}\r\nvar AnalyticsPlugin = /** @class */ (function (_super) {\r\n __extends(AnalyticsPlugin, _super);\r\n function AnalyticsPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AnalyticsPluginIdentifier; // do not change name or priority\r\n _this.priority = 180; // take from reserved priority range 100- 200\r\n _this.autoRoutePVDelay = 500; // ms; Time to wait after a route change before triggering a pageview to allow DOM changes to take place\r\n var _eventTracking;\r\n var _pageTracking;\r\n var _pageViewManager;\r\n var _pageViewPerformanceManager;\r\n var _pageVisitTimeManager;\r\n var _preInitTelemetryInitializers;\r\n var _isBrowserLinkTrackingEnabled;\r\n var _browserLinkInitializerAdded;\r\n var _enableAutoRouteTracking;\r\n var _historyListenerAdded;\r\n var _disableExceptionTracking;\r\n var _autoExceptionInstrumented;\r\n var _enableUnhandledPromiseRejectionTracking;\r\n var _autoUnhandledPromiseInstrumented;\r\n var _extConfig;\r\n var _autoTrackPageVisitTime;\r\n var _expCfg;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n var _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var _prevUri; // Assigned in the constructor\r\n var _currUri;\r\n var _evtNamespace;\r\n dynamicProto(AnalyticsPlugin, _this, function (_self, _base) {\r\n var _addHook = _base[_DYN__ADD_HOOK /* @min:%2e_addHook */];\r\n _initDefaults();\r\n _self.getCookieMgr = function () {\r\n return safeGetCookieMgr(_self[_DYN_CORE /* @min:%2ecore */]);\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n _self.trackEvent = function (event, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(event, EventTelemetry[_DYN_DATA_TYPE /* @min:%2edataType */], EventTelemetry[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(2 /* eLoggingSeverity.WARNING */, 39 /* _eInternalMessageId.TrackTraceFailed */, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Start timing an extended event. Call `stopTrackEvent` to log the event when it ends.\r\n * @param name A string that identifies this event uniquely within the document.\r\n */\r\n _self.startTrackEvent = function (name) {\r\n try {\r\n _eventTracking.start(name);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 29 /* _eInternalMessageId.StartTrackEventFailed */, \"startTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackEvent = function (name, properties, measurements) {\r\n try {\r\n _eventTracking.stop(name, undefined, properties, measurements);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 30 /* _eInternalMessageId.StopTrackEventFailed */, \"stopTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param trace\r\n * @param ICustomProperties.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackTrace = function (trace, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(trace, Trace[_DYN_DATA_TYPE /* @min:%2edataType */], Trace[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(2 /* eLoggingSeverity.WARNING */, 39 /* _eInternalMessageId.TrackTraceFailed */, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a numeric value that is not associated with a specific event. Typically\r\n * used to send regular reports of performance indicators. To send single measurement, just\r\n * use the name and average fields of {@link IMetricTelemetry}. If you take measurements\r\n * frequently, you can reduce the telemetry bandwidth by aggregating multiple measurements\r\n * and sending the resulting average at intervals\r\n * @param metric - input object argument. Only name and average are mandatory.\r\n * @param } customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackMetric = function (metric, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(metric, Metric[_DYN_DATA_TYPE /* @min:%2edataType */], Metric[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 36 /* _eInternalMessageId.TrackMetricFailed */, \"trackMetric failed, metric will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Logs that a page or other item was viewed.\r\n * @param IPageViewTelemetry - The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param customProperties - Additional data used to filter events and metrics. Defaults to empty.\r\n * If a user wants to provide duration for pageLoad, it'll have to be in pageView.properties.duration\r\n */\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */] = function (pageView, customProperties) {\r\n try {\r\n var inPv = pageView || {};\r\n _pageViewManager[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */](inPv, __assign(__assign(__assign({}, inPv.properties), inPv.measurements), customProperties));\r\n if (_autoTrackPageVisitTime) {\r\n _pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_1 /* @min:%2etrackPreviousPageVisit */](inPv.name, inPv.uri);\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 37 /* _eInternalMessageId.TrackPVFailed */, \"trackPageView failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Create a page view telemetry item and send it to the SDK pipeline through the core.track API\r\n * @param pageView - Page view item to be sent\r\n * @param properties - Custom properties (Part C) that a user can add to the telemetry item\r\n * @param systemProperties - System level properties (Part A) that a user can add to the telemetry item\r\n */\r\n _self[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */] = function (pageView, properties, systemProperties) {\r\n var doc = getDocument();\r\n if (doc) {\r\n pageView.refUri = pageView.refUri === undefined ? doc.referrer : pageView.refUri;\r\n }\r\n if (isNullOrUndefined(pageView[_DYN_START_TIME /* @min:%2estartTime */])) {\r\n // calculate the start time manually\r\n var duration = ((properties || pageView[_DYN_PROPERTIES /* @min:%2eproperties */] || {})[_DYN_DURATION /* @min:%2eduration */] || 0);\r\n pageView[_DYN_START_TIME /* @min:%2estartTime */] = new Date(new Date().getTime() - duration);\r\n }\r\n var telemetryItem = createTelemetryItem(pageView, PageView[_DYN_DATA_TYPE /* @min:%2edataType */], PageView[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n // reset ajaxes counter\r\n _trackAjaxAttempts = 0;\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n _self[_DYN_SEND_PAGE_VIEW_PERFO3 /* @min:%2esendPageViewPerformanceInternal */] = function (pageViewPerformance, properties, systemProperties) {\r\n var telemetryItem = createTelemetryItem(pageViewPerformance, PageViewPerformance[_DYN_DATA_TYPE /* @min:%2edataType */], PageViewPerformance[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n };\r\n /**\r\n * Send browser performance metrics.\r\n * @param pageViewPerformance\r\n * @param customProperties\r\n */\r\n _self.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n var inPvp = pageViewPerformance || {};\r\n try {\r\n _pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P4 /* @min:%2epopulatePageViewPerformanceEvent */](inPvp);\r\n _self[_DYN_SEND_PAGE_VIEW_PERFO3 /* @min:%2esendPageViewPerformanceInternal */](inPvp, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 37 /* _eInternalMessageId.TrackPVFailed */, \"trackPageViewPerformance failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name - A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n _self.startTrackPage = function (name) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n _pageTracking.start(name);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 31 /* _eInternalMessageId.StartTrackFailed */, \"startTrackPage failed, page view may not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackPage = function (name, url, properties, measurement) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n if (typeof url !== \"string\") {\r\n var loc = getLocation();\r\n url = loc && loc[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n _pageTracking.stop(name, url, properties, measurement);\r\n if (_autoTrackPageVisitTime) {\r\n _pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_1 /* @min:%2etrackPreviousPageVisit */](name, url);\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 32 /* _eInternalMessageId.StopTrackFailed */, \"stopTrackPage failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param exception\r\n * @param properties\r\n * @param systemProperties\r\n */\r\n _self[_DYN_SEND_EXCEPTION_INTER5 /* @min:%2esendExceptionInternal */] = function (exception, customProperties, systemProperties) {\r\n // Adding additional edge cases to handle\r\n // - Not passing anything (null / undefined)\r\n var theError = (exception && (exception[_DYN_EXCEPTION /* @min:%2eexception */] || exception[_DYN_ERROR /* @min:%2eerror */])) ||\r\n // - Handle someone calling trackException based of v1 API where the exception was the Error\r\n isError(exception) && exception ||\r\n // - Handles no error being defined and instead of creating a new Error() instance attempt to map so any stacktrace\r\n // is preserved and does not list ApplicationInsights code as the source\r\n { name: (exception && typeof exception), message: exception || strNotSpecified };\r\n // If no exception object was passed assign to an empty object to avoid internal exceptions\r\n exception = exception || {};\r\n var exceptionPartB = new Exception(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), theError, exception[_DYN_PROPERTIES /* @min:%2eproperties */] || customProperties, exception.measurements, exception.severityLevel, exception.id).toInterface();\r\n var doc = getDocument();\r\n if (doc && (_expCfg === null || _expCfg === void 0 ? void 0 : _expCfg.inclScripts)) {\r\n var scriptsInfo = findAllScripts(doc);\r\n exceptionPartB[_DYN_PROPERTIES /* @min:%2eproperties */][\"exceptionScripts\"] = JSON.stringify(scriptsInfo);\r\n }\r\n if (_expCfg === null || _expCfg === void 0 ? void 0 : _expCfg.expLog) {\r\n var logs = _expCfg.expLog();\r\n if (logs && logs.logs && isArray(logs.logs)) {\r\n exceptionPartB[_DYN_PROPERTIES /* @min:%2eproperties */][\"exceptionLog\"] = logs.logs.slice(0, _expCfg.maxLogs).join(\"\\n\");\r\n }\r\n }\r\n var telemetryItem = createTelemetryItem(exceptionPartB, Exception[_DYN_DATA_TYPE /* @min:%2edataType */], Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param exception - Object which contains exception to be sent\r\n * @param } customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n *\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackException = function (exception, customProperties) {\r\n if (exception && !exception[_DYN_EXCEPTION /* @min:%2eexception */] && exception[_DYN_ERROR /* @min:%2eerror */]) {\r\n exception[_DYN_EXCEPTION /* @min:%2eexception */] = exception[_DYN_ERROR /* @min:%2eerror */];\r\n }\r\n try {\r\n _self[_DYN_SEND_EXCEPTION_INTER5 /* @min:%2esendExceptionInternal */](exception, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 35 /* _eInternalMessageId.TrackExceptionFailed */, \"trackException failed, exception will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param exception\r\n * @memberof ApplicationInsights\r\n */\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */] = function (exception) {\r\n var error = exception && exception[_DYN_ERROR /* @min:%2eerror */];\r\n var evt = exception && exception.evt;\r\n try {\r\n if (!evt) {\r\n var _window = getWindow();\r\n if (_window) {\r\n evt = _window[strEvent];\r\n }\r\n }\r\n var url = (exception && exception.url) || (getDocument() || {}).URL;\r\n // If no error source is provided assume the default window.onerror handler\r\n var errorSrc = exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */] || \"window.onerror@\" + url + \":\" + (exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0) + \":\" + (exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0);\r\n var properties = {\r\n errorSrc: errorSrc,\r\n url: url,\r\n lineNumber: exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0,\r\n columnNumber: exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0,\r\n message: exception[_DYN_MESSAGE /* @min:%2emessage */]\r\n };\r\n if (isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception[_DYN_ERROR /* @min:%2eerror */])) {\r\n _sendCORSException(Exception[_DYN__CREATE_AUTO_EXCEPTI6 /* @min:%2eCreateAutoException */](\"Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.\", url, exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0, exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0, error, evt, null, errorSrc), properties);\r\n }\r\n else {\r\n if (!exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */]) {\r\n exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */] = errorSrc;\r\n }\r\n _self.trackException({ exception: exception, severityLevel: 3 /* eSeverityLevel.Error */ }, properties);\r\n }\r\n }\r\n catch (e) {\r\n var errorString = error ? (error.name + \", \" + error[_DYN_MESSAGE /* @min:%2emessage */]) : \"null\";\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 11 /* _eInternalMessageId.ExceptionWhileLoggingError */, \"_onError threw exception while logging error, error will not be collected: \"\r\n + getExceptionName(e), { exception: dumpObj(e), errorString: errorString });\r\n }\r\n };\r\n _self[_DYN_ADD_TELEMETRY_INITIA7 /* @min:%2eaddTelemetryInitializer */] = function (telemetryInitializer) {\r\n if (_self[_DYN_CORE /* @min:%2ecore */]) {\r\n // Just add to the core\r\n return _self[_DYN_CORE /* @min:%2ecore */][_DYN_ADD_TELEMETRY_INITIA7 /* @min:%2eaddTelemetryInitializer */](telemetryInitializer);\r\n }\r\n // Handle \"pre-initialization\" telemetry initializers (for backward compatibility)\r\n if (!_preInitTelemetryInitializers) {\r\n _preInitTelemetryInitializers = [];\r\n }\r\n _preInitTelemetryInitializers.push(telemetryInitializer);\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n return;\r\n }\r\n if (isNullOrUndefined(core)) {\r\n throwError(\"Error initializing\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n try {\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());\r\n if (_preInitTelemetryInitializers) {\r\n arrForEach(_preInitTelemetryInitializers, function (initializer) {\r\n core[_DYN_ADD_TELEMETRY_INITIA7 /* @min:%2eaddTelemetryInitializer */](initializer);\r\n });\r\n _preInitTelemetryInitializers = null;\r\n }\r\n _populateDefaults(config);\r\n _pageViewPerformanceManager = new PageViewPerformanceManager(_self[_DYN_CORE /* @min:%2ecore */]);\r\n _pageViewManager = new PageViewManager(_self, _extConfig.overridePageViewDuration, _self[_DYN_CORE /* @min:%2ecore */], _pageViewPerformanceManager);\r\n _pageVisitTimeManager = new PageVisitTimeManager(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), function (pageName, pageUrl, pageVisitTime) { return trackPageVisitTime(pageName, pageUrl, pageVisitTime); });\r\n _eventTracking = new Timing(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), \"trackEvent\");\r\n _eventTracking.action =\r\n function (name, url, duration, properties, measurements) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n if (!measurements) {\r\n measurements = {};\r\n }\r\n properties.duration = duration[_DYN_TO_STRING /* @min:%2etoString */]();\r\n _self.trackEvent({ name: name, properties: properties, measurements: measurements });\r\n };\r\n // initialize page view timing\r\n _pageTracking = new Timing(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), \"trackPageView\");\r\n _pageTracking.action = function (name, url, duration, properties, measurements) {\r\n // duration must be a custom property in order for the collector to extract it\r\n if (isNullOrUndefined(properties)) {\r\n properties = {};\r\n }\r\n properties.duration = duration[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var pageViewItem = {\r\n name: name,\r\n uri: url,\r\n properties: properties,\r\n measurements: measurements\r\n };\r\n _self[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageViewItem, properties);\r\n };\r\n if (hasWindow()) {\r\n _updateExceptionTracking();\r\n _updateLocationChange();\r\n }\r\n }\r\n catch (e) {\r\n // resetting the initialized state because of failure\r\n _self.setInitialized(false);\r\n throw e;\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _pageViewManager && _pageViewManager.teardown(unloadCtx, unloadState);\r\n // Just register to remove all events associated with this namespace\r\n eventOff(window, null, null, _evtNamespace);\r\n _initDefaults();\r\n };\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self[_DYN_CORE /* @min:%2ecore */];\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(config, function () {\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n _extConfig = ctx.getExtCfg(identifier, defaultValues);\r\n _expCfg = _extConfig.expCfg;\r\n _autoTrackPageVisitTime = _extConfig[_DYN_AUTO_TRACK_PAGE_VISI9 /* @min:%2eautoTrackPageVisitTime */];\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n _updateStorageUsage(_extConfig);\r\n // _updateBrowserLinkTracking\r\n _isBrowserLinkTrackingEnabled = _extConfig[_DYN_IS_BROWSER_LINK_TRAC10 /* @min:%2eisBrowserLinkTrackingEnabled */];\r\n _addDefaultTelemetryInitializers();\r\n }));\r\n }\r\n /**\r\n * Log a page visit time\r\n * @param pageName Name of page\r\n * @param pageVisitDuration Duration of visit to the page in milliseconds\r\n */\r\n function trackPageVisitTime(pageName, pageUrl, pageVisitTime) {\r\n var properties = { PageName: pageName, PageUrl: pageUrl };\r\n _self.trackMetric({\r\n name: \"PageVisitTime\",\r\n average: pageVisitTime,\r\n max: pageVisitTime,\r\n min: pageVisitTime,\r\n sampleCount: 1\r\n }, properties);\r\n }\r\n function _addDefaultTelemetryInitializers() {\r\n if (!_browserLinkInitializerAdded && _isBrowserLinkTrackingEnabled) {\r\n var browserLinkPaths_1 = [\"/browserLinkSignalR/\", \"/__browserLink/\"];\r\n var dropBrowserLinkRequests = function (envelope) {\r\n if (_isBrowserLinkTrackingEnabled && envelope.baseType === RemoteDependencyData[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n var remoteData = envelope.baseData;\r\n if (remoteData) {\r\n for (var i = 0; i < browserLinkPaths_1[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (remoteData.target && strIndexOf(remoteData.target, browserLinkPaths_1[i]) >= 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](_self[_DYN_ADD_TELEMETRY_INITIA7 /* @min:%2eaddTelemetryInitializer */](dropBrowserLinkRequests));\r\n _browserLinkInitializerAdded = true;\r\n }\r\n }\r\n function _sendCORSException(exception, properties) {\r\n var telemetryItem = createTelemetryItem(exception, Exception[_DYN_DATA_TYPE /* @min:%2edataType */], Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n function _updateExceptionTracking() {\r\n var _window = getWindow();\r\n var locn = getLocation(true);\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extConfig, function () {\r\n _disableExceptionTracking = _extConfig.disableExceptionTracking;\r\n if (!_disableExceptionTracking && !_autoExceptionInstrumented && !_extConfig.autoExceptionInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n _addHook(InstrumentEvent(_window, \"onerror\", {\r\n ns: _evtNamespace,\r\n rsp: function (callDetails, message, url, lineNumber, columnNumber, error) {\r\n if (!_disableExceptionTracking && callDetails.rslt !== true) {\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */](Exception[_DYN__CREATE_AUTO_EXCEPTI6 /* @min:%2eCreateAutoException */](message, url, lineNumber, columnNumber, error, callDetails.evt));\r\n }\r\n }\r\n }, false));\r\n _autoExceptionInstrumented = true;\r\n }\r\n }));\r\n _addUnhandledPromiseRejectionTracking(_window, locn);\r\n }\r\n function _updateLocationChange() {\r\n var win = getWindow();\r\n var locn = getLocation(true);\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extConfig, function () {\r\n _enableAutoRouteTracking = _extConfig[_DYN_ENABLE_AUTO_ROUTE_TR11 /* @min:%2eenableAutoRouteTracking */] === true;\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n if (win && _enableAutoRouteTracking && !_historyListenerAdded && hasHistory()) {\r\n var _history = getHistory();\r\n if (isFunction(_history.pushState) && isFunction(_history.replaceState) && typeof Event !== strUndefined) {\r\n _addHistoryListener(win, _history, locn);\r\n }\r\n }\r\n }));\r\n }\r\n function _getDistributedTraceCtx() {\r\n var distributedTraceCtx = null;\r\n if (_self[_DYN_CORE /* @min:%2ecore */] && _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx) {\r\n distributedTraceCtx = _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx(false);\r\n }\r\n if (!distributedTraceCtx) {\r\n // Fallback when using an older Core and PropertiesPlugin\r\n var properties = _self[_DYN_CORE /* @min:%2ecore */].getPlugin(PropertiesPluginIdentifier);\r\n if (properties) {\r\n var context = properties.plugin.context;\r\n if (context) {\r\n distributedTraceCtx = createDistributedTraceContextFromTrace(context.telemetryTrace);\r\n }\r\n }\r\n }\r\n return distributedTraceCtx;\r\n }\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n function _addHistoryListener(win, history, locn) {\r\n if (_historyListenerAdded) {\r\n return;\r\n }\r\n // Name Prefix is only referenced during the initial initialization and cannot be changed afterwards\r\n var namePrefix = _extConfig.namePrefix || \"\";\r\n function _popstateHandler() {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n function _locationChangeHandler() {\r\n // We always track the changes (if the handler is installed) to handle the feature being disabled between location changes\r\n if (_currUri) {\r\n _prevUri = _currUri;\r\n _currUri = locn && locn[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n else {\r\n _currUri = locn && locn[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n if (_enableAutoRouteTracking) {\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n if (distributedTraceCtx) {\r\n distributedTraceCtx.setTraceId(generateW3CId());\r\n var traceLocationName = \"_unknown_\";\r\n if (locn && locn.pathname) {\r\n traceLocationName = locn.pathname + (locn.hash || \"\");\r\n }\r\n // This populates the ai.operation.name which has a maximum size of 1024 so we need to sanitize it\r\n distributedTraceCtx.setName(dataSanitizeString(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), traceLocationName));\r\n }\r\n scheduleTimeout((function (uri) {\r\n // todo: override start time so that it is not affected by autoRoutePVDelay\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */]({ refUri: uri, properties: { duration: 0 } }); // SPA route change loading durations are undefined, so send 0\r\n }).bind(_self, _prevUri), _self.autoRoutePVDelay);\r\n }\r\n }\r\n _addHook(InstrumentEvent(history, \"pushState\", {\r\n ns: _evtNamespace,\r\n rsp: function () {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"pushState\"));\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n }, true));\r\n _addHook(InstrumentEvent(history, \"replaceState\", {\r\n ns: _evtNamespace,\r\n rsp: function () {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"replaceState\"));\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n }, true));\r\n eventOn(win, namePrefix + \"popstate\", _popstateHandler, _evtNamespace);\r\n eventOn(win, namePrefix + \"locationchange\", _locationChangeHandler, _evtNamespace);\r\n _historyListenerAdded = true;\r\n }\r\n function _addUnhandledPromiseRejectionTracking(_window, _location) {\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extConfig, function () {\r\n _enableUnhandledPromiseRejectionTracking = _extConfig[_DYN_ENABLE_UNHANDLED_PRO12 /* @min:%2eenableUnhandledPromiseRejectionTracking */] === true;\r\n _autoExceptionInstrumented = _autoExceptionInstrumented || _extConfig[_DYN_AUTO_UNHANDLED_PROMI13 /* @min:%2eautoUnhandledPromiseInstrumented */];\r\n if (_enableUnhandledPromiseRejectionTracking && !_autoUnhandledPromiseInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n _addHook(InstrumentEvent(_window, \"onunhandledrejection\", {\r\n ns: _evtNamespace,\r\n rsp: function (callDetails, error) {\r\n if (_enableUnhandledPromiseRejectionTracking && callDetails.rslt !== true) { // handled could be typeof function\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */](Exception[_DYN__CREATE_AUTO_EXCEPTI6 /* @min:%2eCreateAutoException */](_getReason(error), _location ? _location[_DYN_HREF /* @min:%2ehref */] : \"\", 0, 0, error, callDetails.evt));\r\n }\r\n }\r\n }, false));\r\n _extConfig[_DYN_AUTO_UNHANDLED_PROMI13 /* @min:%2eautoUnhandledPromiseInstrumented */] = _autoUnhandledPromiseInstrumented = true;\r\n }\r\n }));\r\n }\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity - {eLoggingSeverity} - The severity of the log message\r\n * @param msgId - {_eInternalLogMessage} - The log message.\r\n */\r\n function _throwInternal(severity, msgId, msg, properties, isUserAct) {\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]().throwInternal(severity, msgId, msg, properties, isUserAct);\r\n }\r\n function _initDefaults() {\r\n _eventTracking = null;\r\n _pageTracking = null;\r\n _pageViewManager = null;\r\n _pageViewPerformanceManager = null;\r\n _pageVisitTimeManager = null;\r\n _preInitTelemetryInitializers = null;\r\n _isBrowserLinkTrackingEnabled = false;\r\n _browserLinkInitializerAdded = false;\r\n _enableAutoRouteTracking = false;\r\n _historyListenerAdded = false;\r\n _disableExceptionTracking = false;\r\n _autoExceptionInstrumented = false;\r\n _enableUnhandledPromiseRejectionTracking = false;\r\n _autoUnhandledPromiseInstrumented = false;\r\n _autoTrackPageVisitTime = false;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var location = getLocation(true);\r\n _prevUri = location && location[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n _currUri = null;\r\n _evtNamespace = null;\r\n _extConfig = null;\r\n // Define _self.config\r\n objDefine(_self, \"config\", {\r\n g: function () { return _extConfig; }\r\n });\r\n }\r\n // For backward compatibility\r\n objDefine(_self, \"_pageViewManager\", { g: function () { return _pageViewManager; } });\r\n objDefine(_self, \"_pageViewPerformanceManager\", { g: function () { return _pageViewPerformanceManager; } });\r\n objDefine(_self, \"_pageVisitTimeManager\", { g: function () { return _pageVisitTimeManager; } });\r\n objDefine(_self, \"_evtNamespace\", { g: function () { return \".\" + _evtNamespace; } });\r\n });\r\n return _this;\r\n }\r\n /**\r\n * Get the current cookie manager for this instance\r\n */\r\n AnalyticsPlugin.prototype.getCookieMgr = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n AnalyticsPlugin.prototype.processTelemetry = function (env, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AnalyticsPlugin.prototype.trackEvent = function (event, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Start timing an extended event. Call `stopTrackEvent` to log the event when it ends.\r\n * @param name A string that identifies this event uniquely within the document.\r\n */\r\n AnalyticsPlugin.prototype.startTrackEvent = function (name) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n AnalyticsPlugin.prototype.stopTrackEvent = function (name, properties, measurements) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param trace\r\n * @param ICustomProperties.\r\n * @memberof ApplicationInsights\r\n */\r\n AnalyticsPlugin.prototype.trackTrace = function (trace, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @description Log a numeric value that is not associated with a specific event. Typically\r\n * used to send regular reports of performance indicators. To send single measurement, just\r\n * use the name and average fields of {@link IMetricTelemetry}. If you take measurements\r\n * frequently, you can reduce the telemetry bandwidth by aggregating multiple measurements\r\n * and sending the resulting average at intervals\r\n * @param metric - input object argument. Only name and average are mandatory.\r\n * @param } customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n AnalyticsPlugin.prototype.trackMetric = function (metric, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Logs that a page or other item was viewed.\r\n * @param IPageViewTelemetry - The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param customProperties - Additional data used to filter events and metrics. Defaults to empty.\r\n * If a user wants to provide duration for pageLoad, it'll have to be in pageView.properties.duration\r\n */\r\n AnalyticsPlugin.prototype.trackPageView = function (pageView, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Create a page view telemetry item and send it to the SDK pipeline through the core.track API\r\n * @param pageView - Page view item to be sent\r\n * @param properties - Custom properties (Part C) that a user can add to the telemetry item\r\n * @param systemProperties - System level properties (Part A) that a user can add to the telemetry item\r\n */\r\n AnalyticsPlugin.prototype.sendPageViewInternal = function (pageView, properties, systemProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n AnalyticsPlugin.prototype.sendPageViewPerformanceInternal = function (pageViewPerformance, properties, systemProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Send browser performance metrics.\r\n * @param pageViewPerformance\r\n * @param customProperties\r\n */\r\n AnalyticsPlugin.prototype.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name - A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n AnalyticsPlugin.prototype.startTrackPage = function (name) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n AnalyticsPlugin.prototype.stopTrackPage = function (name, url, properties, measurement) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param exception\r\n * @param properties\r\n * @param systemProperties\r\n */\r\n AnalyticsPlugin.prototype.sendExceptionInternal = function (exception, customProperties, systemProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param exception - Object which contains exception to be sent\r\n * @param } customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n *\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric.\r\n * @memberof ApplicationInsights\r\n */\r\n AnalyticsPlugin.prototype.trackException = function (exception, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param exception\r\n * @memberof ApplicationInsights\r\n */\r\n AnalyticsPlugin.prototype._onerror = function (exception) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AnalyticsPlugin.prototype.addTelemetryInitializer = function (telemetryInitializer) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n AnalyticsPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AnalyticsPlugin.Version = '3.3.4'; // Not currently used anywhere\r\n return AnalyticsPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { AnalyticsPlugin };\r\n//# sourceMappingURL=AnalyticsPlugin.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseSessionStorage, utlGetSessionStorage, utlRemoveSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _warnToConsole, dateNow, dumpObj, getJSON, hasJSON, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { objDefine } from \"@nevware21/ts-utils\";\r\nimport { _DYN_PAGE_VISIT_START_TIM18, _DYN_TRACK_PREVIOUS_PAGE_1 } from \"../../__DynamicConstants\";\r\n/**\r\n * Used to track page visit durations\r\n */\r\nvar PageVisitTimeManager = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of PageVisitTimeManager\r\n * @param pageVisitTimeTrackingHandler - Delegate that will be called to send telemetry data to AI (when trackPreviousPageVisit is called)\r\n * @returns {}\r\n */\r\n function PageVisitTimeManager(logger, pageVisitTimeTrackingHandler) {\r\n var prevPageVisitDataKeyName = \"prevPageVisitData\";\r\n dynamicProto(PageVisitTimeManager, this, function (_self) {\r\n _self[_DYN_TRACK_PREVIOUS_PAGE_1 /* @min:%2etrackPreviousPageVisit */] = function (currentPageName, currentPageUrl) {\r\n try {\r\n // Restart timer for new page view\r\n var prevPageVisitTimeData = restartPageVisitTimer(currentPageName, currentPageUrl);\r\n // If there was a page already being timed, track the visit time for it now.\r\n if (prevPageVisitTimeData) {\r\n pageVisitTimeTrackingHandler(prevPageVisitTimeData.pageName, prevPageVisitTimeData.pageUrl, prevPageVisitTimeData.pageVisitTime);\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Auto track page visit time failed, metric will not be collected: \" + dumpObj(e));\r\n }\r\n };\r\n /**\r\n * Stops timing of current page (if exists) and starts timing for duration of visit to pageName\r\n * @param pageName - Name of page to begin timing visit duration\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from last call to start or restart, if exists. Null if not.\r\n */\r\n function restartPageVisitTimer(pageName, pageUrl) {\r\n var prevPageVisitData = null;\r\n try {\r\n prevPageVisitData = stopPageVisitTimer();\r\n if (utlCanUseSessionStorage()) {\r\n if (utlGetSessionStorage(logger, prevPageVisitDataKeyName) != null) {\r\n throwError(\"Cannot call startPageVisit consecutively without first calling stopPageVisit\");\r\n }\r\n var currPageVisitDataStr = getJSON().stringify(new PageVisitData(pageName, pageUrl));\r\n utlSetSessionStorage(logger, prevPageVisitDataKeyName, currPageVisitDataStr);\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Call to restart failed: \" + dumpObj(e));\r\n prevPageVisitData = null;\r\n }\r\n return prevPageVisitData;\r\n }\r\n /**\r\n * Stops timing of current page, if exists.\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from call to start, if exists. Null if not.\r\n */\r\n function stopPageVisitTimer() {\r\n var prevPageVisitData = null;\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n // Define end time of page's visit\r\n var pageVisitEndTime = dateNow();\r\n // Try to retrieve page name and start time from session storage\r\n var pageVisitDataJsonStr = utlGetSessionStorage(logger, prevPageVisitDataKeyName);\r\n if (pageVisitDataJsonStr && hasJSON()) {\r\n // if previous page data exists, set end time of visit\r\n prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);\r\n prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData[_DYN_PAGE_VISIT_START_TIM18 /* @min:%2epageVisitStartTime */];\r\n // Remove data from storage since we already used it\r\n utlRemoveSessionStorage(logger, prevPageVisitDataKeyName);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Stop page visit timer failed: \" + dumpObj(e));\r\n prevPageVisitData = null;\r\n }\r\n return prevPageVisitData;\r\n }\r\n // For backward compatibility\r\n objDefine(_self, \"_logger\", { g: function () { return logger; } });\r\n objDefine(_self, \"pageVisitTimeTrackingHandler\", { g: function () { return pageVisitTimeTrackingHandler; } });\r\n });\r\n }\r\n /**\r\n * Tracks the previous page visit time telemetry (if exists) and starts timing of new page visit time\r\n * @param currentPageName - Name of page to begin timing for visit duration\r\n * @param currentPageUrl - Url of page to begin timing for visit duration\r\n */\r\n PageVisitTimeManager.prototype.trackPreviousPageVisit = function (currentPageName, currentPageUrl) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return PageVisitTimeManager;\r\n}());\r\nexport { PageVisitTimeManager };\r\nvar PageVisitData = /** @class */ (function () {\r\n function PageVisitData(pageName, pageUrl) {\r\n this[_DYN_PAGE_VISIT_START_TIM18 /* @min:%2epageVisitStartTime */] = dateNow();\r\n this.pageName = pageName;\r\n this.pageUrl = pageUrl;\r\n }\r\n return PageVisitData;\r\n}());\r\nexport { PageVisitData };\r\n//# sourceMappingURL=PageVisitTimeManager.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * Used to record timed events and page views.\r\n */\r\nvar Timing = /** @class */ (function () {\r\n function Timing(logger, name) {\r\n var _self = this;\r\n var _events = {};\r\n _self.start = function (name) {\r\n if (typeof _events[name] !== \"undefined\") {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 62 /* _eInternalMessageId.StartCalledMoreThanOnce */, \"start was called more than once for this event without calling stop.\", { name: name, key: name }, true);\r\n }\r\n _events[name] = +new Date;\r\n };\r\n _self.stop = function (name, url, properties, measurements) {\r\n var start = _events[name];\r\n if (isNaN(start)) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 63 /* _eInternalMessageId.StopCalledWithoutStart */, \"stop was called without a corresponding start.\", { name: name, key: name }, true);\r\n }\r\n else {\r\n var end = +new Date;\r\n var duration = dateTimeUtilsDuration(start, end);\r\n _self.action(name, url, duration, properties, measurements);\r\n }\r\n delete _events[name];\r\n _events[name] = undefined;\r\n };\r\n }\r\n return Timing;\r\n}());\r\nexport { Timing };\r\n//# sourceMappingURL=Timing.js.map","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { objDefineProperties } from \"@nevware21/ts-utils\";\r\nimport { _pureAssign } from \"../internal/treeshake_helpers\";\r\n\r\nlet _debugState: any;\r\nlet _debugResult: any;\r\nlet _debugHandled: any;\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n */\r\nexport let _promiseDebugEnabled = false;\r\n\r\n//#ifdef DEBUG\r\n//#:(!DEBUG) let _theLogger: (id: string, message: string) => void = null;\r\n//#endif\r\n\r\n/**\r\n * @internal\r\n * @ignore Internal function enable logging the internal state of the promise during execution, this code and references are\r\n * removed from the production artifacts\r\n */\r\nexport const _debugLog = (/*#__PURE__*/_pureAssign((id: string, message: string) => {\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) if (_theLogger) {\r\n //#:(!DEBUG) _theLogger(id, message);\r\n //#:(!DEBUG) }\r\n //#endif\r\n}));\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Internal function to add the debug state to the promise so that it provides simular visibility as you would\r\n * see from native promises\r\n * @param thePromise - The Promise implementation\r\n * @param stateFn - The function to return the state of the promise\r\n * @param resultFn - The function to return the result (settled value) of the promise\r\n * @param handledFn - The function to return whether the promise has been handled (used for throwing\r\n * unhandled rejection events)\r\n */\r\nexport function _addDebugState(thePromise: any, stateFn: () => string, resultFn: () => string, handledFn: () => boolean) {\r\n // While the IPromise implementations provide a `state` property, keeping the `[[PromiseState]]`\r\n // as native promises also have a non-enumerable property of the same name\r\n _debugState = _debugState || { toString: () => \"[[PromiseState]]\" };\r\n _debugResult = _debugResult || { toString: () => \"[[PromiseResult]]\" };\r\n _debugHandled = _debugHandled || { toString: () => \"[[PromiseIsHandled]]\" };\r\n \r\n let props: PropertyDescriptorMap = {};\r\n props[_debugState] = { get: stateFn };\r\n props[_debugResult] = { get: resultFn };\r\n props[_debugHandled] = { get: handledFn };\r\n\r\n objDefineProperties(thePromise, props);\r\n}\r\n\r\n/**\r\n * Debug helper to enable internal debugging of the promise implementations. Disabled by default.\r\n * For the generated packages included in the npm package the `logger` will not be called as the\r\n * `_debugLog` function that uses this logger is removed during packaging.\r\n *\r\n * It is available directly from the repository for unit testing.\r\n *\r\n * @group Debug\r\n * @param enabled - Should debugging be enabled (defaults `false`, when `true` promises will have\r\n * additional debug properties and the `toString` will include extra details.\r\n * @param logger - Optional logger that will log internal state changes, only called in debug\r\n * builds as the calling function is removed is the production artifacts.\r\n * @example\r\n * ```ts\r\n * // The Id is the id of the promise\r\n * // The message is the internal debug message\r\n * function promiseDebugLogger(id: string, message: string) {\r\n * if (console && console.log) {\r\n * console.log(id, message);\r\n * }\r\n * }\r\n *\r\n * setPromiseDebugState(true, promiseDebugLogger);\r\n *\r\n * // While the logger will not be called for the production packages\r\n * // Setting the `enabled` flag to tru will cause each promise to have\r\n * // the following additional properties added\r\n * // [[PromiseState]]; => Same as the `state` property\r\n * // [[PromiseResult]]; => The settled value\r\n * // [[PromiseIsHandled]] => Identifies if the promise has been handled\r\n * // It will also cause the `toString` for the promise to include additional\r\n * // debugging information\r\n * ```\r\n */\r\nexport function setPromiseDebugState(enabled: boolean, logger?: (id: string, message: string) => void) {\r\n _promiseDebugEnabled = enabled;\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _theLogger = logger;\r\n //#endif\r\n}","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2023 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nexport const STR_PROMISE = \"Promise\";\r\nexport const DONE = \"done\";\r\nexport const VALUE = \"value\";\r\nexport const ITERATOR = \"iterator\";\r\nexport const RETURN = \"return\";\r\nexport const REJECTED = \"rejected\";","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { isPromiseLike } from \"@nevware21/ts-utils\";\r\nimport { AwaitResponse } from \"../interfaces/await-response\";\r\nimport { IPromise } from \"../interfaces/IPromise\";\r\nimport { FinallyPromiseHandler, RejectedPromiseHandler, ResolvedPromiseHandler } from \"../interfaces/types\";\r\nimport { REJECTED } from \"../internal/constants\";\r\n\r\n/**\r\n * Helper to coallesce the promise resolved / reject into a single callback to simplify error handling.\r\n * @group Await Helper\r\n * @param value - The value or promise like value to wait\r\n * @param cb - The callback function to call with the resulting value, if the value is not a\r\n * promise like value then the callback is called synchronously, if the value is a promise then\r\n * the callback will be called once the promise completes the resulting value will be passed as an\r\n * IAwaitResponse instance, it will be called whether any promise resolves or rejects.\r\n * @returns The value returned by the `cb` callback function, if the value is a promise then the return value\r\n * of the callback will be returned as a promise whether the callback returns a promise or not.\r\n * @example\r\n * ```ts\r\n * let promise = createPromise((resolve, reject) => {\r\n * resolve(42);\r\n * });\r\n *\r\n * // Handle via doAwaitResponse\r\n * doAwaitResponse(promise, (value) => {\r\n * if (!value.rejected) {\r\n * // Do something with the value\r\n * } else {\r\n * // Do something with the reason\r\n * }\r\n * });\r\n *\r\n * // It can also handle the raw value, so you could process the result of either a\r\n * // synchrounous return of the value or a Promise\r\n * doAwaitResponse(42, (value) => {\r\n * if (!value.rejected) {\r\n * // Do something with the value\r\n * } else {\r\n * // This will never be true as the value is not a promise\r\n * }\r\n * });\r\n * ```\r\n */\r\nexport function doAwaitResponse(value: T | Promise, cb: (response: AwaitResponse) => T | TResult1 | TResult2 | Promise): T | TResult1 | TResult2 | Promise;\r\n\r\n/**\r\n * Helper to coallesce the promise resolved / reject into a single callback to simplify error handling.\r\n * @group Await Helper\r\n * @param value - The value or promise like value to wait for\r\n * @param cb - The callback function to call with the resulting value, if the value is not a\r\n * promise like value then the callback is called synchronously, if the value is a promise then\r\n * the callback will be called once the promise completes the resulting value will be passed as an\r\n * IAwaitResponse instance, it will be called whether any promise resolves or rejects.\r\n * @returns The value returned by the `cb` callback function, if the value is a promise then the return value\r\n * of the callback will be returned as a promise whether the callback returns a promise or not.\r\n * @example\r\n * ```ts\r\n * let promise = createPromise((resolve, reject) => {\r\n * resolve(42);\r\n * });\r\n *\r\n * // Handle via doAwaitResponse\r\n * doAwaitResponse(promise, (value) => {\r\n * if (!value.rejected) {\r\n * // Do something with the value\r\n * } else {\r\n * // Do something with the reason\r\n * }\r\n * });\r\n *\r\n * // It can also handle the raw value, so you could process the result of either a\r\n * // synchrounous return of the value or a Promise\r\n * doAwaitResponse(42, (value) => {\r\n * if (!value.rejected) {\r\n * // Do something with the value\r\n * } else {\r\n * // This will never be true as the value is not a promise\r\n * }\r\n * });\r\n * ```\r\n */\r\nexport function doAwaitResponse(value: T | PromiseLike, cb: (response: AwaitResponse) => T | TResult1 | TResult2 | PromiseLike): T | TResult1 | TResult2 | PromiseLike;\r\n\r\n/**\r\n * Helper to coallesce the promise resolved / reject into a single callback to simplify error handling.\r\n * @group Await Helper\r\n * @param value - The value or promise like value to wait to be resolved or rejected.\r\n * @param cb - The callback function to call with the resulting value, if the value is not a\r\n * promise like value then the callback is called synchronously, if the value is a promise then\r\n * the callback will be called once the promise completes the resulting value will be passed as an\r\n * IAwaitResponse instance, it will be called whether any promise resolves or rejects.\r\n * @returns The value returned by the `cb` callback function, if the value is a promise then the return value\r\n * of the callback will be returned as a promise whether the callback returns a promise or not.\r\n * @example\r\n * ```ts\r\n * let promise = createPromise((resolve, reject) => {\r\n * resolve(42);\r\n * });\r\n *\r\n * // Handle via doAwaitResponse\r\n * doAwaitResponse(promise, (value) => {\r\n * if (!value.rejected) {\r\n * // Do something with the value\r\n * } else {\r\n * // Do something with the reason\r\n * }\r\n * });\r\n *\r\n * // It can also handle the raw value, so you could process the result of either a\r\n * // synchrounous return of the value or a Promise\r\n * doAwaitResponse(42, (value) => {\r\n * if (!value.rejected) {\r\n * // Do something with the value\r\n * } else {\r\n * // This will never be true as the value is not a promise\r\n * }\r\n * });\r\n * ```\r\n */\r\nexport function doAwaitResponse(value: T | IPromise, cb: (response: AwaitResponse) => T | TResult1 | TResult2 | IPromise): T | TResult1 | TResult2 | IPromise {\r\n return doAwait(value as T, (value) => {\r\n return cb ? cb({\r\n status: \"fulfilled\",\r\n rejected: false,\r\n value: value\r\n }) : value;\r\n },\r\n (reason) => {\r\n return cb ? cb({\r\n status: REJECTED,\r\n rejected: true,\r\n reason: reason\r\n }) : reason;\r\n });\r\n}\r\n\r\n/**\r\n * Wait for the promise to resolve or reject, if resolved the callback function will be called with it's value and if\r\n * rejected the rejectFn will be called with the reason. If the passed promise argument is not a promise the callback\r\n * will be called synchronously with the value.\r\n * @group Await Helper\r\n * @param value - The value or promise like value to wait for\r\n * @param resolveFn - The callback to call on the promise successful resolving.\r\n * @param rejectFn - The callback to call when the promise rejects\r\n * @param finallyFn - The callback to call once the promise has resolved or rejected\r\n * @returns The passed value, if it is a promise and there is either a resolve or reject handler\r\n * then it will return a chained promise with the value from the resolve or reject handler (depending\r\n * whether it resolve or rejects)\r\n * @example\r\n * ```ts\r\n * let promise = createPromise((resolve, reject) => {\r\n * resolve(42);\r\n * });\r\n *\r\n * // Handle via a chained promise\r\n * let chainedPromise = promise.then((value) => {\r\n * // Do something with the value\r\n * });\r\n *\r\n * // Handle via doAwait\r\n * doAwait(promise, (value) => {\r\n * // Do something with the value\r\n * });\r\n *\r\n * // It can also handle the raw value, so you could process the result of either a\r\n * // synchrounous return of the value or a Promise\r\n * doAwait(42, (value) => {\r\n * // Do something with the value\r\n * });\r\n * ```\r\n */\r\nexport function doAwait(value: T | Promise, resolveFn: ResolvedPromiseHandler, rejectFn?: RejectedPromiseHandler, finallyFn?: FinallyPromiseHandler): TResult1 | TResult2 | Promise;\r\n\r\n/**\r\n * Wait for the promise to resolve or reject, if resolved the callback function will be called with it's value and if\r\n * rejected the rejectFn will be called with the reason. If the passed promise argument is not a promise the callback\r\n * will be called synchronously with the value.\r\n * @group Await Helper\r\n * @param value - The value or promise like value to wait for\r\n * @param resolveFn - The callback to call on the promise successful resolving.\r\n * @param rejectFn - The callback to call when the promise rejects\r\n * @param finallyFn - The callback to call once the promise has resolved or rejected\r\n * @returns The passed value, if it is a promise and there is either a resolve or reject handler\r\n * then it will return a chained promise with the value from the resolve or reject handler (depending\r\n * whether it resolve or rejects)\r\n * @example\r\n * ```ts\r\n * let promise = createPromise((resolve, reject) => {\r\n * resolve(42);\r\n * });\r\n *\r\n * // Handle via a chained promise\r\n * let chainedPromise = promise.then((value) => {\r\n * // Do something with the value\r\n * });\r\n *\r\n * // Handle via doAwait\r\n * doAwait(promise, (value) => {\r\n * // Do something with the value\r\n * });\r\n *\r\n * // It can also handle the raw value, so you could process the result of either a\r\n * // synchrounous return of the value or a Promise\r\n * doAwait(42, (value) => {\r\n * // Do something with the value\r\n * });\r\n * ```\r\n */\r\nexport function doAwait(value: T | PromiseLike, resolveFn: ResolvedPromiseHandler, rejectFn?: RejectedPromiseHandler, finallyFn?: FinallyPromiseHandler): TResult1 | TResult2 | PromiseLike;\r\n\r\n/**\r\n * Wait for the promise to resolve or reject, if resolved the callback function will be called with it's value and if\r\n * rejected the rejectFn will be called with the reason. If the passed promise argument is not a promise the callback\r\n * will be called synchronously with the value.\r\n * @group Await Helper\r\n * @param value - The value or promise like value to wait for\r\n * @param resolveFn - The callback to call on the promise successful resolving.\r\n * @param rejectFn - The callback to call when the promise rejects\r\n * @param finallyFn - The callback to call once the promise has resolved or rejected\r\n * @returns The passed value, if it is a promise and there is either a resolve or reject handler\r\n * then it will return a chained promise with the value from the resolve or reject handler (depending\r\n * whether it resolve or rejects)\r\n * @example\r\n * ```ts\r\n * let promise = createPromise((resolve, reject) => {\r\n * resolve(42);\r\n * });\r\n *\r\n * // Handle via a chained promise\r\n * let chainedPromise = promise.then((value) => {\r\n * // Do something with the value\r\n * });\r\n *\r\n * // Handle via doAwait\r\n * doAwait(promise, (value) => {\r\n * // Do something with the value\r\n * });\r\n *\r\n * // It can also handle the raw value, so you could process the result of either a\r\n * // synchrounous return of the value or a Promise\r\n * doAwait(42, (value) => {\r\n * // Do something with the value\r\n * });\r\n * ```\r\n */\r\nexport function doAwait(value: T | IPromise, resolveFn: ResolvedPromiseHandler, rejectFn?: RejectedPromiseHandler, finallyFn?: FinallyPromiseHandler): TResult1 | TResult2 | IPromise {\r\n let result: T | TResult1 | TResult2 | IPromise | PromiseLike = value;\r\n \r\n try {\r\n if (isPromiseLike(value)) {\r\n if (resolveFn || rejectFn) {\r\n result = value.then(resolveFn, rejectFn) as any;\r\n }\r\n } else {\r\n try {\r\n if (resolveFn) {\r\n result = resolveFn(value);\r\n }\r\n } catch (err) {\r\n if (rejectFn) {\r\n result = rejectFn(err);\r\n } else {\r\n throw err;\r\n }\r\n }\r\n }\r\n } finally {\r\n if (finallyFn) {\r\n doFinally(result as any, finallyFn);\r\n }\r\n }\r\n\r\n return result as any;\r\n}\r\n\r\n/**\r\n * Wait for the promise to resolve or reject and then call the finallyFn. If the passed promise argument is not a promise the callback\r\n * will be called synchronously with the value. If the passed promise doesn't implement finally then a finally implementation will be\r\n * simulated using then(..., ...).\r\n * @group Await Helper\r\n * @param value - The value or promise like value to wait for\r\n * @param finallyFn - The finally function to call once the promise has resolved or rejected\r\n */\r\nexport function doFinally(value: T | Promise, finallyFn: FinallyPromiseHandler): T | Promise;\r\n\r\n/**\r\n * Wait for the promise to resolve or reject and then call the finallyFn. If the passed promise argument is not a promise the callback\r\n * will be called synchronously with the value. If the passed promise doesn't implement finally then a finally implementation will be\r\n * simulated using then(..., ...).\r\n * @group Await Helper\r\n * @param value - The value or promise like value to wait for\r\n * @param finallyFn - The finally function to call once the promise has resolved or rejected\r\n */\r\nexport function doFinally(value: T | PromiseLike, finallyFn: FinallyPromiseHandler): T | PromiseLike;\r\n\r\n/**\r\n * Wait for the promise to resolve or reject and then call the finallyFn. If the passed promise argument is not a promise the callback\r\n * will be called synchronously with the value. If the passed promise doesn't implement finally then a finally implementation will be\r\n * simulated using then(..., ...).\r\n * @group Await Helper\r\n * @param value - The value or promise like value to wait for\r\n * @param finallyFn - The finally function to call once the promise has resolved or rejected\r\n */\r\nexport function doFinally(value: T | IPromise, finallyFn: FinallyPromiseHandler): T | IPromise {\r\n let result = value;\r\n if (finallyFn) {\r\n if (isPromiseLike(value)) {\r\n if ((value as IPromise).finally) {\r\n result = (value as IPromise).finally(finallyFn);\r\n } else {\r\n // Simulate finally if not available\r\n result = value.then(\r\n function(value) {\r\n finallyFn();\r\n return value;\r\n }, function(reason: any) {\r\n finallyFn();\r\n throw reason;\r\n });\r\n }\r\n } else {\r\n finallyFn();\r\n }\r\n }\r\n\r\n return result;\r\n}","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { REJECTED } from \"./constants\";\r\n\r\n/**\r\n * @ignore -- Don't include in the generated documentation\r\n * @internal\r\n */\r\nexport const enum ePromiseState {\r\n Pending = 0,\r\n Resolving = 1,\r\n Resolved = 2,\r\n Rejected = 3\r\n}\r\n\r\n/**\r\n * @ignore -- Don't include in the generated documentation\r\n * @internal\r\n */\r\nexport const STRING_STATES: string[] = /*#__PURE__*/[\r\n \"pending\", \"resolving\", \"resolved\", REJECTED\r\n];\r\n","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { dumpObj, getDocument, getInst, ICachedValue, createCachedValue, safe } from \"@nevware21/ts-utils\";\r\n\r\nconst DISPATCH_EVENT = \"dispatchEvent\";\r\nlet _hasInitEvent: ICachedValue;\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Helper function to determine if the document has the `initEvent` function\r\n * @param doc - The document to check\r\n * @returns\r\n */\r\nfunction _hasInitEventFn(doc: Document) {\r\n let evt: any;\r\n if (doc && doc.createEvent) {\r\n evt = doc.createEvent(\"Event\");\r\n }\r\n \r\n return (!!evt && evt.initEvent);\r\n}\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * @param target\r\n * @param evtName\r\n * @param populateEvent\r\n * @param useNewEvent\r\n */\r\nexport function emitEvent(target: any, evtName: string, populateEvent: (theEvt: Event | any) => Event | any, useNewEvent: boolean) {\r\n\r\n let doc = getDocument();\r\n !_hasInitEvent && (_hasInitEvent = createCachedValue(!!safe(_hasInitEventFn, [ doc ]).v));\r\n\r\n let theEvt: Event = _hasInitEvent.v ? doc.createEvent(\"Event\") : (useNewEvent ? new Event(evtName) : {} as Event);\r\n populateEvent && populateEvent(theEvt);\r\n\r\n if (_hasInitEvent.v) {\r\n theEvt.initEvent(evtName, false, true);\r\n }\r\n\r\n if (theEvt && target[DISPATCH_EVENT]) {\r\n target[DISPATCH_EVENT](theEvt);\r\n } else {\r\n let handler = target[\"on\" + evtName];\r\n if (handler) {\r\n handler(theEvt);\r\n } else {\r\n let theConsole = getInst(\"console\");\r\n theConsole && (theConsole[\"error\"] || theConsole[\"log\"])(evtName, dumpObj(theEvt));\r\n }\r\n }\r\n}\r\n","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport {\r\n arrSlice, dumpObj, getKnownSymbol, hasSymbol, isFunction, isPromiseLike, isUndefined,\r\n throwTypeError, WellKnownSymbols, objToString, scheduleTimeout, ITimerHandler, getWindow, isNode,\r\n getGlobal, objDefine, objDefineProp, iterForOf, isIterable, isArray, arrForEach, createCachedValue,\r\n ICachedValue, safe, getInst, createCustomError\r\n} from \"@nevware21/ts-utils\";\r\nimport { doAwait, doAwaitResponse } from \"./await\";\r\nimport { _addDebugState, _promiseDebugEnabled } from \"./debug\";\r\nimport { IPromise } from \"../interfaces/IPromise\";\r\nimport { PromisePendingProcessor } from \"./itemProcessor\";\r\nimport {\r\n FinallyPromiseHandler, PromiseCreatorFn, PromiseExecutor, RejectedPromiseHandler, ResolvedPromiseHandler\r\n} from \"../interfaces/types\";\r\nimport { ePromiseState, STRING_STATES } from \"../internal/state\";\r\nimport { emitEvent } from \"./event\";\r\nimport { REJECTED, STR_PROMISE } from \"../internal/constants\";\r\nimport { IPromiseResult } from \"../interfaces/IPromiseResult\";\r\n\r\n//#ifdef DEBUG\r\n//#:(!DEBUG) import { _debugLog } from \"./debug\";\r\n//#endif\r\n\r\nconst NODE_UNHANDLED_REJECTION = \"unhandledRejection\";\r\nconst UNHANDLED_REJECTION = NODE_UNHANDLED_REJECTION.toLowerCase();\r\n\r\nlet _currentPromiseId: number[] = [];\r\nlet _uniquePromiseId = 0;\r\nlet _unhandledRejectionTimeout = 10;\r\nlet _aggregationError: ICachedValue;\r\n\r\n/**\r\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PromiseRejectionEvent)\r\n */\r\ninterface _PromiseRejectionEvent extends Event {\r\n /**\r\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PromiseRejectionEvent/promise)\r\n */\r\n readonly promise: IPromise;\r\n\r\n /**\r\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PromiseRejectionEvent/reason)\r\n */\r\n readonly reason: any;\r\n}\r\n\r\nlet _hasPromiseRejectionEvent: ICachedValue<_PromiseRejectionEvent>;\r\n\r\nfunction dumpFnObj(value: any) {\r\n if (isFunction(value)) {\r\n return value.toString();\r\n }\r\n\r\n return dumpObj(value);\r\n}\r\n\r\n//#ifdef DEBUG\r\n//#:(!DEBUG) function _getCaller(prefix: string, start: number) {\r\n//#:(!DEBUG) let stack = new Error().stack;\r\n//#:(!DEBUG) if (stack) {\r\n//#:(!DEBUG) let lines = stack.split(\"\\n\");\r\n//#:(!DEBUG) if (lines.length > start) {\r\n//#:(!DEBUG) return prefix + \":\" + arrSlice(lines, start, start + 5).join(\"\\n\") + \"\\n...\";\r\n//#:(!DEBUG) }\r\n//#:(!DEBUG) }\r\n//#:(!DEBUG) return null;\r\n//#:(!DEBUG) }\r\n//#endif\r\n\r\n/*#__NO_SIDE_EFFECTS__*/\r\nfunction _createAggregationError(values: any[]) {\r\n !_aggregationError && (_aggregationError = createCachedValue(safe(getInst, [\"AggregationError\"]).v || createCustomError(\"AggregationError\", (self, args) => {\r\n self.errors = args[0];\r\n })));\r\n\r\n return new _aggregationError.v(values);\r\n}\r\n\r\n/**\r\n * @ignore\r\n * @internal\r\n *\r\n * Implementing a simple synchronous promise interface for support within any environment that\r\n * doesn't support the Promise API\r\n * @param newPromise - The delegate function used to create a new promise object\r\n * @param processor - The function to use to process the pending\r\n * @param executor - The resolve function\r\n * @param additionalArgs - [Optional] Additional arguments that will be passed to the PromiseCreatorFn\r\n */\r\nexport function _createPromise(newPromise: PromiseCreatorFn, processor: PromisePendingProcessor, executor: PromiseExecutor, ...additionalArgs: any): IPromise;\r\n\r\n/**\r\n * @ignore\r\n * @internal\r\n *\r\n * Implementing a simple synchronous promise interface for support within any environment that\r\n * doesn't support the Promise API\r\n * @param newPromise - The delegate function used to create a new promise object\r\n * @param processor - The function to use to process the pending\r\n * @param executor - The resolve function\r\n * @param additionalArgs - [Optional] Additional arguments that will be passed to the PromiseCreatorFn\r\n */\r\nexport function _createPromise(newPromise: PromiseCreatorFn, processor: PromisePendingProcessor, executor: PromiseExecutor): IPromise {\r\n let additionalArgs = arrSlice(arguments, 3);\r\n let _state = ePromiseState.Pending;\r\n let _hasResolved = false;\r\n let _settledValue: T;\r\n let _queue: (() => void)[] = [];\r\n let _id = _uniquePromiseId++;\r\n let _parentId = _currentPromiseId.length > 0 ? _currentPromiseId[_currentPromiseId.length - 1] : undefined;\r\n let _handled = false;\r\n let _unHandledRejectionHandler: ITimerHandler = null;\r\n let _thePromise: IPromise;\r\n \r\n // https://tc39.es/ecma262/#sec-promise.prototype.then\r\n function _then(onResolved?: ResolvedPromiseHandler, onRejected?: RejectedPromiseHandler): IPromise {\r\n try {\r\n _currentPromiseId.push(_id);\r\n _handled = true;\r\n _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();\r\n _unHandledRejectionHandler = null;\r\n\r\n let thenPromise = newPromise(function (resolve, reject) {\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), _getCaller(\"_then\", 7));\r\n //#endif\r\n\r\n // Queue the new promise returned to be resolved or rejected\r\n // when this promise settles.\r\n _queue.push(function () {\r\n // https://tc39.es/ecma262/#sec-newpromisereactionjob\r\n //let value: any;\r\n try {\r\n // First call the onFulfilled or onRejected handler, on the settled value\r\n // of this promise. If the corresponding `handler` does not exist, simply\r\n // pass through the settled value.\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Handling settled value \" + dumpFnObj(_settledValue));\r\n //#endif\r\n let handler = _state === ePromiseState.Resolved ? onResolved : onRejected;\r\n let value = isUndefined(handler) ? _settledValue : (isFunction(handler) ? handler(_settledValue) : handler);\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Handling Result \" + dumpFnObj(value));\r\n //#endif\r\n \r\n if (isPromiseLike(value)) {\r\n // The called handlers returned a new promise, so the chained promise\r\n // will follow the state of this promise.\r\n value.then(resolve as any, reject);\r\n } else if (handler) {\r\n // If we have a handler then chained promises are always \"resolved\" with the result returned\r\n resolve(value as any);\r\n } else if (_state === ePromiseState.Rejected) {\r\n // If this promise is rejected then the chained promise should be rejected\r\n // with either the settled value of this promise or the return value of the handler.\r\n reject(value);\r\n } else {\r\n // If this promise is fulfilled, then the chained promise is also fulfilled\r\n // with either the settled value of this promise or the return value of the handler.\r\n resolve(value as any);\r\n }\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n \r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Added to Queue \" + _queue.length);\r\n //#endif\r\n \r\n // If this promise is already settled, then immediately process the callback we\r\n // just added to the queue.\r\n if (_hasResolved) {\r\n _processQueue();\r\n }\r\n }, additionalArgs);\r\n \r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Created -> \" + thenPromise.toString());\r\n //#endif\r\n \r\n return thenPromise;\r\n \r\n } finally {\r\n _currentPromiseId.pop();\r\n }\r\n }\r\n\r\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\r\n function _catch(onRejected: RejectedPromiseHandler) {\r\n // Reuse then onRejected to support rejection\r\n return _then(undefined, onRejected);\r\n }\r\n\r\n // https://tc39.es/ecma262/#sec-promise.prototype.finally\r\n function _finally(onFinally: FinallyPromiseHandler): IPromise {\r\n let thenFinally: any = onFinally;\r\n let catchFinally: any = onFinally;\r\n if (isFunction(onFinally)) {\r\n thenFinally = function(value: TResult1 | TResult2) {\r\n onFinally && onFinally();\r\n return value;\r\n }\r\n \r\n catchFinally = function(reason: any) {\r\n onFinally && onFinally();\r\n throw reason;\r\n }\r\n }\r\n\r\n return _then(thenFinally as any, catchFinally as any);\r\n }\r\n\r\n function _strState() {\r\n return STRING_STATES[_state];\r\n }\r\n\r\n function _processQueue() {\r\n if (_queue.length > 0) {\r\n // The onFulfilled and onRejected handlers must be called asynchronously. Thus,\r\n // we make a copy of the queue and work on it once the current call stack unwinds.\r\n let pending = _queue.slice();\r\n _queue = [];\r\n\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Processing queue \" + pending.length);\r\n //#endif\r\n\r\n _handled = true;\r\n _unHandledRejectionHandler && _unHandledRejectionHandler.cancel();\r\n _unHandledRejectionHandler = null;\r\n processor(pending);\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Processing done\");\r\n //#endif\r\n\r\n } else {\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Empty Processing queue \");\r\n //#endif\r\n }\r\n }\r\n\r\n function _createSettleIfFn(newState: ePromiseState, allowState: ePromiseState) {\r\n return (theValue: T) => {\r\n if (_state === allowState) {\r\n if (newState === ePromiseState.Resolved && isPromiseLike(theValue)) {\r\n _state = ePromiseState.Resolving;\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Resolving\");\r\n //#endif\r\n theValue.then(\r\n _createSettleIfFn(ePromiseState.Resolved, ePromiseState.Resolving),\r\n _createSettleIfFn(ePromiseState.Rejected, ePromiseState.Resolving));\r\n return;\r\n }\r\n\r\n _state = newState;\r\n _hasResolved = true;\r\n _settledValue = theValue;\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), _strState());\r\n //#endif\r\n _processQueue();\r\n if (!_handled && newState === ePromiseState.Rejected && !_unHandledRejectionHandler) {\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Setting up unhandled rejection\");\r\n //#endif\r\n _unHandledRejectionHandler = scheduleTimeout(_notifyUnhandledRejection, _unhandledRejectionTimeout)\r\n }\r\n } else {\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Already \" + _strState());\r\n //#endif\r\n }\r\n };\r\n }\r\n\r\n function _notifyUnhandledRejection() {\r\n if (!_handled) {\r\n // Mark as handled so we don't keep notifying\r\n _handled = true;\r\n if (isNode()) {\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Emitting \" + NODE_UNHANDLED_REJECTION);\r\n //#endif\r\n process.emit(NODE_UNHANDLED_REJECTION, _settledValue, _thePromise);\r\n } else {\r\n let gbl = getWindow() || getGlobal();\r\n \r\n !_hasPromiseRejectionEvent && (_hasPromiseRejectionEvent = createCachedValue(safe(getInst<_PromiseRejectionEvent>, [STR_PROMISE + \"RejectionEvent\"]).v));\r\n\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Emitting \" + UNHANDLED_REJECTION);\r\n //#endif\r\n emitEvent(gbl, UNHANDLED_REJECTION, (theEvt: any) => {\r\n objDefine(theEvt, \"promise\", { g: () => _thePromise });\r\n theEvt.reason = _settledValue;\r\n return theEvt;\r\n }, !!_hasPromiseRejectionEvent.v);\r\n }\r\n }\r\n }\r\n\r\n _thePromise = {\r\n then: _then,\r\n \"catch\": _catch,\r\n finally: _finally\r\n } as any;\r\n\r\n objDefineProp(_thePromise, \"state\", {\r\n get: _strState\r\n });\r\n\r\n if (_promiseDebugEnabled) {\r\n // eslint-disable-next-line brace-style\r\n _addDebugState(_thePromise, _strState, () => { return objToString(_settledValue); }, () => _handled);\r\n }\r\n\r\n if (hasSymbol()) {\r\n _thePromise[getKnownSymbol(WellKnownSymbols.toStringTag)] = \"IPromise\";\r\n }\r\n\r\n let createStack: string;\r\n //#if DEBUG\r\n //#:(!{DEBUG}) createStack = _getCaller(\"Created\", 5);\r\n //#endif\r\n function _toString() {\r\n return \"IPromise\" + (_promiseDebugEnabled ? \"[\" + _id + (!isUndefined(_parentId) ? (\":\" + _parentId) : \"\") + \"]\" : \"\") + \" \" + _strState() + (_hasResolved ? (\" - \" + dumpFnObj(_settledValue)) : \"\") + (createStack ? \" @ \" + createStack : \"\");\r\n }\r\n\r\n _thePromise.toString = _toString;\r\n\r\n (function _initialize() {\r\n if (!isFunction(executor)) {\r\n throwTypeError(STR_PROMISE + \": executor is not a function - \" + dumpFnObj(executor));\r\n }\r\n\r\n const _rejectFn = _createSettleIfFn(ePromiseState.Rejected, ePromiseState.Pending);\r\n try {\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Executing\");\r\n //#endif\r\n executor.call(\r\n _thePromise,\r\n _createSettleIfFn(ePromiseState.Resolved, ePromiseState.Pending),\r\n _rejectFn);\r\n } catch (e) {\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Exception thrown: \" + dumpFnObj(e));\r\n //#endif\r\n _rejectFn(e);\r\n }\r\n\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"~Executing\");\r\n //#endif\r\n })();\r\n\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(_toString(), \"Returning\");\r\n //#endif\r\n return _thePromise;\r\n}\r\n\r\n/**\r\n * @ignore\r\n * @internal\r\n * Returns a function which when called will return a new Promise object that resolves to an array of the\r\n * results from the input promises. The returned promise will resolve when all of the inputs' promises have\r\n * resolved, or if the input contains no promises. It rejects immediately upon any of the input promises\r\n * rejected or non-promises throwing an error, and will reject with this first rejection message / error.\r\n * @param newPromise - The delegate function used to create a new promise object the new promise instance.\r\n * @returns A function to create a promise that will be resolved when all arguments are resolved.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function _createAllPromise(newPromise: PromiseCreatorFn): (input: Iterable>, ...additionalArgs: any) => IPromise[]> {\r\n return function (input: Iterable>): IPromise[]> {\r\n let additionalArgs = arrSlice(arguments, 1);\r\n return newPromise[]>((resolve, reject) => {\r\n try {\r\n let values = [] as any;\r\n let pending = 1; // Prefix to 1 so we finish iterating over all of the input promises first\r\n\r\n iterForOf(input, (item, idx) => {\r\n if (item) {\r\n pending++;\r\n doAwait(item, (value) => {\r\n // Set the result values\r\n values[idx] = value;\r\n if (--pending === 0) {\r\n resolve(values);\r\n }\r\n }, reject);\r\n }\r\n });\r\n\r\n // Now decrement the pending so that we finish correctly\r\n pending--;\r\n if (pending === 0) {\r\n // All promises were either resolved or where not a promise\r\n resolve(values);\r\n }\r\n } catch (e) {\r\n reject(e);\r\n }\r\n }, additionalArgs);\r\n };\r\n}\r\n\r\n/**\r\n * @ignore\r\n * @internal\r\n * The createResolvedPromise returns a PromiseLike object that is resolved with a given value. If the value is\r\n * PromiseLike (i.e. has a \"then\" method), the returned promise will \"follow\" that thenable, adopting its eventual\r\n * state; otherwise the returned promise will be fulfilled with the value. This function flattens nested layers\r\n * of promise-like objects (e.g. a promise that resolves to a promise that resolves to something) into a single layer.\r\n * @param newPromise - The delegate function used to create a new promise object\r\n * @param value - Argument to be resolved by this Promise. Can also be a Promise or a thenable to resolve.\r\n * @param additionalArgs - Any additional arguments that should be passed to the delegate to assist with the creation of\r\n * the new promise instance.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function _createResolvedPromise(newPromise: PromiseCreatorFn): (value: T, ...additionalArgs: any) => IPromise {\r\n return function (value: T): IPromise {\r\n let additionalArgs = arrSlice(arguments, 1);\r\n if (isPromiseLike(value)) {\r\n return value as unknown as IPromise;\r\n }\r\n \r\n return newPromise((resolve) => {\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(String(this), \"Resolving Promise\");\r\n //#endif\r\n resolve(value);\r\n }, additionalArgs);\r\n };\r\n}\r\n\r\n/**\r\n * @ignore\r\n * @internal\r\n * Return a promise like object that is rejected with the given reason.\r\n * @param newPromise - The delegate function used to create a new promise object\r\n * @param reason - The rejection reason\r\n * @param additionalArgs - Any additional arguments that should be passed to the delegate to assist with the creation of\r\n * the new promise instance.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function _createRejectedPromise(newPromise: PromiseCreatorFn): (reason: any, ...additionalArgs: any) => IPromise {\r\n return function (reason: any): IPromise {\r\n let additionalArgs = arrSlice(arguments, 1);\r\n return newPromise((_resolve, reject) => {\r\n //#ifdef DEBUG\r\n //#:(!DEBUG) _debugLog(String(this), \"Rejecting Promise\");\r\n //#endif\r\n reject(reason);\r\n }, additionalArgs);\r\n };\r\n}\r\n\r\n/**\r\n * @ignore\r\n * @internal\r\n * @since 0.5.0\r\n * Returns a function which when called will return a new Promise object that resolves to an array of\r\n * IPromiseResults from the input promises. The returned promise will resolve when all of the inputs'\r\n * promises have resolved or rejected, or if the input contains no promises. It will resolve only after\r\n * all input promises have been fulfilled (resolve or rejected).\r\n * @param newPromise - The delegate function used to create a new promise object the new promise instance.\r\n * @returns A function to create a promise that will be resolved when all arguments are resolved.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function _createAllSettledPromise(newPromise: PromiseCreatorFn, ..._args: any[]): ICachedValue<(input: T, timeout?: number) => IPromise<{ -readonly [P in keyof T]: IPromiseResult>; }>> {\r\n return createCachedValue(function (input: T, ..._args: any[]): IPromise<{ -readonly [P in keyof T]: IPromiseResult>; }> {\r\n let additionalArgs = arrSlice(arguments, 1);\r\n return newPromise<{ -readonly [P in keyof T]: IPromiseResult>; }>((resolve, reject) => {\r\n let values: { -readonly [P in keyof T]: IPromiseResult>; } = [] as any;\r\n let pending = 1; // Prefix to 1 so we finish iterating over all of the input promises first\r\n\r\n function processItem(item: any, idx: number) {\r\n pending++;\r\n doAwaitResponse(item, (value) => {\r\n if (value.rejected) {\r\n values[idx] = {\r\n status: REJECTED,\r\n reason: value.reason\r\n };\r\n } else {\r\n values[idx] = {\r\n status: \"fulfilled\",\r\n value: value.value\r\n };\r\n }\r\n \r\n if (--pending === 0) {\r\n resolve(values);\r\n }\r\n });\r\n }\r\n\r\n try {\r\n\r\n if (isArray(input)) {\r\n arrForEach(input, processItem);\r\n } else if (isIterable(input)) {\r\n iterForOf(input, processItem);\r\n } else {\r\n throwTypeError(\"Input is not an iterable\");\r\n }\r\n\r\n // Now decrement the pending so that we finish correctly\r\n pending--;\r\n if (pending === 0) {\r\n // All promises were either resolved or where not a promise\r\n resolve(values);\r\n }\r\n } catch (e) {\r\n reject(e);\r\n }\r\n }, additionalArgs);\r\n });\r\n}\r\n\r\n/**\r\n * @ignore\r\n * @internal\r\n * @since 0.5.0\r\n * Returns a function takes an iterable of promises as input and returns a single Promise.\r\n * This returned promise settles with the eventual state of the first promise that settles.\r\n * @description The returned promise is one of the promise concurrency methods. It's useful when you want\r\n * the first async task to complete, but do not care about its eventual state (i.e. it can either succeed\r\n * or fail).\r\n * @param newPromise - The delegate function used to create a new promise object the new promise instance.\r\n * @returns A function to create a promise that will resolve when the first promise to settle is fulfilled,\r\n * and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises,\r\n * the returned promise is still settled.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function _createRacePromise(newPromise: PromiseCreatorFn, ..._args: any[]): ICachedValue<(values: T, timeout?: number) => IPromise>> {\r\n return createCachedValue(function (input: T, ..._args: any[]): IPromise> {\r\n let additionalArgs = arrSlice(arguments, 1);\r\n return newPromise>((resolve, reject) => {\r\n let isDone = false;\r\n\r\n function processItem(item: any) {\r\n doAwaitResponse(item, (value) => {\r\n if (!isDone) {\r\n isDone = true;\r\n if (value.rejected) {\r\n reject(value.reason);\r\n } else {\r\n resolve(value.value);\r\n }\r\n }\r\n });\r\n }\r\n\r\n try {\r\n if (isArray(input)) {\r\n arrForEach(input, processItem);\r\n } else if (isIterable(input)) {\r\n iterForOf(input, processItem);\r\n } else {\r\n throwTypeError(\"Input is not an iterable\");\r\n }\r\n\r\n } catch (e) {\r\n reject(e);\r\n }\r\n }, additionalArgs);\r\n });\r\n}\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * @since 0.5.0\r\n * Returns a function takes an iterable of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment\r\n * value. It rejects when all of the input's promises reject (including when an empty iterable is passed),\r\n * with an AggregateError containing an array of rejection reasons.\r\n * @param newPromise - The delegate function used to create a new promise object the new promise instance.\r\n * @returns A function to create a promise that will resolve when the any of the input's promises fulfills,\r\n * with this first fulfillment value. It rejects when all of the input's promises reject (including when\r\n * an empty iterable is passed), with an AggregateError containing an array of rejection reasons.\r\n */\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function _createAnyPromise(newPromise: PromiseCreatorFn, ..._args: any[]): ICachedValue<(values: T) => IPromise>> {\r\n return createCachedValue(function (input: T, ..._args: any[]): IPromise> {\r\n let additionalArgs = arrSlice(arguments, 1);\r\n return newPromise>((resolve, reject) => {\r\n let theErros: Array = [] as any;\r\n let pending = 1; // Prefix to 1 so we finish iterating over all of the input promises first\r\n let isDone = false;\r\n\r\n function processItem(item: any, idx: number) {\r\n pending++;\r\n doAwaitResponse(item, (value ) => {\r\n if (!value.rejected) {\r\n isDone = true;\r\n resolve(value.value);\r\n return;\r\n } else {\r\n theErros[idx] = value.reason;\r\n }\r\n\r\n if (--pending === 0 && !isDone) {\r\n reject(_createAggregationError(theErros));\r\n }\r\n });\r\n }\r\n\r\n try {\r\n if (isArray(input)) {\r\n arrForEach(input, processItem);\r\n } else if (isIterable(input)) {\r\n iterForOf(input, processItem);\r\n } else {\r\n throwTypeError(\"Input is not an iterable\");\r\n }\r\n\r\n // Now decrement the pending so that we finish correctly\r\n pending--;\r\n if (pending === 0 && !isDone) {\r\n // All promises were either resolved or where not a promise\r\n reject(_createAggregationError(theErros));\r\n }\r\n } catch (e) {\r\n reject(e);\r\n }\r\n }, additionalArgs);\r\n });\r\n}\r\n","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { arrForEach, isNumber, scheduleIdleCallback, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { IPromise } from \"../interfaces/IPromise\";\r\nimport { PromiseExecutor } from \"../interfaces/types\";\r\n\r\nexport type PromisePendingProcessor = (pending: PromisePendingFn[]) => void;\r\nexport type PromisePendingFn = () => void;\r\nexport type PromiseCreatorFn = (newExecutor: PromiseExecutor, ...extraArgs: any) => IPromise;\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Return an item processor that processes all of the pending items synchronously\r\n * @return An item processor\r\n */\r\nexport function syncItemProcessor(pending: PromisePendingFn[]): void {\r\n arrForEach(pending, (fn: PromisePendingFn) => {\r\n try {\r\n fn();\r\n } catch (e) {\r\n // Don't let 1 failing handler break all others\r\n // TODO: Add some form of error reporting (i.e. Call any registered JS error handler so the error is reported)\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Return an item processor that processes all of the pending items asynchronously using the optional timeout.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n * @return An item processor\r\n */\r\nexport function timeoutItemProcessor(timeout?: number): (pending: PromisePendingFn[]) => void {\r\n let callbackTimeout = isNumber(timeout) ? timeout : 0;\r\n\r\n return (pending: PromisePendingFn[]) => {\r\n scheduleTimeout(() => {\r\n syncItemProcessor(pending);\r\n }, callbackTimeout);\r\n }\r\n}\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Return an item processor that processes all of the pending items using an idle callback (if available) or based on\r\n * a timeout (when `requestIdenCallback` is not supported) using the optional timeout.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n * @return An item processor\r\n */\r\nexport function idleItemProcessor(timeout?: number): (pending: PromisePendingFn[]) => void {\r\n let options: any;\r\n if (timeout >= 0) {\r\n options = {\r\n timeout: +timeout\r\n };\r\n }\r\n\r\n return (pending: PromisePendingFn[]) => {\r\n scheduleIdleCallback((deadline: IdleDeadline) => {\r\n syncItemProcessor(pending);\r\n }, options);\r\n };\r\n}","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport {\r\n _createAllPromise, _createAllSettledPromise, _createAnyPromise, _createPromise, _createRacePromise,\r\n _createRejectedPromise, _createResolvedPromise\r\n} from \"./base\";\r\nimport { IPromise } from \"../interfaces/IPromise\";\r\nimport { timeoutItemProcessor } from \"./itemProcessor\";\r\nimport { PromiseExecutor } from \"../interfaces/types\";\r\nimport { IPromiseResult } from \"../interfaces/IPromiseResult\";\r\nimport { ICachedValue } from \"@nevware21/ts-utils\";\r\n\r\nlet _allAsyncSettledCreator: ICachedValue<(input: T, timeout?: number) => IPromise<{ -readonly [P in keyof T]: IPromiseResult>; }>>;\r\nlet _raceAsyncCreator: ICachedValue<(values: T, timeout?: number) => IPromise>>;\r\nlet _anyAsyncCreator: ICachedValue<(values: T, timeout?: number) => IPromise>>;\r\n\r\n/**\r\n * Creates an asynchronous Promise instance that when resolved or rejected will execute it's pending chained operations\r\n * __asynchronously__ using the optional provided timeout value to schedule when the chained items will be ececuted.\r\n * @group Async\r\n * @group Promise\r\n * @param executor - The function to be executed during the creation of the promise. Any errors thrown in the executor will\r\n * cause the promise to be rejected. The return value of the executor is always ignored\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n */\r\nexport function createAsyncPromise(executor: PromiseExecutor, timeout?: number): IPromise {\r\n return _createPromise(createAsyncPromise, timeoutItemProcessor(timeout), executor, timeout);\r\n}\r\n\r\n/**\r\n * Returns a single asynchronous Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations __asynchronously__ using the optional\r\n * provided timeout value to schedule when the chained items will be executed, or if the input contains no promises.\r\n * It rejects immediately upon any of the input promises rejected or non-promises throwing an error,\r\n * and will reject with this first rejection message / error.\r\n * When resolved or rejected any additional chained operations will execute __asynchronously__ using the optional\r\n * timeout value to schedul when the chained item will be executed (eg. `then()`; `catch()`; `finally()`).\r\n * @group Async\r\n * @group Promise\r\n * @group All\r\n * @param input - The array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n * @returns\r\n *
    \r\n *
  • An already resolved `Promise`, if the input passed is empty.\r\n *
  • A pending `Promise` in all other cases. This returned promise is then resolved/rejected __synchronously__\r\n * (as soon as the pending items is empty) when all the promises in the given input have resolved, or if any of the\r\n * promises reject.\r\n *
\r\n */\r\nexport const createAsyncAllPromise: (input: Iterable>, timeout?: number) => IPromise = /*#__PURE__*/_createAllPromise(createAsyncPromise);\r\n\r\n/**\r\n * Returns a single asynchronous Promise instance that is already resolved with the given value. If the value passed is\r\n * a promise then that promise is returned instead of creating a new asynchronous promise instance.\r\n * If a new instance is returned then any chained operations will execute __asynchronously__ using the optional\r\n * timeout value to schedule when the chained items will be executed.(eg. `then()`; `finally()`).\r\n * @group Async\r\n * @group Promise\r\n * @group Resolved\r\n * @param value - The value to be used by this `Promise`. Can also be a `Promise` or a thenable to resolve.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n */\r\nexport const createAsyncResolvedPromise: (value: T, timeout?: number) => IPromise = /*#__PURE__*/_createResolvedPromise(createAsyncPromise);\r\n\r\n/**\r\n * Returns a single asynchronous Promise instance that is already rejected with the given reason.\r\n * Any chained operations will execute __asynchronously__ using the optional timeout value to schedule\r\n * when then chained items will be executed. (eg. `catch()`; `finally()`).\r\n * @group Async\r\n * @group Promise\r\n * @group Rejected\r\n * @param reason - The rejection reason\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n */\r\nexport const createAsyncRejectedPromise: (reason: any, timeout?: number) => IPromise = /*#__PURE__*/_createRejectedPromise(createAsyncPromise);\r\n\r\n/**\r\n * Returns a single Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations based on the\r\n * {@link createAsyncPromise | Asynchronous} promise implementation. Any chained operations will execute\r\n * __asynchronously__ when the final operation pending promises have resolved, or if the input contains\r\n * no promises. It will resolve only after all of the input promises have either resolved or rejected,\r\n * and will resolve with an array of {@link IPromiseResult } objects that each describe the outcome of\r\n * each promise.\r\n * @since 0.5.0\r\n * @group Async\r\n * @group Promise\r\n * @group AllSettled\r\n * @param values - The iterator of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A pending `Promise` that will resolve to an array of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n *\r\n * @example\r\n * ```ts\r\n * const promises = [\r\n * createResolvedPromise(1),\r\n * createResolvedPromise(2),\r\n * createResolvedPromise(3),\r\n * createRejectedPromise(\"error\"),\r\n * ];\r\n *\r\n * const results = await createAllSettledPromise(promises);\r\n *\r\n * // results is:\r\n * // [\r\n * // { status: \"fulfilled\", value: 1 },\r\n * // { status: \"fulfilled\", value: 2 },\r\n * // { status: \"fulfilled\", value: 3 },\r\n * // { status: \"rejected\", reason: \"error\" }\r\n * // ]\r\n * ```\r\n */\r\nexport function createAsyncAllSettledPromise(values: Iterable>, timeout?: number): IPromise>[]>;\r\n\r\n/**\r\n * Returns a single Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations based on the\r\n * {@link createAsyncPromise | Asynchronous} promise implementation. Any chained operations will execute\r\n * __asynchronously__ when the final operation pending promises have resolved, or if the input contains\r\n * no promises. It will resolve only after all of the input promises have either resolved or rejected,\r\n * and will resolve with an array of {@link IPromiseResult } objects that each describe the outcome of\r\n * each promise.\r\n * @since 0.5.0\r\n * @group Async\r\n * @group Promise\r\n * @group AllSettled\r\n * @param input - An array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A pending `Promise` that will resolve to an array of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n *\r\n * @example\r\n * ```ts\r\n * const promises = [\r\n * createResolvedPromise(1),\r\n * createResolvedPromise(2),\r\n * createResolvedPromise(3),\r\n * createRejectedPromise(\"error\"),\r\n * ];\r\n *\r\n * const results = await createAllSettledPromise(promises);\r\n *\r\n * // results is:\r\n * // [\r\n * // { status: \"fulfilled\", value: 1 },\r\n * // { status: \"fulfilled\", value: 2 },\r\n * // { status: \"fulfilled\", value: 3 },\r\n * // { status: \"rejected\", reason: \"error\" }\r\n * // ]\r\n * ```\r\n */\r\nexport function createAsyncAllSettledPromise(input: T, timeout?: number): IPromise<{ -readonly [P in keyof T]: IPromiseResult>; }> {\r\n !_allAsyncSettledCreator && (_allAsyncSettledCreator = _createAllSettledPromise(createAsyncPromise));\r\n return _allAsyncSettledCreator.v(input, timeout);\r\n}\r\n\r\n/**\r\n * The `createAsyncRacePromise` method takes an array of promises as input and returns a single Promise. This returned promise\r\n * settles with the eventual state of the first promise that settles.\r\n * @description The `createAsyncRacePromise` method is one of the promise concurrency methods. It's useful when you want the first\r\n * async task to complete, but do not care about its eventual state (i.e. it can either succeed or fail).\r\n * If the iterable contains one or more non-promise values and/or an already settled promise, then Promise.race() will settle to\r\n * the first of these values found in the iterable.\r\n * @since 0.5.0\r\n * @group Async\r\n * @group Promise\r\n * @group Race\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A Promise that settles with the eventual state of the first promise in the iterable to settle. In other words, it fulfills if the\r\n * first promise to settle is fulfilled, and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises, the returned promise is still\r\n * asynchronously settled.\r\n */\r\nexport function createAsyncRacePromise(values: Iterable>, timeout?: number): IPromise>;\r\n\r\n/**\r\n * The `createAsyncRacePromise` method takes an array of promises as input and returns a single Promise. This returned promise\r\n * settles with the eventual state of the first promise that settles.\r\n * @description The `createAsyncRacePromise` method is one of the promise concurrency methods. It's useful when you want the first\r\n * async task to complete, but do not care about its eventual state (i.e. it can either succeed or fail).\r\n * If the iterable contains one or more non-promise values and/or an already settled promise, then Promise.race() will settle to\r\n * the first of these values found in the iterable.\r\n * @since 0.5.0\r\n * @group Async\r\n * @group Promise\r\n * @group Race\r\n * @param values - An the array of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A Promise that settles with the eventual state of the first promise in the iterable to settle. In other words, it fulfills if the\r\n * first promise to settle is fulfilled, and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises, the returned promise is still\r\n * asynchronously settled.\r\n */\r\nexport function createAsyncRacePromise(values: T, timeout?: number): IPromise> {\r\n !_raceAsyncCreator && (_raceAsyncCreator = _createRacePromise(createAsyncPromise));\r\n return _raceAsyncCreator.v(values, timeout);\r\n}\r\n\r\n/**\r\n * The `createAsyncAnyPromise` method takes an iterable of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.\r\n * It rejects when all of the input's promises reject (including when an empty iterable is passed), with an\r\n * AggregateError containing an array of rejection reasons.\r\n * @since 0.5.0\r\n * @group Async\r\n * @group Promise\r\n * @group Any\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A new Promise that is:\r\n * - Already rejected, if the iterable passed is empty.\r\n * - Asynchronously fulfilled, when any of the promises in the given iterable fulfills. The fulfillment value\r\n * is the fulfillment value of the first promise that was fulfilled.\r\n * - Asynchronously rejected, when all of the promises in the given iterable reject. The rejection reason is\r\n * an AggregateError containing an array of rejection reasons in its errors property. The errors are in the\r\n * order of the promises passed, regardless of completion order. If the iterable passed is non-empty but\r\n * contains no pending promises, the returned promise is still asynchronously (instead of synchronously)\r\n * rejected.\r\n */\r\nexport function createAsyncAnyPromise(values: Iterable>, timeout?: number): IPromise>;\r\n \r\n/**\r\n * The `createAsyncAnyPromise` method takes an array of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.\r\n * It rejects when all of the input's promises reject (including when an empty iterable is passed), with an\r\n * AggregateError containing an array of rejection reasons.\r\n * @since 0.5.0\r\n * @group Async\r\n * @group Promise\r\n * @group Any\r\n * @param values - An Array promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A new Promise that is:\r\n * - Already rejected, if the iterable passed is empty.\r\n * - Asynchronously fulfilled, when any of the promises in the given iterable fulfills. The fulfillment value\r\n * is the fulfillment value of the first promise that was fulfilled.\r\n * - Asynchronously rejected, when all of the promises in the given iterable reject. The rejection reason is\r\n * an AggregateError containing an array of rejection reasons in its errors property. The errors are in the\r\n * order of the promises passed, regardless of completion order. If the iterable passed is non-empty but\r\n * contains no pending promises, the returned promise is still asynchronously (instead of synchronously)\r\n * rejected.\r\n */\r\nexport function createAsyncAnyPromise(values: T, timeout?: number): IPromise> {\r\n !_anyAsyncCreator && (_anyAsyncCreator = _createAnyPromise(createAsyncPromise));\r\n return _anyAsyncCreator.v(values, timeout);\r\n}","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { createAsyncPromise } from \"./asyncPromise\";\r\nimport { _createAllPromise, _createAllSettledPromise, _createAnyPromise, _createRacePromise, _createRejectedPromise, _createResolvedPromise } from \"./base\";\r\nimport { IPromise } from \"../interfaces/IPromise\";\r\nimport { ePromiseState, STRING_STATES } from \"../internal/state\";\r\nimport { PromiseExecutor } from \"../interfaces/types\";\r\nimport { dumpObj, isFunction, objDefineProp, throwTypeError, getInst, ICachedValue, createCachedValue, safe } from \"@nevware21/ts-utils\";\r\nimport { STR_PROMISE } from \"../internal/constants\";\r\nimport { IPromiseResult } from \"../interfaces/IPromiseResult\";\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Flag to determine if the native Promise class should be used if available, used for testing purposes.\r\n */\r\nlet _useNative: boolean = true;\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Cached value for the native Promise class\r\n */\r\nlet _promiseCls: ICachedValue;\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Cached value for the `Promise.all` method\r\n */\r\nlet _allCreator: ICachedValue<(input: Iterable>, ...additionalArgs: any) => IPromise[]>>;\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Cached value for the `Promise.allSettled` method\r\n */\r\nlet _allNativeSettledCreator: ICachedValue<(input: T, timeout?: number) => IPromise<{ -readonly [P in keyof T]: IPromiseResult>; }>>;\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Cached value for the `Promise.race` method\r\n */\r\nlet _raceNativeCreator: ICachedValue<(values: T, timeout?: number) => IPromise>>;\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Cached value for the `Promise.any` method\r\n */\r\nlet _anyNativeCreator: ICachedValue<(values: T, timeout?: number) => IPromise>>;\r\n\r\n/**\r\n * @internal\r\n * @ignore\r\n * Test Hook function to clear the cached values and set whether to use the native Promise class\r\n * @param useNative - Flag to determine if the native Promise class should be used if available\r\n */\r\nexport function _clearPromiseCache(useNative: boolean) {\r\n//#ifdef _DEBUG\r\n//#:(!_DEBUG) _useNative = !!useNative;\r\n//#:(!_DEBUG) _promiseCls = null as any;\r\n//#:(!_DEBUG) _allCreator = null as any;\r\n//#:(!_DEBUG) _allNativeSettledCreator = null as any;\r\n//#:(!_DEBUG) _raceNativeCreator = null as any;\r\n//#:(!_DEBUG) _anyNativeCreator = null as any;\r\n//#endif\r\n}\r\n\r\n/*#__NO_SIDE_EFFECTS__*/\r\nexport function _createNativePromiseHelper(name: string, func: () => ICachedValue): ICachedValue {\r\n !_promiseCls && (_promiseCls = createCachedValue((_useNative && safe(getInst, [STR_PROMISE]).v) || null as any));\r\n if (_promiseCls.v && _promiseCls.v[name]) {\r\n return createCachedValue(function(input: T, timeout?: number) {\r\n return createNativePromise((resolve, reject) => {\r\n _promiseCls.v[name](input).then(resolve, reject);\r\n });\r\n } as F);\r\n }\r\n \r\n return func();\r\n}\r\n\r\n/**\r\n * Creates a Promise instance that when resolved or rejected will execute it's pending chained operations using the\r\n * available native Promise implementation.\r\n * If runtime does not support native `Promise` class (or no polyfill is available) this function will fallback to using\r\n * `createAsyncPromise` which will resolve them __asynchronously__ using the optional provided timeout value to\r\n * schedule when the chained items will be executed.\r\n * @group Alias\r\n * @group Promise\r\n * @group Native\r\n * @param executor - The function to be executed during the creation of the promise. Any errors thrown in the executor will\r\n * cause the promise to be rejected. The return value of the executor is always ignored\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n */\r\nexport function createNativePromise(executor: PromiseExecutor, timeout?: number): IPromise {\r\n !_promiseCls && (_promiseCls = createCachedValue((_useNative && safe(getInst, [STR_PROMISE]).v) || null as any));\r\n const PrmCls = _promiseCls.v;\r\n if (!PrmCls) {\r\n return createAsyncPromise(executor);\r\n }\r\n\r\n if (!isFunction(executor)) {\r\n throwTypeError(STR_PROMISE + \": executor is not a function - \" + dumpObj(executor));\r\n }\r\n\r\n let _state = ePromiseState.Pending;\r\n\r\n function _strState() {\r\n return STRING_STATES[_state];\r\n }\r\n\r\n let thePromise = new PrmCls((resolve, reject) => {\r\n function _resolve(value: T) {\r\n _state = ePromiseState.Resolved;\r\n resolve(value);\r\n }\r\n\r\n function _reject(reason: any) {\r\n _state = ePromiseState.Rejected;\r\n reject(reason);\r\n }\r\n\r\n executor(_resolve, _reject);\r\n\r\n }) as IPromise;\r\n\r\n objDefineProp(thePromise, \"state\", {\r\n get: _strState\r\n });\r\n\r\n return thePromise;\r\n}\r\n\r\n/**\r\n * Returns a single asynchronous Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations __asynchronously__ using the optional\r\n * provided timeout value to schedule when the chained items will be executed, or if the input contains no promises.\r\n * It rejects immediately upon any of the input promises rejected or non-promises throwing an error,\r\n * and will reject with this first rejection message / error.\r\n * If the runtime doesn't support the Promise.all it will fallback back to an asynchronous Promise implementation.\r\n * @group Alias\r\n * @group Promise\r\n * @group All\r\n * @group Native\r\n * @param input - The array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n * @returns\r\n *
    \r\n *
  • An already resolved `Promise`, if the input passed is empty.\r\n *
  • A pending `Promise` in all other cases. This returned promise is then resolved/rejected __synchronously__\r\n * (as soon as the pending items is empty) when all the promises in the given input have resolved, or if any of the\r\n * promises reject.\r\n *
\r\n */\r\nexport function createNativeAllPromise(input: Iterable>, timeout?: number): IPromise {\r\n !_allCreator && (_allCreator = _createNativePromiseHelper(\"all\", () => createCachedValue(_createAllPromise(createNativePromise))));\r\n return _allCreator.v(input, timeout);\r\n}\r\n\r\n/**\r\n * Returns a single asynchronous Promise instance that is already resolved with the given value. If the value passed is\r\n * a promise then that promise is returned instead of creating a new asynchronous promise instance.\r\n * If a new instance is returned then any chained operations will execute __asynchronously__ using the optional\r\n * timeout value to schedule when the chained items will be executed.(eg. `then()`; `finally()`).\r\n * @group Alias\r\n * @group Promise\r\n * @group Resolved\r\n * @group Native\r\n * @param value - The value to be used by this `Promise`. Can also be a `Promise` or a thenable to resolve.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n */\r\nexport const createNativeResolvedPromise: (value: T, timeout?: number) => Promise = /*#__PURE__*/_createResolvedPromise(createNativePromise);\r\n\r\n/**\r\n * Returns a single asynchronous Promise instance that is already rejected with the given reason.\r\n * Any chained operations will execute __asynchronously__ using the optional timeout value to schedule\r\n * when then chained items will be executed. (eg. `catch()`; `finally()`).\r\n * @group Alias\r\n * @group Promise\r\n * @group Rejected\r\n * @group Native\r\n * @param reason - The rejection reason\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n */\r\nexport const createNativeRejectedPromise: (reason: any, timeout?: number) => Promise = /*#__PURE__*/_createRejectedPromise(createNativePromise);\r\n\r\n/**\r\n * Returns a single asynchronous Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations using {@link createNativePromise | native}\r\n * environment promise implementation, if the runtime does not provide any native then the optional provided\r\n * timeout value will be used to schedule when the chained items will be executed or if the input contains no promises.\r\n * It will resolve only after all of the input promises have either resolved or rejected, and will resolve with an array\r\n * of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n * @since 0.5.0\r\n * @group Alias\r\n * @group Promise\r\n * @group AllSettled\r\n * @group Native\r\n * @param values - The iterator of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A pending `Promise` that will resolve to an array of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n *\r\n * @example\r\n * ```ts\r\n * const promises = [\r\n * createNativeResolvedPromise(1),\r\n * createNativeResolvedPromise(2),\r\n * createNativeResolvedPromise(3),\r\n * createNativeRejectedPromise(\"error\"),\r\n * ];\r\n *\r\n * const results = await createNativeAllSettledPromise(promises);\r\n *\r\n * // results is:\r\n * // [\r\n * // { status: \"fulfilled\", value: 1 },\r\n * // { status: \"fulfilled\", value: 2 },\r\n * // { status: \"fulfilled\", value: 3 },\r\n * // { status: \"rejected\", reason: \"error\" }\r\n * // ]\r\n * ```\r\n */\r\nexport function createNativeAllSettledPromise(values: Iterable>, timeout?: number): IPromise>[]>;\r\n\r\n/**\r\n * Returns a single asynchronous Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations using {@link createNativePromise | native}\r\n * environment promise implementation, if the runtime does not provide any native then the optional provided\r\n * timeout value will be used to schedule when the chained items will be executed or if the input contains no promises.\r\n * It will resolve only after all of the input promises have either resolved or rejected, and will resolve with an array\r\n * of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n * @since 0.5.0\r\n * @group Alias\r\n * @group Promise\r\n * @group AllSettled\r\n * @group Native\r\n * @param input - An array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A pending `Promise` that will resolve to an array of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n *\r\n * @example\r\n * ```ts\r\n * const promises = [\r\n * createNativeResolvedPromise(1),\r\n * createNativeResolvedPromise(2),\r\n * createNativeResolvedPromise(3),\r\n * createNativeRejectedPromise(\"error\"),\r\n * ];\r\n *\r\n * const results = await createNativeAllSettledPromise(promises);\r\n *\r\n * // results is:\r\n * // [\r\n * // { status: \"fulfilled\", value: 1 },\r\n * // { status: \"fulfilled\", value: 2 },\r\n * // { status: \"fulfilled\", value: 3 },\r\n * // { status: \"rejected\", reason: \"error\" }\r\n * // ]\r\n * ```\r\n */\r\nexport function createNativeAllSettledPromise(input: T, timeout?: number): IPromise<{ -readonly [P in keyof T]: IPromiseResult>; }> {\r\n !_allNativeSettledCreator && (_allNativeSettledCreator = _createNativePromiseHelper(\"allSettled\", () => _createAllSettledPromise(createNativePromise)));\r\n return _allNativeSettledCreator.v(input, timeout);\r\n}\r\n\r\n/**\r\n * The `createNativeRacePromise` method takes an array of promises as input and returns a single Promise. This returned promise\r\n * settles with the eventual state of the first promise that settles.\r\n * @description The `createNativeRacePromise` method is one of the promise concurrency methods. It's useful when you want the first\r\n * async task to complete, but do not care about its eventual state (i.e. it can either succeed or fail).\r\n * If the iterable contains one or more non-promise values and/or an already settled promise, then Promise.race() will settle to\r\n * the first of these values found in the iterable.\r\n * @since 0.5.0\r\n * @group Alias\r\n * @group Promise\r\n * @group Race\r\n * @group Native\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A Promise that settles with the eventual state of the first promise in the iterable to settle. In other words, it fulfills if the\r\n * first promise to settle is fulfilled, and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises, the returned promise will settle\r\n * asynchronously.\r\n */\r\nexport function createNativeRacePromise(values: Iterable>, timeout?: number): IPromise>;\r\n\r\n/**\r\n * The `createNativeRacePromise` method takes an array of promises as input and returns a single Promise. This returned promise\r\n * settles with the eventual state of the first promise that settles.\r\n * @description The `createNativeRacePromise` method is one of the promise concurrency methods. It's useful when you want the first\r\n * async task to complete, but do not care about its eventual state (i.e. it can either succeed or fail).\r\n * If the iterable contains one or more non-promise values and/or an already settled promise, then Promise.race() will settle to\r\n * the first of these values found in the iterable.\r\n * @since 0.5.0\r\n * @group Alias\r\n * @group Promise\r\n * @group Race\r\n * @group Native\r\n * @param values - An the array of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A Promise that settles with the eventual state of the first promise in the iterable to settle. In other words, it fulfills if the\r\n * first promise to settle is fulfilled, and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises, the returned promise will settle\r\n * asynchronously.\r\n */\r\nexport function createNativeRacePromise(values: T, timeout?: number): IPromise> {\r\n !_raceNativeCreator && (_raceNativeCreator = _createNativePromiseHelper(\"race\", () => _createRacePromise(createNativePromise)));\r\n return _raceNativeCreator.v(values, timeout);\r\n}\r\n\r\n/**\r\n * The `createNativeAnyPromise` method takes an iterable of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.\r\n * It rejects when all of the input's promises reject (including when an empty iterable is passed), with an\r\n * AggregateError containing an array of rejection reasons.\r\n * @since 0.5.0\r\n * @group Alias\r\n * @group Promise\r\n * @group Any\r\n * @group Native\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A new Promise that is:\r\n * - Already rejected, if the iterable passed is empty.\r\n * - Asynchronously fulfilled, when any of the promises in the given iterable fulfills. The fulfillment value\r\n * is the fulfillment value of the first promise that was fulfilled.\r\n * - Asynchronously rejected, when all of the promises in the given iterable reject. The rejection reason is\r\n * an AggregateError containing an array of rejection reasons in its errors property. The errors are in the\r\n * order of the promises passed, regardless of completion order. If the iterable passed is non-empty but\r\n * contains no pending promises, the returned promise is still asynchronously (instead of synchronously)\r\n * rejected.\r\n */\r\nexport function createNativeAnyPromise(values: Iterable>, timeout?: number): IPromise>;\r\n \r\n/**\r\n * The `createNativeAnyPromise` method takes an array of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.\r\n * It rejects when all of the input's promises reject (including when an empty iterable is passed), with an\r\n * AggregateError containing an array of rejection reasons.\r\n * @since 0.5.0\r\n * @group Alias\r\n * @group Promise\r\n * @group Any\r\n * @group Native\r\n * @param values - An Array promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A new Promise that is:\r\n * - Already rejected, if the iterable passed is empty.\r\n * - Asynchronously fulfilled, when any of the promises in the given iterable fulfills. The fulfillment value\r\n * is the fulfillment value of the first promise that was fulfilled.\r\n * - Asynchronously rejected, when all of the promises in the given iterable reject. The rejection reason is\r\n * an AggregateError containing an array of rejection reasons in its errors property. The errors are in the\r\n * order of the promises passed, regardless of completion order. If the iterable passed is non-empty but\r\n * contains no pending promises, the returned promise is still asynchronously (instead of synchronously)\r\n * rejected.\r\n */\r\nexport function createNativeAnyPromise(values: T, timeout?: number): IPromise> {\r\n !_anyNativeCreator && (_anyNativeCreator = _createNativePromiseHelper(\"any\", () => _createAnyPromise(createNativePromise)));\r\n return _anyNativeCreator.v(values, timeout);\r\n}\r\n","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport {\r\n _createAllPromise, _createAllSettledPromise, _createAnyPromise, _createPromise, _createRacePromise,\r\n _createRejectedPromise, _createResolvedPromise\r\n} from \"./base\";\r\nimport { IPromise } from \"../interfaces/IPromise\";\r\nimport { syncItemProcessor } from \"./itemProcessor\";\r\nimport { PromiseExecutor } from \"../interfaces/types\";\r\nimport { IPromiseResult } from \"../interfaces/IPromiseResult\";\r\nimport { ICachedValue } from \"@nevware21/ts-utils\";\r\n\r\nlet _allSyncSettledCreator: ICachedValue<(input: T, timeout?: number) => IPromise<{ -readonly [P in keyof T]: IPromiseResult>; }>>;\r\nlet _raceSyncCreator: ICachedValue<(values: T, timeout?: number) => IPromise>>;\r\nlet _anySyncCreator: ICachedValue<(values: T, timeout?: number) => IPromise>>;\r\n\r\n/**\r\n * Creates a synchronous Promise instance that when resolved or rejected will execute it's pending chained operations\r\n * __synchronously__ in the same execution cycle as the operation that calls the `executors`, `resolve` or `reject` functions.\r\n *\r\n * @group Synchronous\r\n * @group Promise\r\n * @param executor - The function to be executed during the creation of the promise. Any errors thrown in the executor will\r\n * cause the promise to be rejected. The return value of the executor is always ignored\r\n */\r\nexport function createSyncPromise(executor: PromiseExecutor): IPromise {\r\n return _createPromise(createSyncPromise, syncItemProcessor, executor);\r\n}\r\n\r\n/**\r\n * Returns a single synchronous Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations __synchronously__ in the same\r\n * execution cycle as the final operation pending promises have resolved, or if the input contains no promises.\r\n * It rejects immediately upon any of the input promises rejected or non-promises throwing an error,\r\n * and will reject with this first rejection message / error.\r\n * When resolved or rejected any additional chained operations will execute __synchronously__ at the point of\r\n * being added (eg. `then()`; `catch()`; `finally()`).\r\n * @group Synchronous\r\n * @group Promise\r\n * @group All\r\n * @param input - The array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @returns\r\n *
    \r\n *
  • An already resolved `Promise`, if the input passed is empty.\r\n *
  • A pending `Promise` in all other cases. This returned promise is then resolved/rejected __synchronously__\r\n * (as soon as the pending items is empty) when all the promises in the given input have resolved, or if any of the\r\n * promises reject.\r\n *
\r\n */\r\nexport const createSyncAllPromise: (input: Iterable>) => IPromise = /*#__PURE__*/_createAllPromise(createSyncPromise);\r\n\r\n/**\r\n * Returns a single synchronous Promise instance that is already resolved with the given value. If the value passed is\r\n * a promise then that promise is returned instead of creating a new synchronous promise instance.\r\n * If a new instance is returned then any chained operations will execute __synchronously__ at the point of being\r\n * added (calling `then()`).\r\n * @group Synchronous\r\n * @group Promise\r\n * @group Resolved\r\n * @param value - The value to be used by this `Promise`. Can also be a `Promise` or a thenable to resolve.\r\n */\r\nexport const createSyncResolvedPromise: (value: T) => IPromise = /*#__PURE__*/_createResolvedPromise(createSyncPromise);\r\n\r\n/**\r\n * Returns a single synchronous Promise instance that is already rejected with the given reason.\r\n * Any chained operations will execute __synchronously__ at the point of being added (eg. `catch()`; `finally()`).\r\n * @group Synchronous\r\n * @group Promise\r\n * @group Rejected\r\n * @param reason - The rejection reason\r\n */\r\nexport const createSyncRejectedPromise: (reason: any) => IPromise = /*#__PURE__*/_createRejectedPromise(createSyncPromise);\r\n\r\n/**\r\n * Returns a single Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations based on the\r\n * {@link createSyncPromise | synchronous} promise implementation. Any chained operations will execute\r\n * __synchronously__ in the same execution cycle as the final operation pending promises have resolved,\r\n * or if the input contains no promises. It will resolve only after all of the input promises have either\r\n * resolved or rejected, and will resolve with an array of {@link IPromiseResult } objects that each describe\r\n * the outcome of each promise.\r\n * @since 0.5.0\r\n * @group Synchronous\r\n * @group Promise\r\n * @group AllSettled\r\n * @param values - The iterator of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A pending `Promise` that will resolve to an array of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n *\r\n * @example\r\n * ```ts\r\n * const promises = [\r\n * createResolvedPromise(1),\r\n * createResolvedPromise(2),\r\n * createResolvedPromise(3),\r\n * createRejectedPromise(\"error\"),\r\n * ];\r\n *\r\n * const results = await createAllSettledPromise(promises);\r\n *\r\n * // results is:\r\n * // [\r\n * // { status: \"fulfilled\", value: 1 },\r\n * // { status: \"fulfilled\", value: 2 },\r\n * // { status: \"fulfilled\", value: 3 },\r\n * // { status: \"rejected\", reason: \"error\" }\r\n * // ]\r\n * ```\r\n */\r\nexport function createSyncAllSettledPromise(values: Iterable>, timeout?: number): IPromise>[]>;\r\n\r\n/**\r\n * Returns a single Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations based on the\r\n * {@link createSyncPromise | synchronous} promise implementation. Any chained operations will execute\r\n * __synchronously__ in the same execution cycle as the final operation pending promises have resolved,\r\n * or if the input contains no promises. It will resolve only after all of the input promises have either\r\n * resolved or rejected, and will resolve with an array of {@link IPromiseResult } objects that each describe\r\n * the outcome of each promise.\r\n * @since 0.5.0\r\n * @group Synchronous\r\n * @group Promise\r\n * @group AllSettled\r\n * @param input - An array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A pending `Promise` that will resolve to an array of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n *\r\n * @example\r\n * ```ts\r\n * const promises = [\r\n * createResolvedPromise(1),\r\n * createResolvedPromise(2),\r\n * createResolvedPromise(3),\r\n * createRejectedPromise(\"error\"),\r\n * ];\r\n *\r\n * const results = await createAllSettledPromise(promises);\r\n *\r\n * // results is:\r\n * // [\r\n * // { status: \"fulfilled\", value: 1 },\r\n * // { status: \"fulfilled\", value: 2 },\r\n * // { status: \"fulfilled\", value: 3 },\r\n * // { status: \"rejected\", reason: \"error\" }\r\n * // ]\r\n * ```\r\n */\r\nexport function createSyncAllSettledPromise(input: T, timeout?: number): IPromise<{ -readonly [P in keyof T]: IPromiseResult>; }> {\r\n !_allSyncSettledCreator && (_allSyncSettledCreator = _createAllSettledPromise(createSyncPromise));\r\n return _allSyncSettledCreator.v(input, timeout);\r\n}\r\n\r\n/**\r\n * The `createSyncRacePromise` method takes an array of promises as input and returns a single Promise. This returned promise\r\n * settles with the eventual state of the first promise that settles.\r\n * @description The `createSyncRacePromise` method is one of the promise concurrency methods. It's useful when you want the first\r\n * async task to complete, but do not care about its eventual state (i.e. it can either succeed or fail).\r\n * If the iterable contains one or more non-promise values and/or an already settled promise, then Promise.race() will settle to\r\n * the first of these values found in the iterable.\r\n * @since 0.5.0\r\n * @group Synchronous\r\n * @group Promise\r\n * @group Race\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A Promise that settles with the eventual state of the first promise in the iterable to settle. In other words, it fulfills if the\r\n * first promise to settle is fulfilled, and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises, the returned promise will settle\r\n * synchronously.\r\n */\r\nexport function createSyncRacePromise(values: Iterable>, timeout?: number): IPromise>;\r\n\r\n/**\r\n * The `createSyncRacePromise` method takes an array of promises as input and returns a single Promise. This returned promise\r\n * settles with the eventual state of the first promise that settles.\r\n * @description The `createSyncRacePromise` method is one of the promise concurrency methods. It's useful when you want the first\r\n * async task to complete, but do not care about its eventual state (i.e. it can either succeed or fail).\r\n * If the iterable contains one or more non-promise values and/or an already settled promise, then Promise.race() will settle to\r\n * the first of these values found in the iterable.\r\n * @since 0.5.0\r\n * @group Synchronous\r\n * @group Promise\r\n * @group Race\r\n * @param values - An the array of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A Promise that settles with the eventual state of the first promise in the iterable to settle. In other words, it fulfills if the\r\n * first promise to settle is fulfilled, and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises, the returned promise will settle\r\n * synchronously.\r\n */\r\nexport function createSyncRacePromise(values: T, timeout?: number): IPromise> {\r\n !_raceSyncCreator && (_raceSyncCreator = _createRacePromise(createSyncPromise));\r\n return _raceSyncCreator.v(values, timeout);\r\n}\r\n\r\n/**\r\n * The `createSyncAnyPromise` method takes an iterable of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.\r\n * It rejects when all of the input's promises reject (including when an empty iterable is passed), with an\r\n * AggregateError containing an array of rejection reasons.\r\n * @since 0.5.0\r\n * @group Synchronous\r\n * @group Promise\r\n * @group Any\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A new Promise that is:\r\n * - Already rejected, if the iterable passed is empty.\r\n * - Asynchronously fulfilled, when any of the promises in the given iterable fulfills. The fulfillment value\r\n * is the fulfillment value of the first promise that was fulfilled.\r\n * - Asynchronously rejected, when all of the promises in the given iterable reject. The rejection reason is\r\n * an AggregateError containing an array of rejection reasons in its errors property. The errors are in the\r\n * order of the promises passed, regardless of completion order. If the iterable passed is non-empty but\r\n * contains no pending promises, the returned promise is still asynchronously (instead of synchronously)\r\n * rejected.\r\n */\r\nexport function createSyncAnyPromise(values: Iterable>, timeout?: number): IPromise>;\r\n \r\n/**\r\n * The `createSyncAnyPromise` method takes an array of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.\r\n * It rejects when all of the input's promises reject (including when an empty iterable is passed), with an\r\n * AggregateError containing an array of rejection reasons.\r\n * @since 0.5.0\r\n * @group Synchronous\r\n * @group Promise\r\n * @group Any\r\n * @param values - An Array promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A new Promise that is:\r\n * - Already rejected, if the iterable passed is empty.\r\n * - Asynchronously fulfilled, when any of the promises in the given iterable fulfills. The fulfillment value\r\n * is the fulfillment value of the first promise that was fulfilled.\r\n * - Asynchronously rejected, when all of the promises in the given iterable reject. The rejection reason is\r\n * an AggregateError containing an array of rejection reasons in its errors property. The errors are in the\r\n * order of the promises passed, regardless of completion order. If the iterable passed is non-empty but\r\n * contains no pending promises, the returned promise is still asynchronously (instead of synchronously)\r\n * rejected.\r\n */\r\nexport function createSyncAnyPromise(values: T, timeout?: number): IPromise> {\r\n !_anySyncCreator && (_anySyncCreator = _createAnyPromise(createSyncPromise));\r\n return _anySyncCreator.v(values, timeout);\r\n}","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { ICachedValue, isUndefined } from \"@nevware21/ts-utils\";\r\nimport { _createAllPromise, _createAllSettledPromise, _createAnyPromise, _createPromise, _createRacePromise, _createRejectedPromise, _createResolvedPromise } from \"./base\";\r\nimport { IPromise } from \"../interfaces/IPromise\";\r\nimport { idleItemProcessor } from \"./itemProcessor\";\r\nimport { PromiseExecutor } from \"../interfaces/types\";\r\nimport { IPromiseResult } from \"../interfaces/IPromiseResult\";\r\nimport { _pureAssign } from \"../internal/treeshake_helpers\";\r\n\r\nlet _defaultIdleTimeout: number | undefined;\r\n\r\nlet _allIdleSettledCreator: ICachedValue<(input: T, timeout?: number) => IPromise<{ -readonly [P in keyof T]: IPromiseResult>; }>>;\r\nlet _raceIdleCreator: ICachedValue<(values: T, timeout?: number) => IPromise>>;\r\nlet _anyIdleCreator: ICachedValue<(values: T, timeout?: number) => IPromise>>;\r\n\r\n/**\r\n * Sets the global default idle timeout / deadline to use when no timeout is passed during promise creation.\r\n * @param idleDeadline - Specifies the time in milliseconds to use as the idle timeout / deadline by when any\r\n * outstanding chained items should be executed.\r\n * @group Idle\r\n */\r\nexport function setDefaultIdlePromiseTimeout(idleDeadline?: number | undefined) {\r\n _defaultIdleTimeout = idleDeadline;\r\n}\r\n\r\n/**\r\n * @deprecated Use `setDefaultIdlePromiseTimeout` instead\r\n * Sets the global default idle timeout / deadline to use when no timeout is passed during promise creation.\r\n * @param idleDeadline - Specifies the time in milliseconds to use as the idle timeout / deadline by when any\r\n * outstanding chained items should be executed.\r\n * @group Idle\r\n */\r\nexport const setDefaultIdleTimeout = (/*#__PURE__*/_pureAssign(setDefaultIdlePromiseTimeout));\r\n\r\n/**\r\n * Creates an idle Promise instance that when resolved or rejected will execute it's pending chained operations\r\n * __asynchronously__ using the `requestIdleCallback` API (if available) with the optional provided timeout value to\r\n * schedule when the chained items will be executed. When `requestIdleCallback` is not available this becomes the same as\r\n * `createAsyncPromise` which uses `setTimeout` to schedule executions.\r\n * @group Idle\r\n * @group Promise\r\n * @param executor - The function to be executed during the creation of the promise. Any errors thrown in the executor will\r\n * cause the promise to be rejected. The return value of the executor is always ignored\r\n * @param timeout - Optional deadline timeout to wait before processing the items, defaults to undefined. If the number of\r\n * milliseconds represented by this parameter has elapsed and the callback has not already been called, then a task to execute\r\n * the callback is queued in the event loop (even if doing so risks causing a negative performance impact). timeout must be a\r\n * positive value or it is ignored.\r\n */\r\nexport function createIdlePromise(executor: PromiseExecutor, timeout?: number): IPromise {\r\n let theTimeout = isUndefined(timeout) ? _defaultIdleTimeout : timeout;\r\n return _createPromise(createIdlePromise, idleItemProcessor(theTimeout), executor, theTimeout);\r\n}\r\n\r\n/**\r\n * Returns an idle Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations __asynchronously__\r\n * using the `requestIdleCallback` API (if available) with the optional provided timeout value to\r\n * schedule when the chained items will be executed.\r\n * It rejects immediately upon any of the input promises rejected or non-promises throwing an error,\r\n * and will reject with this first rejection message / error.\r\n * When resolved or rejected any additional chained operations will execute __asynchronously__ using\r\n * the `requestIdleCallback` API (if available) with the optional provided timeout value to schedule\r\n * when the chained items will be executed. (eg. `then()`; `catch()`; `finally()`).\r\n * @group Idle\r\n * @group Promise\r\n * @group All\r\n * @param input - The array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional deadline timeout to wait before processing the items, defaults to undefined. If the number of\r\n * milliseconds represented by this parameter has elapsed and the callback has not already been called, then a task to execute\r\n * the callback is queued in the event loop (even if doing so risks causing a negative performance impact). timeout must be a\r\n * positive value or it is ignored.\r\n * @returns\r\n *
    \r\n *
  • An already resolved `Promise`, if the input passed is empty.\r\n *
  • A pending `Promise` in all other cases. This returned promise is then resolved/rejected __synchronously__\r\n * (as soon as the pending items is empty) when all the promises in the given input have resolved, or if any of the\r\n * promises reject.\r\n *
\r\n */\r\nexport const createIdleAllPromise: (input: Iterable>, timeout?: number) => IPromise = /*#__PURE__*/_createAllPromise(createIdlePromise);\r\n\r\n/**\r\n * Returns an idle Promise instance that is already resolved with the given value. If the value passed is\r\n * a promise then that promise is returned instead of creating a new asynchronous promise instance.\r\n * If a new instance is returned then any chained operations will execute __asynchronously__ using the\r\n * `requestIdleCallback` API (if available) with the optional provided timeout value to schedule when\r\n * the chained items will be executed. (eg. `then()`; `finally()`).\r\n * @group Idle\r\n * @group Promise\r\n * @group Resolved\r\n * @param value - The value to be used by this `Promise`. Can also be a `Promise` or a thenable to resolve.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n */\r\nexport const createIdleResolvedPromise: (value: T, timeout?: number) => IPromise = /*#__PURE__*/_createResolvedPromise(createIdlePromise);\r\n\r\n/**\r\n * Returns an idle Promise instance that is already rejected with the given reason.\r\n * Any chained operations will execute __asynchronously__ using the o`requestIdleCallback` API\r\n * (if available) with the optional provided timeout value to schedule when the chained items will\r\n * be executed. (eg. `catch()`; `finally()`).\r\n * @group Idle\r\n * @group Promise\r\n * @group Rejected\r\n * @param reason - The rejection reason\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n */\r\nexport const createIdleRejectedPromise: (reason: any, timeout?: number) => IPromise = /*#__PURE__*/_createRejectedPromise(createIdlePromise);\r\n\r\n/**\r\n * Returns a single Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations based on the\r\n * {@link createIdlePromise | idle} promise implementation. Any chained operations will execute\r\n * __asynchronously__ when the environment is idle as the final operation pending promises have resolved,\r\n * or if the input contains no promises. It will resolve only after all of the input promises have either\r\n * resolved or rejected, and will resolve with an array of {@link IPromiseResult } objects that each describe\r\n * the outcome of each promise.\r\n * @since 0.5.0\r\n * @group Idle\r\n * @group Promise\r\n * @group AllSettled\r\n * @param values - The iterator of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A pending `Promise` that will resolve to an array of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n *\r\n * @example\r\n * ```ts\r\n * const promises = [\r\n * createResolvedPromise(1),\r\n * createResolvedPromise(2),\r\n * createResolvedPromise(3),\r\n * createRejectedPromise(\"error\"),\r\n * ];\r\n *\r\n * const results = await createAllSettledPromise(promises);\r\n *\r\n * // results is:\r\n * // [\r\n * // { status: \"fulfilled\", value: 1 },\r\n * // { status: \"fulfilled\", value: 2 },\r\n * // { status: \"fulfilled\", value: 3 },\r\n * // { status: \"rejected\", reason: \"error\" }\r\n * // ]\r\n * ```\r\n */\r\nexport function createIdleAllSettledPromise(values: Iterable>, timeout?: number): IPromise>[]>;\r\n\r\n/**\r\n * Returns a single Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations based on the\r\n * {@link createIdlePromise | idle} promise implementation. Any chained operations will execute\r\n * __asynchronously__ when the environment is idle as the final operation pending promises have resolved,\r\n * or if the input contains no promises. It will resolve only after all of the input promises have either\r\n * resolved or rejected, and will resolve with an array of {@link IPromiseResult } objects that each describe\r\n * the outcome of each promise.\r\n * @since 0.5.0\r\n * @group Idle\r\n * @group Promise\r\n * @group AllSettled\r\n * @param input - An array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A pending `Promise` that will resolve to an array of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n *\r\n * @example\r\n * ```ts\r\n * const promises = [\r\n * createResolvedPromise(1),\r\n * createResolvedPromise(2),\r\n * createResolvedPromise(3),\r\n * createRejectedPromise(\"error\"),\r\n * ];\r\n *\r\n * const results = await createAllSettledPromise(promises);\r\n *\r\n * // results is:\r\n * // [\r\n * // { status: \"fulfilled\", value: 1 },\r\n * // { status: \"fulfilled\", value: 2 },\r\n * // { status: \"fulfilled\", value: 3 },\r\n * // { status: \"rejected\", reason: \"error\" }\r\n * // ]\r\n * ```\r\n */\r\nexport function createIdleAllSettledPromise(input: T, timeout?: number): IPromise<{ -readonly [P in keyof T]: IPromiseResult>; }> {\r\n !_allIdleSettledCreator && (_allIdleSettledCreator = _createAllSettledPromise(createIdlePromise));\r\n return _allIdleSettledCreator.v(input, timeout);\r\n}\r\n\r\n/**\r\n * The `createIdleRacePromise` method takes an array of promises as input and returns a single Promise. This returned promise\r\n * settles with the eventual state of the first promise that settles.\r\n * @description The `createIdleRacePromise` method is one of the promise concurrency methods. It's useful when you want the first\r\n * async task to complete, but do not care about its eventual state (i.e. it can either succeed or fail).\r\n * If the iterable contains one or more non-promise values and/or an already settled promise, then Promise.race() will settle to\r\n * the first of these values found in the iterable.\r\n * @since 0.5.0\r\n * @group Idle\r\n * @group Promise\r\n * @group Race\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A Promise that settles with the eventual state of the first promise in the iterable to settle. In other words, it fulfills if the\r\n * first promise to settle is fulfilled, and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises, the returned promise will settle\r\n * asynchronously when the system detects that the runtime is idle.\r\n */\r\nexport function createIdleRacePromise(values: Iterable>, timeout?: number): IPromise>;\r\n\r\n/**\r\n * The `createIdleRacePromise` method takes an array of promises as input and returns a single Promise. This returned promise\r\n * settles with the eventual state of the first promise that settles.\r\n * @description The `createIdleRacePromise` method is one of the promise concurrency methods. It's useful when you want the first\r\n * async task to complete, but do not care about its eventual state (i.e. it can either succeed or fail).\r\n * If the iterable contains one or more non-promise values and/or an already settled promise, then Promise.race() will settle to\r\n * the first of these values found in the iterable.\r\n * @since 0.5.0\r\n * @group Idle\r\n * @group Promise\r\n * @group Race\r\n * @param values - An the array of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A Promise that settles with the eventual state of the first promise in the iterable to settle. In other words, it fulfills if the\r\n * first promise to settle is fulfilled, and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises, the returned promise will settle\r\n * asynchronously when the system detects that the runtime is idle.\r\n */\r\nexport function createIdleRacePromise(values: T, timeout?: number): IPromise> {\r\n !_raceIdleCreator && (_raceIdleCreator = _createRacePromise(createIdlePromise));\r\n return _raceIdleCreator.v(values, timeout);\r\n}\r\n\r\n/**\r\n * The `createIdleAnyPromise` method takes an iterable of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.\r\n * It rejects when all of the input's promises reject (including when an empty iterable is passed), with an\r\n * AggregateError containing an array of rejection reasons.\r\n * @since 0.5.0\r\n * @group Idle\r\n * @group Promise\r\n * @group Any\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A new Promise that is:\r\n * - Already rejected, if the iterable passed is empty.\r\n * - Asynchronously fulfilled, when any of the promises in the given iterable fulfills. The fulfillment value\r\n * is the fulfillment value of the first promise that was fulfilled.\r\n * - Asynchronously rejected, when all of the promises in the given iterable reject. The rejection reason is\r\n * an AggregateError containing an array of rejection reasons in its errors property. The errors are in the\r\n * order of the promises passed, regardless of completion order. If the iterable passed is non-empty but\r\n * contains no pending promises, the returned promise is still asynchronously (instead of synchronously)\r\n * rejected.\r\n */\r\nexport function createIdleAnyPromise(values: Iterable>, timeout?: number): IPromise>;\r\n \r\n/**\r\n * The `createIdleAnyPromise` method takes an array of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.\r\n * It rejects when all of the input's promises reject (including when an empty iterable is passed), with an\r\n * AggregateError containing an array of rejection reasons.\r\n * @since 0.5.0\r\n * @group Idle\r\n * @group Promise\r\n * @group Any\r\n * @param values - An Array promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A new Promise that is:\r\n * - Already rejected, if the iterable passed is empty.\r\n * - Asynchronously fulfilled, when any of the promises in the given iterable fulfills. The fulfillment value\r\n * is the fulfillment value of the first promise that was fulfilled.\r\n * - Asynchronously rejected, when all of the promises in the given iterable reject. The rejection reason is\r\n * an AggregateError containing an array of rejection reasons in its errors property. The errors are in the\r\n * order of the promises passed, regardless of completion order. If the iterable passed is non-empty but\r\n * contains no pending promises, the returned promise is still asynchronously (instead of synchronously)\r\n * rejected.\r\n */\r\nexport function createIdleAnyPromise(values: T, timeout?: number): IPromise> {\r\n !_anyIdleCreator && (_anyIdleCreator = _createAnyPromise(createIdlePromise));\r\n return _anyIdleCreator.v(values, timeout);\r\n}","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { createCachedValue, ICachedValue } from \"@nevware21/ts-utils\";\r\nimport { _createAllPromise, _createAllSettledPromise, _createAnyPromise, _createRacePromise, _createRejectedPromise, _createResolvedPromise } from \"./base\";\r\nimport { IPromise } from \"../interfaces/IPromise\";\r\nimport { createNativePromise } from \"./nativePromise\";\r\nimport { PromiseExecutor } from \"../interfaces/types\";\r\nimport { IPromiseResult } from \"../interfaces/IPromiseResult\";\r\n\r\nlet _promiseCreator: ICachedValue<(executor: PromiseExecutor, timeout?: number) => IPromise>;\r\nlet _allSettledCreator: ICachedValue<(input: T, timeout?: number) => IPromise<{ -readonly [P in keyof T]: IPromiseResult>; }>>;\r\nlet _raceCreator: ICachedValue<(values: T, timeout?: number) => IPromise>>;\r\nlet _anyCreator: ICachedValue<(values: T, timeout?: number) => IPromise>>;\r\n\r\n/**\r\n * Set the default promise implementation to use when calling `createPromise`; `createAllPromise`; `createResolvedPromise`\r\n * and `createRejectedPromise`. This is effective a global value and changing this will affect ALL callers of these\r\n * functions, as such these functions should only be used when switching implementations would have not unexpected\r\n * consequences like switching from a `createSyncPromise` to `createIdlePromise` where idle promises have a possibility\r\n * of never getting called during application shutdown or during an expected timeframe.\r\n * @group Alias\r\n * @group Promise\r\n * @param creator - The creator function to call when a new promise is required.\r\n */\r\nexport function setCreatePromiseImpl(\r\n creator: (executor: PromiseExecutor, timeout?: number) => IPromise\r\n) {\r\n _promiseCreator = creator ? createCachedValue(creator) : null;\r\n}\r\n\r\n/**\r\n * Creates a Promise instance using the current default promise creator that when resolved or rejected will execute\r\n * it's pending chained operations.\r\n * @group Alias\r\n * @group Promise\r\n * @param executor - The function to be executed during the creation of the promise. Any errors thrown in the executor will\r\n * cause the promise to be rejected. The return value of the executor is always ignored\r\n * @param timeout - [Optional] timeout to wait before processing the items, defaults to zero.\r\n */\r\nexport function createPromise(executor: PromiseExecutor, timeout?: number): IPromise {\r\n !_promiseCreator && (_promiseCreator = createCachedValue(createNativePromise));\r\n\r\n return _promiseCreator.v.call(this, executor, timeout);\r\n}\r\n\r\n/**\r\n * Returns a single asynchronous Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations __asynchronously__ using the optional\r\n * provided timeout value to schedule when the chained items will be executed, or if the input contains no promises.\r\n * It rejects immediately upon any of the input promises rejected or non-promises throwing an error,\r\n * and will reject with this first rejection message / error.\r\n * If the runtime doesn't support the Promise.all it will fallback back to an asynchronous Promise implementation.\r\n * @group Alias\r\n * @group Promise\r\n * @group All\r\n * @param input - The array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n * @returns\r\n *
    \r\n *
  • An already resolved `Promise`, if the input passed is empty.\r\n *
  • A pending `Promise` in all other cases. This returned promise is then resolved/rejected __synchronously__\r\n * (as soon as the pending items is empty) when all the promises in the given input have resolved, or if any of the\r\n * promises reject.\r\n *
\r\n */\r\nexport const createAllPromise: (input: Iterable>, timeout?: number) => IPromise = /*#__PURE__*/_createAllPromise(createPromise);\r\n\r\n\r\n/**\r\n * Returns a single asynchronous Promise instance that is already resolved with the given value. If the value passed is\r\n * a promise then that promise is returned instead of creating a new asynchronous promise instance.\r\n * If a new instance is returned then any chained operations will execute __asynchronously__ using the optional\r\n * timeout value to schedule when the chained items will be executed.(eg. `then()`; `finally()`).\r\n * @group Alias\r\n * @group Promise\r\n * @group Resolved\r\n * @param value - The value to be used by this `Promise`. Can also be a `Promise` or a thenable to resolve.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n */\r\nexport const createResolvedPromise: (value: T, timeout?: number) => IPromise = /*#__PURE__*/_createResolvedPromise(createPromise);\r\n\r\n/**\r\n * Returns a single asynchronous Promise instance that is already rejected with the given reason.\r\n * Any chained operations will execute __asynchronously__ using the optional timeout value to schedule\r\n * when then chained items will be executed. (eg. `catch()`; `finally()`).\r\n * @group Alias\r\n * @group Promise\r\n * @group Rejected\r\n * @param reason - The rejection reason\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n */\r\nexport const createRejectedPromise: (reason: any, timeout?: number) => IPromise = /*#__PURE__*/_createRejectedPromise(createPromise);\r\n\r\n/**\r\n * Returns a single Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations based on the current\r\n * promise implementation. If the current implementation is synchronous then the chained operations will\r\n * execute __synchronously__ in the same execution cycle as the final operation pending promises have resolved,\r\n * or if the input contains no promises. If the current implementation is asynchronous then the chained\r\n * operations will execute __asynchronously__ using the optional provided timeout value to schedule when the\r\n * chained items will be executed or if the input contains no promises.\r\n * It will resolve only after all of the input promises have either resolved or rejected, and will resolve with an array\r\n * of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n * @since 0.5.0\r\n * @group Alias\r\n * @group Promise\r\n * @group AllSettled\r\n * @param values - The iterator of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A pending `Promise` that will resolve to an array of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n *\r\n * @example\r\n * ```ts\r\n * const promises = [\r\n * createResolvedPromise(1),\r\n * createResolvedPromise(2),\r\n * createResolvedPromise(3),\r\n * createRejectedPromise(\"error\"),\r\n * ];\r\n *\r\n * const results = await createAllSettledPromise(promises);\r\n *\r\n * // results is:\r\n * // [\r\n * // { status: \"fulfilled\", value: 1 },\r\n * // { status: \"fulfilled\", value: 2 },\r\n * // { status: \"fulfilled\", value: 3 },\r\n * // { status: \"rejected\", reason: \"error\" }\r\n * // ]\r\n * ```\r\n */\r\nexport function createAllSettledPromise(values: Iterable>, timeout?: number): IPromise>[]>;\r\n\r\n/**\r\n * Returns a single Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations based on the current\r\n * promise implementation. If the current implementation is synchronous then the chained operations will\r\n * execute __synchronously__ in the same execution cycle as the final operation pending promises have resolved,\r\n * or if the input contains no promises. If the current implementation is asynchronous then the chained\r\n * operations will execute __asynchronously__ using the optional provided timeout value to schedule when the\r\n * chained items will be executed or if the input contains no promises.\r\n * It will resolve only after all of the input promises have either resolved or rejected, and will resolve with an array\r\n * of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n * @since 0.5.0\r\n * @group Alias\r\n * @group Promise\r\n * @group AllSettled\r\n * @param input - An array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A pending `Promise` that will resolve to an array of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n *\r\n * @example\r\n * ```ts\r\n * const promises = [\r\n * createResolvedPromise(1),\r\n * createResolvedPromise(2),\r\n * createResolvedPromise(3),\r\n * createRejectedPromise(\"error\"),\r\n * ];\r\n *\r\n * const results = await createAllSettledPromise(promises);\r\n *\r\n * // results is:\r\n * // [\r\n * // { status: \"fulfilled\", value: 1 },\r\n * // { status: \"fulfilled\", value: 2 },\r\n * // { status: \"fulfilled\", value: 3 },\r\n * // { status: \"rejected\", reason: \"error\" }\r\n * // ]\r\n * ```\r\n */\r\nexport function createAllSettledPromise(input: T, timeout?: number): IPromise<{ -readonly [P in keyof T]: IPromiseResult>; }> {\r\n !_allSettledCreator && (_allSettledCreator = _createAllSettledPromise(createPromise));\r\n return _allSettledCreator.v(input, timeout);\r\n}\r\n\r\n/**\r\n * The `createRacePromise` method takes an array of promises as input and returns a single Promise. This returned promise\r\n * settles with the eventual state of the first promise that settles.\r\n * @description The `createRacePromise` method is one of the promise concurrency methods. It's useful when you want the first\r\n * async task to complete, but do not care about its eventual state (i.e. it can either succeed or fail).\r\n * If the iterable contains one or more non-promise values and/or an already settled promise, then Promise.race() will settle to\r\n * the first of these values found in the iterable.\r\n * @since 0.5.0\r\n * @group Alias\r\n * @group Promise\r\n * @group Race\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A Promise that settles with the eventual state of the first promise in the iterable to settle. In other words, it fulfills if the\r\n * first promise to settle is fulfilled, and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises, the returned promise will settle\r\n * based on the current promise implementation.\r\n */\r\nexport function createRacePromise(values: Iterable>, timeout?: number): IPromise>;\r\n\r\n/**\r\n * The `createRacePromise` method takes an array of promises as input and returns a single Promise. This returned promise\r\n * settles with the eventual state of the first promise that settles.\r\n * @description The `createRacePromise` method is one of the promise concurrency methods. It's useful when you want the first\r\n * async task to complete, but do not care about its eventual state (i.e. it can either succeed or fail).\r\n * If the iterable contains one or more non-promise values and/or an already settled promise, then Promise.race() will settle to\r\n * the first of these values found in the iterable.\r\n * @since 0.5.0\r\n * @group Alias\r\n * @group Promise\r\n * @group Race\r\n * @param values - An the array of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A Promise that settles with the eventual state of the first promise in the iterable to settle. In other words, it fulfills if the\r\n * first promise to settle is fulfilled, and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises, the returned promise will settle\r\n * based on the current promise implementation.\r\n */\r\nexport function createRacePromise(values: T, timeout?: number): IPromise> {\r\n !_raceCreator && (_raceCreator = _createRacePromise(createPromise));\r\n return _raceCreator.v(values, timeout);\r\n}\r\n\r\n/**\r\n * The `createAnyPromise` method takes an iterable of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.\r\n * It rejects when all of the input's promises reject (including when an empty iterable is passed), with an\r\n * AggregateError containing an array of rejection reasons.\r\n * @since 0.5.0\r\n * @group Alias\r\n * @group Promise\r\n * @group Any\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A new Promise that is:\r\n * - Already rejected, if the iterable passed is empty.\r\n * - Asynchronously fulfilled, when any of the promises in the given iterable fulfills. The fulfillment value\r\n * is the fulfillment value of the first promise that was fulfilled.\r\n * - Asynchronously rejected, when all of the promises in the given iterable reject. The rejection reason is\r\n * an AggregateError containing an array of rejection reasons in its errors property. The errors are in the\r\n * order of the promises passed, regardless of completion order. If the iterable passed is non-empty but\r\n * contains no pending promises, the returned promise is still asynchronously (instead of synchronously)\r\n * rejected.\r\n */\r\nexport function createAnyPromise(values: Iterable>, timeout?: number): IPromise>;\r\n \r\n/**\r\n * The `createAnyPromise` method takes an array of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.\r\n * It rejects when all of the input's promises reject (including when an empty iterable is passed), with an\r\n * AggregateError containing an array of rejection reasons.\r\n * @since 0.5.0\r\n * @group Alias\r\n * @group Promise\r\n * @group Any\r\n * @param values - An Array promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A new Promise that is:\r\n * - Already rejected, if the iterable passed is empty.\r\n * - Asynchronously fulfilled, when any of the promises in the given iterable fulfills. The fulfillment value\r\n * is the fulfillment value of the first promise that was fulfilled.\r\n * - Asynchronously rejected, when all of the promises in the given iterable reject. The rejection reason is\r\n * an AggregateError containing an array of rejection reasons in its errors property. The errors are in the\r\n * order of the promises passed, regardless of completion order. If the iterable passed is non-empty but\r\n * contains no pending promises, the returned promise is still asynchronously (instead of synchronously)\r\n * rejected.\r\n */\r\nexport function createAnyPromise(values: T, timeout?: number): IPromise> {\r\n !_anyCreator && (_anyCreator = _createAnyPromise(createPromise));\r\n return _anyCreator.v(values, timeout);\r\n}","/*\r\n * @nevware21/ts-async\r\n * https://github.com/nevware21/ts-async\r\n *\r\n * Copyright (c) 2022 NevWare21 Solutions LLC\r\n * Licensed under the MIT license.\r\n */\r\n\r\nimport { getKnownSymbol, objDefineProp, WellKnownSymbols } from \"@nevware21/ts-utils\";\r\nimport { createAsyncAllPromise, createAsyncAllSettledPromise, createAsyncAnyPromise, createAsyncPromise, createAsyncRacePromise, createAsyncRejectedPromise, createAsyncResolvedPromise } from \"../promise/asyncPromise\";\r\nimport { IPromise } from \"../interfaces/IPromise\";\r\nimport { PromiseExecutor } from \"../interfaces/types\";\r\nimport { IPromiseResult } from \"../interfaces/IPromiseResult\";\r\n\r\nconst toStringTagSymbol: symbol = getKnownSymbol(WellKnownSymbols.toStringTag) as typeof Symbol.toStringTag;\r\n\r\n/**\r\n * The PolyPromiseConstructor interface represents the constructor for the polyfill Promise object.\r\n * @since 0.5.0\r\n * @group Polyfill\r\n */\r\nexport interface PolyPromiseConstructor {\r\n /**\r\n * Creates a new Promise.\r\n * @constructor\r\n * @param executor - A callback used to initialize the promise. This callback is passed two arguments:\r\n * a resolve callback used to resolve the promise with a value or the result of another promise,\r\n * and a reject callback used to reject the promise with a provided reason or error.\r\n */\r\n new (executor: PromiseExecutor): IPromise;\r\n\r\n /**\r\n * Returns a single asynchronous Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations __asynchronously__ using the optional\r\n * provided timeout value to schedule when the chained items will be executed, or if the input contains no promises.\r\n * It rejects immediately upon any of the input promises rejected or non-promises throwing an error,\r\n * and will reject with this first rejection message / error.\r\n * When resolved or rejected any additional chained operations will execute __asynchronously__ using the optional\r\n * timeout value to schedul when the chained item will be executed (eg. `then()`; `catch()`; `finally()`).\r\n * @group Polyfill\r\n * @param input - The array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n * @returns\r\n *
    \r\n *
  • An already resolved `Promise`, if the input passed is empty.\r\n *
  • A pending `Promise` in all other cases. This returned promise is then resolved/rejected __synchronously__\r\n * (as soon as the pending items is empty) when all the promises in the given input have resolved, or if any of the\r\n * promises reject.\r\n *
\r\n */\r\n all(input: Iterable>, timeout?: number): IPromise;\r\n\r\n /**\r\n * The `createAsyncRacePromise` method takes an array of promises as input and returns a single Promise. This returned promise\r\n * settles with the eventual state of the first promise that settles.\r\n * @description The `createAsyncRacePromise` method is one of the promise concurrency methods. It's useful when you want the first\r\n * async task to complete, but do not care about its eventual state (i.e. it can either succeed or fail).\r\n * If the iterable contains one or more non-promise values and/or an already settled promise, then Promise.race() will settle to\r\n * the first of these values found in the iterable.\r\n * @since 0.5.0\r\n * @group Polyfill\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A Promise that settles with the eventual state of the first promise in the iterable to settle. In other words, it fulfills if the\r\n * first promise to settle is fulfilled, and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises, the returned promise is still\r\n * asynchronously settled.\r\n */\r\n race(values: Iterable>, timeout?: number): IPromise>;\r\n\r\n /**\r\n * The `createAsyncRacePromise` method takes an array of promises as input and returns a single Promise. This returned promise\r\n * settles with the eventual state of the first promise that settles.\r\n * @description The `createAsyncRacePromise` method is one of the promise concurrency methods. It's useful when you want the first\r\n * async task to complete, but do not care about its eventual state (i.e. it can either succeed or fail).\r\n * If the iterable contains one or more non-promise values and/or an already settled promise, then Promise.race() will settle to\r\n * the first of these values found in the iterable.\r\n * @since 0.5.0\r\n * @group Polyfill\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A Promise that settles with the eventual state of the first promise in the iterable to settle. In other words, it fulfills if the\r\n * first promise to settle is fulfilled, and rejects if the first promise to settle is rejected. The returned promise remains pending forever\r\n * if the iterable passed is empty. If the iterable passed is non-empty but contains no pending promises, the returned promise is still\r\n * asynchronously settled.\r\n */\r\n race(values: T, timeout?: number): IPromise>;\r\n\r\n /**\r\n * The `createAsyncAnyPromise` method takes an iterable of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.\r\n * It rejects when all of the input's promises reject (including when an empty iterable is passed), with an\r\n * AggregateError containing an array of rejection reasons.\r\n * @since 0.5.0\r\n * @group Polyfill\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A new Promise that is:\r\n * - Already rejected, if the iterable passed is empty.\r\n * - Asynchronously fulfilled, when any of the promises in the given iterable fulfills. The fulfillment value\r\n * is the fulfillment value of the first promise that was fulfilled.\r\n * - Asynchronously rejected, when all of the promises in the given iterable reject. The rejection reason is\r\n * an AggregateError containing an array of rejection reasons in its errors property. The errors are in the\r\n * order of the promises passed, regardless of completion order. If the iterable passed is non-empty but\r\n * contains no pending promises, the returned promise is still asynchronously (instead of synchronously)\r\n * rejected.\r\n */\r\n any(values: Iterable>, timeout?: number): IPromise>;\r\n \r\n /**\r\n * The `createAsyncAnyPromise` method takes an iterable of promises as input and returns a single Promise.\r\n * This returned promise fulfills when any of the input's promises fulfills, with this first fulfillment value.\r\n * It rejects when all of the input's promises reject (including when an empty iterable is passed), with an\r\n * AggregateError containing an array of rejection reasons.\r\n * @since 0.5.0\r\n * @group Polyfill\r\n * @param values - An iterable object of promises.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A new Promise that is:\r\n * - Already rejected, if the iterable passed is empty.\r\n * - Asynchronously fulfilled, when any of the promises in the given iterable fulfills. The fulfillment value\r\n * is the fulfillment value of the first promise that was fulfilled.\r\n * - Asynchronously rejected, when all of the promises in the given iterable reject. The rejection reason is\r\n * an AggregateError containing an array of rejection reasons in its errors property. The errors are in the\r\n * order of the promises passed, regardless of completion order. If the iterable passed is non-empty but\r\n * contains no pending promises, the returned promise is still asynchronously (instead of synchronously)\r\n * rejected.\r\n */\r\n any(values: T, timeout?: number): IPromise>;\r\n\r\n /**\r\n * Returns a single asynchronous Promise instance that is already rejected with the given reason.\r\n * Any chained operations will execute __asynchronously__ using the optional timeout value to schedule\r\n * when then chained items will be executed. (eg. `catch()`; `finally()`).\r\n * @group Polyfill\r\n * @param reason - The rejection reason\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n * @returns A rejected promise.\r\n */\r\n reject(reason?: any, timeout?: number): IPromise;\r\n \r\n /**\r\n * Returns a single asynchronous Promise instance that is already resolved with the given value. If the value passed is\r\n * a promise then that promise is returned instead of creating a new asynchronous promise instance.\r\n * If a new instance is returned then any chained operations will execute __asynchronously__ using the optional\r\n * timeout value to schedule when the chained items will be executed.(eg. `then()`; `finally()`).\r\n * @group Polyfill\r\n * @returns A resolved promise.\r\n */\r\n resolve(): IPromise;\r\n \r\n /**\r\n * Returns a single asynchronous Promise instance that is already resolved with the given value. If the value passed is\r\n * a promise then that promise is returned instead of creating a new asynchronous promise instance.\r\n * If a new instance is returned then any chained operations will execute __asynchronously__ using the optional\r\n * timeout value to schedule when the chained items will be executed.(eg. `then()`; `finally()`).\r\n * @group Polyfill\r\n * @param value - The value to be used by this `Promise`. Can also be a `Promise` or a thenable to resolve.\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero.\r\n * @returns A resolved promise.\r\n */\r\n resolve(value: T | PromiseLike, timeout?: number): IPromise;\r\n\r\n /**\r\n * Returns a single Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations based on the\r\n * {@link createAsyncPromise | Asynchronous} promise implementation. Any chained operations will execute\r\n * __asynchronously__ when the final operation pending promises have resolved, or if the input contains\r\n * no promises. It will resolve only after all of the input promises have either resolved or rejected,\r\n * and will resolve with an array of {@link IPromiseResult } objects that each describe the outcome of\r\n * each promise.\r\n * @since 0.5.0\r\n * @group Polyfill\r\n * @param values - An array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A pending `Promise` that will resolve to an array of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n */\r\n allSettled(values: T, timeout?: number): Promise<{ -readonly [P in keyof T]: IPromiseResult>; }>;\r\n\r\n /**\r\n * Returns a single Promise instance that resolves to an array of the results from the input promises.\r\n * This returned promise will resolve and execute it's pending chained operations based on the\r\n * {@link createAsyncPromise | Asynchronous} promise implementation. Any chained operations will execute\r\n * __asynchronously__ when the final operation pending promises have resolved, or if the input contains\r\n * no promises. It will resolve only after all of the input promises have either resolved or rejected,\r\n * and will resolve with an array of {@link IPromiseResult } objects that each describe the outcome of\r\n * each promise.\r\n * @since 0.5.0\r\n * @group Polyfill\r\n * @param values - An array of promises to wait to be resolved / rejected before resolving or rejecting the new promise\r\n * @param timeout - Optional timeout to wait before processing the items, defaults to zero, only used when Native promises are not available.\r\n * @returns A pending `Promise` that will resolve to an array of {@link IPromiseResult } objects that each describe the outcome of each promise.\r\n */\r\n allSettled(values: Iterable>, timeout?: number): IPromise>[]>;\r\n}\r\n\r\n/**\r\n * A full polyfill for the Promise class.\r\n * Represents the completion of an asynchronous operation, and its resulting value.\r\n * @since 0.5.0\r\n * @class\r\n * @group Polyfill\r\n * @group Promise\r\n */\r\nexport let PolyPromise = /*#__PURE__*/(function () {\r\n /**\r\n * Creates a new Promise.\r\n * @constructor\r\n * @param executor - A callback used to initialize the promise. This callback is passed two arguments:\r\n * a resolve callback used to resolve the promise with a value or the result of another promise,\r\n * and a reject callback used to reject the promise with a provided reason or error.\r\n */\r\n function PolyPromiseImpl(executor: PromiseExecutor) {\r\n this._$ = createAsyncPromise(executor);\r\n if (toStringTagSymbol) {\r\n this[toStringTagSymbol] = \"Promise\";\r\n }\r\n // Re-Expose the state of the underlying promise\r\n objDefineProp(this, \"state\", {\r\n get: function() {\r\n return this._$.state;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n */\r\n PolyPromiseImpl.all = createAsyncAllPromise;\r\n PolyPromiseImpl.race = createAsyncRacePromise;\r\n PolyPromiseImpl.any = createAsyncAnyPromise;\r\n PolyPromiseImpl.reject = createAsyncRejectedPromise;\r\n PolyPromiseImpl.resolve = createAsyncResolvedPromise;\r\n PolyPromiseImpl.allSettled = createAsyncAllSettledPromise;\r\n let theProto = PolyPromiseImpl.prototype;\r\n theProto.then = function (onResolved: any, onRejected: any) {\r\n return this._$.then(onResolved, onRejected);\r\n };\r\n theProto.catch = function (onRejected: any) {\r\n return this._$.catch(onRejected);\r\n };\r\n theProto.finally = function (onfinally: any) {\r\n return this._$.finally(onfinally);\r\n };\r\n return PolyPromiseImpl as unknown as PolyPromiseConstructor;\r\n}());","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_FEATURE_OPT_IN = \"featureOptIn\"; // Count: 4\r\nexport var _DYN_ON_CFG_CHANGE_RECEIV0 = \"onCfgChangeReceive\"; // Count: 2\r\nexport var _DYN_NON_OVERRIDE_CONFIGS = \"nonOverrideConfigs\"; // Count: 2\r\nexport var _DYN_SCHEDULE_FETCH_TIMEO1 = \"scheduleFetchTimeout\"; // Count: 2\r\n//# sourceMappingURL=__DynamicConstants.js.map","import { isNullOrUndefined, isObject, objExtend, objForEachKey, setValueByKey } from \"@nevware21/ts-utils\";\r\nimport { _DYN_FEATURE_OPT_IN } from \"./__DynamicConstants\";\r\n/**\r\n * Delete a config key in the given cfg, if the config key exists in nonOverrideConfigs and its value is set to true\r\n * @param cfg cfg to modify\r\n * @param nonOverrideConfigs nonOverrideConfigs\r\n * @param curLevel cur config level, starting at 0\r\n * @param maxLevel max config level\r\n * @returns new copy of modified configs\r\n */\r\nexport function replaceByNonOverrideCfg(cfg, nonOverrideConfigs, curLevel, maxLevel) {\r\n try {\r\n var exceedMaxLevel = curLevel > maxLevel;\r\n if (exceedMaxLevel) {\r\n cfg = null;\r\n }\r\n var curCfg_1 = curLevel == 0 ? objExtend({}, cfg) : cfg; // only copy cfg at the begining level\r\n if (curCfg_1 && nonOverrideConfigs && !exceedMaxLevel) {\r\n objForEachKey(curCfg_1, function (key) {\r\n var nonOverrideVal = nonOverrideConfigs[key];\r\n if (!!nonOverrideVal) {\r\n if (isObject(curCfg_1[key]) && isObject(nonOverrideVal)) {\r\n curCfg_1[key] = replaceByNonOverrideCfg(curCfg_1[key], nonOverrideVal, ++curLevel, maxLevel);\r\n }\r\n else {\r\n delete curCfg_1[key];\r\n }\r\n }\r\n });\r\n }\r\n return curCfg_1;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n // if errors happen, do nothing\r\n return cfg;\r\n}\r\n// CDN Mode, value = B (CDN value = B)\r\n// |--------------------------------------------------------------------------|-----------|\r\n// | | none | disabled | enabled | forceOn | forceOff |\r\n// | ------------------ | ----------- | ----------- | ----------- | --------- | --------- |\r\n// | User Mode, value = A | none | none | disabled | enabled | enabled | disabled |\r\n// (user Value = A) | disabled | disabled | disabled | disabled | enabled | disabled |\r\n// | enabled | enabled | disabled | enabled | enabled | disabled |\r\n// | none(blockCdn) | none | none | none | none | none |\r\n// | disabled(blockCdn) | disabled | disabled | disabled | disabled | disabled |\r\n// | enabled(blockCdn) | enabled | enabled | enabled | enabled | enabled |\r\n// This matrix identifies how feature based overrides are selected (if present)\r\n// cdn Mode (cdn Value = B)\r\n// |---------------------------------------------------------------------------|\r\n// | | none | disabled | enabled | forceOn | forceOff |\r\n// | ------------------ | ---------| ---------| ---------| ---------|----------|\r\n// | User Mode | none | A | A | A || B | B || A | B || A |\r\n// (user Value = A) | disabled | A | A | A | B || A | B || A |\r\n// | enabled | A | A | A || B | B || A | B || A |\r\n// | none(blockCdn) | A | A | A | A | A |\r\n// | disabled(blockCdn) | A | A | A | A | A |\r\n// | enabled(blockCdn) | A | A | A | A | A |\r\n// Note:\r\n// Where the \"value\" is an object (map) of encoded key/values which will be used to override the real configuration\r\n// A = either the user supplied enable/disable value (via the `config.featureOptIn[name]`) or if not defined by the user the SDK defaults of the same.\r\n// B = The enable/disable value obtained from the CDN for the named feature\r\n// These are evaluated based on the above matrix to either\r\n// - A (Always the user/sdk value)\r\n// - B (Always the value from the CDN)\r\n// - A || B (If A is null or undefined use the value from the CDN (B) otherwise A)\r\n// - B || A (If B is null or undefined use the user/SDK value otherwise use the value from the CDN)\r\n//\r\n// The result of the value may also be null / undefined, which means there are no overrides to apply when the feature is enabled\r\nvar F = \"featureOptIn.\";\r\nvar M = \".mode\";\r\nvar ON = \".onCfg\";\r\nvar OFF = \".offCfg\";\r\nexport function resolveCdnFeatureCfg(field, cdnCfg, userOptInDetails) {\r\n var _a;\r\n // cdn conifg value\r\n if (!cdnCfg || !cdnCfg.enabled) {\r\n return null;\r\n }\r\n var cdnFt = (cdnCfg[_DYN_FEATURE_OPT_IN /* @min:%2efeatureOptIn */] || {})[field] || { mode: 1 /* CdnFeatureMode.none */ };\r\n var cdnM = cdnFt.mode;\r\n var cdnOnV = cdnFt.onCfg;\r\n var cdnOffV = cdnFt.offCfg;\r\n var userFt = (userOptInDetails || {})[field] || { mode: 2 /* FeatureOptInMode.disable */ }; // default user mode is disable\r\n var userM = userFt.mode;\r\n var userOnV = userFt.onCfg;\r\n var userOffV = userFt.offCfg;\r\n var blockCdn = !!userFt.blockCdnCfg;\r\n var mFld = F + field + M;\r\n var onFld = F + field + ON;\r\n var offFld = F + field + OFF;\r\n var mode = userM;\r\n var onV = userOnV;\r\n var offV = userOffV;\r\n if (!blockCdn) {\r\n if (cdnM === 4 /* CdnFeatureMode.forceOn */ || cdnM === 5 /* CdnFeatureMode.forceOff */) {\r\n mode = (cdnM == 4 /* CdnFeatureMode.forceOn */ ? 3 /* FeatureOptInMode.enable */ : 2 /* FeatureOptInMode.disable */);\r\n onV = cdnOnV || userOnV;\r\n offV = cdnOffV || userOffV;\r\n }\r\n else if (cdnM === 2 /* CdnFeatureMode.disable */ || userM === 2 /* FeatureOptInMode.disable */) {\r\n mode = 2 /* FeatureOptInMode.disable */;\r\n onV = userOnV || cdnOnV;\r\n offV = userOffV || cdnOffV;\r\n }\r\n else if (cdnM === 3 /* CdnFeatureMode.enable */) {\r\n mode = 3 /* FeatureOptInMode.enable */;\r\n onV = userOnV || cdnOnV;\r\n offV = userOffV || cdnOffV;\r\n }\r\n else if (cdnM === 1 /* CdnFeatureMode.none */ && userM === 1 /* FeatureOptInMode.none */) {\r\n mode = 1 /* FeatureOptInMode.none */;\r\n }\r\n }\r\n return _a = {},\r\n _a[mFld] = mode,\r\n _a[onFld] = onV,\r\n _a[offFld] = offV,\r\n _a;\r\n}\r\n// helper function to get cdn config with opt-in features\r\nexport function applyCdnfeatureCfg(cdnCfg, core) {\r\n try {\r\n if (!cdnCfg || !cdnCfg.enabled) {\r\n return null;\r\n }\r\n if (!cdnCfg[_DYN_FEATURE_OPT_IN /* @min:%2efeatureOptIn */]) {\r\n return cdnCfg.config;\r\n }\r\n var optInMap = cdnCfg[_DYN_FEATURE_OPT_IN /* @min:%2efeatureOptIn */];\r\n var cdnConfig_1 = cdnCfg.config || {};\r\n objForEachKey(optInMap, function (key) {\r\n var featureVal = resolveCdnFeatureCfg(key, cdnCfg, core.config[_DYN_FEATURE_OPT_IN /* @min:%2efeatureOptIn */]);\r\n if (!isNullOrUndefined(featureVal)) {\r\n objForEachKey(featureVal, function (config, val) {\r\n setValueByKey(cdnConfig_1, config, val);\r\n });\r\n _overrideCdnCfgByFeature(key, featureVal, cdnConfig_1);\r\n }\r\n });\r\n return cdnConfig_1;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\nfunction _overrideCdnCfgByFeature(field, ftVal, config) {\r\n var mode = ftVal[F + field + M];\r\n var val = ftVal[F + field + ON];\r\n var dVal = ftVal[F + field + OFF];\r\n var target = null;\r\n if (mode === 3 /* FeatureOptInMode.enable */) {\r\n target = val;\r\n }\r\n if (mode === 2 /* FeatureOptInMode.disable */) {\r\n target = dVal;\r\n }\r\n if (target) {\r\n objForEachKey(target, function (key, cfg) {\r\n setValueByKey(config, key, cfg);\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=CfgSyncHelperFuncs.js.map","/**\r\n* CfgSyncPlugin.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nvar _a;\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BaseTelemetryPlugin, createProcessTelemetryContext, createUniqueNamespace, eventOff, eventOn, getGlobal, getJSON, isFetchSupported, isXhrSupported, mergeEvtNamespace, onConfigChange, sendCustomEvent } from \"@microsoft/applicationinsights-core-js\";\r\nimport { doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { isFunction, isNullOrUndefined, isPlainObject, objDeepFreeze, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { applyCdnfeatureCfg, replaceByNonOverrideCfg } from \"./CfgSyncHelperFuncs\";\r\nimport { _DYN_NON_OVERRIDE_CONFIGS, _DYN_ON_CFG_CHANGE_RECEIV0, _DYN_SCHEDULE_FETCH_TIMEO1 } from \"./__DynamicConstants\";\r\nvar EVENT_NAME = \"ai_cfgsync\";\r\nvar STR_GET_METHOD = \"GET\";\r\nvar FETCH_TIMEOUT = 1800000; // 30 minutes\r\nvar udfVal = undefined;\r\nvar defaultNonOverrideCfg = { instrumentationKey: true, connectionString: true, endpointUrl: true };\r\nvar _defaultConfig = objDeepFreeze((_a = {\r\n syncMode: 1 /* ICfgSyncMode.Broadcast */,\r\n blkCdnCfg: udfVal,\r\n customEvtName: udfVal,\r\n cfgUrl: udfVal,\r\n overrideSyncFn: udfVal,\r\n overrideFetchFn: udfVal\r\n },\r\n _a[_DYN_ON_CFG_CHANGE_RECEIV0 /* @min:onCfgChangeReceive */] = udfVal,\r\n _a[_DYN_SCHEDULE_FETCH_TIMEO1 /* @min:scheduleFetchTimeout */] = FETCH_TIMEOUT,\r\n _a[_DYN_NON_OVERRIDE_CONFIGS /* @min:nonOverrideConfigs */] = defaultNonOverrideCfg,\r\n _a));\r\nvar CfgSyncPlugin = /** @class */ (function (_super) {\r\n __extends(CfgSyncPlugin, _super);\r\n function CfgSyncPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 198;\r\n _this.identifier = \"AppInsightsCfgSyncPlugin\";\r\n var _extensionConfig;\r\n var _mainConfig; // throttle config should be wrapped in IConfiguration\r\n var _evtName;\r\n var _evtNamespace;\r\n var _cfgUrl;\r\n var _timeoutHandle;\r\n var _receiveChanges;\r\n var _broadcastChanges;\r\n var _blkCdnCfg;\r\n var _fetchTimeout;\r\n var _retryCnt;\r\n var _onCfgChangeReceive;\r\n var _nonOverrideConfigs;\r\n var _fetchFn;\r\n var _overrideFetchFn;\r\n var _overrideSyncFn;\r\n var _paused = false;\r\n dynamicProto(CfgSyncPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());\r\n _populateDefaults(config);\r\n };\r\n _self.getCfg = function () {\r\n return _mainConfig;\r\n };\r\n _self.pause = function () {\r\n _paused = true;\r\n _clearScheduledTimer();\r\n };\r\n _self.resume = function () {\r\n _paused = false;\r\n _setupTimer();\r\n };\r\n // used for V2 to manaully trigger config udpate\r\n _self.setCfg = function (config) {\r\n return _setCfg(config);\r\n };\r\n _self.sync = function (customDetails) {\r\n return _sendCfgsyncEvents(customDetails);\r\n };\r\n _self.updateEventListenerName = function (eventName) {\r\n return _updateEventListenerName(eventName);\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _eventOff();\r\n _clearScheduledTimer();\r\n _initDefaults();\r\n };\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_broadcastChanges, _receiveChanges, _evtName, _blkCdnCfg, _nonOverrideConfigs];\r\n };\r\n function _initDefaults() {\r\n _mainConfig = null;\r\n _evtName = null;\r\n _evtNamespace = null;\r\n _cfgUrl = null;\r\n _receiveChanges = null;\r\n _broadcastChanges = null;\r\n _nonOverrideConfigs = null;\r\n _timeoutHandle = null;\r\n _fetchTimeout = null;\r\n _retryCnt = null;\r\n _blkCdnCfg = null;\r\n _overrideFetchFn = null;\r\n _overrideSyncFn = null;\r\n _onCfgChangeReceive = null;\r\n }\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self.core;\r\n _self._addHook(onConfigChange(config, function () {\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n _extensionConfig = ctx.getExtCfg(identifier, _defaultConfig);\r\n var preBlkCdn = _blkCdnCfg;\r\n _blkCdnCfg = !!_extensionConfig.blkCdnCfg;\r\n // avoid initial call\r\n if (!isNullOrUndefined(preBlkCdn) && preBlkCdn !== _blkCdnCfg) {\r\n if (!_blkCdnCfg && _cfgUrl) {\r\n _fetchFn && _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }\r\n else {\r\n _clearScheduledTimer();\r\n }\r\n }\r\n if (isNullOrUndefined(_receiveChanges)) {\r\n _receiveChanges = _extensionConfig.syncMode === 2 /* ICfgSyncMode.Receive */;\r\n }\r\n if (isNullOrUndefined(_broadcastChanges)) {\r\n _broadcastChanges = _extensionConfig.syncMode === 1 /* ICfgSyncMode.Broadcast */;\r\n }\r\n var newEvtName = _extensionConfig.customEvtName || EVENT_NAME;\r\n if (_evtName !== newEvtName) {\r\n if (_receiveChanges) {\r\n _updateEventListenerName(newEvtName);\r\n }\r\n else {\r\n _eventOff();\r\n _evtName = newEvtName;\r\n }\r\n }\r\n if (isNullOrUndefined(_cfgUrl)) {\r\n _cfgUrl = _extensionConfig.cfgUrl;\r\n }\r\n // if cfgUrl is set, we will ignore core config change\r\n if (!_cfgUrl) {\r\n _mainConfig = config;\r\n if (_broadcastChanges) {\r\n _sendCfgsyncEvents();\r\n }\r\n }\r\n }));\r\n _overrideSyncFn = _extensionConfig.overrideSyncFn;\r\n _overrideFetchFn = _extensionConfig.overrideFetchFn;\r\n _onCfgChangeReceive = _extensionConfig[_DYN_ON_CFG_CHANGE_RECEIV0 /* @min:%2eonCfgChangeReceive */];\r\n _nonOverrideConfigs = _extensionConfig[_DYN_NON_OVERRIDE_CONFIGS /* @min:%2enonOverrideConfigs */]; // override values should not be changed\r\n _fetchTimeout = _extensionConfig[_DYN_SCHEDULE_FETCH_TIMEO1 /* @min:%2escheduleFetchTimeout */];\r\n _fetchFn = _getFetchFnInterface();\r\n _retryCnt = 0;\r\n // NOT support cfgURL change to avoid mutiple fetch calls\r\n if (_cfgUrl && !_blkCdnCfg) {\r\n _fetchFn && _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }\r\n }\r\n function _setCfg(config, isAutoSync) {\r\n if (config) {\r\n _mainConfig = config;\r\n if (!!isAutoSync && !_paused) {\r\n return _sendCfgsyncEvents();\r\n }\r\n if (_receiveChanges && !_paused) {\r\n _self.core.updateCfg(config);\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _eventOff() {\r\n try {\r\n var global_1 = getGlobal();\r\n if (global_1) {\r\n eventOff(global_1, null, null, _evtNamespace);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _sendCfgsyncEvents(customDetails) {\r\n try {\r\n if (!!_overrideSyncFn && isFunction(_overrideSyncFn)) {\r\n return _overrideSyncFn(_mainConfig, customDetails);\r\n }\r\n return sendCustomEvent(_evtName, _mainConfig, customDetails);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _updateEventListenerName(name) {\r\n try {\r\n _eventOff();\r\n if (name) {\r\n _evtName = name;\r\n _addEventListener();\r\n }\r\n return true;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _getFetchFnInterface() {\r\n var _fetchFn = _overrideFetchFn;\r\n if (isNullOrUndefined(_fetchFn)) {\r\n if (isFetchSupported()) {\r\n _fetchFn = _fetchSender;\r\n }\r\n else if (isXhrSupported()) {\r\n _fetchFn = _xhrSender;\r\n }\r\n }\r\n return _fetchFn;\r\n }\r\n function _fetchSender(url, oncomplete, isAutoSync) {\r\n var global = getGlobal();\r\n var fetchFn = (global && global.fetch) || null;\r\n if (url && fetchFn && isFunction(fetchFn)) {\r\n try {\r\n var init = {\r\n method: STR_GET_METHOD\r\n };\r\n var request = new Request(url, init);\r\n doAwaitResponse(fetch(request), function (result) {\r\n var response = result.value;\r\n if (!result.rejected) {\r\n if (response.ok) {\r\n doAwaitResponse(response.text(), function (res) {\r\n _doOnComplete(oncomplete, response.status, res.value, isAutoSync);\r\n });\r\n }\r\n else {\r\n _doOnComplete(oncomplete, response.status, null, isAutoSync);\r\n }\r\n }\r\n else {\r\n _doOnComplete(oncomplete, 400);\r\n }\r\n });\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n }\r\n function _xhrSender(url, oncomplete, isAutoSync) {\r\n try {\r\n var xhr_1 = new XMLHttpRequest();\r\n xhr_1.open(STR_GET_METHOD, url);\r\n xhr_1.onreadystatechange = function () {\r\n if (xhr_1.readyState === XMLHttpRequest.DONE) {\r\n _doOnComplete(oncomplete, xhr_1.status, xhr_1.responseText, isAutoSync);\r\n }\r\n };\r\n xhr_1.onerror = function () {\r\n _doOnComplete(oncomplete, 400);\r\n };\r\n xhr_1.ontimeout = function () {\r\n _doOnComplete(oncomplete, 400);\r\n };\r\n xhr_1.send();\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _onFetchComplete(status, response, isAutoSync) {\r\n try {\r\n if (status >= 200 && status < 400 && response) {\r\n _retryCnt = 0; // any successful response will reset retry count to 0\r\n var JSON_1 = getJSON();\r\n if (JSON_1) {\r\n var cdnCfg = JSON_1.parse(response); //comments are not allowed\r\n var cfg = applyCdnfeatureCfg(cdnCfg, _self.core);\r\n var newCfg = cfg && isPlainObject(cfg) && _replaceTartgetByKeys(cfg);\r\n newCfg && _setCfg(newCfg, isAutoSync);\r\n //cfg && _setCfg(cfg, isAutoSync);\r\n }\r\n }\r\n else {\r\n _retryCnt++;\r\n }\r\n if (_retryCnt < 3) {\r\n _setupTimer();\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _doOnComplete(oncomplete, status, response, isAutoSync) {\r\n try {\r\n oncomplete(status, response, isAutoSync);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _addEventListener() {\r\n if (_receiveChanges) {\r\n var global_2 = getGlobal();\r\n if (global_2) {\r\n try {\r\n eventOn(global_2, _evtName, function (event) {\r\n // TODO: add more validation here\r\n // may include a \"name\" or some other features to check\r\n var cfgEvent = event && event.detail;\r\n if (_onCfgChangeReceive && cfgEvent) {\r\n _onCfgChangeReceive(cfgEvent);\r\n }\r\n else {\r\n var cfg = cfgEvent && cfgEvent.cfg;\r\n var newCfg = cfg && isPlainObject(cfg) && _replaceTartgetByKeys(cfg);\r\n newCfg && _setCfg(newCfg);\r\n }\r\n }, _evtNamespace, true);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n }\r\n }\r\n // 4 levels\r\n function _replaceTartgetByKeys(cfg, level) {\r\n var _cfg = null;\r\n try {\r\n if (cfg) {\r\n _cfg = replaceByNonOverrideCfg(cfg, _nonOverrideConfigs, 0, 5);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return _cfg;\r\n }\r\n /**\r\n * Sets up the timer which triggers fetching cdn every 30mins after inital call\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && _fetchTimeout) {\r\n _timeoutHandle = scheduleTimeout(function () {\r\n _timeoutHandle = null;\r\n _fetchFn(_cfgUrl, _onFetchComplete, _broadcastChanges);\r\n }, _fetchTimeout);\r\n _timeoutHandle.unref();\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n _timeoutHandle && _timeoutHandle.cancel();\r\n _timeoutHandle = null;\r\n _retryCnt = 0;\r\n }\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n });\r\n return _this;\r\n }\r\n CfgSyncPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Get current configs of current instance.\r\n * @param config current configs\r\n */\r\n CfgSyncPlugin.prototype.getCfg = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Manually set configs of current instance.\r\n * @param config new configs\r\n */\r\n CfgSyncPlugin.prototype.setCfg = function (config) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Manually broadcast configs of current instance to all other instances.\r\n * @param customDetails additional details should also be sent out to other instances\r\n */\r\n CfgSyncPlugin.prototype.sync = function (customDetails) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Manually update event name.\r\n * If current instance is the main instance, then following config changes will be sent out under this new event name.\r\n * If current instance is listener instances, it will listen to event details under this new name.\r\n * @param eventName new event name\r\n */\r\n CfgSyncPlugin.prototype.updateEventListenerName = function (eventName) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Pause the sending/receiving of events\r\n */\r\n CfgSyncPlugin.prototype.pause = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Resume the sending/receiving of events\r\n */\r\n CfgSyncPlugin.prototype.resume = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n // /**\r\n // * Add Part A fields to the event\r\n // * @param event - The event that needs to be processed\r\n // */\r\n CfgSyncPlugin.prototype.processTelemetry = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return CfgSyncPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { CfgSyncPlugin };\r\n//# sourceMappingURL=CfgSyncPlugin.js.map","import { arrForEach, createUniqueNamespace, eventOff, eventOn, getDocument, getNavigator, getWindow, isNullOrUndefined, isUndefined, mergeEvtNamespace } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_PUSH } from \"./__DynamicConstants\";\r\nfunction _disableEvents(target, evtNamespace) {\r\n eventOff(target, null, null, evtNamespace);\r\n}\r\n/**\r\n * Create a new OfflineListener instance to monitor browser online / offline events\r\n * @param parentEvtNamespace - The parent event namespace to append to any specific events for this instance\r\n */\r\nexport function createOfflineListener(parentEvtNamespace) {\r\n var _document = getDocument();\r\n var _navigator = getNavigator(); // Gets the window.navigator or workerNavigator depending on the global\r\n var _isListening = false;\r\n var listenerList = [];\r\n // Set the initial state\r\n // rState is changed by the browser, both via events and when we check the navigator.onLine property\r\n var rState = 1 /* eOfflineValue.Online */;\r\n if (_navigator && !isNullOrUndefined(_navigator.onLine) && !_navigator.onLine) { // navigator.onLine is undefined in react-native\r\n rState = 2 /* eOfflineValue.Offline */;\r\n }\r\n // ustate is changed by the user calling setOnlineState\r\n var uState = 0 /* eOfflineValue.Unknown */;\r\n // current state would be updated each time rState or uState is changed\r\n // it is a resolved value of rState and uState\r\n var _currentState = calCurrentState();\r\n var _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"OfflineListener\"), parentEvtNamespace);\r\n try {\r\n if (_enableEvents(getWindow())) {\r\n _isListening = true;\r\n }\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (target.ononline) {\r\n if (_enableEvents(target)) {\r\n _isListening = true;\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // this makes react-native less angry\r\n _isListening = false;\r\n }\r\n function _enableEvents(target) {\r\n var enabled = false;\r\n if (target) {\r\n enabled = eventOn(target, \"online\", _setOnline, _evtNamespace);\r\n if (enabled) {\r\n eventOn(target, \"offline\", _setOffline, _evtNamespace);\r\n }\r\n }\r\n return enabled;\r\n }\r\n function _isOnline() {\r\n return _currentState;\r\n }\r\n function calCurrentState() {\r\n if (uState === 2 /* eOfflineValue.Offline */ || rState === 2 /* eOfflineValue.Offline */) {\r\n return false;\r\n }\r\n return true; // if both unknown, then we assume the network is good\r\n }\r\n function listnerNoticeCheck() {\r\n // we were offline and are now online or we were online and now offline\r\n var newState = calCurrentState();\r\n if (_currentState !== newState) {\r\n _currentState = newState; // use the resolved state to update\r\n // send all the callbacks with the current state\r\n arrForEach(listenerList, function (callback) {\r\n var offlineState = {\r\n isOnline: _currentState,\r\n rState: rState,\r\n uState: uState\r\n };\r\n try {\r\n callback(offlineState);\r\n }\r\n catch (e) {\r\n // Do nothing, just making sure we run all of the callbacks\r\n }\r\n });\r\n }\r\n }\r\n function setOnlineState(newState) {\r\n uState = newState;\r\n listnerNoticeCheck();\r\n }\r\n function _setOnline() {\r\n rState = 1 /* eOfflineValue.Online */;\r\n listnerNoticeCheck();\r\n }\r\n function _setOffline() {\r\n rState = 2 /* eOfflineValue.Offline */;\r\n listnerNoticeCheck();\r\n }\r\n function _unload() {\r\n var win = getWindow();\r\n if (win && _isListening) {\r\n _disableEvents(win, _evtNamespace);\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (!isUndefined(target.ononline)) {\r\n _disableEvents(target, _evtNamespace);\r\n }\r\n }\r\n _isListening = false;\r\n }\r\n }\r\n function addListener(callback) {\r\n listenerList[_DYN_PUSH /* @min:%2epush */](callback);\r\n // Define rm as an instance of IUnloadHook\r\n return {\r\n rm: function () {\r\n var index = listenerList.indexOf(callback);\r\n if (index > -1) {\r\n return listenerList.splice(index, 1);\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n };\r\n }\r\n return {\r\n isOnline: _isOnline,\r\n isListening: function () { return _isListening; },\r\n unload: _unload,\r\n addListener: addListener,\r\n setOnlineState: setOnlineState\r\n };\r\n}\r\n//# sourceMappingURL=Offline.js.map","import { createEnumStyle } from \"./EnumHelperFuncs\";\r\nexport var ActiveStatus = createEnumStyle({\r\n NONE: 0 /* eActiveStatus.NONE */,\r\n PENDING: 3 /* eActiveStatus.PENDING */,\r\n INACTIVE: 1 /* eActiveStatus.INACTIVE */,\r\n ACTIVE: 2 /* eActiveStatus.ACTIVE */\r\n});\r\n//# sourceMappingURL=InitActiveStatusEnum.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nexport var ChannelControllerPriority = 500;\r\nexport var DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\n// export const SampleRate = \"sampleRate\";\r\n// export const ProcessLegacy = \"ProcessLegacy\";\r\n// export const HttpMethod = \"http.method\";\r\n// export const DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\r\n// export const DEFAULT_BREEZE_PATH = \"/v2/track\";\r\n// export const strNotSpecified = \"not_specified\";\r\n// export const strIkey = \"iKey\";\r\n//# sourceMappingURL=Constants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { createPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { arrForEach, dumpObj, getNavigator, getWindow, isFunction, objKeys } from \"@nevware21/ts-utils\";\r\nimport { _DYN_DATA, _DYN_HEADERS, _DYN_INITIALIZE, _DYN_LENGTH, _DYN_MESSAGE, _DYN_PROTOCOL, _DYN_REPLACE, _DYN_SEND_POST, _DYN_SET_REQUEST_HEADER, _DYN_STATUS, _DYN_TIMEOUT, _DYN_TO_LOWER_CASE, _DYN_URL_STRING, _DYN_VALUE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { DisabledPropertyName } from \"./Constants\";\r\nimport { _throwInternal, _warnToConsole } from \"./DiagnosticLogger\";\r\nimport { getLocation, isBeaconsSupported, isFetchSupported, isXhrSupported, useXDomainRequest } from \"./EnvUtils\";\r\nimport { _getAllResponseHeaders, formatErrorMessageXdr, formatErrorMessageXhr, getResponseText, openXhr } from \"./HelperFuncs\";\r\nvar STR_EMPTY = \"\";\r\nvar STR_NO_RESPONSE_BODY = \"NoResponseBody\";\r\nvar _noResponseQs = \"&\" + STR_NO_RESPONSE_BODY + \"=true\";\r\nvar STR_POST_METHOD = \"POST\";\r\n/**\r\n * This Internal component\r\n * Manager SendPost functions\r\n * SendPostManger\r\n * @internal for internal use only\r\n */\r\nvar SenderPostManager = /** @class */ (function () {\r\n function SenderPostManager() {\r\n var _syncFetchPayload = 0; // Keep track of the outstanding sync fetch payload total (as sync fetch has limits)\r\n var _enableSendPromise;\r\n var _isInitialized;\r\n var _diagLog;\r\n var _isOneDs;\r\n var _onCompleteFuncs;\r\n var _disableCredentials;\r\n var _fetchCredentials;\r\n var _fallbackInst;\r\n var _disableXhr;\r\n var _disableBeacon;\r\n var _disableBeaconSync;\r\n var _disableFetchKeepAlive;\r\n var _addNoResponse;\r\n var _timeoutWrapper;\r\n dynamicProto(SenderPostManager, this, function (_self, _base) {\r\n var _sendCredentials = true; // for 1ds\r\n _initDefaults();\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, diagLog) {\r\n _diagLog = diagLog;\r\n if (_isInitialized) {\r\n _throwInternal(_diagLog, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender is already initialized\");\r\n }\r\n _self.SetConfig(config);\r\n _isInitialized = true;\r\n };\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_isInitialized, _isOneDs, _disableCredentials, _enableSendPromise];\r\n };\r\n // This componet might get its config from sender, offline sender, 1ds post\r\n // so set this function to mock dynamic changes\r\n _self.SetConfig = function (config) {\r\n try {\r\n _onCompleteFuncs = config.senderOnCompleteCallBack || {};\r\n _disableCredentials = !!config.disableCredentials;\r\n _fetchCredentials = config.fetchCredentials;\r\n _isOneDs = !!config.isOneDs;\r\n _enableSendPromise = !!config.enableSendPromise;\r\n _disableXhr = !!config.disableXhr;\r\n _disableBeacon = !!config.disableBeacon;\r\n _disableBeaconSync = !!config.disableBeaconSync;\r\n _timeoutWrapper = config.timeWrapper;\r\n _addNoResponse = !!config.addNoResponse;\r\n _disableFetchKeepAlive = !!config.disableFetchKeepAlive;\r\n _fallbackInst = { sendPOST: _xhrSender };\r\n if (!_isOneDs) {\r\n _sendCredentials = false; // for appInsights, set it to false always\r\n }\r\n if (_disableCredentials) {\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.protocol && location_1.protocol[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"file:\") {\r\n // Special case where a local html file fails with a CORS error on Chromium browsers\r\n _sendCredentials = false;\r\n }\r\n }\r\n return true;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n };\r\n _self.getSyncFetchPayload = function () {\r\n return _syncFetchPayload;\r\n };\r\n _self.getSenderInst = function (transports, sync) {\r\n if (transports && transports[_DYN_LENGTH /* @min:%2elength */]) {\r\n return _getSenderInterface(transports, sync);\r\n }\r\n return null;\r\n };\r\n _self.getFallbackInst = function () {\r\n return _fallbackInst;\r\n };\r\n _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] = function (unloadCtx, unloadState) {\r\n _initDefaults();\r\n };\r\n /**\r\n * success handler\r\n */\r\n function _onSuccess(res, onComplete) {\r\n _doOnComplete(onComplete, 200, {}, res);\r\n }\r\n /**\r\n * error handler\r\n */\r\n function _onError(message, onComplete) {\r\n _throwInternal(_diagLog, 2 /* eLoggingSeverity.WARNING */, 26 /* _eInternalMessageId.OnError */, \"Failed to send telemetry.\", { message: message });\r\n _doOnComplete(onComplete, 400, {});\r\n }\r\n function _onNoPayloadUrl(onComplete) {\r\n _onError(\"No endpoint url is provided for the batch\", onComplete);\r\n }\r\n function _getSenderInterface(transports, syncSupport) {\r\n var _a;\r\n var transportType = 0 /* TransportType.NotSet */;\r\n var sendPostFunc = null;\r\n var lp = 0;\r\n while (sendPostFunc == null && lp < transports[_DYN_LENGTH /* @min:%2elength */]) {\r\n transportType = transports[lp];\r\n if (!_disableXhr && transportType === 1 /* TransportType.Xhr */) {\r\n if (useXDomainRequest()) {\r\n // IE 8 and 9\r\n sendPostFunc = _xdrSender;\r\n }\r\n else if (isXhrSupported()) {\r\n sendPostFunc = _xhrSender;\r\n }\r\n }\r\n else if (transportType === 2 /* TransportType.Fetch */ && isFetchSupported(syncSupport) && (!syncSupport || !_disableFetchKeepAlive)) {\r\n sendPostFunc = _doFetchSender;\r\n }\r\n else if (transportType === 3 /* TransportType.Beacon */ && isBeaconsSupported() && (syncSupport ? !_disableBeaconSync : !_disableBeacon)) {\r\n sendPostFunc = _beaconSender;\r\n }\r\n lp++;\r\n }\r\n if (sendPostFunc) {\r\n return _a = {\r\n _transport: transportType,\r\n _isSync: syncSupport\r\n },\r\n _a[_DYN_SEND_POST /* @min:sendPOST */] = sendPostFunc,\r\n _a;\r\n }\r\n return null;\r\n }\r\n function _doOnComplete(oncomplete, status, headers, response) {\r\n try {\r\n oncomplete && oncomplete(status, headers, response);\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _doBeaconSend(payload, oncomplete) {\r\n var nav = getNavigator();\r\n var url = payload[_DYN_URL_STRING /* @min:%2eurlString */];\r\n if (!url) {\r\n _onNoPayloadUrl(oncomplete);\r\n // return true here, because we don't want to retry it with fallback sender\r\n return true;\r\n }\r\n url = payload[_DYN_URL_STRING /* @min:%2eurlString */] + (_addNoResponse ? _noResponseQs : STR_EMPTY);\r\n var data = payload[_DYN_DATA /* @min:%2edata */];\r\n // Chrome only allows CORS-safelisted values for the sendBeacon data argument\r\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=720283\r\n // Chrome only allows CORS-safelisted values for the sendBeacon data argument\r\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=720283\r\n var plainTextBatch = _isOneDs ? data : new Blob([data], { type: \"text/plain;charset=UTF-8\" });\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n var queued = nav.sendBeacon(url, plainTextBatch);\r\n return queued;\r\n }\r\n /**\r\n * Send Beacon API request\r\n * @param payload - {string} - The data payload to be sent.\r\n * @param sync - {boolean} - not used\r\n * Note: Beacon API does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _beaconSender(payload, oncomplete, sync) {\r\n var data = payload[_DYN_DATA /* @min:%2edata */];\r\n try {\r\n if (data) {\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n if (!_doBeaconSend(payload, oncomplete)) {\r\n var onRetry = _onCompleteFuncs && _onCompleteFuncs.beaconOnRetry;\r\n if (onRetry && isFunction(onRetry)) {\r\n onRetry(payload, oncomplete, _doBeaconSend);\r\n }\r\n else {\r\n _fallbackInst && _fallbackInst[_DYN_SEND_POST /* @min:%2esendPOST */](payload, oncomplete, true);\r\n _throwInternal(_diagLog, 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n else {\r\n // if can send\r\n _onSuccess(STR_EMPTY, oncomplete);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _isOneDs && _warnToConsole(_diagLog, \"Failed to send telemetry using sendBeacon API. Ex:\" + dumpObj(e));\r\n _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, STR_EMPTY);\r\n }\r\n return;\r\n }\r\n /**\r\n * Send XMLHttpRequest\r\n * @param payload - {string} - The data payload to be sent.\r\n * @param sync - {boolean} - Indicates if the request should be sent synchronously\r\n */\r\n function _xhrSender(payload, oncomplete, sync) {\r\n //let internalPayload = payload as IInternalPayloadData;\r\n var thePromise;\r\n var resolveFunc;\r\n var rejectFunc;\r\n var headers = payload[_DYN_HEADERS /* @min:%2eheaders */] || {};\r\n if (!sync && _enableSendPromise) {\r\n thePromise = createPromise(function (resolve, reject) {\r\n resolveFunc = resolve;\r\n rejectFunc = reject;\r\n });\r\n }\r\n if (_isOneDs && sync && payload.disableXhrSync) {\r\n sync = false;\r\n }\r\n //const xhr = new XMLHttpRequest();\r\n var endPointUrl = payload[_DYN_URL_STRING /* @min:%2eurlString */];\r\n if (!endPointUrl) {\r\n _onNoPayloadUrl(oncomplete);\r\n resolveFunc && resolveFunc(false);\r\n return;\r\n }\r\n var xhr = openXhr(STR_POST_METHOD, endPointUrl, _sendCredentials, true, sync, payload[_DYN_TIMEOUT /* @min:%2etimeout */]);\r\n if (!_isOneDs) {\r\n // application/json should NOT add to 1ds post by default\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](\"Content-type\", \"application/json\");\r\n }\r\n arrForEach(objKeys(headers), function (headerName) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](headerName, headers[headerName]);\r\n });\r\n xhr.onreadystatechange = function () {\r\n if (!_isOneDs) {\r\n _doOnReadyFunc(xhr);\r\n if (xhr.readyState === 4) {\r\n resolveFunc && resolveFunc(true);\r\n }\r\n }\r\n };\r\n xhr.onload = function () {\r\n if (_isOneDs) {\r\n _doOnReadyFunc(xhr);\r\n }\r\n };\r\n function _doOnReadyFunc(xhr) {\r\n var onReadyFunc = _onCompleteFuncs && _onCompleteFuncs.xhrOnComplete;\r\n var onReadyFuncExist = onReadyFunc && isFunction(onReadyFunc);\r\n if (onReadyFuncExist) {\r\n onReadyFunc(xhr, oncomplete, payload);\r\n }\r\n else {\r\n var response = getResponseText(xhr);\r\n _doOnComplete(oncomplete, xhr[_DYN_STATUS /* @min:%2estatus */], _getAllResponseHeaders(xhr, _isOneDs), response);\r\n }\r\n }\r\n xhr.onerror = function (event) {\r\n _doOnComplete(oncomplete, _isOneDs ? xhr[_DYN_STATUS /* @min:%2estatus */] : 400, _getAllResponseHeaders(xhr, _isOneDs), _isOneDs ? STR_EMPTY : formatErrorMessageXhr(xhr));\r\n rejectFunc && rejectFunc(event);\r\n };\r\n xhr.ontimeout = function () {\r\n _doOnComplete(oncomplete, _isOneDs ? xhr[_DYN_STATUS /* @min:%2estatus */] : 500, _getAllResponseHeaders(xhr, _isOneDs), _isOneDs ? STR_EMPTY : formatErrorMessageXhr(xhr));\r\n resolveFunc && resolveFunc(false);\r\n };\r\n xhr.send(payload[_DYN_DATA /* @min:%2edata */]);\r\n return thePromise;\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload - {string} - The data payload to be sent.\r\n * @param sync - {boolean} - For fetch this identifies whether we are \"unloading\" (false) or a normal request\r\n */\r\n function _doFetchSender(payload, oncomplete, sync) {\r\n var _a;\r\n var endPointUrl = payload[_DYN_URL_STRING /* @min:%2eurlString */];\r\n var batch = payload[_DYN_DATA /* @min:%2edata */];\r\n var plainTextBatch = _isOneDs ? batch : new Blob([batch], { type: \"application/json\" });\r\n var thePromise;\r\n var resolveFunc;\r\n var rejectFunc;\r\n var requestHeaders = new Headers();\r\n var batchLength = batch[_DYN_LENGTH /* @min:%2elength */];\r\n var ignoreResponse = false;\r\n var responseHandled = false;\r\n var headers = payload[_DYN_HEADERS /* @min:%2eheaders */] || {};\r\n //TODO: handle time out for 1ds\r\n var init = (_a = {\r\n method: STR_POST_METHOD,\r\n body: plainTextBatch\r\n },\r\n _a[DisabledPropertyName] = true // Mark so we don't attempt to track this request\r\n ,\r\n _a);\r\n // Only add headers if there are headers to add, due to issue with some polyfills\r\n if (payload.headers && objKeys(payload.headers)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(objKeys(headers), function (headerName) {\r\n requestHeaders.append(headerName, headers[headerName]);\r\n });\r\n init[_DYN_HEADERS /* @min:%2eheaders */] = requestHeaders;\r\n }\r\n if (_fetchCredentials) { // if user passed in this value via post channel (1ds), then use it\r\n init.credentials = _fetchCredentials;\r\n }\r\n else if (_sendCredentials && _isOneDs) {\r\n // for 1ds, Don't send credentials when URL is file://\r\n init.credentials = \"include\";\r\n }\r\n if (sync) {\r\n init.keepalive = true;\r\n _syncFetchPayload += batchLength;\r\n if (_isOneDs) {\r\n if (payload[\"_sendReason\"] === 2 /* SendRequestReason.Unload */) {\r\n // As a sync request (during unload), it is unlikely that we will get a chance to process the response so\r\n // just like beacon send assume that the events have been accepted and processed\r\n ignoreResponse = true;\r\n if (_addNoResponse) {\r\n endPointUrl += _noResponseQs;\r\n }\r\n }\r\n }\r\n else {\r\n // for appinsights, set to true for all sync request\r\n ignoreResponse = true;\r\n }\r\n }\r\n var request = new Request(endPointUrl, init);\r\n try {\r\n // Also try and tag the request (just in case the value in init is not copied over)\r\n request[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n if (!sync && _enableSendPromise) {\r\n thePromise = createPromise(function (resolve, reject) {\r\n resolveFunc = resolve;\r\n rejectFunc = reject;\r\n });\r\n }\r\n if (!endPointUrl) {\r\n _onNoPayloadUrl(oncomplete);\r\n resolveFunc && resolveFunc(false);\r\n return;\r\n }\r\n function _handleError(res) {\r\n // In case there is an error in the request. Set the status to 0 for 1ds and 400 for appInsights\r\n // so that the events can be retried later.\r\n _doOnComplete(oncomplete, _isOneDs ? 0 : 400, {}, _isOneDs ? STR_EMPTY : res);\r\n }\r\n function _onFetchComplete(response, payload, value) {\r\n var status = response[_DYN_STATUS /* @min:%2estatus */];\r\n var onCompleteFunc = _onCompleteFuncs.fetchOnComplete;\r\n if (onCompleteFunc && isFunction(onCompleteFunc)) {\r\n onCompleteFunc(response, oncomplete, value || STR_EMPTY, payload);\r\n }\r\n else {\r\n _doOnComplete(oncomplete, status, {}, value || STR_EMPTY);\r\n }\r\n }\r\n try {\r\n doAwaitResponse(fetch(_isOneDs ? endPointUrl : request, _isOneDs ? init : null), function (result) {\r\n if (sync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n if (!responseHandled) {\r\n responseHandled = true;\r\n if (!result.rejected) {\r\n var response_1 = result[_DYN_VALUE /* @min:%2evalue */];\r\n try {\r\n /**\r\n * The Promise returned from fetch() won’t reject on HTTP error status even if the response is an HTTP 404 or 500.\r\n * Instead, it will resolve normally (with ok status set to false), and it will only reject on network failure\r\n * or if anything prevented the request from completing.\r\n */\r\n if (!_isOneDs && !response_1.ok) {\r\n // this is for appInsights only\r\n _handleError(response_1.statusText);\r\n resolveFunc && resolveFunc(false);\r\n }\r\n else {\r\n if (_isOneDs && !response_1.body) {\r\n _onFetchComplete(response_1, null, STR_EMPTY);\r\n resolveFunc && resolveFunc(true);\r\n }\r\n else {\r\n doAwaitResponse(response_1.text(), function (resp) {\r\n _onFetchComplete(response_1, payload, resp[_DYN_VALUE /* @min:%2evalue */]);\r\n resolveFunc && resolveFunc(true);\r\n });\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _handleError(dumpObj(e));\r\n rejectFunc && rejectFunc(e);\r\n }\r\n }\r\n else {\r\n _handleError(result.reason && result.reason[_DYN_MESSAGE /* @min:%2emessage */]);\r\n rejectFunc && rejectFunc(result.reason);\r\n }\r\n }\r\n });\r\n }\r\n catch (e) {\r\n if (!responseHandled) {\r\n _handleError(dumpObj(e));\r\n rejectFunc && rejectFunc(e);\r\n }\r\n }\r\n if (ignoreResponse && !responseHandled) {\r\n // Assume success during unload processing as we most likely won't get the response\r\n responseHandled = true;\r\n _doOnComplete(oncomplete, 200, {});\r\n resolveFunc && resolveFunc(true);\r\n }\r\n if (_isOneDs && !responseHandled && payload[_DYN_TIMEOUT /* @min:%2etimeout */] > 0) {\r\n // Simulate timeout\r\n _timeoutWrapper && _timeoutWrapper.set(function () {\r\n if (!responseHandled) {\r\n // Assume a 500 response (which will cause a retry)\r\n responseHandled = true;\r\n _doOnComplete(oncomplete, 500, {});\r\n resolveFunc && resolveFunc(true);\r\n }\r\n }, payload[_DYN_TIMEOUT /* @min:%2etimeout */]);\r\n }\r\n return thePromise;\r\n }\r\n /**\r\n * Send XDomainRequest\r\n * @param payload - {string} - The data payload to be sent.\r\n * @param sync - {boolean} - Indicates if the request should be sent synchronously\r\n *\r\n * Note: XDomainRequest does not support sync requests. This 'isAsync' parameter is added\r\n * to maintain consistency with the xhrSender's contract\r\n * Note: XDomainRequest does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _xdrSender(payload, oncomplete, sync) {\r\n // It doesn't support custom headers, so no action is taken with current requestHeaders\r\n var _window = getWindow();\r\n var xdr = new XDomainRequest();\r\n var data = payload[_DYN_DATA /* @min:%2edata */];\r\n xdr.onload = function () {\r\n var response = getResponseText(xdr);\r\n var onloadFunc = _onCompleteFuncs && _onCompleteFuncs.xdrOnComplete;\r\n if (onloadFunc && isFunction(onloadFunc)) {\r\n onloadFunc(xdr, oncomplete, payload);\r\n }\r\n else {\r\n _doOnComplete(oncomplete, 200, {}, response);\r\n }\r\n };\r\n xdr.onerror = function () {\r\n _doOnComplete(oncomplete, 400, {}, _isOneDs ? STR_EMPTY : formatErrorMessageXdr(xdr));\r\n };\r\n xdr.ontimeout = function () {\r\n _doOnComplete(oncomplete, 500, {});\r\n };\r\n xdr.onprogress = function () { };\r\n // XDomainRequest requires the same protocol as the hosting page.\r\n // If the protocol doesn't match, we can't send the telemetry :(.\r\n var hostingProtocol = _window && _window.location && _window.location[_DYN_PROTOCOL /* @min:%2eprotocol */] || \"\";\r\n var endpoint = payload[_DYN_URL_STRING /* @min:%2eurlString */];\r\n if (!endpoint) {\r\n _onNoPayloadUrl(oncomplete);\r\n return;\r\n }\r\n if (!_isOneDs && endpoint.lastIndexOf(hostingProtocol, 0) !== 0) {\r\n var msg = \"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.\";\r\n _throwInternal(_diagLog, 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + msg);\r\n _onError(msg, oncomplete);\r\n return;\r\n }\r\n var endpointUrl = _isOneDs ? endpoint : endpoint[_DYN_REPLACE /* @min:%2ereplace */](/^(https?:)/, \"\");\r\n xdr.open(STR_POST_METHOD, endpointUrl);\r\n if (payload[_DYN_TIMEOUT /* @min:%2etimeout */]) {\r\n xdr[_DYN_TIMEOUT /* @min:%2etimeout */] = payload[_DYN_TIMEOUT /* @min:%2etimeout */];\r\n }\r\n xdr.send(data);\r\n if (_isOneDs && sync) {\r\n _timeoutWrapper && _timeoutWrapper.set(function () {\r\n xdr.send(data);\r\n }, 0);\r\n }\r\n else {\r\n xdr.send(data);\r\n }\r\n }\r\n function _initDefaults() {\r\n _syncFetchPayload = 0;\r\n _isInitialized = false;\r\n _enableSendPromise = false;\r\n _diagLog = null;\r\n _isOneDs = null;\r\n _onCompleteFuncs = null;\r\n _disableCredentials = null;\r\n _fetchCredentials = null;\r\n _fallbackInst = null;\r\n _disableXhr = false;\r\n _disableBeacon = false;\r\n _disableBeaconSync = false;\r\n _disableFetchKeepAlive = false;\r\n _addNoResponse = false;\r\n _timeoutWrapper = null;\r\n }\r\n });\r\n }\r\n SenderPostManager.prototype.initialize = function (config, diagLog) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Get size of current sync fetch payload\r\n */\r\n SenderPostManager.prototype.getSyncFetchPayload = function () {\r\n // @DynamicProtoStub - DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * reset Config\r\n * @returns True if set is successfully\r\n */\r\n SenderPostManager.prototype.SetConfig = function (config) {\r\n // @DynamicProtoStub - DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Get current xhr instance\r\n */\r\n SenderPostManager.prototype.getSenderInst = function (transports, sync) {\r\n // @DynamicProtoStub - DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Get current fallback sender instance\r\n */\r\n SenderPostManager.prototype.getFallbackInst = function () {\r\n // @DynamicProtoStub - DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n SenderPostManager.prototype._doTeardown = function (unloadCtx, unloadState) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return SenderPostManager;\r\n}());\r\nexport { SenderPostManager };\r\n//# sourceMappingURL=SenderPostManager.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { createPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { arrSlice, getLength } from \"@nevware21/ts-utils\";\r\nimport { _DYN_UNLOAD } from \"../__DynamicConstants\";\r\n/**\r\n * Run the unload function of the target object if it exists\r\n * @param target - The target object that contains the unload function\r\n * @param isAsync - The caller identifies whether it is expecting the operation to complete synchronously or asynchronously. Even\r\n * if the caller is not waiting the operation may still be performed asynchronously depending on the component and the reverse is\r\n * also true.\r\n * @returns The result of the target function\r\n */\r\nexport function runTargetUnload(target, isAsync) {\r\n if (target && target[_DYN_UNLOAD /* @min:%2eunload */]) {\r\n return target[_DYN_UNLOAD /* @min:%2eunload */](isAsync);\r\n }\r\n}\r\n/**\r\n * Call the unload function on all targets handling any returned [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * / Promise before calling the next targets unload\r\n * @param targets - An array of the targets to unload\r\n * @param isAsync - The caller identifies whether it is expecting the operations to complete synchronously or asynchronously. Even\r\n * if the caller is not waiting the operation may still be performed asynchronously depending on the component and the reverse is\r\n * also true.\r\n * @param done - Optional callback function to call once all of the unload functions have been called.\r\n */\r\nexport function doUnloadAll(targets, isAsync, done) {\r\n var result;\r\n if (!done) {\r\n result = createPromise(function (resolved) {\r\n done = resolved;\r\n });\r\n }\r\n if (targets && getLength(targets) > 0) {\r\n doAwaitResponse(runTargetUnload(targets[0], isAsync), function () {\r\n doUnloadAll(arrSlice(targets, 1), isAsync, done);\r\n });\r\n }\r\n else {\r\n done();\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=AsyncUtils.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_ITEMS_RECEIVED, _DYN_LENGTH, _DYN_NAME } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { getJSON } from \"./EnvUtils\";\r\n/**\r\n * Parses the response from the backend.\r\n * @param response - XMLHttpRequest or XDomainRequest response\r\n */\r\nexport function parseResponse(response, diagLog) {\r\n try {\r\n if (response && response !== \"\") {\r\n var result = getJSON().parse(response);\r\n if (result && result[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] && result[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] >= result.itemsAccepted &&\r\n result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH /* @min:%2elength */]) {\r\n return result;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(diagLog, 1 /* eLoggingSeverity.CRITICAL */, 43 /* _eInternalMessageId.InvalidBackendResponse */, \"Cannot parse the response. \" + (e[_DYN_NAME /* @min:%2ename */] || dumpObj(e)), {\r\n response: response\r\n });\r\n }\r\n return null;\r\n}\r\n//# sourceMappingURL=ResponseHelpers.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport { createClassFromInterface } from \"@microsoft/applicationinsights-core-js\";\r\nfunction _aiNameFunc(baseName) {\r\n var aiName = \"ai.\" + baseName + \".\";\r\n return function (name) {\r\n return aiName + name;\r\n };\r\n}\r\nvar _aiApplication = _aiNameFunc(\"application\");\r\nvar _aiDevice = _aiNameFunc(\"device\");\r\nvar _aiLocation = _aiNameFunc(\"location\");\r\nvar _aiOperation = _aiNameFunc(\"operation\");\r\nvar _aiSession = _aiNameFunc(\"session\");\r\nvar _aiUser = _aiNameFunc(\"user\");\r\nvar _aiCloud = _aiNameFunc(\"cloud\");\r\nvar _aiInternal = _aiNameFunc(\"internal\");\r\nvar ContextTagKeys = /** @class */ (function (_super) {\r\n __extends(ContextTagKeys, _super);\r\n function ContextTagKeys() {\r\n return _super.call(this) || this;\r\n }\r\n return ContextTagKeys;\r\n}(createClassFromInterface({\r\n applicationVersion: _aiApplication(\"ver\"),\r\n applicationBuild: _aiApplication(\"build\"),\r\n applicationTypeId: _aiApplication(\"typeId\"),\r\n applicationId: _aiApplication(\"applicationId\"),\r\n applicationLayer: _aiApplication(\"layer\"),\r\n deviceId: _aiDevice(\"id\"),\r\n deviceIp: _aiDevice(\"ip\"),\r\n deviceLanguage: _aiDevice(\"language\"),\r\n deviceLocale: _aiDevice(\"locale\"),\r\n deviceModel: _aiDevice(\"model\"),\r\n deviceFriendlyName: _aiDevice(\"friendlyName\"),\r\n deviceNetwork: _aiDevice(\"network\"),\r\n deviceNetworkName: _aiDevice(\"networkName\"),\r\n deviceOEMName: _aiDevice(\"oemName\"),\r\n deviceOS: _aiDevice(\"os\"),\r\n deviceOSVersion: _aiDevice(\"osVersion\"),\r\n deviceRoleInstance: _aiDevice(\"roleInstance\"),\r\n deviceRoleName: _aiDevice(\"roleName\"),\r\n deviceScreenResolution: _aiDevice(\"screenResolution\"),\r\n deviceType: _aiDevice(\"type\"),\r\n deviceMachineName: _aiDevice(\"machineName\"),\r\n deviceVMName: _aiDevice(\"vmName\"),\r\n deviceBrowser: _aiDevice(\"browser\"),\r\n deviceBrowserVersion: _aiDevice(\"browserVersion\"),\r\n locationIp: _aiLocation(\"ip\"),\r\n locationCountry: _aiLocation(\"country\"),\r\n locationProvince: _aiLocation(\"province\"),\r\n locationCity: _aiLocation(\"city\"),\r\n operationId: _aiOperation(\"id\"),\r\n operationName: _aiOperation(\"name\"),\r\n operationParentId: _aiOperation(\"parentId\"),\r\n operationRootId: _aiOperation(\"rootId\"),\r\n operationSyntheticSource: _aiOperation(\"syntheticSource\"),\r\n operationCorrelationVector: _aiOperation(\"correlationVector\"),\r\n sessionId: _aiSession(\"id\"),\r\n sessionIsFirst: _aiSession(\"isFirst\"),\r\n sessionIsNew: _aiSession(\"isNew\"),\r\n userAccountAcquisitionDate: _aiUser(\"accountAcquisitionDate\"),\r\n userAccountId: _aiUser(\"accountId\"),\r\n userAgent: _aiUser(\"userAgent\"),\r\n userId: _aiUser(\"id\"),\r\n userStoreRegion: _aiUser(\"storeRegion\"),\r\n userAuthUserId: _aiUser(\"authUserId\"),\r\n userAnonymousUserAcquisitionDate: _aiUser(\"anonUserAcquisitionDate\"),\r\n userAuthenticatedUserAcquisitionDate: _aiUser(\"authUserAcquisitionDate\"),\r\n cloudName: _aiCloud(\"name\"),\r\n cloudRole: _aiCloud(\"role\"),\r\n cloudRoleVer: _aiCloud(\"roleVer\"),\r\n cloudRoleInstance: _aiCloud(\"roleInstance\"),\r\n cloudEnvironment: _aiCloud(\"environment\"),\r\n cloudLocation: _aiCloud(\"location\"),\r\n cloudDeploymentUnit: _aiCloud(\"deploymentUnit\"),\r\n internalNodeName: _aiInternal(\"nodeName\"),\r\n internalSdkVersion: _aiInternal(\"sdkVersion\"),\r\n internalAgentVersion: _aiInternal(\"agentVersion\"),\r\n internalSnippet: _aiInternal(\"snippet\"),\r\n internalSdkSrc: _aiInternal(\"sdkSrc\")\r\n})));\r\nexport { ContextTagKeys };\r\n//# sourceMappingURL=ContextTagKeys.js.map","import { ContextTagKeys } from \"./Contracts/ContextTagKeys\";\r\nexport var Extensions = {\r\n UserExt: \"user\",\r\n DeviceExt: \"device\",\r\n TraceExt: \"trace\",\r\n WebExt: \"web\",\r\n AppExt: \"app\",\r\n OSExt: \"os\",\r\n SessionExt: \"ses\",\r\n SDKExt: \"sdk\"\r\n};\r\nexport var CtxTagKeys = new ContextTagKeys();\r\n//# sourceMappingURL=PartAExtensions.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../../Constants\";\r\nimport { _DYN_NAME } from \"../../__DynamicConstants\";\r\nimport { dataSanitizeString } from \"./DataSanitizer\";\r\nvar Envelope = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Envelope(logger, data, name) {\r\n var _this = this;\r\n var _self = this;\r\n _self.ver = 1;\r\n _self.sampleRate = 100.0;\r\n _self.tags = {};\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self.data = data;\r\n _self.time = toISOString(new Date());\r\n _self.aiDataContract = {\r\n time: 1 /* FieldType.Required */,\r\n iKey: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n sampleRate: function () {\r\n return (_this.sampleRate === 100) ? 4 /* FieldType.Hidden */ : 1 /* FieldType.Required */;\r\n },\r\n tags: 1 /* FieldType.Required */,\r\n data: 1 /* FieldType.Required */\r\n };\r\n }\r\n return Envelope;\r\n}());\r\nexport { Envelope };\r\n//# sourceMappingURL=Envelope.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Data = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Data(baseType, data) {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n baseType: 1 /* FieldType.Required */,\r\n baseData: 1 /* FieldType.Required */\r\n };\r\n this.baseType = baseType;\r\n this.baseData = data;\r\n }\r\n return Data;\r\n}());\r\nexport { Data };\r\n//# sourceMappingURL=Data.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nexport var STR_DURATION = \"duration\";\r\n//# sourceMappingURL=InternalConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TAGS = \"tags\"; // Count: 17\r\nexport var _DYN_DEVICE_TYPE = \"deviceType\"; // Count: 3\r\nexport var _DYN_DATA = \"data\"; // Count: 15\r\nexport var _DYN_NAME = \"name\"; // Count: 8\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 38\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 5\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 7\r\nexport var _DYN_DATA_TYPE = \"dataType\"; // Count: 10\r\nexport var _DYN_ENVELOPE_TYPE = \"envelopeType\"; // Count: 7\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 7\r\nexport var _DYN__GET = \"_get\"; // Count: 5\r\nexport var _DYN_ENQUEUE = \"enqueue\"; // Count: 7\r\nexport var _DYN_COUNT = \"count\"; // Count: 7\r\nexport var _DYN_EVENTS_LIMIT_IN_MEM = \"eventsLimitInMem\"; // Count: 2\r\nexport var _DYN_PUSH = \"push\"; // Count: 9\r\nexport var _DYN_ITEM = \"item\"; // Count: 6\r\nexport var _DYN_EMIT_LINE_DELIMITED_0 = \"emitLineDelimitedJson\"; // Count: 3\r\nexport var _DYN_CLEAR = \"clear\"; // Count: 6\r\nexport var _DYN_CREATE_NEW = \"createNew\"; // Count: 3\r\nexport var _DYN_MARK_AS_SENT = \"markAsSent\"; // Count: 4\r\nexport var _DYN_CLEAR_SENT = \"clearSent\"; // Count: 5\r\nexport var _DYN_BUFFER_OVERRIDE = \"bufferOverride\"; // Count: 3\r\nexport var _DYN__BUFFER__KEY = \"BUFFER_KEY\"; // Count: 5\r\nexport var _DYN__SENT__BUFFER__KEY = \"SENT_BUFFER_KEY\"; // Count: 8\r\nexport var _DYN_CONCAT = \"concat\"; // Count: 6\r\nexport var _DYN__MAX__BUFFER__SIZE = \"MAX_BUFFER_SIZE\"; // Count: 5\r\nexport var _DYN_TRIGGER_SEND = \"triggerSend\"; // Count: 5\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 16\r\nexport var _DYN_INITIALIZE = \"initialize\"; // Count: 3\r\nexport var _DYN__SENDER = \"_sender\"; // Count: 5\r\nexport var _DYN_ENDPOINT_URL = \"endpointUrl\"; // Count: 5\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 5\r\nexport var _DYN_CUSTOM_HEADERS = \"customHeaders\"; // Count: 3\r\nexport var _DYN_MAX_BATCH_SIZE_IN_BY1 = \"maxBatchSizeInBytes\"; // Count: 2\r\nexport var _DYN_ONUNLOAD_DISABLE_BEA2 = \"onunloadDisableBeacon\"; // Count: 3\r\nexport var _DYN_IS_BEACON_API_DISABL3 = \"isBeaconApiDisabled\"; // Count: 3\r\nexport var _DYN_ALWAYS_USE_XHR_OVERR4 = \"alwaysUseXhrOverride\"; // Count: 2\r\nexport var _DYN_DISABLE_XHR = \"disableXhr\"; // Count: 3\r\nexport var _DYN_ENABLE_SESSION_STORA5 = \"enableSessionStorageBuffer\"; // Count: 2\r\nexport var _DYN__BUFFER = \"_buffer\"; // Count: 9\r\nexport var _DYN_ONUNLOAD_DISABLE_FET6 = \"onunloadDisableFetch\"; // Count: 2\r\nexport var _DYN_DISABLE_SEND_BEACON_7 = \"disableSendBeaconSplit\"; // Count: 2\r\nexport var _DYN_ENABLE_SEND_PROMISE = \"enableSendPromise\"; // Count: 2\r\nexport var _DYN_GET_SENDER_INST = \"getSenderInst\"; // Count: 4\r\nexport var _DYN_UNLOAD_TRANSPORTS = \"unloadTransports\"; // Count: 2\r\nexport var _DYN_CONVERT_UNDEFINED = \"convertUndefined\"; // Count: 2\r\nexport var _DYN_MAX_BATCH_INTERVAL = \"maxBatchInterval\"; // Count: 2\r\nexport var _DYN_SERIALIZE = \"serialize\"; // Count: 4\r\nexport var _DYN__ON_ERROR = \"_onError\"; // Count: 7\r\nexport var _DYN__ON_PARTIAL_SUCCESS = \"_onPartialSuccess\"; // Count: 3\r\nexport var _DYN__ON_SUCCESS = \"_onSuccess\"; // Count: 6\r\nexport var _DYN_ITEMS_RECEIVED = \"itemsReceived\"; // Count: 3\r\nexport var _DYN_ITEMS_ACCEPTED = \"itemsAccepted\"; // Count: 3\r\nexport var _DYN_ORI_PAYLOAD = \"oriPayload\"; // Count: 3\r\nexport var _DYN_BASE_TYPE = \"baseType\"; // Count: 4\r\nexport var _DYN_SAMPLE_RATE = \"sampleRate\"; // Count: 4\r\nexport var _DYN_EVENTS_SEND_REQUEST = \"eventsSendRequest\"; // Count: 2\r\nexport var _DYN_GET_SAMPLING_SCORE = \"getSamplingScore\"; // Count: 2\r\nexport var _DYN_GET_HASH_CODE_SCORE = \"getHashCodeScore\"; // Count: 4\r\n//# sourceMappingURL=__DynamicConstants.js.map","import { __assign } from \"tslib\";\r\nimport { CtxTagKeys, Data, Envelope, Event, Exception, HttpMethod, Metric, PageView, PageViewPerformance, RemoteDependencyData, SampleRate, Trace, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, _warnToConsole, getJSON, hasJSON, isNullOrUndefined, isNumber, isString, isTruthy, objForEachKey, optimizeObject, setValue, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_DURATION } from \"./InternalConstants\";\r\nimport { _DYN_DATA, _DYN_DATA_TYPE, _DYN_DEVICE_TYPE, _DYN_ENVELOPE_TYPE, _DYN_LENGTH, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_STRINGIFY, _DYN_TAGS, _DYN_TO_STRING, _DYN_TRACE_ID } from \"./__DynamicConstants\";\r\n// these two constants are used to filter out properties not needed when trying to extract custom properties and measurements from the incoming payload\r\nvar strBaseType = \"baseType\";\r\nvar strBaseData = \"baseData\";\r\nvar strProperties = \"properties\";\r\nvar strTrue = \"true\";\r\nfunction _setValueIf(target, field, value) {\r\n return setValue(target, field, value, isTruthy);\r\n}\r\n/*\r\n * Maps Part A data from CS 4.0\r\n */\r\nfunction _extractPartAExtensions(logger, item, env) {\r\n // todo: switch to keys from common in this method\r\n var envTags = env[_DYN_TAGS /* @min:%2etags */] = env[_DYN_TAGS /* @min:%2etags */] || {};\r\n var itmExt = item.ext = item.ext || {};\r\n var itmTags = item[_DYN_TAGS /* @min:%2etags */] = item[_DYN_TAGS /* @min:%2etags */] || [];\r\n var extUser = itmExt.user;\r\n if (extUser) {\r\n _setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);\r\n _setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);\r\n }\r\n var extApp = itmExt.app;\r\n if (extApp) {\r\n _setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);\r\n }\r\n var extDevice = itmExt.device;\r\n if (extDevice) {\r\n _setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice.deviceClass);\r\n _setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);\r\n _setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice[_DYN_DEVICE_TYPE /* @min:%2edeviceType */]);\r\n }\r\n var web = item.ext.web;\r\n if (web) {\r\n _setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);\r\n var envData = env[_DYN_DATA /* @min:%2edata */] = env[_DYN_DATA /* @min:%2edata */] || {};\r\n var envBaseData = envData[strBaseData] = envData[strBaseData] || {};\r\n var envProps = envBaseData[strProperties] = envBaseData[strProperties] || {};\r\n _setValueIf(envProps, \"domain\", web.domain);\r\n _setValueIf(envProps, \"isManual\", web.isManual ? strTrue : null);\r\n _setValueIf(envProps, \"screenRes\", web.screenRes);\r\n _setValueIf(envProps, \"userConsent\", web.userConsent ? strTrue : null);\r\n }\r\n var extOs = itmExt.os;\r\n if (extOs) {\r\n _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME /* @min:%2ename */]);\r\n _setValueIf(envTags, CtxTagKeys.deviceOSVersion, extOs.osVer);\r\n }\r\n // No support for mapping Trace.traceState to 2.0 as it is currently empty\r\n var extTrace = itmExt.trace;\r\n if (extTrace) {\r\n _setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);\r\n _setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace[_DYN_NAME /* @min:%2ename */]));\r\n _setValueIf(envTags, CtxTagKeys.operationId, extTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n // Sample 4.0 schema\r\n // {\r\n // \"time\" : \"2018-09-05T22:51:22.4936Z\",\r\n // \"name\" : \"MetricWithNamespace\",\r\n // \"iKey\" : \"ABC-5a4cbd20-e601-4ef5-a3c6-5d6577e4398e\",\r\n // \"ext\": { \"cloud\": {\r\n // \"role\": \"WATSON3\",\r\n // \"roleInstance\": \"CO4AEAP00000260\"\r\n // },\r\n // \"device\": {}, \"correlation\": {} },\r\n // \"tags\": [\r\n // { \"amazon.region\" : \"east2\" },\r\n // { \"os.expid\" : \"wp:02df239\" }\r\n // ]\r\n // }\r\n var tgs = {};\r\n // deals with tags.push({object})\r\n for (var i = itmTags[_DYN_LENGTH /* @min:%2elength */] - 1; i >= 0; i--) {\r\n var tg = itmTags[i];\r\n objForEachKey(tg, function (key, value) {\r\n tgs[key] = value;\r\n });\r\n itmTags.splice(i, 1);\r\n }\r\n // deals with tags[key]=value (and handles hasOwnProperty)\r\n objForEachKey(itmTags, function (tg, value) {\r\n tgs[tg] = value;\r\n });\r\n var theTags = __assign(__assign({}, envTags), tgs);\r\n if (!theTags[CtxTagKeys.internalSdkVersion]) {\r\n // Append a version in case it is not already set\r\n theTags[CtxTagKeys.internalSdkVersion] = dataSanitizeString(logger, \"javascript:\".concat(EnvelopeCreator.Version), 64);\r\n }\r\n env[_DYN_TAGS /* @min:%2etags */] = optimizeObject(theTags);\r\n}\r\nfunction _extractPropsAndMeasurements(data, properties, measurements) {\r\n if (!isNullOrUndefined(data)) {\r\n objForEachKey(data, function (key, value) {\r\n if (isNumber(value)) {\r\n measurements[key] = value;\r\n }\r\n else if (isString(value)) {\r\n properties[key] = value;\r\n }\r\n else if (hasJSON()) {\r\n properties[key] = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {\r\n if (!isNullOrUndefined(properties)) {\r\n objForEachKey(properties, function (key, value) {\r\n properties[key] = value || customUndefinedValue;\r\n });\r\n }\r\n}\r\n// TODO: Do we want this to take logger as arg or use this._logger as nonstatic?\r\nfunction _createEnvelope(logger, envelopeType, telemetryItem, data) {\r\n var envelope = new Envelope(logger, data, envelopeType);\r\n _setValueIf(envelope, \"sampleRate\", telemetryItem[SampleRate]);\r\n if ((telemetryItem[strBaseData] || {}).startTime) {\r\n // Starting from Version 3.0.3, the time property will be assigned by the startTime value,\r\n // which records the loadEvent time for the pageView event.\r\n envelope.time = toISOString(telemetryItem[strBaseData].startTime);\r\n }\r\n envelope.iKey = telemetryItem.iKey;\r\n var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, \"\");\r\n envelope[_DYN_NAME /* @min:%2ename */] = envelope[_DYN_NAME /* @min:%2ename */].replace(\"{0}\", iKeyNoDashes);\r\n // extract all extensions from ctx\r\n _extractPartAExtensions(logger, telemetryItem, envelope);\r\n // loop through the envelope tags (extension of Part A) and pick out the ones that should go in outgoing envelope tags\r\n telemetryItem[_DYN_TAGS /* @min:%2etags */] = telemetryItem[_DYN_TAGS /* @min:%2etags */] || [];\r\n return optimizeObject(envelope);\r\n}\r\nfunction EnvelopeCreatorInit(logger, telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[strBaseData])) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 46 /* _eInternalMessageId.TelemetryEnvelopeInvalid */, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n}\r\nexport var EnvelopeCreator = {\r\n Version: '3.3.4'\r\n};\r\nexport function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n if (isNullOrUndefined(bd)) {\r\n _warnToConsole(logger, \"Invalid input for dependency data\");\r\n return null;\r\n }\r\n var method = bd[strProperties] && bd[strProperties][HttpMethod] ? bd[strProperties][HttpMethod] : \"GET\";\r\n var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd[_DYN_NAME /* @min:%2ename */], bd[STR_DURATION /* @min:%2eduration */], bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);\r\n var data = new Data(RemoteDependencyData[_DYN_DATA_TYPE /* @min:%2edataType */], remoteDepData);\r\n return _createEnvelope(logger, RemoteDependencyData[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n if (telemetryItem[strBaseType] !== Event[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n customProperties[\"baseTypeSource\"] = telemetryItem[strBaseType]; // save the passed in base type as a property\r\n }\r\n if (telemetryItem[strBaseType] === Event[_DYN_DATA_TYPE /* @min:%2edataType */]) { // take collection\r\n customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n }\r\n else { // if its not a known type, convert to custom event\r\n if (telemetryItem[strBaseData]) {\r\n _extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);\r\n }\r\n }\r\n // Extract root level properties from part C telemetryItem.data\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var eventName = telemetryItem[strBaseData][_DYN_NAME /* @min:%2ename */];\r\n var eventData = new Event(logger, eventName, customProperties, customMeasurements);\r\n var data = new Data(Event[_DYN_DATA_TYPE /* @min:%2edataType */], eventData);\r\n return _createEnvelope(logger, Event[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Extract root level properties from part C telemetryItem.data\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);\r\n var data = new Data(Exception[_DYN_DATA_TYPE /* @min:%2edataType */], exData);\r\n return _createEnvelope(logger, Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var baseData = telemetryItem[strBaseData];\r\n var props = baseData[strProperties] || {};\r\n var measurements = baseData[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseMetricData = new Metric(logger, baseData[_DYN_NAME /* @min:%2ename */], baseData.average, baseData.sampleCount, baseData.min, baseData.max, baseData.stdDev, props, measurements);\r\n var data = new Data(Metric[_DYN_DATA_TYPE /* @min:%2edataType */], baseMetricData);\r\n return _createEnvelope(logger, Metric[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Since duration is not part of the domain properties in Common Schema, extract it from part C\r\n var duration;\r\n var baseData = telemetryItem[strBaseData];\r\n if (!isNullOrUndefined(baseData) &&\r\n !isNullOrUndefined(baseData[strProperties]) &&\r\n !isNullOrUndefined(baseData[strProperties][STR_DURATION])) { // from part B properties\r\n duration = baseData[strProperties][STR_DURATION];\r\n delete baseData[strProperties][STR_DURATION];\r\n }\r\n else if (!isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */]) &&\r\n !isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION])) { // from custom properties\r\n duration = telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n delete telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n // special case: pageview.id is grabbed from current operation id. Analytics plugin is decoupled from properties plugin, so this is done here instead. This can be made a default telemetry intializer instead if needed to be decoupled from channel\r\n var currentContextId;\r\n if (((telemetryItem.ext || {}).trace || {})[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n currentContextId = telemetryItem.ext.trace[_DYN_TRACE_ID /* @min:%2etraceID */];\r\n }\r\n var id = bd.id || currentContextId;\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n // refUri is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.refUri)) {\r\n properties[\"refUri\"] = bd.refUri;\r\n }\r\n // pageType is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.pageType)) {\r\n properties[\"pageType\"] = bd.pageType;\r\n }\r\n // isLoggedIn is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.isLoggedIn)) {\r\n properties[\"isLoggedIn\"] = bd.isLoggedIn[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n // pageTags is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd[strProperties])) {\r\n var pageTags = bd[strProperties];\r\n objForEachKey(pageTags, function (key, value) {\r\n properties[key] = value;\r\n });\r\n }\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);\r\n var data = new Data(PageView[_DYN_DATA_TYPE /* @min:%2edataType */], pageViewData);\r\n return _createEnvelope(logger, PageView[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var bd = telemetryItem[strBaseData];\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri || bd.url;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);\r\n var data = new Data(PageViewPerformance[_DYN_DATA_TYPE /* @min:%2edataType */], baseData);\r\n return _createEnvelope(logger, PageViewPerformance[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var message = telemetryItem[strBaseData].message;\r\n var severityLevel = telemetryItem[strBaseData].severityLevel;\r\n var props = telemetryItem[strBaseData][strProperties] || {};\r\n var measurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseData = new Trace(logger, message, severityLevel, props, measurements);\r\n var data = new Data(Trace[_DYN_DATA_TYPE /* @min:%2edataType */], baseData);\r\n return _createEnvelope(logger, Trace[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\n//# sourceMappingURL=EnvelopeCreator.js.map","import { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlGetSessionStorage, utlRemoveSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, arrForEach, arrIndexOf, dumpObj, getExceptionName, getJSON, isArray, isFunction, isNullOrUndefined, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_CONCAT, _DYN_COUNT, _DYN_CREATE_NEW, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENQUEUE, _DYN_EVENTS_LIMIT_IN_MEM, _DYN_ITEM, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_PUSH, _DYN_STRINGIFY, _DYN__BUFFER__KEY, _DYN__GET, _DYN__MAX__BUFFER__SIZE, _DYN__SENT__BUFFER__KEY } from \"./__DynamicConstants\";\r\nvar BaseSendBuffer = /** @class */ (function () {\r\n function BaseSendBuffer(logger, config) {\r\n var _buffer = [];\r\n var _bufferFullMessageSent = false;\r\n var _maxRetryCnt = config.maxRetryCnt;\r\n this[_DYN__GET /* @min:%2e_get */] = function () {\r\n return _buffer;\r\n };\r\n this._set = function (buffer) {\r\n _buffer = buffer;\r\n return _buffer;\r\n };\r\n dynamicProto(BaseSendBuffer, this, function (_self) {\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= config[_DYN_EVENTS_LIMIT_IN_MEM /* @min:%2eeventsLimitInMem */]) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 105 /* _eInternalMessageId.InMemoryStorageBufferFull */, \"Maximum in-memory buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n payload.cnt = payload.cnt || 0;\r\n // max retry is defined, and max retry is reached, do not add the payload to buffer\r\n if (!isNullOrUndefined(_maxRetryCnt)) {\r\n if (payload.cnt > _maxRetryCnt) {\r\n // TODO: add log here on dropping payloads\r\n return;\r\n }\r\n }\r\n _buffer[_DYN_PUSH /* @min:%2epush */](payload);\r\n return;\r\n };\r\n _self[_DYN_COUNT /* @min:%2ecount */] = function () {\r\n return _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.size = function () {\r\n var size = _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < _buffer[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n size += (_buffer[lp].item)[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n if (!config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */]) {\r\n size += 2;\r\n }\r\n return size;\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _buffer = [];\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.getItems = function () {\r\n return _buffer.slice(0);\r\n };\r\n _self.batchPayloads = function (payloads) {\r\n if (payloads && payloads[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var payloadStr_1 = [];\r\n arrForEach(payloads, function (payload) {\r\n payloadStr_1[_DYN_PUSH /* @min:%2epush */](payload[_DYN_ITEM /* @min:%2eitem */]);\r\n });\r\n var batch = config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */] ?\r\n payloadStr_1.join(\"\\n\") :\r\n \"[\" + payloadStr_1.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n _self[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = function (newLogger, newConfig, canUseSessionStorage) {\r\n var items = _buffer.slice(0);\r\n newLogger = newLogger || logger;\r\n newConfig = newConfig || {};\r\n var newBuffer = !!canUseSessionStorage ? new SessionStorageSendBuffer(newLogger, newConfig) : new ArraySendBuffer(newLogger, newConfig);\r\n arrForEach(items, function (payload) {\r\n newBuffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n });\r\n return newBuffer;\r\n };\r\n });\r\n }\r\n BaseSendBuffer.prototype.enqueue = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseSendBuffer.prototype.count = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n BaseSendBuffer.prototype.size = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n BaseSendBuffer.prototype.clear = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n BaseSendBuffer.prototype.getItems = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n BaseSendBuffer.prototype.batchPayloads = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n BaseSendBuffer.prototype.createNew = function (newLogger, newConfig, canUseSessionStorage) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n return BaseSendBuffer;\r\n}());\r\n/*\r\n * An array based send buffer.\r\n */\r\nvar ArraySendBuffer = /** @class */ (function (_super) {\r\n __extends(ArraySendBuffer, _super);\r\n function ArraySendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n dynamicProto(ArraySendBuffer, _this, function (_self, _base) {\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n // not supported\r\n };\r\n });\r\n return _this;\r\n }\r\n ArraySendBuffer.prototype.markAsSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n ArraySendBuffer.prototype.clearSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return ArraySendBuffer;\r\n}(BaseSendBuffer));\r\nexport { ArraySendBuffer };\r\nvar PREVIOUS_KEYS = [\"AI_buffer\", \"AI_sentBuffer\"];\r\n/*\r\n * Session storage buffer holds a copy of all unsent items in the browser session storage.\r\n */\r\nvar SessionStorageSendBuffer = /** @class */ (function (_super) {\r\n __extends(SessionStorageSendBuffer, _super);\r\n function SessionStorageSendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n var _bufferFullMessageSent = false;\r\n //Note: should not use config.namePrefix directly, because it will always refers to the latest namePrefix\r\n var _namePrefix = config === null || config === void 0 ? void 0 : config.namePrefix;\r\n // TODO: add remove buffer override as well\r\n var _b = config[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */] || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _b.getItem, setItem = _b.setItem;\r\n var _maxRetryCnt = config.maxRetryCnt;\r\n dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {\r\n var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */]);\r\n var itemsInSentBuffer = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n var previousItems = _getPreviousEvents();\r\n var notDeliveredItems = itemsInSentBuffer[_DYN_CONCAT /* @min:%2econcat */](previousItems);\r\n var buffer = _self._set(bufferItems[_DYN_CONCAT /* @min:%2econcat */](notDeliveredItems));\r\n // If the buffer has too many items, drop items from the end.\r\n if (buffer[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n buffer[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], buffer);\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Maximum buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n payload.cnt = payload.cnt || 0;\r\n // max retry is defined, and max retry is reached, do not add the payload to buffer\r\n if (!isNullOrUndefined(_maxRetryCnt)) {\r\n if (payload.cnt > _maxRetryCnt) {\r\n // TODO: add log here on dropping payloads\r\n return;\r\n }\r\n }\r\n _base[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET /* @min:%2e_get */]());\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n _setBuffer(SessionStorageSendBuffer.BUFFER_KEY, _self[_DYN__GET /* @min:%2e_get */]());\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _bufferFullMessageSent = false;\r\n };\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._set(_removePayloadsFromBuffer(payload, _self[_DYN__GET /* @min:%2e_get */]())));\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n if (sentElements instanceof Array && payload instanceof Array) {\r\n sentElements = sentElements[_DYN_CONCAT /* @min:%2econcat */](payload);\r\n if (sentElements[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // We send telemetry normally. If the SENT_BUFFER is too big we don't add new elements\r\n // until we receive a response from the backend and the buffer has free space again (see clearSent method)\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Sent buffer reached its maximum size: \" + sentElements[_DYN_LENGTH /* @min:%2elength */], true);\r\n sentElements[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n }\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n sentElements = _removePayloadsFromBuffer(payload, sentElements);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n };\r\n _self[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = function (newLogger, newConfig, canUseSessionStorage) {\r\n canUseSessionStorage = !!canUseSessionStorage;\r\n var unsentItems = _self[_DYN__GET /* @min:%2e_get */]().slice(0);\r\n var sentItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]).slice(0);\r\n newLogger = newLogger || logger;\r\n newConfig = newConfig || {};\r\n // to make sure that we do not send duplicated payloads when it is switched back to previous one\r\n _self[_DYN_CLEAR /* @min:%2eclear */]();\r\n var newBuffer = canUseSessionStorage ? new SessionStorageSendBuffer(newLogger, newConfig) : new ArraySendBuffer(newLogger, newConfig);\r\n arrForEach(unsentItems, function (payload) {\r\n newBuffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n });\r\n if (canUseSessionStorage) {\r\n // arr buffer will clear all payloads if markAsSent() is called\r\n newBuffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](sentItems);\r\n }\r\n return newBuffer;\r\n };\r\n function _removePayloadsFromBuffer(payloads, buffer) {\r\n var remaining = [];\r\n var payloadStr = [];\r\n arrForEach(payloads, function (payload) {\r\n payloadStr[_DYN_PUSH /* @min:%2epush */](payload[_DYN_ITEM /* @min:%2eitem */]);\r\n });\r\n arrForEach(buffer, function (value) {\r\n if (!isFunction(value) && arrIndexOf(payloadStr, value[_DYN_ITEM /* @min:%2eitem */]) === -1) {\r\n remaining[_DYN_PUSH /* @min:%2epush */](value);\r\n }\r\n });\r\n return remaining;\r\n }\r\n function _getBuffer(key) {\r\n var prefixedKey = key;\r\n prefixedKey = _namePrefix ? _namePrefix + \"_\" + prefixedKey : prefixedKey;\r\n return _getBufferBase(prefixedKey);\r\n }\r\n function _getBufferBase(key) {\r\n try {\r\n var bufferJson = getItem(logger, key);\r\n if (bufferJson) {\r\n var buffer_1 = getJSON().parse(bufferJson);\r\n if (isString(buffer_1)) {\r\n // When using some version prototype.js the stringify / parse cycle does not decode array's correctly\r\n buffer_1 = getJSON().parse(buffer_1);\r\n }\r\n if (buffer_1 && isArray(buffer_1)) {\r\n return buffer_1;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 42 /* _eInternalMessageId.FailedToRestoreStorageBuffer */, \" storage key: \" + key + \", \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n function _setBuffer(key, buffer) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = _namePrefix ? _namePrefix + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = JSON[_DYN_STRINGIFY /* @min:%2estringify */](buffer);\r\n setItem(logger, prefixedKey, bufferJson);\r\n }\r\n catch (e) {\r\n // if there was an error, clear the buffer\r\n // telemetry is stored in the _buffer array so we won't loose any items\r\n setItem(logger, prefixedKey, JSON[_DYN_STRINGIFY /* @min:%2estringify */]([]));\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 41 /* _eInternalMessageId.FailedToSetStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e) + \". Buffer cleared\", { exception: dumpObj(e) });\r\n }\r\n }\r\n // this removes buffer with prefix+key\r\n function _getPreviousEvents() {\r\n var items = [];\r\n try {\r\n arrForEach(PREVIOUS_KEYS, function (key) {\r\n var events = _getItemsFromPreviousKey(key);\r\n items = items[_DYN_CONCAT /* @min:%2econcat */](events);\r\n // to make sure that we also transfer items from old prefixed + key buffer\r\n if (_namePrefix) {\r\n var prefixedKey = _namePrefix + \"_\" + key;\r\n var prefixEvents = _getItemsFromPreviousKey(prefixedKey);\r\n items = items[_DYN_CONCAT /* @min:%2econcat */](prefixEvents);\r\n }\r\n });\r\n return items;\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 41 /* _eInternalMessageId.FailedToSetStorageBuffer */, \"Transfer events from previous buffers: \" + getExceptionName(e) + \". previous Buffer items can not be removed\", { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n // transform string[] to IInternalStorageItem[]\r\n function _getItemsFromPreviousKey(key) {\r\n try {\r\n var items = _getBufferBase(key);\r\n var transFormedItems_1 = [];\r\n arrForEach(items, function (item) {\r\n var internalItem = {\r\n item: item,\r\n cnt: 0 // previous events will be default to 0 count\r\n };\r\n transFormedItems_1[_DYN_PUSH /* @min:%2epush */](internalItem);\r\n });\r\n // remove the session storage if we can add events back\r\n utlRemoveSessionStorage(logger, key);\r\n return transFormedItems_1;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return [];\r\n }\r\n });\r\n return _this;\r\n }\r\n SessionStorageSendBuffer.prototype.enqueue = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.clear = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.markAsSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.clearSent = function (payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n SessionStorageSendBuffer.prototype.createNew = function (newLogger, newConfig, canUseSessionStorage) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n var _a;\r\n _a = SessionStorageSendBuffer;\r\n SessionStorageSendBuffer.VERSION = \"_1\";\r\n SessionStorageSendBuffer.BUFFER_KEY = \"AI_buffer\" + _a.VERSION;\r\n SessionStorageSendBuffer.SENT_BUFFER_KEY = \"AI_sentBuffer\" + _a.VERSION;\r\n // Maximum number of payloads stored in the buffer. If the buffer is full, new elements will be dropped.\r\n SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;\r\n return SessionStorageSendBuffer;\r\n}(BaseSendBuffer));\r\nexport { SessionStorageSendBuffer };\r\n//# sourceMappingURL=SendBuffer.js.map","var _a, _b;\r\nimport { __assign, __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BreezeChannelIdentifier, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, Event, Exception, Metric, PageView, PageViewPerformance, ProcessLegacy, RemoteDependencyData, RequestHeaders, SampleRate, Trace, createOfflineListener, isInternalApplicationInsightsEndpoint, utlCanUseSessionStorage, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { ActiveStatus, BaseTelemetryPlugin, SenderPostManager, _throwInternal, _warnToConsole, arrForEach, cfgDfBoolean, cfgDfValidate, createProcessTelemetryContext, createUniqueNamespace, dateNow, dumpObj, formatErrorMessageXdr, formatErrorMessageXhr, getExceptionName, getIEVersion, isArray, isBeaconsSupported, isFetchSupported, isNullOrUndefined, mergeEvtNamespace, objExtend, onConfigChange, parseResponse, prependTransports, runTargetUnload } from \"@microsoft/applicationinsights-core-js\";\r\nimport { isNumber, isPromiseLike, isString, isTruthy, objDeepFreeze, objDefine, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { DependencyEnvelopeCreator, EventEnvelopeCreator, ExceptionEnvelopeCreator, MetricEnvelopeCreator, PageViewEnvelopeCreator, PageViewPerformanceEnvelopeCreator, TraceEnvelopeCreator } from \"./EnvelopeCreator\";\r\nimport { ArraySendBuffer, SessionStorageSendBuffer } from \"./SendBuffer\";\r\nimport { Serializer } from \"./Serializer\";\r\nimport { Sample } from \"./TelemetryProcessors/Sample\";\r\nimport { _DYN_ALWAYS_USE_XHR_OVERR4, _DYN_BASE_TYPE, _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_CONVERT_UNDEFINED, _DYN_COUNT, _DYN_CREATE_NEW, _DYN_CUSTOM_HEADERS, _DYN_DATA, _DYN_DIAG_LOG, _DYN_DISABLE_SEND_BEACON_7, _DYN_DISABLE_XHR, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENABLE_SEND_PROMISE, _DYN_ENABLE_SESSION_STORA5, _DYN_ENDPOINT_URL, _DYN_ENQUEUE, _DYN_EVENTS_LIMIT_IN_MEM, _DYN_EVENTS_SEND_REQUEST, _DYN_GET_SENDER_INST, _DYN_INITIALIZE, _DYN_INSTRUMENTATION_KEY, _DYN_IS_BEACON_API_DISABL3, _DYN_ITEM, _DYN_ITEMS_ACCEPTED, _DYN_ITEMS_RECEIVED, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_MAX_BATCH_INTERVAL, _DYN_MAX_BATCH_SIZE_IN_BY1, _DYN_ONUNLOAD_DISABLE_BEA2, _DYN_ONUNLOAD_DISABLE_FET6, _DYN_ORI_PAYLOAD, _DYN_PUSH, _DYN_SAMPLE_RATE, _DYN_SERIALIZE, _DYN_TAGS, _DYN_TRIGGER_SEND, _DYN_UNLOAD_TRANSPORTS, _DYN__BUFFER, _DYN__ON_ERROR, _DYN__ON_PARTIAL_SUCCESS, _DYN__ON_SUCCESS, _DYN__SENDER } from \"./__DynamicConstants\";\r\nvar UNDEFINED_VALUE = undefined;\r\nvar EMPTY_STR = \"\";\r\nvar FetchSyncRequestSizeLimitBytes = 65000; // approx 64kb (the current Edge, Firefox and Chrome max limit)\r\nfunction _getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return null;\r\n}\r\nfunction isOverrideFn(httpXHROverride) {\r\n return httpXHROverride && httpXHROverride.sendPOST;\r\n}\r\nvar defaultAppInsightsChannelConfig = objDeepFreeze((_a = {\r\n // Use the default value (handles empty string in the configuration)\r\n endpointUrl: cfgDfValidate(isTruthy, DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH)\r\n },\r\n _a[_DYN_EMIT_LINE_DELIMITED_0 /* @min:emitLineDelimitedJson */] = cfgDfBoolean(),\r\n _a[_DYN_MAX_BATCH_INTERVAL /* @min:maxBatchInterval */] = 15000,\r\n _a[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:maxBatchSizeInBytes */] = 102400,\r\n _a.disableTelemetry = cfgDfBoolean(),\r\n _a[_DYN_ENABLE_SESSION_STORA5 /* @min:enableSessionStorageBuffer */] = cfgDfBoolean(true),\r\n _a.isRetryDisabled = cfgDfBoolean(),\r\n _a[_DYN_IS_BEACON_API_DISABL3 /* @min:isBeaconApiDisabled */] = cfgDfBoolean(true),\r\n _a[_DYN_DISABLE_SEND_BEACON_7 /* @min:disableSendBeaconSplit */] = cfgDfBoolean(true),\r\n _a[_DYN_DISABLE_XHR /* @min:disableXhr */] = cfgDfBoolean(),\r\n _a[_DYN_ONUNLOAD_DISABLE_FET6 /* @min:onunloadDisableFetch */] = cfgDfBoolean(),\r\n _a[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:onunloadDisableBeacon */] = cfgDfBoolean(),\r\n _a[_DYN_INSTRUMENTATION_KEY /* @min:instrumentationKey */] = UNDEFINED_VALUE,\r\n _a.namePrefix = UNDEFINED_VALUE,\r\n _a.samplingPercentage = cfgDfValidate(_chkSampling, 100),\r\n _a[_DYN_CUSTOM_HEADERS /* @min:customHeaders */] = UNDEFINED_VALUE,\r\n _a[_DYN_CONVERT_UNDEFINED /* @min:convertUndefined */] = UNDEFINED_VALUE,\r\n _a[_DYN_EVENTS_LIMIT_IN_MEM /* @min:eventsLimitInMem */] = 10000,\r\n _a[_DYN_BUFFER_OVERRIDE /* @min:bufferOverride */] = false,\r\n _a.httpXHROverride = { isVal: isOverrideFn, v: UNDEFINED_VALUE },\r\n _a[_DYN_ALWAYS_USE_XHR_OVERR4 /* @min:alwaysUseXhrOverride */] = cfgDfBoolean(),\r\n _a.transports = UNDEFINED_VALUE,\r\n _a.retryCodes = UNDEFINED_VALUE,\r\n _a.maxRetryCnt = { isVal: isNumber, v: 10 },\r\n _a));\r\nfunction _chkSampling(value) {\r\n return !isNaN(value) && value > 0 && value <= 100;\r\n}\r\nvar EnvelopeTypeCreator = (_b = {},\r\n _b[Event.dataType] = EventEnvelopeCreator,\r\n _b[Trace.dataType] = TraceEnvelopeCreator,\r\n _b[PageView.dataType] = PageViewEnvelopeCreator,\r\n _b[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,\r\n _b[Exception.dataType] = ExceptionEnvelopeCreator,\r\n _b[Metric.dataType] = MetricEnvelopeCreator,\r\n _b[RemoteDependencyData.dataType] = DependencyEnvelopeCreator,\r\n _b);\r\nvar Sender = /** @class */ (function (_super) {\r\n __extends(Sender, _super);\r\n function Sender() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 1001;\r\n _this.identifier = BreezeChannelIdentifier;\r\n // Don't set the defaults here, set them in the _initDefaults() as this is also called during unload\r\n var _consecutiveErrors; // How many times in a row a retryable error condition has occurred.\r\n var _retryAt; // The time to retry at in milliseconds from 1970/01/01 (this makes the timer calculation easy).\r\n var _lastSend; // The time of the last send operation.\r\n var _paused; // Flag indicating that the sending should be paused\r\n var _timeoutHandle; // Handle to the timer for delayed sending of batches of data.\r\n var _serializer;\r\n var _stamp_specific_redirects;\r\n var _headers;\r\n var _syncFetchPayload = 0; // Keep track of the outstanding sync fetch payload total (as sync fetch has limits)\r\n var _syncUnloadSender; // The identified sender to use for the synchronous unload stage\r\n var _offlineListener;\r\n var _evtNamespace;\r\n var _endpointUrl;\r\n var _orgEndpointUrl;\r\n var _maxBatchSizeInBytes;\r\n var _beaconSupported;\r\n var _beaconOnUnloadSupported;\r\n var _beaconNormalSupported;\r\n var _customHeaders;\r\n var _disableTelemetry;\r\n var _instrumentationKey;\r\n var _convertUndefined;\r\n var _isRetryDisabled;\r\n var _maxBatchInterval;\r\n var _sessionStorageUsed;\r\n var _bufferOverrideUsed;\r\n var _namePrefix;\r\n var _enableSendPromise;\r\n var _alwaysUseCustomSend;\r\n var _disableXhr;\r\n var _fetchKeepAlive;\r\n var _xhrSend;\r\n var _fallbackSend;\r\n var _disableBeaconSplit;\r\n var _sendPostMgr;\r\n var _retryCodes;\r\n dynamicProto(Sender, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.pause = function () {\r\n _clearScheduledTimer();\r\n _paused = true;\r\n };\r\n _self.resume = function () {\r\n if (_paused) {\r\n _paused = false;\r\n _retryAt = null;\r\n // flush if we have exceeded the max-size already\r\n _checkMaxSize();\r\n _setupTimer();\r\n }\r\n };\r\n _self.flush = function (isAsync, callBack, sendReason) {\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_paused) {\r\n // Clear the normal schedule timer as we are going to try and flush ASAP\r\n _clearScheduledTimer();\r\n try {\r\n return _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](isAsync, null, sendReason || 1 /* SendRequestReason.ManualFlush */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 22 /* _eInternalMessageId.FlushFailed */, \"flush failed, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n };\r\n _self.onunloadFlush = function () {\r\n if (!_paused) {\r\n if (_beaconSupported || _alwaysUseCustomSend) {\r\n try {\r\n return _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, _doUnloadSend, 2 /* SendRequestReason.Unload */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 20 /* _eInternalMessageId.FailedToSendQueuedTelemetry */, \"failed to flush with beacon sender on page unload, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n else {\r\n _self.flush(false);\r\n }\r\n }\r\n };\r\n _self.addHeader = function (name, value) {\r\n _headers[name] = value;\r\n };\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender is already initialized\");\r\n }\r\n _base[_DYN_INITIALIZE /* @min:%2einitialize */](config, core, extensions, pluginChain);\r\n var identifier = _self.identifier;\r\n _serializer = new Serializer(core.logger);\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = 0;\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _stamp_specific_redirects = 0;\r\n var diagLog = _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"Sender\"), core.evtNamespace && core.evtNamespace());\r\n _offlineListener = createOfflineListener(_evtNamespace);\r\n // This function will be re-called whenever any referenced configuration is changed\r\n _self._addHook(onConfigChange(config, function (details) {\r\n var config = details.cfg;\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n // getExtCfg only finds undefined values from core\r\n var senderConfig = ctx.getExtCfg(identifier, defaultAppInsightsChannelConfig);\r\n var curExtUrl = senderConfig[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */];\r\n // if it is not inital change (_endpointUrl has value)\r\n // if current sender endpoint url is not changed directly\r\n // means ExtCfg is not changed directly\r\n // then we need to monitor endpoint url changes from core\r\n if (_endpointUrl && curExtUrl === _endpointUrl) {\r\n var coreUrl = config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */];\r\n // if core endpoint url is changed\r\n if (coreUrl && coreUrl !== curExtUrl) {\r\n // and endpoint promise changes is handled by this as well\r\n senderConfig[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */] = coreUrl;\r\n }\r\n }\r\n if (isPromiseLike(senderConfig[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */])) {\r\n // if it is promise, means the endpoint url is from core.endpointurl\r\n senderConfig[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */] = config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n }\r\n objDefine(_self, \"_senderConfig\", {\r\n g: function () {\r\n return senderConfig;\r\n }\r\n });\r\n // Only update the endpoint if the original config !== the current config\r\n // This is so any redirect endpointUrl is not overwritten\r\n if (_orgEndpointUrl !== senderConfig[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]) {\r\n if (_orgEndpointUrl) {\r\n // TODO: add doc to remind users to flush before changing endpoint, otherwise all unsent payload will be sent to new endpoint\r\n }\r\n _endpointUrl = _orgEndpointUrl = senderConfig[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */];\r\n }\r\n // or is not string\r\n if (core.activeStatus() === ActiveStatus.PENDING) {\r\n // waiting for core promises to be resolved\r\n // NOTE: if active status is set to pending, stop sending, clear timer here\r\n _self.pause();\r\n }\r\n else if (core.activeStatus() === ActiveStatus.ACTIVE) {\r\n // core status changed from pending to other status\r\n _self.resume();\r\n }\r\n if (_customHeaders && _customHeaders !== senderConfig[_DYN_CUSTOM_HEADERS /* @min:%2ecustomHeaders */]) {\r\n // Removing any previously defined custom headers as they have changed\r\n arrForEach(_customHeaders, function (customHeader) {\r\n delete _headers[customHeader.header];\r\n });\r\n }\r\n _maxBatchSizeInBytes = senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:%2emaxBatchSizeInBytes */];\r\n _beaconSupported = (senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:%2eonunloadDisableBeacon */] === false || senderConfig[_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */] === false) && isBeaconsSupported();\r\n _beaconOnUnloadSupported = senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:%2eonunloadDisableBeacon */] === false && isBeaconsSupported();\r\n _beaconNormalSupported = senderConfig[_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */] === false && isBeaconsSupported();\r\n _alwaysUseCustomSend = senderConfig[_DYN_ALWAYS_USE_XHR_OVERR4 /* @min:%2ealwaysUseXhrOverride */];\r\n _disableXhr = !!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */];\r\n _retryCodes = senderConfig.retryCodes;\r\n var bufferOverride = senderConfig[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */];\r\n var canUseSessionStorage = !!senderConfig[_DYN_ENABLE_SESSION_STORA5 /* @min:%2eenableSessionStorageBuffer */] &&\r\n (!!bufferOverride || utlCanUseSessionStorage());\r\n var namePrefix = senderConfig.namePrefix;\r\n //Note: emitLineDelimitedJson and eventsLimitInMem is directly accessed via config in senderBuffer\r\n //Therefore, if canUseSessionStorage is not changed, we do not need to re initialize a new one\r\n var shouldUpdate = (canUseSessionStorage !== _sessionStorageUsed)\r\n || (canUseSessionStorage && (_namePrefix !== namePrefix)) // prefixName is only used in session storage\r\n || (canUseSessionStorage && (_bufferOverrideUsed !== bufferOverride));\r\n if (_self[_DYN__BUFFER /* @min:%2e_buffer */]) {\r\n // case1 (Pre and Now enableSessionStorageBuffer settings are same)\r\n // if namePrefix changes, transfer current buffer to new buffer\r\n // else no action needed\r\n //case2 (Pre and Now enableSessionStorageBuffer settings are changed)\r\n // transfer current buffer to new buffer\r\n if (shouldUpdate) {\r\n try {\r\n _self._buffer = _self._buffer[_DYN_CREATE_NEW /* @min:%2ecreateNew */](diagLog, senderConfig, canUseSessionStorage);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 12 /* _eInternalMessageId.FailedAddingTelemetryToBuffer */, \"failed to transfer telemetry to different buffer storage, telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n _checkMaxSize();\r\n }\r\n else {\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = canUseSessionStorage\r\n ? new SessionStorageSendBuffer(diagLog, senderConfig) : new ArraySendBuffer(diagLog, senderConfig);\r\n }\r\n _namePrefix = namePrefix;\r\n _sessionStorageUsed = canUseSessionStorage;\r\n _bufferOverrideUsed = bufferOverride;\r\n _fetchKeepAlive = !senderConfig[_DYN_ONUNLOAD_DISABLE_FET6 /* @min:%2eonunloadDisableFetch */] && isFetchSupported(true);\r\n _disableBeaconSplit = !!senderConfig[_DYN_DISABLE_SEND_BEACON_7 /* @min:%2edisableSendBeaconSplit */];\r\n _self._sample = new Sample(senderConfig.samplingPercentage, diagLog);\r\n _instrumentationKey = senderConfig[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n if (!isPromiseLike(_instrumentationKey) && !_validateInstrumentationKey(_instrumentationKey, config)) {\r\n _throwInternal(diagLog, 1 /* eLoggingSeverity.CRITICAL */, 100 /* _eInternalMessageId.InvalidInstrumentationKey */, \"Invalid Instrumentation key \" + _instrumentationKey);\r\n }\r\n _customHeaders = senderConfig[_DYN_CUSTOM_HEADERS /* @min:%2ecustomHeaders */];\r\n if (isString(_endpointUrl) && !isInternalApplicationInsightsEndpoint(_endpointUrl) && _customHeaders && _customHeaders[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(_customHeaders, function (customHeader) {\r\n _this.addHeader(customHeader.header, customHeader.value);\r\n });\r\n }\r\n else {\r\n _customHeaders = null;\r\n }\r\n _enableSendPromise = senderConfig[_DYN_ENABLE_SEND_PROMISE /* @min:%2eenableSendPromise */];\r\n var sendPostConfig = _getSendPostMgrConfig();\r\n // only init it once\r\n if (!_sendPostMgr) {\r\n _sendPostMgr = new SenderPostManager();\r\n _sendPostMgr[_DYN_INITIALIZE /* @min:%2einitialize */](sendPostConfig, diagLog);\r\n }\r\n else {\r\n _sendPostMgr.SetConfig(sendPostConfig);\r\n }\r\n var customInterface = senderConfig.httpXHROverride;\r\n var httpInterface = null;\r\n var syncInterface = null;\r\n // User requested transport(s) values > Beacon > Fetch > XHR\r\n // Beacon would be filtered out if user has set disableBeaconApi to true at _getSenderInterface\r\n var theTransports = prependTransports([3 /* TransportType.Beacon */, 1 /* TransportType.Xhr */, 2 /* TransportType.Fetch */], senderConfig.transports);\r\n httpInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_SENDER_INST /* @min:%2egetSenderInst */](theTransports, false);\r\n var xhrInterface = _sendPostMgr && _sendPostMgr.getFallbackInst();\r\n _xhrSend = function (payload, isAsync) {\r\n return _doSend(xhrInterface, payload, isAsync);\r\n };\r\n _fallbackSend = function (payload, isAsync) {\r\n return _doSend(xhrInterface, payload, isAsync, false);\r\n };\r\n httpInterface = _alwaysUseCustomSend ? customInterface : (httpInterface || customInterface || xhrInterface);\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = function (payload, isAsync) {\r\n return _doSend(httpInterface, payload, isAsync);\r\n };\r\n if (_fetchKeepAlive) {\r\n // Try and use the fetch with keepalive\r\n _syncUnloadSender = _fetchKeepAliveSender;\r\n }\r\n var syncTransports = prependTransports([3 /* TransportType.Beacon */, 1 /* TransportType.Xhr */], senderConfig[_DYN_UNLOAD_TRANSPORTS /* @min:%2eunloadTransports */]);\r\n if (!_fetchKeepAlive) {\r\n // remove fetch from theTransports\r\n syncTransports = syncTransports.filter(function (transport) { return transport !== 2 /* TransportType.Fetch */; });\r\n }\r\n syncInterface = _sendPostMgr && _sendPostMgr[_DYN_GET_SENDER_INST /* @min:%2egetSenderInst */](syncTransports, true);\r\n syncInterface = _alwaysUseCustomSend ? customInterface : (syncInterface || customInterface);\r\n if ((_alwaysUseCustomSend || senderConfig[_DYN_UNLOAD_TRANSPORTS /* @min:%2eunloadTransports */] || !_syncUnloadSender) && syncInterface) {\r\n _syncUnloadSender = function (payload, isAsync) {\r\n return _doSend(syncInterface, payload, isAsync);\r\n };\r\n }\r\n if (!_syncUnloadSender) {\r\n _syncUnloadSender = _xhrSend;\r\n }\r\n _disableTelemetry = senderConfig.disableTelemetry;\r\n _convertUndefined = senderConfig[_DYN_CONVERT_UNDEFINED /* @min:%2econvertUndefined */] || UNDEFINED_VALUE;\r\n _isRetryDisabled = senderConfig.isRetryDisabled;\r\n _maxBatchInterval = senderConfig[_DYN_MAX_BATCH_INTERVAL /* @min:%2emaxBatchInterval */];\r\n }));\r\n };\r\n _self.processTelemetry = function (telemetryItem, itemCtx) {\r\n var _a;\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n var diagLogger = itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n try {\r\n var isValidate = _validate(telemetryItem, diagLogger);\r\n if (!isValidate) {\r\n return;\r\n }\r\n var aiEnvelope = _getEnvelope(telemetryItem, diagLogger);\r\n if (!aiEnvelope) {\r\n return;\r\n }\r\n // check if the incoming payload is too large, truncate if necessary\r\n var payload = _serializer[_DYN_SERIALIZE /* @min:%2eserialize */](aiEnvelope);\r\n // flush if we would exceed the max-size limit by adding this item\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n _checkMaxSize(payload);\r\n var payloadItem = (_a = {},\r\n _a[_DYN_ITEM /* @min:item */] = payload,\r\n _a.cnt = 0 // inital cnt will always be 0\r\n ,\r\n _a);\r\n // enqueue the payload\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payloadItem);\r\n // ensure an invocation timeout is set\r\n _setupTimer();\r\n }\r\n catch (e) {\r\n _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 12 /* _eInternalMessageId.FailedAddingTelemetryToBuffer */, \"Failed adding telemetry to the sender's buffer, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n // hand off the telemetry item to the next plugin\r\n _self.processNext(telemetryItem, itemCtx);\r\n };\r\n _self.isCompletelyIdle = function () {\r\n return !_paused && _syncFetchPayload === 0 && _self._buffer[_DYN_COUNT /* @min:%2ecount */]() === 0;\r\n };\r\n _self.getOfflineListener = function () {\r\n return _offlineListener;\r\n };\r\n /**\r\n * xhr state changes\r\n */\r\n _self._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {\r\n // since version 3.2.0, this function is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _xhrReadyStateChange(xhr, payload, countOfItemsInPayload);\r\n };\r\n /**\r\n * Immediately send buffered data\r\n * @param async - {boolean} - Indicates if the events should be sent asynchronously\r\n * @param forcedSender - {SenderFunction} - Indicates the forcedSender, undefined if not passed\r\n */\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */] = function (async, forcedSender, sendReason) {\r\n if (async === void 0) { async = true; }\r\n var result;\r\n if (!_paused) {\r\n try {\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n // Send data only if disableTelemetry is false\r\n if (!_disableTelemetry) {\r\n if (buffer[_DYN_COUNT /* @min:%2ecount */]() > 0) {\r\n var payload = buffer.getItems();\r\n _notifySendRequest(sendReason || 0 /* SendRequestReason.Undefined */, async);\r\n // invoke send\r\n if (forcedSender) {\r\n result = forcedSender.call(_self, payload, async);\r\n }\r\n else {\r\n result = _self[_DYN__SENDER /* @min:%2e_sender */](payload, async);\r\n }\r\n }\r\n // update lastSend time to enable throttling\r\n _lastSend = +new Date;\r\n }\r\n else {\r\n buffer[_DYN_CLEAR /* @min:%2eclear */]();\r\n }\r\n _clearScheduledTimer();\r\n }\r\n catch (e) {\r\n /* Ignore this error for IE under v10 */\r\n var ieVer = getIEVersion();\r\n if (!ieVer || ieVer > 9) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Telemetry transmission failed, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n _self.getOfflineSupport = function () {\r\n var _a;\r\n return _a = {\r\n getUrl: function () {\r\n return _endpointUrl;\r\n },\r\n createPayload: _createPayload\r\n },\r\n _a[_DYN_SERIALIZE /* @min:serialize */] = _serialize,\r\n _a.batch = _batch,\r\n _a.shouldProcess = function (evt) {\r\n return !!_validate(evt);\r\n },\r\n _a;\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _self.onunloadFlush();\r\n runTargetUnload(_offlineListener, false);\r\n _initDefaults();\r\n };\r\n /**\r\n * error handler\r\n */\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */] = function (payload, message, event) {\r\n // since version 3.1.3, string[] is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _onError(payload, message, event);\r\n };\r\n /**\r\n * partial success handler\r\n */\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */] = function (payload, results) {\r\n // since version 3.1.3, string[] is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _onPartialSuccess(payload, results);\r\n };\r\n /**\r\n * success handler\r\n */\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */] = function (payload, countOfItemsInPayload) {\r\n // since version 3.1.3, string[] is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _onSuccess(payload, countOfItemsInPayload);\r\n //_self._buffer && _self._buffer.clearSent(payload);\r\n };\r\n /**\r\n * xdr state changes\r\n */\r\n _self._xdrOnLoad = function (xdr, payload) {\r\n // since version 3.1.3, string[] is no-op\r\n if (_isStringArr(payload)) {\r\n return;\r\n }\r\n return _xdrOnLoad(xdr, payload);\r\n };\r\n function _xdrOnLoad(xdr, payload) {\r\n var responseText = _getResponseText(xdr);\r\n if (xdr && (responseText + \"\" === \"200\" || responseText === \"\")) {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, 0);\r\n }\r\n else {\r\n var results = parseResponse(responseText);\r\n if (results && results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] && results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] > results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]\r\n && !_isRetryDisabled) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, results);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, formatErrorMessageXdr(xdr));\r\n }\r\n }\r\n }\r\n function _getSendPostMgrConfig() {\r\n var _a;\r\n try {\r\n var onCompleteFuncs = {\r\n xdrOnComplete: function (xdr, oncomplete, payload) {\r\n var data = _getPayloadArr(payload);\r\n if (!data) {\r\n return;\r\n }\r\n return _xdrOnLoad(xdr, data);\r\n },\r\n fetchOnComplete: function (response, onComplete, resValue, payload) {\r\n var data = _getPayloadArr(payload);\r\n if (!data) {\r\n return;\r\n }\r\n return _checkResponsStatus(response.status, data, response.url, data[_DYN_LENGTH /* @min:%2elength */], response.statusText, resValue || \"\");\r\n },\r\n xhrOnComplete: function (request, oncomplete, payload) {\r\n var data = _getPayloadArr(payload);\r\n if (!data) {\r\n return;\r\n }\r\n return _xhrReadyStateChange(request, data, data[_DYN_LENGTH /* @min:%2elength */]);\r\n },\r\n beaconOnRetry: function (data, onComplete, canSend) {\r\n return _onBeaconRetry(data, onComplete, canSend);\r\n }\r\n };\r\n var config = (_a = {},\r\n _a[_DYN_ENABLE_SEND_PROMISE /* @min:enableSendPromise */] = _enableSendPromise,\r\n _a.isOneDs = false,\r\n _a.disableCredentials = false,\r\n _a[_DYN_DISABLE_XHR /* @min:disableXhr */] = _disableXhr,\r\n _a.disableBeacon = !_beaconNormalSupported,\r\n _a.disableBeaconSync = !_beaconOnUnloadSupported,\r\n _a.senderOnCompleteCallBack = onCompleteFuncs,\r\n _a);\r\n return config;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n /**\r\n * xhr state changes\r\n */\r\n function _xhrReadyStateChange(xhr, payload, countOfItemsInPayload) {\r\n if (xhr.readyState === 4) {\r\n _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);\r\n }\r\n }\r\n /**\r\n * error handler\r\n */\r\n function _onError(payload, message, event) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 26 /* _eInternalMessageId.OnError */, \"Failed to send telemetry.\", { message: message });\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n }\r\n /**\r\n * partial success handler\r\n */\r\n function _onPartialSuccess(payload, results) {\r\n var failed = [];\r\n var retry = [];\r\n // Iterate through the reversed array of errors so that splicing doesn't have invalid indexes after the first item.\r\n var errors = results.errors.reverse();\r\n for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {\r\n var error = errors_1[_i];\r\n var extracted = payload.splice(error.index, 1)[0];\r\n if (_isRetriable(error.statusCode)) {\r\n retry[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n else {\r\n // All other errors, including: 402 (Monthly quota exceeded) and 439 (Too many requests and refresh cache).\r\n failed[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n }\r\n if (payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]);\r\n }\r\n if (failed[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](failed, formatErrorMessageXhr(null, [\"partial success\", results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */], \"of\", results.itemsReceived].join(\" \")));\r\n }\r\n if (retry[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _resendPayload(retry);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Partial success. \" +\r\n \"Delivered: \" + payload[_DYN_LENGTH /* @min:%2elength */] + \", Failed: \" + failed[_DYN_LENGTH /* @min:%2elength */] +\r\n \". Will retry to send \" + retry[_DYN_LENGTH /* @min:%2elength */] + \" our of \" + results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] + \" items\");\r\n }\r\n }\r\n /**\r\n * success handler\r\n */\r\n function _onSuccess(payload, countOfItemsInPayload) {\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n }\r\n function _getPayloadArr(payload) {\r\n try {\r\n if (payload) {\r\n var internalPayload = payload;\r\n var arr = internalPayload[_DYN_ORI_PAYLOAD /* @min:%2eoriPayload */];\r\n if (arr && arr[_DYN_LENGTH /* @min:%2elength */]) {\r\n return arr;\r\n }\r\n return null;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n function _validate(telemetryItem, diagLogger) {\r\n if (_disableTelemetry) {\r\n // Do not send/save data\r\n return false;\r\n }\r\n // validate input\r\n if (!telemetryItem) {\r\n diagLogger && _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 7 /* _eInternalMessageId.CannotSendEmptyTelemetry */, \"Cannot send empty telemetry\");\r\n return false;\r\n }\r\n // validate event\r\n if (telemetryItem.baseData && !telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n diagLogger && _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 70 /* _eInternalMessageId.InvalidEvent */, \"Cannot send telemetry without baseData and baseType\");\r\n return false;\r\n }\r\n if (!telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n // Default\r\n telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */] = \"EventData\";\r\n }\r\n // ensure a sender was constructed\r\n if (!_self[_DYN__SENDER /* @min:%2e_sender */]) {\r\n diagLogger && _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender was not initialized\");\r\n return false;\r\n }\r\n // check if this item should be sampled in, else add sampleRate tag\r\n if (!_isSampledIn(telemetryItem)) {\r\n // Item is sampled out, do not send it\r\n diagLogger && _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 33 /* _eInternalMessageId.TelemetrySampledAndNotSent */, \"Telemetry item was sampled out and not sent\", { SampleRate: _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] });\r\n return false;\r\n }\r\n else {\r\n telemetryItem[SampleRate] = _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */];\r\n }\r\n return true;\r\n }\r\n function _getEnvelope(telemetryItem, diagLogger) {\r\n // construct an envelope that Application Insights endpoint can understand\r\n // if ikey of telemetry is provided and not empty, envelope will use this iKey instead of senderConfig iKey\r\n var defaultEnvelopeIkey = telemetryItem.iKey || _instrumentationKey;\r\n var aiEnvelope = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, diagLogger, _convertUndefined);\r\n if (!aiEnvelope) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 47 /* _eInternalMessageId.CreateEnvelopeError */, \"Unable to create an AppInsights envelope\");\r\n return;\r\n }\r\n var doNotSendItem = false;\r\n // this is for running in legacy mode, where customer may already have a custom initializer present\r\n if (telemetryItem[_DYN_TAGS /* @min:%2etags */] && telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy]) {\r\n arrForEach(telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy], function (callBack) {\r\n try {\r\n if (callBack && callBack(aiEnvelope) === false) {\r\n doNotSendItem = true;\r\n _warnToConsole(diagLogger, \"Telemetry processor check returns false\");\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n delete telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy];\r\n }\r\n if (doNotSendItem) {\r\n return; // do not send, no need to execute next plugin\r\n }\r\n return aiEnvelope;\r\n }\r\n function _serialize(item) {\r\n var rlt = EMPTY_STR;\r\n var diagLogger = _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n try {\r\n var valid = _validate(item, diagLogger);\r\n var envelope = null;\r\n if (valid) {\r\n envelope = _getEnvelope(item, diagLogger);\r\n }\r\n if (envelope) {\r\n rlt = _serializer[_DYN_SERIALIZE /* @min:%2eserialize */](envelope);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return rlt;\r\n }\r\n function _batch(arr) {\r\n var rlt = EMPTY_STR;\r\n if (arr && arr[_DYN_LENGTH /* @min:%2elength */]) {\r\n rlt = \"[\" + arr.join(\",\") + \"]\";\r\n }\r\n return rlt;\r\n }\r\n function _createPayload(data) {\r\n var _a;\r\n var headers = _getHeaders();\r\n return _a = {\r\n urlString: _endpointUrl\r\n },\r\n _a[_DYN_DATA /* @min:data */] = data,\r\n _a.headers = headers,\r\n _a;\r\n }\r\n function _isSampledIn(envelope) {\r\n return _self._sample.isSampledIn(envelope);\r\n }\r\n function _getOnComplete(payload, status, headers, response) {\r\n // ***********************************************************************************************\r\n //TODO: handle other status codes\r\n if (status === 200 && payload) {\r\n _self._onSuccess(payload, payload[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n else {\r\n response && _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, response);\r\n }\r\n }\r\n function _doSend(sendInterface, payload, isAsync, markAsSent) {\r\n if (markAsSent === void 0) { markAsSent = true; }\r\n var onComplete = function (status, headers, response) {\r\n return _getOnComplete(payload, status, headers, response);\r\n };\r\n var payloadData = _getPayload(payload);\r\n var sendPostFunc = sendInterface && sendInterface.sendPOST;\r\n if (sendPostFunc && payloadData) {\r\n // ***********************************************************************************************\r\n // mark payload as sent at the beginning of calling each send function\r\n if (markAsSent) {\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n }\r\n return sendPostFunc(payloadData, onComplete, !isAsync);\r\n }\r\n return null;\r\n }\r\n function _getPayload(payload) {\r\n var _a;\r\n if (isArray(payload) && payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var batch = _self[_DYN__BUFFER /* @min:%2e_buffer */].batchPayloads(payload);\r\n var headers = _getHeaders();\r\n var payloadData = (_a = {},\r\n _a[_DYN_DATA /* @min:data */] = batch,\r\n _a.urlString = _endpointUrl,\r\n _a.headers = headers,\r\n _a.disableXhrSync = _disableXhr,\r\n _a.disableFetchKeepAlive = !_fetchKeepAlive,\r\n _a[_DYN_ORI_PAYLOAD /* @min:oriPayload */] = payload,\r\n _a);\r\n return payloadData;\r\n }\r\n return null;\r\n }\r\n function _getHeaders() {\r\n try {\r\n var headers = _headers || {};\r\n if (isInternalApplicationInsightsEndpoint(_endpointUrl)) {\r\n headers[RequestHeaders[6 /* eRequestHeaders.sdkContextHeader */]] = RequestHeaders[7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */];\r\n }\r\n return headers;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n function _checkMaxSize(incomingPayload) {\r\n var incomingSize = incomingPayload ? incomingPayload[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n if ((_self[_DYN__BUFFER /* @min:%2e_buffer */].size() + incomingSize) > _maxBatchSizeInBytes) {\r\n if (!_offlineListener || _offlineListener.isOnline()) { // only trigger send when currently online\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 10 /* SendRequestReason.MaxBatchSize */);\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {\r\n var response = null;\r\n if (!_self._appId) {\r\n response = parseResponse(res);\r\n if (response && response.appId) {\r\n _self._appId = response.appId;\r\n }\r\n }\r\n if ((status < 200 || status >= 300) && status !== 0) {\r\n // Update End Point url if permanent redirect or moved permanently\r\n // Updates the end point url before retry\r\n if (status === 301 || status === 307 || status === 308) {\r\n if (!_checkAndUpdateEndPointUrl(responseUrl)) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n return;\r\n }\r\n }\r\n if (_offlineListener && !_offlineListener.isOnline()) { // offline\r\n // Note: Don't check for status == 0, since adblock gives this code\r\n if (!_isRetryDisabled) {\r\n var offlineBackOffMultiplier = 10; // arbritrary number\r\n _resendPayload(payload, offlineBackOffMultiplier);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". Offline - Response Code: \".concat(status, \". Offline status: \").concat(!_offlineListener.isOnline(), \". Will retry to send \").concat(payload.length, \" items.\"));\r\n }\r\n return;\r\n }\r\n if (!_isRetryDisabled && _isRetriable(status)) {\r\n _resendPayload(payload);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" +\r\n \"Response code \" + status + \". Will retry to send \" + payload[_DYN_LENGTH /* @min:%2elength */] + \" items.\");\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else {\r\n // check if the xhr's responseURL or fetch's response.url is same as endpoint url\r\n // TODO after 10 redirects force send telemetry with 'redirect=false' as query parameter.\r\n _checkAndUpdateEndPointUrl(responseUrl);\r\n if (status === 206) {\r\n if (!response) {\r\n response = parseResponse(res);\r\n }\r\n if (response && !_isRetryDisabled) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, response);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, countOfItemsInPayload);\r\n }\r\n }\r\n }\r\n function _checkAndUpdateEndPointUrl(responseUrl) {\r\n // Maximum stamp specific redirects allowed(uncomment this when breeze is ready with not allowing redirects feature)\r\n if (_stamp_specific_redirects >= 10) {\r\n // _self._senderConfig.endpointUrl = () => Sender._getDefaultAppInsightsChannelConfig().endpointUrl()+\"/?redirect=false\";\r\n // _stamp_specific_redirects = 0;\r\n return false;\r\n }\r\n if (!isNullOrUndefined(responseUrl) && responseUrl !== \"\") {\r\n if (responseUrl !== _endpointUrl) {\r\n _endpointUrl = responseUrl;\r\n ++_stamp_specific_redirects;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _doUnloadSend(payload, isAsync) {\r\n if (_syncUnloadSender) {\r\n // We are unloading so always call the sender with sync set to false\r\n _syncUnloadSender(payload, false);\r\n }\r\n else {\r\n // Fallback to the previous beacon Sender (which causes a CORB warning on chrome now)\r\n var beaconInst = _sendPostMgr && _sendPostMgr[_DYN_GET_SENDER_INST /* @min:%2egetSenderInst */]([3 /* TransportType.Beacon */], true);\r\n return _doSend(beaconInst, payload, isAsync);\r\n }\r\n }\r\n function _onBeaconRetry(payload, onComplete, canSend) {\r\n var internalPayload = payload;\r\n var data = internalPayload && internalPayload[_DYN_ORI_PAYLOAD /* @min:%2eoriPayload */];\r\n if (!_disableBeaconSplit) {\r\n // Failed to send entire payload so try and split data and try to send as much events as possible\r\n var droppedPayload = [];\r\n for (var lp = 0; lp < data[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var thePayload = data[lp];\r\n var arr = [thePayload];\r\n var item = _getPayload(arr);\r\n if (!canSend(item, onComplete)) {\r\n // Can't send anymore, so split the batch and drop the rest\r\n droppedPayload[_DYN_PUSH /* @min:%2epush */](thePayload);\r\n }\r\n else {\r\n _self._onSuccess(arr, arr[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n }\r\n if (droppedPayload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _fallbackSend && _fallbackSend(droppedPayload, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n else {\r\n _fallbackSend && _fallbackSend(data, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n function _isStringArr(arr) {\r\n try {\r\n if (arr && arr[_DYN_LENGTH /* @min:%2elength */]) {\r\n return (isString(arr[0]));\r\n }\r\n }\r\n catch (e) {\r\n //TODO: log, sender use IInternalStorageItem instead of string since 3.1.3\r\n }\r\n return null;\r\n }\r\n function _fetchKeepAliveSender(payload, isAsync) {\r\n var transport = null;\r\n if (isArray(payload)) {\r\n var payloadSize = payload[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < payload[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n payloadSize += payload[lp].item[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n var syncFetchPayload = _sendPostMgr.getSyncFetchPayload();\r\n if ((syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {\r\n transport = 2 /* TransportType.Fetch */;\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Fallback to beacon sender as we at least get told which events can't be scheduled\r\n transport = 3 /* TransportType.Beacon */;\r\n }\r\n else {\r\n // Payload is going to be too big so just try and send via XHR\r\n transport = 1 /* TransportType.Xhr */;\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with xhrSender.\");\r\n }\r\n var inst = _sendPostMgr && _sendPostMgr[_DYN_GET_SENDER_INST /* @min:%2egetSenderInst */]([transport], true);\r\n return _doSend(inst, payload, isAsync);\r\n }\r\n return null;\r\n }\r\n /**\r\n * Resend payload. Adds payload back to the send buffer and setup a send timer (with exponential backoff).\r\n * @param payload\r\n */\r\n function _resendPayload(payload, linearFactor) {\r\n if (linearFactor === void 0) { linearFactor = 1; }\r\n if (!payload || payload[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return;\r\n }\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n _consecutiveErrors++;\r\n for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {\r\n var item = payload_1[_i];\r\n item.cnt = item.cnt || 0; // to make sure we have cnt for each payload\r\n item.cnt++; // when resend, increase cnt\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](item);\r\n }\r\n // setup timer\r\n _setRetryTime(linearFactor);\r\n _setupTimer();\r\n }\r\n /**\r\n * Calculates the time to wait before retrying in case of an error based on\r\n * http://en.wikipedia.org/wiki/Exponential_backoff\r\n */\r\n function _setRetryTime(linearFactor) {\r\n var SlotDelayInSeconds = 10;\r\n var delayInSeconds;\r\n if (_consecutiveErrors <= 1) {\r\n delayInSeconds = SlotDelayInSeconds;\r\n }\r\n else {\r\n var backOffSlot = (Math.pow(2, _consecutiveErrors) - 1) / 2;\r\n // tslint:disable-next-line:insecure-random\r\n var backOffDelay = Math.floor(Math.random() * backOffSlot * SlotDelayInSeconds) + 1;\r\n backOffDelay = linearFactor * backOffDelay;\r\n delayInSeconds = Math.max(Math.min(backOffDelay, 3600), SlotDelayInSeconds);\r\n }\r\n // TODO: Log the backoff time like the C# version does.\r\n var retryAfterTimeSpan = dateNow() + (delayInSeconds * 1000);\r\n // TODO: Log the retry at time like the C# version does.\r\n _retryAt = retryAfterTimeSpan;\r\n }\r\n /**\r\n * Sets up the timer which triggers actually sending the data.\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && !_paused) {\r\n var retryInterval = _retryAt ? Math.max(0, _retryAt - dateNow()) : 0;\r\n var timerValue = Math.max(_maxBatchInterval, retryInterval);\r\n _timeoutHandle = scheduleTimeout(function () {\r\n _timeoutHandle = null;\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 1 /* SendRequestReason.NormalSchedule */);\r\n }, timerValue);\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n _timeoutHandle && _timeoutHandle.cancel();\r\n _timeoutHandle = null;\r\n _retryAt = null;\r\n }\r\n /**\r\n * Checks if the SDK should resend the payload after receiving this status code from the backend.\r\n * @param statusCode\r\n */\r\n function _isRetriable(statusCode) {\r\n // retryCodes = [] means should not retry\r\n if (!isNullOrUndefined(_retryCodes)) {\r\n return _retryCodes[_DYN_LENGTH /* @min:%2elength */] && _retryCodes.indexOf(statusCode) > -1;\r\n }\r\n return statusCode === 401 // Unauthorized\r\n // Removing as private links can return a 403 which causes excessive retries and session storage usage\r\n // || statusCode === 403 // Forbidden\r\n || statusCode === 408 // Timeout\r\n || statusCode === 429 // Too many requests.\r\n || statusCode === 500 // Internal server error.\r\n || statusCode === 502 // Bad Gateway.\r\n || statusCode === 503 // Service unavailable.\r\n || statusCode === 504; // Gateway timeout.\r\n }\r\n // Using function lookups for backward compatibility as the getNotifyMgr() did not exist until after v2.5.6\r\n function _getNotifyMgr() {\r\n var func = \"getNotifyMgr\";\r\n if (_self.core[func]) {\r\n return _self.core[func]();\r\n }\r\n // using _self.core['_notificationManager'] for backward compatibility\r\n return _self.core[\"_notificationManager\"];\r\n }\r\n function _notifySendRequest(sendRequest, isAsync) {\r\n var manager = _getNotifyMgr();\r\n if (manager && manager[_DYN_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */]) {\r\n try {\r\n manager[_DYN_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */](sendRequest, isAsync);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 74 /* _eInternalMessageId.NotificationException */, \"send request notification failed: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n /**\r\n * Validate UUID Format\r\n * Specs taken from https://tools.ietf.org/html/rfc4122 and breeze repo\r\n */\r\n function _validateInstrumentationKey(instrumentationKey, config) {\r\n var disableValidation = config.disableInstrumentationKeyValidation;\r\n var disableIKeyValidationFlag = isNullOrUndefined(disableValidation) ? false : disableValidation;\r\n if (disableIKeyValidationFlag) {\r\n return true;\r\n }\r\n var UUID_Regex = \"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\";\r\n var regexp = new RegExp(UUID_Regex);\r\n return regexp.test(instrumentationKey);\r\n }\r\n function _initDefaults() {\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = null;\r\n _self._appId = null;\r\n _self._sample = null;\r\n _headers = {};\r\n _offlineListener = null;\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = null;\r\n _paused = false;\r\n _timeoutHandle = null;\r\n _serializer = null;\r\n _stamp_specific_redirects = 0;\r\n _syncFetchPayload = 0;\r\n _syncUnloadSender = null;\r\n _evtNamespace = null;\r\n _endpointUrl = null;\r\n _orgEndpointUrl = null;\r\n _maxBatchSizeInBytes = 0;\r\n _beaconSupported = false;\r\n _customHeaders = null;\r\n _disableTelemetry = false;\r\n _instrumentationKey = null;\r\n _convertUndefined = UNDEFINED_VALUE;\r\n _isRetryDisabled = false;\r\n _sessionStorageUsed = null;\r\n _namePrefix = UNDEFINED_VALUE;\r\n _disableXhr = false;\r\n _fetchKeepAlive = false;\r\n _disableBeaconSplit = false;\r\n _xhrSend = null;\r\n _fallbackSend = null;\r\n _sendPostMgr = null;\r\n objDefine(_self, \"_senderConfig\", {\r\n g: function () {\r\n return objExtend({}, defaultAppInsightsChannelConfig);\r\n }\r\n });\r\n }\r\n });\r\n return _this;\r\n }\r\n Sender.constructEnvelope = function (orig, iKey, logger, convertUndefined) {\r\n var envelope;\r\n if (iKey !== orig.iKey && !isNullOrUndefined(iKey)) {\r\n envelope = __assign(__assign({}, orig), { iKey: iKey });\r\n }\r\n else {\r\n envelope = orig;\r\n }\r\n var creator = EnvelopeTypeCreator[envelope.baseType] || EventEnvelopeCreator;\r\n return creator(logger, envelope, convertUndefined);\r\n };\r\n /**\r\n * Pause the sending (transmission) of events, this will cause all events to be batched only until the maximum limits are\r\n * hit at which point new events are dropped. Will also cause events to NOT be sent during page unload, so if Session storage\r\n * is disabled events will be lost.\r\n * SessionStorage Limit is 2000 events, In-Memory (Array) Storage is 10,000 events (can be configured via the eventsLimitInMem).\r\n */\r\n Sender.prototype.pause = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Resume the sending (transmission) of events, this will restart the timer and any batched events will be sent using the normal\r\n * send interval.\r\n */\r\n Sender.prototype.resume = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Flush to send data immediately; channel should default to sending data asynchronously. If executing asynchronously (the default) and\r\n * you DO NOT pass a callback function then a [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * will be returned which will resolve once the flush is complete. The actual implementation of the `IPromise`\r\n * will be a native Promise (if supported) or the default as supplied by [ts-async library](https://github.com/nevware21/ts-async)\r\n * @param async - send data asynchronously when true\r\n * @param callBack - if specified, notify caller when send is complete, the channel should return true to indicate to the caller that it will be called.\r\n * If the caller doesn't return true the caller should assume that it may never be called.\r\n * @param sendReason - specify the reason that you are calling \"flush\" defaults to ManualFlush (1) if not specified\r\n * @returns - If a callback is provided `true` to indicate that callback will be called after the flush is complete otherwise the caller\r\n * should assume that any provided callback will never be called, Nothing or if occurring asynchronously a\r\n * [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html) which will be resolved once the unload is complete,\r\n * the [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html) will only be returned when no callback is provided\r\n * and async is true.\r\n */\r\n Sender.prototype.flush = function (async, callBack) {\r\n if (async === void 0) { async = true; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Flush the batched events synchronously (if possible -- based on configuration).\r\n * Will not flush if the Send has been paused.\r\n */\r\n Sender.prototype.onunloadFlush = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n Sender.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n Sender.prototype.processTelemetry = function (telemetryItem, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * xhr state changes\r\n * @deprecated\r\n * since version 3.2.0, if the payload is string[], this function is no-op (string[] is only used for backwards Compatibility)\r\n */\r\n Sender.prototype._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n // TODO: no-op\r\n // add note to users, this will be removed\r\n };\r\n /**\r\n * Trigger the immediate send of buffered data; If executing asynchronously (the default) this may (not required) return\r\n * an [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html) that will resolve once the\r\n * send is complete. The actual implementation of the `IPromise` will be a native Promise (if supported) or the default\r\n * as supplied by [ts-async library](https://github.com/nevware21/ts-async)\r\n * @param async - Indicates if the events should be sent asynchronously\r\n * @param forcedSender - {SenderFunction} - Indicates the forcedSender, undefined if not passed\r\n * @returns - Nothing or optionally, if occurring asynchronously a [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * which will be resolved (or reject) once the send is complete, the [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * should only be returned when async is true.\r\n */\r\n Sender.prototype.triggerSend = function (async, forcedSender, sendReason) {\r\n if (async === void 0) { async = true; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * error handler\r\n * @Internal\r\n * since version 3.2.0, if the payload is string[], this function is no-op (string[] is only used for backwards Compatibility)\r\n */\r\n Sender.prototype._onError = function (payload, message, event) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * partial success handler\r\n * @Internal\r\n * since version 3.2.0, if the payload is string[], this function is no-op (string[] is only used for backwards Compatibility)\r\n */\r\n Sender.prototype._onPartialSuccess = function (payload, results) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * success handler\r\n * @Internal\r\n * since version 3.2.0, if the payload is string[], this function is no-op (string[] is only used for backwards Compatibility)\r\n */\r\n Sender.prototype._onSuccess = function (payload, countOfItemsInPayload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * xdr state changes\r\n * @deprecated\r\n * since version 3.2.0, if the payload is string[], this function is no-op (string[] is only used for backwards Compatibility)\r\n */\r\n Sender.prototype._xdrOnLoad = function (xdr, payload) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add header to request\r\n * @param name - Header name.\r\n * @param value - Header value.\r\n */\r\n Sender.prototype.addHeader = function (name, value) {\r\n // @DynamicProtoStub - DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Check if there are no active requests being sent.\r\n * @returns True if idle, false otherwise.\r\n */\r\n Sender.prototype.isCompletelyIdle = function () {\r\n // @DynamicProtoStub - DO NOT add any code as this will be removed during packaging\r\n return false;\r\n };\r\n /**\r\n * Get Offline Serializer support\r\n * @returns internal Offline Serializer object\r\n */\r\n Sender.prototype.getOfflineSupport = function () {\r\n // @DynamicProtoStub - DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Get Offline listener\r\n * @returns offlineListener\r\n * @since 3.3.4\r\n */\r\n Sender.prototype.getOfflineListener = function () {\r\n // @DynamicProtoStub - DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n return Sender;\r\n}(BaseTelemetryPlugin));\r\nexport { Sender };\r\n//# sourceMappingURL=Sender.js.map","import dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _throwInternal, getJSON, isArray, isFunction, isObject, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PUSH, _DYN_SERIALIZE, _DYN_STRINGIFY, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar Serializer = /** @class */ (function () {\r\n function Serializer(logger) {\r\n dynamicProto(Serializer, this, function (_self) {\r\n /**\r\n * Serializes the current object to a JSON string.\r\n */\r\n _self[_DYN_SERIALIZE /* @min:%2eserialize */] = function (input) {\r\n var output = _serializeObject(input, \"root\");\r\n try {\r\n return getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](output);\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n };\r\n function _serializeObject(source, name) {\r\n var circularReferenceCheck = \"__aiCircularRefCheck\";\r\n var output = {};\r\n if (!source) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, \"cannot serialize object because it is null or undefined\", { name: name }, true);\r\n return output;\r\n }\r\n if (source[circularReferenceCheck]) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 50 /* _eInternalMessageId.CircularReferenceDetected */, \"Circular reference detected while serializing object\", { name: name }, true);\r\n return output;\r\n }\r\n if (!source.aiDataContract) {\r\n // special case for measurements/properties/tags\r\n if (name === \"measurements\") {\r\n output = _serializeStringMap(source, \"number\", name);\r\n }\r\n else if (name === \"properties\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (name === \"tags\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (isArray(source)) {\r\n output = _serializeArray(source, name);\r\n }\r\n else {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"Attempting to serialize an object which does not implement ISerializable\", { name: name }, true);\r\n try {\r\n // verify that the object can be stringified\r\n getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](source);\r\n output = source;\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n }\r\n return output;\r\n }\r\n source[circularReferenceCheck] = true;\r\n objForEachKey(source.aiDataContract, function (field, contract) {\r\n var isRequired = (isFunction(contract)) ? (contract() & 1 /* FieldType.Required */) : (contract & 1 /* FieldType.Required */);\r\n var isHidden = (isFunction(contract)) ? (contract() & 4 /* FieldType.Hidden */) : (contract & 4 /* FieldType.Hidden */);\r\n var isArray = contract & 2 /* FieldType.Array */;\r\n var isPresent = source[field] !== undefined;\r\n var isObj = isObject(source[field]) && source[field] !== null;\r\n if (isRequired && !isPresent && !isArray) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 24 /* _eInternalMessageId.MissingRequiredFieldSpecification */, \"Missing required field specification. The field is required but not present on source\", { field: field, name: name });\r\n // If not in debug mode, continue and hope the error is permissible\r\n }\r\n else if (!isHidden) { // Don't serialize hidden fields\r\n var value = void 0;\r\n if (isObj) {\r\n if (isArray) {\r\n // special case; recurse on each object in the source array\r\n value = _serializeArray(source[field], field);\r\n }\r\n else {\r\n // recurse on the source object in this field\r\n value = _serializeObject(source[field], field);\r\n }\r\n }\r\n else {\r\n // assign the source field to the output even if undefined or required\r\n value = source[field];\r\n }\r\n // only emit this field if the value is defined\r\n if (value !== undefined) {\r\n output[field] = value;\r\n }\r\n }\r\n });\r\n delete source[circularReferenceCheck];\r\n return output;\r\n }\r\n function _serializeArray(sources, name) {\r\n var output;\r\n if (!!sources) {\r\n if (!isArray(sources)) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 54 /* _eInternalMessageId.ItemNotInArray */, \"This field was specified as an array in the contract but the item is not an array.\\r\\n\", { name: name }, true);\r\n }\r\n else {\r\n output = [];\r\n for (var i = 0; i < sources[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var source = sources[i];\r\n var item = _serializeObject(source, name + \"[\" + i + \"]\");\r\n output[_DYN_PUSH /* @min:%2epush */](item);\r\n }\r\n }\r\n }\r\n return output;\r\n }\r\n function _serializeStringMap(map, expectedType, name) {\r\n var output;\r\n if (map) {\r\n output = {};\r\n objForEachKey(map, function (field, value) {\r\n if (expectedType === \"string\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else if (!value[_DYN_TO_STRING /* @min:%2etoString */]) {\r\n output[field] = \"invalid field: toString() is not defined.\";\r\n }\r\n else {\r\n output[field] = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n }\r\n else if (expectedType === \"number\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else {\r\n var num = parseFloat(value);\r\n output[field] = num;\r\n }\r\n }\r\n else {\r\n output[field] = \"invalid field: \" + name + \" is of unknown type.\";\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, output[field], null, true);\r\n }\r\n });\r\n }\r\n return output;\r\n }\r\n });\r\n }\r\n /**\r\n * Serializes the current object to a JSON string.\r\n */\r\n Serializer.prototype.serialize = function (input) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n return Serializer;\r\n}());\r\nexport { Serializer };\r\n//# sourceMappingURL=Serializer.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { _DYN_CONCAT, _DYN_LENGTH } from \"../../__DynamicConstants\";\r\n// (Magic number) DJB algorithm can't work on shorter strings (results in poor distribution\r\nvar MIN_INPUT_LENGTH = 8;\r\nvar HashCodeScoreGenerator = /** @class */ (function () {\r\n function HashCodeScoreGenerator() {\r\n }\r\n HashCodeScoreGenerator.prototype.getHashCodeScore = function (key) {\r\n var score = this.getHashCode(key) / HashCodeScoreGenerator.INT_MAX_VALUE;\r\n return score * 100;\r\n };\r\n HashCodeScoreGenerator.prototype.getHashCode = function (input) {\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n while (input[_DYN_LENGTH /* @min:%2elength */] < MIN_INPUT_LENGTH) {\r\n input = input[_DYN_CONCAT /* @min:%2econcat */](input);\r\n }\r\n // 5381 is a magic number: http://stackoverflow.com/questions/10696223/reason-for-5381-number-in-djb-hash-function\r\n var hash = 5381;\r\n for (var i = 0; i < input[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n hash = ((hash << 5) + hash) + input.charCodeAt(i);\r\n // 'hash' is of number type which means 53 bit integer (http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types-number-type)\r\n // 'hash & hash' will keep it 32 bit integer - just to make it clearer what the result is.\r\n hash = hash & hash;\r\n }\r\n return Math.abs(hash);\r\n };\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n HashCodeScoreGenerator.INT_MAX_VALUE = 2147483647;\r\n return HashCodeScoreGenerator;\r\n}());\r\nexport { HashCodeScoreGenerator };\r\n//# sourceMappingURL=HashCodeScoreGenerator.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ContextTagKeys } from \"@microsoft/applicationinsights-common\";\r\nimport { _DYN_GET_HASH_CODE_SCORE, _DYN_GET_SAMPLING_SCORE, _DYN_TAGS, _DYN_TRACE_ID } from \"../../__DynamicConstants\";\r\nimport { HashCodeScoreGenerator } from \"./HashCodeScoreGenerator\";\r\nvar SamplingScoreGenerator = /** @class */ (function () {\r\n function SamplingScoreGenerator() {\r\n var _self = this;\r\n var hashCodeGenerator = new HashCodeScoreGenerator();\r\n var keys = new ContextTagKeys();\r\n _self[_DYN_GET_SAMPLING_SCORE /* @min:%2egetSamplingScore */] = function (item) {\r\n var score = 0;\r\n if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.userId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.userId]);\r\n }\r\n else if (item.ext && item.ext.user && item.ext.user.id) {\r\n score = hashCodeGenerator[_DYN_GET_HASH_CODE_SCORE /* @min:%2egetHashCodeScore */](item.ext.user.id);\r\n }\r\n else if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.operationId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.operationId]);\r\n }\r\n else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n score = hashCodeGenerator.getHashCodeScore(item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n else {\r\n // tslint:disable-next-line:insecure-random\r\n score = (Math.random() * 100);\r\n }\r\n return score;\r\n };\r\n }\r\n return SamplingScoreGenerator;\r\n}());\r\nexport { SamplingScoreGenerator };\r\n//# sourceMappingURL=SamplingScoreGenerator.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { Metric } from \"@microsoft/applicationinsights-common\";\r\nimport { safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_DATA_TYPE, _DYN_GET_SAMPLING_SCORE, _DYN_SAMPLE_RATE } from \"../__DynamicConstants\";\r\nimport { SamplingScoreGenerator } from \"./SamplingScoreGenerators/SamplingScoreGenerator\";\r\nvar Sample = /** @class */ (function () {\r\n function Sample(sampleRate, logger) {\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n this.INT_MAX_VALUE = 2147483647;\r\n var _logger = logger || safeGetLogger(null);\r\n if (sampleRate > 100 || sampleRate < 0) {\r\n _logger.throwInternal(2 /* eLoggingSeverity.WARNING */, 58 /* _eInternalMessageId.SampleRateOutOfRange */, \"Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.\", { samplingRate: sampleRate }, true);\r\n sampleRate = 100;\r\n }\r\n this[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] = sampleRate;\r\n this.samplingScoreGenerator = new SamplingScoreGenerator();\r\n }\r\n /**\r\n * Determines if an envelope is sampled in (i.e. will be sent) or not (i.e. will be dropped).\r\n */\r\n Sample.prototype.isSampledIn = function (envelope) {\r\n var samplingPercentage = this[_DYN_SAMPLE_RATE /* @min:%2esampleRate */]; // 0 - 100\r\n var isSampledIn = false;\r\n if (samplingPercentage === null || samplingPercentage === undefined || samplingPercentage >= 100) {\r\n return true;\r\n }\r\n else if (envelope.baseType === Metric[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n // exclude MetricData telemetry from sampling\r\n return true;\r\n }\r\n isSampledIn = this.samplingScoreGenerator[_DYN_GET_SAMPLING_SCORE /* @min:%2egetSamplingScore */](envelope) < samplingPercentage;\r\n return isSampledIn;\r\n };\r\n return Sample;\r\n}());\r\nexport { Sample };\r\n//# sourceMappingURL=Sample.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrReduce, objKeys, strEndsWith } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DEFAULT_BREEZE_ENDPOINT } from \"./Constants\";\r\nimport { _DYN_INGESTIONENDPOINT, _DYN_LENGTH, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _FIELDS_SEPARATOR = \";\";\r\nvar _FIELD_KEY_VALUE_SEPARATOR = \"=\";\r\nexport function parseConnectionString(connectionString) {\r\n if (!connectionString) {\r\n return {};\r\n }\r\n var kvPairs = connectionString[_DYN_SPLIT /* @min:%2esplit */](_FIELDS_SEPARATOR);\r\n var result = arrReduce(kvPairs, function (fields, kv) {\r\n var kvParts = kv[_DYN_SPLIT /* @min:%2esplit */](_FIELD_KEY_VALUE_SEPARATOR);\r\n if (kvParts[_DYN_LENGTH /* @min:%2elength */] === 2) { // only save fields with valid formats\r\n var key = kvParts[0][_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var value = kvParts[1];\r\n fields[key] = value;\r\n }\r\n return fields;\r\n }, {});\r\n if (objKeys(result)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // this is a valid connection string, so parse the results\r\n if (result.endpointsuffix) {\r\n // apply the default endpoints\r\n var locationPrefix = result.location ? result.location + \".\" : \"\";\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] || (\"https://\" + locationPrefix + \"dc.\" + result.endpointsuffix);\r\n }\r\n // apply user override endpoint or the default endpoints\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] || DEFAULT_BREEZE_ENDPOINT;\r\n if (strEndsWith(result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */], \"/\")) {\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */].slice(0, -1);\r\n }\r\n }\r\n return result;\r\n}\r\nexport var ConnectionStringParser = {\r\n parse: parseConnectionString\r\n};\r\n//# sourceMappingURL=ConnectionStringParser.js.map","import { _throwInternal, arrIndexOf, isNotNullOrUndefined, isNullOrUndefined, onConfigChange, randomValue, safeGetLogger, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { arrForEach, objForEachKey } from \"@nevware21/ts-utils\";\r\nimport { utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage } from \"./StorageHelperFuncs\";\r\nimport { _DYN_COUNT, _DYN_DATE, _DYN_DAYS_OF_MONTH, _DYN_DISABLED, _DYN_GET_UTCDATE, _DYN_INTERVAL, _DYN_LENGTH, _DYN_MESSAGE, _DYN_PRE_TRIGGER_DATE, _DYN_PUSH, _DYN_STRINGIFY } from \"./__DynamicConstants\";\r\nvar THROTTLE_STORAGE_PREFIX = \"appInsightsThrottle\";\r\nvar ThrottleMgr = /** @class */ (function () {\r\n function ThrottleMgr(core, namePrefix) {\r\n var _self = this;\r\n var _canUseLocalStorage;\r\n var _logger;\r\n var _config;\r\n var _localStorageObj;\r\n var _isTriggered; //_isTriggered is to make sure that we only trigger throttle once a day\r\n var _namePrefix;\r\n var _queue;\r\n var _isReady = false;\r\n var _isSpecificDaysGiven = false;\r\n _initConfig();\r\n // Special internal method to allow the unit tests and DebugPlugin to hook embedded objects\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_queue];\r\n };\r\n _self.getConfig = function () {\r\n return _config;\r\n };\r\n /**\r\n * Check if it is the correct day to send message.\r\n * If _isTriggered is true, even if canThrottle returns true, message will not be sent,\r\n * because we only allow triggering sendMessage() once a day.\r\n * @returns if the current date is the valid date to send message\r\n */\r\n _self.canThrottle = function (msgId) {\r\n var localObj = _getLocalStorageObjByKey(msgId);\r\n var cfg = _getCfgByKey(msgId);\r\n return _canThrottle(cfg, _canUseLocalStorage, localObj);\r\n };\r\n /**\r\n * Check if throttle is triggered on current day(UTC)\r\n * if canThrottle returns false, isTriggered will return false\r\n * @returns if throttle is triggered on current day(UTC)\r\n */\r\n _self.isTriggered = function (msgId) {\r\n return _isTrigger(msgId);\r\n };\r\n /**\r\n * Before isReady set to true, all message will be stored in queue.\r\n * Message will only be sent out after isReady set to true.\r\n * Initial and default value: false\r\n * @returns isReady state\r\n */\r\n _self.isReady = function () {\r\n return _isReady;\r\n };\r\n /**\r\n * Flush all message with given message key in queue with isReady state set to true.\r\n * @returns if message queue is flushed\r\n */\r\n _self.flush = function (msgId) {\r\n try {\r\n var queue = _getQueueByKey(msgId);\r\n if (queue && queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var items = queue.slice(0);\r\n _queue[msgId] = [];\r\n arrForEach(items, function (item) {\r\n _flushMessage(item.msgID, item[_DYN_MESSAGE /* @min:%2emessage */], item.severity, false);\r\n });\r\n return true;\r\n }\r\n }\r\n catch (err) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n };\r\n /**\r\n * Flush all message in queue with isReady state set to true.\r\n * @returns if message queue is flushed\r\n */\r\n _self.flushAll = function () {\r\n try {\r\n if (_queue) {\r\n var result_1 = true;\r\n objForEachKey(_queue, function (key) {\r\n var isFlushed = _self.flush(parseInt(key));\r\n result_1 = result_1 && isFlushed;\r\n });\r\n return result_1;\r\n }\r\n }\r\n catch (err) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n };\r\n /**\r\n * Set isReady State\r\n * if isReady set to true, message queue will be flushed automatically.\r\n * @param isReady isReady State\r\n * @pa\r\n * @returns if message queue is flushed\r\n */\r\n _self.onReadyState = function (isReady, flushAll) {\r\n if (flushAll === void 0) { flushAll = true; }\r\n _isReady = isNullOrUndefined(isReady) ? true : isReady;\r\n if (_isReady && flushAll) {\r\n return _self.flushAll();\r\n }\r\n return null;\r\n };\r\n _self.sendMessage = function (msgID, message, severity) {\r\n return _flushMessage(msgID, message, severity, true);\r\n };\r\n function _flushMessage(msgID, message, severity, saveUnsentMsg) {\r\n if (_isReady) {\r\n var isSampledIn = _canSampledIn(msgID);\r\n if (!isSampledIn) {\r\n return;\r\n }\r\n var cfg = _getCfgByKey(msgID);\r\n var localStorageObj = _getLocalStorageObjByKey(msgID);\r\n var canThrottle = _canThrottle(cfg, _canUseLocalStorage, localStorageObj);\r\n var throttled = false;\r\n var number = 0;\r\n var isTriggered = _isTrigger(msgID);\r\n try {\r\n if (canThrottle && !isTriggered) {\r\n number = Math.min(cfg.limit.maxSendNumber, localStorageObj[_DYN_COUNT /* @min:%2ecount */] + 1);\r\n localStorageObj[_DYN_COUNT /* @min:%2ecount */] = 0;\r\n throttled = true;\r\n _isTriggered[msgID] = true;\r\n localStorageObj[_DYN_PRE_TRIGGER_DATE /* @min:%2epreTriggerDate */] = new Date();\r\n }\r\n else {\r\n _isTriggered[msgID] = canThrottle;\r\n localStorageObj[_DYN_COUNT /* @min:%2ecount */] += 1;\r\n }\r\n var localStorageName = _getLocalStorageName(msgID);\r\n _resetLocalStorage(_logger, localStorageName, localStorageObj);\r\n for (var i = 0; i < number; i++) {\r\n _sendMessage(msgID, _logger, message, severity);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return {\r\n isThrottled: throttled,\r\n throttleNum: number\r\n };\r\n }\r\n else {\r\n if (!!saveUnsentMsg) {\r\n var queue = _getQueueByKey(msgID);\r\n queue[_DYN_PUSH /* @min:%2epush */]({\r\n msgID: msgID,\r\n message: message,\r\n severity: severity\r\n });\r\n }\r\n }\r\n return null;\r\n }\r\n function _initConfig() {\r\n _logger = safeGetLogger(core);\r\n _isTriggered = {};\r\n _localStorageObj = {};\r\n _queue = {};\r\n _config = {};\r\n _setCfgByKey(109 /* _eInternalMessageId.DefaultThrottleMsgKey */);\r\n _namePrefix = isNotNullOrUndefined(namePrefix) ? namePrefix : \"\";\r\n core.addUnloadHook(onConfigChange(core.config, function (details) {\r\n var coreConfig = details.cfg;\r\n _canUseLocalStorage = utlCanUseLocalStorage();\r\n var configMgr = coreConfig.throttleMgrCfg || {};\r\n objForEachKey(configMgr, function (key, cfg) {\r\n _setCfgByKey(parseInt(key), cfg);\r\n });\r\n }));\r\n }\r\n function _getCfgByKey(msgID) {\r\n return _config[msgID] || _config[109 /* _eInternalMessageId.DefaultThrottleMsgKey */];\r\n }\r\n function _setCfgByKey(msgID, config) {\r\n var _a, _b;\r\n try {\r\n var cfg = config || {};\r\n var curCfg = {};\r\n curCfg[_DYN_DISABLED /* @min:%2edisabled */] = !!cfg[_DYN_DISABLED /* @min:%2edisabled */];\r\n var configInterval = cfg[_DYN_INTERVAL /* @min:%2einterval */] || {};\r\n _isSpecificDaysGiven = (configInterval === null || configInterval === void 0 ? void 0 : configInterval.daysOfMonth) && (configInterval === null || configInterval === void 0 ? void 0 : configInterval.daysOfMonth[_DYN_LENGTH /* @min:%2elength */]) > 0;\r\n curCfg[_DYN_INTERVAL /* @min:%2einterval */] = _getIntervalConfig(configInterval);\r\n var limit = {\r\n samplingRate: ((_a = cfg.limit) === null || _a === void 0 ? void 0 : _a.samplingRate) || 100,\r\n // dafault: every time sent only 1 event\r\n maxSendNumber: ((_b = cfg.limit) === null || _b === void 0 ? void 0 : _b.maxSendNumber) || 1\r\n };\r\n curCfg.limit = limit;\r\n _config[msgID] = curCfg;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n function _getIntervalConfig(interval) {\r\n interval = interval || {};\r\n var monthInterval = interval === null || interval === void 0 ? void 0 : interval.monthInterval;\r\n var dayInterval = interval === null || interval === void 0 ? void 0 : interval.dayInterval;\r\n // default: send data every 3 month each year\r\n if (isNullOrUndefined(monthInterval) && isNullOrUndefined(dayInterval)) {\r\n interval.monthInterval = 3;\r\n if (!_isSpecificDaysGiven) {\r\n // default: send data on 28th\r\n interval[_DYN_DAYS_OF_MONTH /* @min:%2edaysOfMonth */] = [28];\r\n _isSpecificDaysGiven = true;\r\n }\r\n }\r\n interval = {\r\n // dafault: sent every three months\r\n monthInterval: interval === null || interval === void 0 ? void 0 : interval.monthInterval,\r\n dayInterval: interval === null || interval === void 0 ? void 0 : interval.dayInterval,\r\n daysOfMonth: interval === null || interval === void 0 ? void 0 : interval.daysOfMonth\r\n };\r\n return interval;\r\n }\r\n function _canThrottle(config, canUseLocalStorage, localStorageObj) {\r\n if (config && !config[_DYN_DISABLED /* @min:%2edisabled */] && canUseLocalStorage && isNotNullOrUndefined(localStorageObj)) {\r\n var curDate = _getThrottleDate();\r\n var date = localStorageObj[_DYN_DATE /* @min:%2edate */];\r\n var interval = config[_DYN_INTERVAL /* @min:%2einterval */];\r\n var monthCheck = 1;\r\n if (interval === null || interval === void 0 ? void 0 : interval.monthInterval) {\r\n var monthExpand = (curDate.getUTCFullYear() - date.getUTCFullYear()) * 12 + curDate.getUTCMonth() - date.getUTCMonth();\r\n monthCheck = _checkInterval(interval.monthInterval, 0, monthExpand);\r\n }\r\n var dayCheck = 1;\r\n if (_isSpecificDaysGiven) {\r\n dayCheck = arrIndexOf(interval[_DYN_DAYS_OF_MONTH /* @min:%2edaysOfMonth */], curDate[_DYN_GET_UTCDATE /* @min:%2egetUTCDate */]());\r\n }\r\n else if (interval === null || interval === void 0 ? void 0 : interval.dayInterval) {\r\n var daySpan = Math.floor((curDate.getTime() - date.getTime()) / 86400000);\r\n dayCheck = _checkInterval(interval.dayInterval, 0, daySpan);\r\n }\r\n return monthCheck >= 0 && dayCheck >= 0;\r\n }\r\n return false;\r\n }\r\n function _getLocalStorageName(msgKey, prefix) {\r\n var fix = isNotNullOrUndefined(prefix) ? prefix : \"\";\r\n if (msgKey) {\r\n return THROTTLE_STORAGE_PREFIX + fix + \"-\" + msgKey;\r\n }\r\n return null;\r\n }\r\n // returns if throttle is triggered on current Date\r\n function _isTriggeredOnCurDate(preTriggerDate) {\r\n try {\r\n if (preTriggerDate) {\r\n var curDate = new Date();\r\n return preTriggerDate.getUTCFullYear() === curDate.getUTCFullYear() &&\r\n preTriggerDate.getUTCMonth() === curDate.getUTCMonth() &&\r\n preTriggerDate[_DYN_GET_UTCDATE /* @min:%2egetUTCDate */]() === curDate[_DYN_GET_UTCDATE /* @min:%2egetUTCDate */]();\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n // transfer local storage string value to object that identifies start date, current count and preTriggerDate\r\n function _getLocalStorageObj(value, logger, storageName) {\r\n try {\r\n var storageObj = {\r\n date: _getThrottleDate(),\r\n count: 0\r\n };\r\n if (value) {\r\n var obj = JSON.parse(value);\r\n var curObj = {\r\n date: _getThrottleDate(obj[_DYN_DATE /* @min:%2edate */]) || storageObj[_DYN_DATE /* @min:%2edate */],\r\n count: obj[_DYN_COUNT /* @min:%2ecount */] || storageObj[_DYN_COUNT /* @min:%2ecount */],\r\n preTriggerDate: obj.preTriggerDate ? _getThrottleDate(obj[_DYN_PRE_TRIGGER_DATE /* @min:%2epreTriggerDate */]) : undefined\r\n };\r\n return curObj;\r\n }\r\n else {\r\n _resetLocalStorage(logger, storageName, storageObj);\r\n return storageObj;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n // if datestr is not defined, current date will be returned\r\n function _getThrottleDate(dateStr) {\r\n // if new Date() can't be created through the provided dateStr, null will be returned.\r\n try {\r\n if (dateStr) {\r\n var date = new Date(dateStr);\r\n //make sure it is a valid Date Object\r\n if (!isNaN(date.getDate())) {\r\n return date;\r\n }\r\n }\r\n else {\r\n return new Date();\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n function _resetLocalStorage(logger, storageName, obj) {\r\n try {\r\n return utlSetLocalStorage(logger, storageName, strTrim(JSON[_DYN_STRINGIFY /* @min:%2estringify */](obj)));\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _checkInterval(interval, start, current) {\r\n if (interval <= 0) {\r\n return 1;\r\n }\r\n // count from start year\r\n return (current >= start) && (current - start) % interval == 0 ? Math.floor((current - start) / interval) + 1 : -1;\r\n }\r\n function _sendMessage(msgID, logger, message, severity) {\r\n _throwInternal(logger, severity || 1 /* eLoggingSeverity.CRITICAL */, msgID, message);\r\n }\r\n // NOTE: config.limit.samplingRate is set to 4 decimal places,\r\n // so config.limit.samplingRate = 1 means 0.0001%\r\n function _canSampledIn(msgID) {\r\n try {\r\n var cfg = _getCfgByKey(msgID);\r\n return randomValue(1000000) <= cfg.limit.samplingRate;\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _getLocalStorageObjByKey(key) {\r\n try {\r\n var curObj = _localStorageObj[key];\r\n if (!curObj) {\r\n var localStorageName = _getLocalStorageName(key, _namePrefix);\r\n curObj = _getLocalStorageObj(utlGetLocalStorage(_logger, localStorageName), _logger, localStorageName);\r\n _localStorageObj[key] = curObj;\r\n }\r\n return _localStorageObj[key];\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n function _isTrigger(key) {\r\n var isTrigger = _isTriggered[key];\r\n if (isNullOrUndefined(isTrigger)) {\r\n isTrigger = false;\r\n var localStorageObj = _getLocalStorageObjByKey(key);\r\n if (localStorageObj) {\r\n isTrigger = _isTriggeredOnCurDate(localStorageObj[_DYN_PRE_TRIGGER_DATE /* @min:%2epreTriggerDate */]);\r\n }\r\n _isTriggered[key] = isTrigger;\r\n }\r\n return _isTriggered[key];\r\n }\r\n function _getQueueByKey(key) {\r\n _queue = _queue || {};\r\n if (isNullOrUndefined(_queue[key])) {\r\n _queue[key] = [];\r\n }\r\n return _queue[key];\r\n }\r\n }\r\n return ThrottleMgr;\r\n}());\r\nexport { ThrottleMgr };\r\n//# sourceMappingURL=ThrottleMgr.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { createAllPromise, createPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { arrForEach, arrIndexOf, objDefine, safe, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CANCEL, _DYN_DATA, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_LENGTH, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_0, _DYN_SPLICE, _DYN_UNLOAD, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_OFFLINE_DROP, STR_OFFLINE_SENT, STR_OFFLINE_STORE, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar defaultValues = {\r\n perfEvtsSendAll: false\r\n};\r\nfunction _runScheduledListeners(asyncNotifications) {\r\n asyncNotifications.h = null;\r\n var callbacks = asyncNotifications.cb;\r\n asyncNotifications.cb = [];\r\n arrForEach(callbacks, function (cb) {\r\n // Run the listener in a try-catch to ensure that a single listener failing doesn't prevent the others from running\r\n safe(cb.fn, [cb.arg]);\r\n });\r\n}\r\n// This function is used to combine the logic of running the listeners and handling the async notifications so that they don't\r\n// create multiple timers if there are multiple async listeners.\r\nfunction _runListeners(listeners, name, asyncNotifications, callback) {\r\n arrForEach(listeners, function (listener) {\r\n if (listener && listener[name]) {\r\n if (asyncNotifications) {\r\n // Schedule the callback to be called after the current call stack has cleared.\r\n asyncNotifications.cb[_DYN_PUSH /* @min:%2epush */]({\r\n fn: callback,\r\n arg: listener\r\n });\r\n asyncNotifications.h = asyncNotifications.h || scheduleTimeout(_runScheduledListeners, 0, asyncNotifications);\r\n }\r\n else {\r\n // Run the listener in a try-catch to ensure that a single listener failing doesn't prevent the others from running\r\n safe(callback, [listener]);\r\n }\r\n }\r\n });\r\n}\r\n/**\r\n * Class to manage sending notifications to all the listeners.\r\n */\r\nvar NotificationManager = /** @class */ (function () {\r\n function NotificationManager(config) {\r\n this.listeners = [];\r\n var perfEvtsSendAll;\r\n var unloadHandler;\r\n var _listeners = [];\r\n var _asyncNotifications = {\r\n h: null,\r\n cb: []\r\n };\r\n var cfgHandler = createDynamicConfig(config, defaultValues);\r\n unloadHandler = cfgHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n perfEvtsSendAll = !!details.cfg.perfEvtsSendAll;\r\n });\r\n dynamicProto(NotificationManager, this, function (_self) {\r\n objDefine(_self, \"listeners\", {\r\n g: function () { return _listeners; }\r\n });\r\n _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {\r\n _listeners[_DYN_PUSH /* @min:%2epush */](listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param listener - AWTNotificationListener to remove.\r\n */\r\n _self[_DYN_REMOVE_NOTIFICATION_0 /* @min:%2eremoveNotificationListener */] = function (listener) {\r\n var index = arrIndexOf(_listeners, listener);\r\n while (index > -1) {\r\n _listeners[_DYN_SPLICE /* @min:%2esplice */](index, 1);\r\n index = arrIndexOf(_listeners, listener);\r\n }\r\n };\r\n /**\r\n * Notification for events sent.\r\n * @param events - The array of events that have been sent.\r\n */\r\n _self[STR_EVENTS_SENT /* @min:%2eeventsSent */] = function (events) {\r\n _runListeners(_listeners, STR_EVENTS_SENT, _asyncNotifications, function (listener) {\r\n listener[STR_EVENTS_SENT /* @min:%2eeventsSent */](events);\r\n });\r\n };\r\n /**\r\n * Notification for events being discarded.\r\n * @param events - The array of events that have been discarded by the SDK.\r\n * @param reason - The reason for which the SDK discarded the events. The EventsDiscardedReason\r\n * constant should be used to check the different values.\r\n */\r\n _self[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */] = function (events, reason) {\r\n _runListeners(_listeners, STR_EVENTS_DISCARDED, _asyncNotifications, function (listener) {\r\n listener[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */](events, reason);\r\n });\r\n };\r\n /**\r\n * [Optional] A function called when the events have been requested to be sent to the sever.\r\n * @param sendReason - The reason why the event batch is being sent.\r\n * @param isAsync - A flag which identifies whether the requests are being sent in an async or sync manner.\r\n */\r\n _self[STR_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */] = function (sendReason, isAsync) {\r\n _runListeners(_listeners, STR_EVENTS_SEND_REQUEST, isAsync ? _asyncNotifications : null, function (listener) {\r\n listener[STR_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */](sendReason, isAsync);\r\n });\r\n };\r\n _self[STR_PERF_EVENT /* @min:%2eperfEvent */] = function (perfEvent) {\r\n if (perfEvent) {\r\n // Send all events or only parent events\r\n if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */]()) {\r\n _runListeners(_listeners, STR_PERF_EVENT, null, function (listener) {\r\n if (perfEvent[_DYN_IS_ASYNC /* @min:%2eisAsync */]) {\r\n scheduleTimeout(function () { return listener[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent); }, 0);\r\n }\r\n else {\r\n listener[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n _self[STR_OFFLINE_STORE /* @min:%2eofflineEventsStored */] = function (events) {\r\n if (events && events[_DYN_LENGTH /* @min:%2elength */]) {\r\n _runListeners(_listeners, STR_OFFLINE_STORE, _asyncNotifications, function (listener) {\r\n listener[STR_OFFLINE_STORE /* @min:%2eofflineEventsStored */](events);\r\n });\r\n }\r\n };\r\n _self[STR_OFFLINE_SENT /* @min:%2eofflineBatchSent */] = function (batch) {\r\n if (batch && batch[_DYN_DATA /* @min:%2edata */]) {\r\n _runListeners(_listeners, STR_OFFLINE_SENT, _asyncNotifications, function (listener) {\r\n listener[STR_OFFLINE_SENT /* @min:%2eofflineBatchSent */](batch);\r\n });\r\n }\r\n };\r\n _self[STR_OFFLINE_DROP /* @min:%2eofflineBatchDrop */] = function (cnt, reason) {\r\n if (cnt > 0) {\r\n var rn_1 = reason || 0; // default is unknown\r\n _runListeners(_listeners, STR_OFFLINE_DROP, _asyncNotifications, function (listener) {\r\n listener[STR_OFFLINE_DROP /* @min:%2eofflineBatchDrop */](cnt, rn_1);\r\n });\r\n }\r\n };\r\n _self[_DYN_UNLOAD /* @min:%2eunload */] = function (isAsync) {\r\n var _finishUnload = function () {\r\n unloadHandler && unloadHandler.rm();\r\n unloadHandler = null;\r\n _listeners = [];\r\n // Clear any async listener\r\n _asyncNotifications.h && _asyncNotifications.h[_DYN_CANCEL /* @min:%2ecancel */]();\r\n _asyncNotifications.h = null;\r\n _asyncNotifications.cb = [];\r\n };\r\n var waiting;\r\n _runListeners(_listeners, \"unload\", null, function (listener) {\r\n var asyncUnload = listener[_DYN_UNLOAD /* @min:%2eunload */](isAsync);\r\n if (asyncUnload) {\r\n if (!waiting) {\r\n waiting = [];\r\n }\r\n waiting[_DYN_PUSH /* @min:%2epush */](asyncUnload);\r\n }\r\n });\r\n if (waiting) {\r\n return createPromise(function (resolve) {\r\n return doAwaitResponse(createAllPromise(waiting), function () {\r\n _finishUnload();\r\n resolve();\r\n });\r\n });\r\n }\r\n else {\r\n _finishUnload();\r\n }\r\n };\r\n });\r\n }\r\n /**\r\n * Adds a notification listener.\r\n * @param listener - The notification listener to be added.\r\n */\r\n NotificationManager.prototype.addNotificationListener = function (listener) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param listener - AWTNotificationListener to remove.\r\n */\r\n NotificationManager.prototype.removeNotificationListener = function (listener) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Notification for events sent.\r\n * @param events - The array of events that have been sent.\r\n */\r\n NotificationManager.prototype.eventsSent = function (events) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Notification for events being discarded.\r\n * @param events - The array of events that have been discarded by the SDK.\r\n * @param reason - The reason for which the SDK discarded the events. The EventsDiscardedReason\r\n * constant should be used to check the different values.\r\n */\r\n NotificationManager.prototype.eventsDiscarded = function (events, reason) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * [Optional] A function called when the events have been requested to be sent to the sever.\r\n * @param sendReason - The reason why the event batch is being sent.\r\n * @param isAsync - A flag which identifies whether the requests are being sent in an async or sync manner.\r\n */\r\n NotificationManager.prototype.eventsSendRequest = function (sendReason, isAsync) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * [Optional] This event is sent if you have enabled perf events, they are primarily used to track internal performance testing and debugging\r\n * the event can be displayed via the debug plugin extension.\r\n * @param perfEvent\r\n */\r\n NotificationManager.prototype.perfEvent = function (perfEvent) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Unload and remove any state that this INotificationManager may be holding, this is generally called when the\r\n * owning SDK is being unloaded.\r\n * @param isAsync - Can the unload be performed asynchronously (default)\r\n * @return If the unload occurs synchronously then nothing should be returned, if happening asynchronously then\r\n * the function should return an [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * / Promise to allow any listeners to wait for the operation to complete.\r\n */\r\n NotificationManager.prototype.unload = function (isAsync) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * [Optional] A function called when the offline events have been stored to the persistent storage\r\n * @param events - events that are stored in the persistent storage\r\n */\r\n NotificationManager.prototype.offlineEventsStored = function (events) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * [Optional] A function called when the offline events have been sent from the persistent storage\r\n * @param batch - payload data that is sent from the persistent storage\r\n */\r\n NotificationManager.prototype.offlineBatchSent = function (batch) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * [Optional] A function called when the offline events have been dropped from the persistent storage\r\n * @param cnt - count of batches dropped\r\n * @param reason - the reason why the batches is dropped\r\n * @since v3.1.1\r\n */\r\n NotificationManager.prototype.offlineBatchDrop = function (cnt, reason) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return NotificationManager;\r\n}());\r\nexport { NotificationManager };\r\n//# sourceMappingURL=NotificationManager.js.map","// // Copyright (c) Microsoft Corporation. All rights reserved.\r\n// // Licensed under the MIT License.\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { arrAppend, arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_DIAG_LOG, _DYN_LENGTH, _DYN_PROCESS_NEXT, _DYN_SPLICE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { BaseTelemetryPlugin } from \"./BaseTelemetryPlugin\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { getExceptionName } from \"./HelperFuncs\";\r\nimport { STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nfunction _addInitializer(_initializers, id, telemetryInitializer) {\r\n var theInitializer = {\r\n id: id,\r\n fn: telemetryInitializer\r\n };\r\n arrAppend(_initializers, theInitializer);\r\n var handler = {\r\n remove: function () {\r\n arrForEach(_initializers, function (initializer, idx) {\r\n if (initializer.id === theInitializer.id) {\r\n _initializers[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return -1;\r\n }\r\n });\r\n }\r\n };\r\n return handler;\r\n}\r\nfunction _runInitializers(_initializers, item, logger) {\r\n var doNotSendItem = false;\r\n var telemetryInitializersCount = _initializers[_DYN_LENGTH /* @min:%2elength */];\r\n for (var i = 0; i < telemetryInitializersCount; ++i) {\r\n var telemetryInitializer = _initializers[i];\r\n if (telemetryInitializer) {\r\n try {\r\n if (telemetryInitializer.fn[_DYN_APPLY /* @min:%2eapply */](null, [item]) === false) {\r\n doNotSendItem = true;\r\n break;\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"Telemetry initializer failed: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n }\r\n }\r\n return !doNotSendItem;\r\n}\r\nvar TelemetryInitializerPlugin = /** @class */ (function (_super) {\r\n __extends(TelemetryInitializerPlugin, _super);\r\n function TelemetryInitializerPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = \"TelemetryInitializerPlugin\";\r\n _this.priority = 199;\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _id;\r\n var _initializers;\r\n _initDefaults();\r\n dynamicProto(TelemetryInitializerPlugin, _this, function (_self, _base) {\r\n _self.addTelemetryInitializer = function (telemetryInitializer) {\r\n return _addInitializer(_initializers, _id++, telemetryInitializer);\r\n };\r\n _self[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */] = function (item, itemCtx) {\r\n if (_runInitializers(_initializers, item, itemCtx ? itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]() : _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]())) {\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](item, itemCtx);\r\n }\r\n };\r\n _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] = function () {\r\n _initDefaults();\r\n };\r\n });\r\n function _initDefaults() {\r\n _id = 0;\r\n _initializers = [];\r\n }\r\n return _this;\r\n }\r\n /**\r\n * Add a telemetry processor to decorate or drop telemetry events.\r\n * @param telemetryInitializer - The Telemetry Initializer function\r\n * @returns - A ITelemetryInitializerHandler to enable the initializer to be removed\r\n */\r\n TelemetryInitializerPlugin.prototype.addTelemetryInitializer = function (telemetryInitializer) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n TelemetryInitializerPlugin.prototype.processTelemetry = function (env, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return TelemetryInitializerPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { TelemetryInitializerPlugin };\r\n//# sourceMappingURL=TelemetryInitializerPlugin.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nvar _a;\r\nimport { __spreadArray } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { createPromise, createSyncAllSettledPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { arrAppend, arrForEach, arrIndexOf, createTimeout, deepExtend, hasDocument, isFunction, isNullOrUndefined, isPlainObject, isPromiseLike, objDeepFreeze, objDefine, objForEachKey, objFreeze, objHasOwn, scheduleTimeout, throwError } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { ActiveStatus } from \"../JavaScriptSDK.Enums/InitActiveStatusEnum\";\r\nimport { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CANCEL, _DYN_CREATE_NEW, _DYN_ENABLED, _DYN_GET_NOTIFY_MGR, _DYN_GET_PLUGIN, _DYN_GET_PROCESS_TEL_CONT2, _DYN_IDENTIFIER, _DYN_INITIALIZE, _DYN_INSTRUMENTATION_KEY, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_I_KEY, _DYN_LENGTH, _DYN_LOGGER, _DYN_LOGGING_LEVEL_CONSOL4, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_NAME, _DYN_NOTIFY, _DYN_ON_COMPLETE, _DYN_POLL_INTERNAL_LOGS, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_0, _DYN_SET_DF, _DYN_SPLICE, _DYN_STOP_POLLING_INTERNA3, _DYN_TEARDOWN, _DYN_TIME, _DYN_UNLOAD, _DYN_VALUE, _DYN_VERSION, _DYN_WATCH, _DYN__INACTIVE } from \"../__DynamicConstants\";\r\nimport { doUnloadAll, runTargetUnload } from \"./AsyncUtils\";\r\nimport { ChannelControllerPriority } from \"./Constants\";\r\nimport { createCookieMgr } from \"./CookieMgr\";\r\nimport { createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { getDebugListener } from \"./DbgExtensionUtils\";\r\nimport { DiagnosticLogger, _InternalLogMessage, _throwInternal, _warnToConsole } from \"./DiagnosticLogger\";\r\nimport { getSetValue, isNotNullOrUndefined, proxyFunctionAs, proxyFunctions, toISOString } from \"./HelperFuncs\";\r\nimport { STR_CHANNELS, STR_CORE, STR_CREATE_PERF_MGR, STR_DISABLED, STR_EMPTY, STR_EVENTS_DISCARDED, STR_EXTENSIONS, STR_EXTENSION_CONFIG, STR_GET_PERF_MGR, STR_PRIORITY, UNDEFINED_VALUE } from \"./InternalConstants\";\r\nimport { NotificationManager } from \"./NotificationManager\";\r\nimport { PerfManager, doPerf, getGblPerfMgr } from \"./PerfManager\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext, createTelemetryProxyChain } from \"./ProcessTelemetryContext\";\r\nimport { _getPluginState, createDistributedTraceContext, initializePlugins, sortPlugins } from \"./TelemetryHelpers\";\r\nimport { TelemetryInitializerPlugin } from \"./TelemetryInitializerPlugin\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nimport { createUnloadHookContainer } from \"./UnloadHookContainer\";\r\nvar strValidationError = \"Plugins must provide initialize method\";\r\nvar strNotificationManager = \"_notificationManager\";\r\nvar strSdkUnloadingError = \"SDK is still unloading...\";\r\nvar strSdkNotInitialized = \"SDK is not initialized\";\r\nvar maxInitQueueSize = 100;\r\nvar maxInitTimeout = 50000;\r\n// const strPluginUnloadFailed = \"Failed to unload plugin\";\r\n/**\r\n * The default settings for the config.\r\n * WE MUST include all defaults here to ensure that the config is created with all of the properties\r\n * defined as dynamic.\r\n */\r\nvar defaultConfig = objDeepFreeze((_a = {\r\n cookieCfg: {}\r\n },\r\n _a[STR_EXTENSIONS] = { rdOnly: true, ref: true, v: [] },\r\n _a[STR_CHANNELS] = { rdOnly: true, ref: true, v: [] },\r\n _a[STR_EXTENSION_CONFIG] = { ref: true, v: {} },\r\n _a[STR_CREATE_PERF_MGR] = UNDEFINED_VALUE,\r\n _a.loggingLevelConsole = 0 /* eLoggingSeverity.DISABLED */,\r\n _a.diagnosticLogInterval = UNDEFINED_VALUE,\r\n _a));\r\n/**\r\n * Helper to create the default performance manager\r\n * @param core\r\n * @param notificationMgr\r\n */\r\nfunction _createPerfManager(core, notificationMgr) {\r\n return new PerfManager(notificationMgr);\r\n}\r\nfunction _validateExtensions(logger, channelPriority, allExtensions) {\r\n var _a;\r\n // Concat all available extensions\r\n var coreExtensions = [];\r\n var channels = [];\r\n // Check if any two extensions have the same priority, then warn to console\r\n // And extract the local extensions from the\r\n var extPriorities = {};\r\n // Extension validation\r\n arrForEach(allExtensions, function (ext) {\r\n // Check for ext.initialize\r\n if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE /* @min:%2einitialize */])) {\r\n throwError(strValidationError);\r\n }\r\n var extPriority = ext[STR_PRIORITY /* @min:%2epriority */];\r\n var identifier = ext[_DYN_IDENTIFIER /* @min:%2eidentifier */];\r\n if (ext && extPriority) {\r\n if (!isNullOrUndefined(extPriorities[extPriority])) {\r\n _warnToConsole(logger, \"Two extensions have same priority #\" + extPriority + \" - \" + extPriorities[extPriority] + \", \" + identifier);\r\n }\r\n else {\r\n // set a value\r\n extPriorities[extPriority] = identifier;\r\n }\r\n }\r\n // Split extensions to core and channels\r\n if (!extPriority || extPriority < channelPriority) {\r\n // Add to core extension that will be managed by AppInsightsCore\r\n coreExtensions[_DYN_PUSH /* @min:%2epush */](ext);\r\n }\r\n else {\r\n channels[_DYN_PUSH /* @min:%2epush */](ext);\r\n }\r\n });\r\n return _a = {},\r\n _a[STR_CORE /* @min:core */] = coreExtensions,\r\n _a[STR_CHANNELS /* @min:channels */] = channels,\r\n _a;\r\n}\r\nfunction _isPluginPresent(thePlugin, plugins) {\r\n var exists = false;\r\n arrForEach(plugins, function (plugin) {\r\n if (plugin === thePlugin) {\r\n exists = true;\r\n return -1;\r\n }\r\n });\r\n return exists;\r\n}\r\nfunction _deepMergeConfig(details, target, newValues, merge) {\r\n // Lets assign the new values to the existing config\r\n if (newValues) {\r\n objForEachKey(newValues, function (key, value) {\r\n if (merge) {\r\n if (isPlainObject(value) && isPlainObject(target[key])) {\r\n // The target is an object and it has a value\r\n _deepMergeConfig(details, target[key], value, merge);\r\n }\r\n }\r\n if (merge && isPlainObject(value) && isPlainObject(target[key])) {\r\n // The target is an object and it has a value\r\n _deepMergeConfig(details, target[key], value, merge);\r\n }\r\n else {\r\n // Just Assign (replace) and/or make the property dynamic\r\n details.set(target, key, value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _findWatcher(listeners, newWatcher) {\r\n var theListener = null;\r\n var idx = -1;\r\n arrForEach(listeners, function (listener, lp) {\r\n if (listener.w === newWatcher) {\r\n theListener = listener;\r\n idx = lp;\r\n return -1;\r\n }\r\n });\r\n return { i: idx, l: theListener };\r\n}\r\nfunction _addDelayedCfgListener(listeners, newWatcher) {\r\n var theListener = _findWatcher(listeners, newWatcher).l;\r\n if (!theListener) {\r\n theListener = {\r\n w: newWatcher,\r\n rm: function () {\r\n var fnd = _findWatcher(listeners, newWatcher);\r\n if (fnd.i !== -1) {\r\n listeners[_DYN_SPLICE /* @min:%2esplice */](fnd.i, 1);\r\n }\r\n }\r\n };\r\n listeners[_DYN_PUSH /* @min:%2epush */](theListener);\r\n }\r\n return theListener;\r\n}\r\nfunction _registerDelayedCfgListener(config, listeners, logger) {\r\n arrForEach(listeners, function (listener) {\r\n var unloadHdl = onConfigChange(config, listener.w, logger);\r\n delete listener.w; // Clear the listener reference so it will get garbage collected.\r\n // replace the remove function\r\n listener.rm = function () {\r\n unloadHdl.rm();\r\n };\r\n });\r\n}\r\n// Moved this outside of the closure to reduce the retained memory footprint\r\nfunction _initDebugListener(configHandler, unloadContainer, notificationManager, debugListener) {\r\n // Will get recalled if any referenced config values are changed\r\n unloadContainer.add(configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n var disableDbgExt = details.cfg.disableDbgExt;\r\n if (disableDbgExt === true && debugListener) {\r\n // Remove any previously loaded debug listener\r\n notificationManager[_DYN_REMOVE_NOTIFICATION_0 /* @min:%2eremoveNotificationListener */](debugListener);\r\n debugListener = null;\r\n }\r\n if (notificationManager && !debugListener && disableDbgExt !== true) {\r\n debugListener = getDebugListener(details.cfg);\r\n notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](debugListener);\r\n }\r\n }));\r\n return debugListener;\r\n}\r\n// Moved this outside of the closure to reduce the retained memory footprint\r\nfunction _createUnloadHook(unloadHook) {\r\n return objDefine({\r\n rm: function () {\r\n unloadHook.rm();\r\n }\r\n }, \"toJSON\", { v: function () { return \"aicore::onCfgChange<\" + JSON.stringify(unloadHook) + \">\"; } });\r\n}\r\n/**\r\n * @group Classes\r\n * @group Entrypoint\r\n */\r\nvar AppInsightsCore = /** @class */ (function () {\r\n function AppInsightsCore() {\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _configHandler;\r\n var _isInitialized;\r\n var _logger;\r\n var _eventQueue;\r\n var _notificationManager;\r\n var _perfManager;\r\n var _cfgPerfManager;\r\n var _cookieManager;\r\n var _pluginChain;\r\n var _configExtensions;\r\n var _channelConfig;\r\n var _channels;\r\n var _isUnloading;\r\n var _telemetryInitializerPlugin;\r\n var _internalLogsEventName;\r\n var _evtNamespace;\r\n var _unloadHandlers;\r\n var _hookContainer;\r\n var _debugListener;\r\n var _traceCtx;\r\n var _instrumentationKey;\r\n var _cfgListeners;\r\n var _extensions;\r\n var _pluginVersionStringArr;\r\n var _pluginVersionString;\r\n var _activeStatus; // to indicate if ikey or endpoint url promised is resolved or not\r\n var _endpoint;\r\n var _initInMemoMaxSize; // max event count limit during wait for init promises to be resolved\r\n var _isStatusSet; // track if active status is set in case of init timeout and init promises setting the status twice\r\n var _initTimer;\r\n /**\r\n * Internal log poller\r\n */\r\n var _internalLogPoller;\r\n var _internalLogPollerListening;\r\n var _forceStopInternalLogPoller;\r\n dynamicProto(AppInsightsCore, this, function (_self) {\r\n // Set the default values (also called during teardown)\r\n _initDefaults();\r\n // Special internal method to allow the unit tests and DebugPlugin to hook embedded objects\r\n _self[\"_getDbgPlgTargets\"] = function () {\r\n return [_extensions, _eventQueue];\r\n };\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () { return _isInitialized; };\r\n // since version 3.3.0\r\n _self.activeStatus = function () { return _activeStatus; };\r\n // since version 3.3.0\r\n // internal\r\n _self._setPendingStatus = function () {\r\n _activeStatus = 3 /* eActiveStatus.PENDING */;\r\n };\r\n // Creating the self.initialize = ()\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, extensions, logger, notificationManager) {\r\n if (_isUnloading) {\r\n throwError(strSdkUnloadingError);\r\n }\r\n // Make sure core is only initialized once\r\n if (_self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n throwError(\"Core cannot be initialized more than once\");\r\n }\r\n _configHandler = createDynamicConfig(config, defaultConfig, logger || _self[_DYN_LOGGER /* @min:%2elogger */], false);\r\n // Re-assigning the local config property so we don't have any references to the passed value and it can be garbage collected\r\n config = _configHandler.cfg;\r\n // This will be \"re-run\" if the referenced config properties are changed\r\n _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n var rootCfg = details.cfg;\r\n var isPending = _activeStatus === 3 /* eActiveStatus.PENDING */;\r\n if (isPending) {\r\n // means waiting for previous promises to be resolved, won't apply new changes\r\n return;\r\n }\r\n _initInMemoMaxSize = rootCfg.initInMemoMaxSize || maxInitQueueSize;\r\n // app Insights core only handle ikey and endpointurl, aisku will handle cs\r\n var ikey = rootCfg[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n var endpointUrl = rootCfg.endpointUrl; // do not need to validate endpoint url, if it is null, default one will be set by sender\r\n if (isNullOrUndefined(ikey)) {\r\n _instrumentationKey = null;\r\n // if new ikey is null, set status to be inactive, all new events will be saved in memory or dropped\r\n _activeStatus = ActiveStatus[_DYN__INACTIVE /* @min:%2eINACTIVE */];\r\n var msg = \"Please provide instrumentation key\";\r\n if (!_isInitialized) {\r\n // only throw error during initialization\r\n throwError(msg);\r\n }\r\n else {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 100 /* _eInternalMessageId.InvalidInstrumentationKey */, msg);\r\n _releaseQueues();\r\n }\r\n return;\r\n }\r\n var promises = [];\r\n if (isPromiseLike(ikey)) {\r\n promises[_DYN_PUSH /* @min:%2epush */](ikey);\r\n _instrumentationKey = null; // reset current local ikey variable (otherwise it will always be the previous ikeys if timeout is called before promise cb)\r\n }\r\n else {\r\n // string\r\n _instrumentationKey = ikey;\r\n }\r\n if (isPromiseLike(endpointUrl)) {\r\n promises[_DYN_PUSH /* @min:%2epush */](endpointUrl);\r\n _endpoint = null; // reset current local endpoint variable (otherwise it will always be the previous urls if timeout is called before promise cb)\r\n }\r\n else {\r\n // string or null\r\n _endpoint = endpointUrl;\r\n }\r\n // at least have one promise\r\n if (promises[_DYN_LENGTH /* @min:%2elength */]) {\r\n // reset to false for new dynamic changes\r\n _isStatusSet = false;\r\n _activeStatus = 3 /* eActiveStatus.PENDING */;\r\n var initTimeout = isNotNullOrUndefined(rootCfg.initTimeOut) ? rootCfg.initTimeOut : maxInitTimeout; // rootCfg.initTimeOut could be 0\r\n var allPromises = createSyncAllSettledPromise(promises);\r\n _initTimer = scheduleTimeout(function () {\r\n // set _isStatusSet to true\r\n // set active status\r\n // release queues\r\n _initTimer = null;\r\n if (!_isStatusSet) {\r\n _setStatus();\r\n }\r\n }, initTimeout);\r\n doAwaitResponse(allPromises, function (response) {\r\n try {\r\n if (_isStatusSet) {\r\n // promises take too long to resolve, ignore them\r\n // active status should be set by timeout already\r\n return;\r\n }\r\n if (!response.rejected) {\r\n var values = response[_DYN_VALUE /* @min:%2evalue */];\r\n if (values && values[_DYN_LENGTH /* @min:%2elength */]) {\r\n // ikey\r\n var ikeyRes = values[0];\r\n _instrumentationKey = ikeyRes && ikeyRes[_DYN_VALUE /* @min:%2evalue */];\r\n // endpoint\r\n if (values[_DYN_LENGTH /* @min:%2elength */] > 1) {\r\n var endpointRes = values[1];\r\n _endpoint = endpointRes && endpointRes[_DYN_VALUE /* @min:%2evalue */];\r\n }\r\n }\r\n if (_instrumentationKey) {\r\n // if ikey is null, no need to trigger extra dynamic changes for extensions\r\n config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */] = _instrumentationKey; // set config.instrumentationKey for extensions to consume\r\n config.endpointUrl = _endpoint; // set config.endpointUrl for extensions to consume\r\n }\r\n }\r\n // set _isStatusSet to true\r\n // set active status\r\n // release queues\r\n _setStatus();\r\n }\r\n catch (e) {\r\n if (!_isStatusSet) {\r\n _setStatus();\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n // means no promises\r\n _setStatus();\r\n }\r\n //_instrumentationKey = details.cfg.instrumentationKey;\r\n // Mark the extensionConfig and all first level keys as referenced\r\n // This is so that calls to getExtCfg() will always return the same object\r\n // Even when a user may \"re-assign\" the plugin properties (or it's unloaded/reloaded)\r\n var extCfg = details.ref(details.cfg, STR_EXTENSION_CONFIG);\r\n objForEachKey(extCfg, function (key) {\r\n details.ref(extCfg, key);\r\n });\r\n }));\r\n _notificationManager = notificationManager;\r\n // Initialize the debug listener outside of the closure to reduce the retained memory footprint\r\n _debugListener = _initDebugListener(_configHandler, _hookContainer, _notificationManager && _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */](), _debugListener);\r\n _initPerfManager();\r\n _self[_DYN_LOGGER /* @min:%2elogger */] = logger;\r\n var cfgExtensions = config[STR_EXTENSIONS /* @min:%2eextensions */];\r\n // Extension validation\r\n _configExtensions = [];\r\n _configExtensions[_DYN_PUSH /* @min:%2epush */].apply(_configExtensions, __spreadArray(__spreadArray([], extensions, false), cfgExtensions, false));\r\n _channelConfig = config[STR_CHANNELS /* @min:%2echannels */];\r\n _initPluginChain(null);\r\n if (!_channels || _channels[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n throwError(\"No \" + STR_CHANNELS + \" available\");\r\n }\r\n if (_channelConfig && _channelConfig[_DYN_LENGTH /* @min:%2elength */] > 1) {\r\n var teeController = _self[_DYN_GET_PLUGIN /* @min:%2egetPlugin */](\"TeeChannelController\");\r\n if (!teeController || !teeController.plugin) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"TeeChannel required\");\r\n }\r\n }\r\n _registerDelayedCfgListener(config, _cfgListeners, _logger);\r\n _cfgListeners = null;\r\n _isInitialized = true;\r\n if (_activeStatus === ActiveStatus.ACTIVE) {\r\n _releaseQueues();\r\n }\r\n };\r\n _self.getChannels = function () {\r\n var controls = [];\r\n if (_channels) {\r\n arrForEach(_channels, function (channel) {\r\n controls[_DYN_PUSH /* @min:%2epush */](channel);\r\n });\r\n }\r\n return objFreeze(controls);\r\n };\r\n _self.track = function (telemetryItem) {\r\n doPerf(_self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */](), function () { return \"AppInsightsCore:track\"; }, function () {\r\n if (telemetryItem === null) {\r\n _notifyInvalidEvent(telemetryItem);\r\n // throw error\r\n throwError(\"Invalid telemetry item\");\r\n }\r\n // do basic validation before sending it through the pipeline\r\n if (!telemetryItem[_DYN_NAME /* @min:%2ename */] && isNullOrUndefined(telemetryItem[_DYN_NAME /* @min:%2ename */])) {\r\n _notifyInvalidEvent(telemetryItem);\r\n throwError(\"telemetry name required\");\r\n }\r\n // setup default iKey if not passed in\r\n telemetryItem[_DYN_I_KEY /* @min:%2eiKey */] = telemetryItem[_DYN_I_KEY /* @min:%2eiKey */] || _instrumentationKey;\r\n // add default timestamp if not passed in\r\n telemetryItem[_DYN_TIME /* @min:%2etime */] = telemetryItem[_DYN_TIME /* @min:%2etime */] || toISOString(new Date());\r\n // Common Schema 4.0\r\n telemetryItem.ver = telemetryItem.ver || \"4.0\";\r\n if (!_isUnloading && _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]() && _activeStatus === ActiveStatus.ACTIVE) {\r\n // Process the telemetry plugin chain\r\n _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](telemetryItem);\r\n }\r\n else if (_activeStatus !== ActiveStatus[_DYN__INACTIVE /* @min:%2eINACTIVE */]) {\r\n // Queue events until all extensions are initialized\r\n if (_eventQueue[_DYN_LENGTH /* @min:%2elength */] <= _initInMemoMaxSize) {\r\n // set limit, if full, stop adding new events\r\n _eventQueue[_DYN_PUSH /* @min:%2epush */](telemetryItem);\r\n }\r\n }\r\n }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));\r\n };\r\n _self[_DYN_GET_PROCESS_TEL_CONT2 /* @min:%2egetProcessTelContext */] = _createTelCtx;\r\n _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */] = function () {\r\n if (!_notificationManager) {\r\n _notificationManager = new NotificationManager(_configHandler.cfg);\r\n // For backward compatibility only\r\n _self[strNotificationManager] = _notificationManager;\r\n }\r\n return _notificationManager;\r\n };\r\n /**\r\n * Adds a notification listener. The SDK calls methods on the listener when an appropriate notification is raised.\r\n * The added plugins must raise notifications. If the plugins do not implement the notifications, then no methods will be\r\n * called.\r\n * @param listener - An INotificationListener object.\r\n */\r\n _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {\r\n _self.getNotifyMgr()[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param listener - INotificationListener to remove.\r\n */\r\n _self[_DYN_REMOVE_NOTIFICATION_0 /* @min:%2eremoveNotificationListener */] = function (listener) {\r\n if (_notificationManager) {\r\n _notificationManager[_DYN_REMOVE_NOTIFICATION_0 /* @min:%2eremoveNotificationListener */](listener);\r\n }\r\n };\r\n _self.getCookieMgr = function () {\r\n if (!_cookieManager) {\r\n _cookieManager = createCookieMgr(_configHandler.cfg, _self[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return _cookieManager;\r\n };\r\n _self.setCookieMgr = function (cookieMgr) {\r\n if (_cookieManager !== cookieMgr) {\r\n runTargetUnload(_cookieManager, false);\r\n _cookieManager = cookieMgr;\r\n }\r\n };\r\n _self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */] = function () {\r\n return _perfManager || _cfgPerfManager || getGblPerfMgr();\r\n };\r\n _self.setPerfMgr = function (perfMgr) {\r\n _perfManager = perfMgr;\r\n };\r\n _self.eventCnt = function () {\r\n return _eventQueue[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.releaseQueue = function () {\r\n if (_isInitialized && _eventQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var eventQueue = _eventQueue;\r\n _eventQueue = [];\r\n if (_activeStatus === 2 /* eActiveStatus.ACTIVE */) {\r\n arrForEach(eventQueue, function (event) {\r\n event[_DYN_I_KEY /* @min:%2eiKey */] = event[_DYN_I_KEY /* @min:%2eiKey */] || _instrumentationKey;\r\n _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](event);\r\n });\r\n }\r\n else {\r\n // new one for msg ikey\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 20 /* _eInternalMessageId.FailedToSendQueuedTelemetry */, \"core init status is not active\");\r\n }\r\n }\r\n };\r\n _self[_DYN_POLL_INTERNAL_LOGS /* @min:%2epollInternalLogs */] = function (eventName) {\r\n _internalLogsEventName = eventName || null;\r\n _forceStopInternalLogPoller = false;\r\n _internalLogPoller && _internalLogPoller[_DYN_CANCEL /* @min:%2ecancel */]();\r\n return _startLogPoller(true);\r\n };\r\n function _setStatus() {\r\n _isStatusSet = true;\r\n if (isNullOrUndefined(_instrumentationKey)) {\r\n _activeStatus = ActiveStatus[_DYN__INACTIVE /* @min:%2eINACTIVE */];\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 112 /* _eInternalMessageId.InitPromiseException */, \"ikey can't be resolved from promises\");\r\n }\r\n else {\r\n _activeStatus = ActiveStatus.ACTIVE;\r\n }\r\n _releaseQueues();\r\n }\r\n function _releaseQueues() {\r\n if (_isInitialized) {\r\n _self.releaseQueue();\r\n _self[_DYN_POLL_INTERNAL_LOGS /* @min:%2epollInternalLogs */]();\r\n }\r\n }\r\n function _startLogPoller(alwaysStart) {\r\n if ((!_internalLogPoller || !_internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */]) && !_forceStopInternalLogPoller) {\r\n var shouldStart = alwaysStart || (_logger && _logger.queue[_DYN_LENGTH /* @min:%2elength */] > 0);\r\n if (shouldStart) {\r\n if (!_internalLogPollerListening) {\r\n _internalLogPollerListening = true;\r\n // listen for any configuration changes so that changes to the\r\n // interval will cause the timer to be re-initialized\r\n _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n var interval = details.cfg.diagnosticLogInterval;\r\n if (!interval || !(interval > 0)) {\r\n interval = 10000;\r\n }\r\n var isRunning = false;\r\n if (_internalLogPoller) {\r\n // It was already created so remember it's running and cancel\r\n isRunning = _internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */];\r\n _internalLogPoller[_DYN_CANCEL /* @min:%2ecancel */]();\r\n }\r\n // Create / reconfigure\r\n _internalLogPoller = createTimeout(_flushInternalLogs, interval);\r\n _internalLogPoller.unref();\r\n // Restart if previously running\r\n _internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */] = isRunning;\r\n }));\r\n }\r\n _internalLogPoller[_DYN_ENABLED /* @min:%2eenabled */] = true;\r\n }\r\n }\r\n return _internalLogPoller;\r\n }\r\n _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */] = function () {\r\n _forceStopInternalLogPoller = true;\r\n _internalLogPoller && _internalLogPoller[_DYN_CANCEL /* @min:%2ecancel */]();\r\n _flushInternalLogs();\r\n };\r\n // Add addTelemetryInitializer\r\n proxyFunctions(_self, function () { return _telemetryInitializerPlugin; }, [\"addTelemetryInitializer\"]);\r\n _self[_DYN_UNLOAD /* @min:%2eunload */] = function (isAsync, unloadComplete, cbTimeout) {\r\n var _a;\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_isInitialized) {\r\n // The SDK is not initialized\r\n throwError(strSdkNotInitialized);\r\n }\r\n // Check if the SDK still unloading so throw\r\n if (_isUnloading) {\r\n // The SDK is already unloading\r\n throwError(strSdkUnloadingError);\r\n }\r\n var unloadState = (_a = {\r\n reason: 50 /* TelemetryUnloadReason.SdkUnload */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,\r\n _a.flushComplete = false,\r\n _a);\r\n var result;\r\n if (isAsync && !unloadComplete) {\r\n result = createPromise(function (resolve) {\r\n // Set the callback to the promise resolve callback\r\n unloadComplete = resolve;\r\n });\r\n }\r\n var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);\r\n processUnloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {\r\n _hookContainer.run(_self[_DYN_LOGGER /* @min:%2elogger */]);\r\n // Run any \"unload\" functions for the _cookieManager, _notificationManager and _logger\r\n doUnloadAll([_cookieManager, _notificationManager, _logger], isAsync, function () {\r\n _initDefaults();\r\n unloadComplete && unloadComplete(unloadState);\r\n });\r\n }, _self);\r\n function _doUnload(flushComplete) {\r\n unloadState.flushComplete = flushComplete;\r\n _isUnloading = true;\r\n // Run all of the unload handlers first (before unloading the plugins)\r\n _unloadHandlers.run(processUnloadCtx, unloadState);\r\n // Stop polling the internal logs\r\n _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */]();\r\n // Start unloading the components, from this point onwards the SDK should be considered to be in an unstable state\r\n processUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n _flushInternalLogs();\r\n if (!_flushChannels(isAsync, _doUnload, 6 /* SendRequestReason.SdkUnload */, cbTimeout)) {\r\n _doUnload(false);\r\n }\r\n return result;\r\n };\r\n _self[_DYN_GET_PLUGIN /* @min:%2egetPlugin */] = _getPlugin;\r\n _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {\r\n if (!plugin) {\r\n addCb && addCb(false);\r\n _logOrThrowError(strValidationError);\r\n return;\r\n }\r\n var existingPlugin = _getPlugin(plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */]);\r\n if (existingPlugin && !replaceExisting) {\r\n addCb && addCb(false);\r\n _logOrThrowError(\"Plugin [\" + plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"] is already loaded!\");\r\n return;\r\n }\r\n var updateState = {\r\n reason: 16 /* TelemetryUpdateReason.PluginAdded */\r\n };\r\n function _addPlugin(removed) {\r\n _configExtensions[_DYN_PUSH /* @min:%2epush */](plugin);\r\n updateState.added = [plugin];\r\n // Re-Initialize the plugin chain\r\n _initPluginChain(updateState);\r\n addCb && addCb(true);\r\n }\r\n if (existingPlugin) {\r\n var removedPlugins_1 = [existingPlugin.plugin];\r\n var unloadState = {\r\n reason: 2 /* TelemetryUnloadReason.PluginReplace */,\r\n isAsync: !!isAsync\r\n };\r\n _removePlugins(removedPlugins_1, unloadState, function (removed) {\r\n if (!removed) {\r\n // Previous plugin was successfully removed or was not installed\r\n addCb && addCb(false);\r\n }\r\n else {\r\n updateState.removed = removedPlugins_1;\r\n updateState.reason |= 32 /* TelemetryUpdateReason.PluginRemoved */;\r\n _addPlugin(true);\r\n }\r\n });\r\n }\r\n else {\r\n _addPlugin(false);\r\n }\r\n };\r\n _self.updateCfg = function (newConfig, mergeExisting) {\r\n if (mergeExisting === void 0) { mergeExisting = true; }\r\n var updateState;\r\n if (_self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n updateState = {\r\n reason: 1 /* TelemetryUpdateReason.ConfigurationChanged */,\r\n cfg: _configHandler.cfg,\r\n oldCfg: deepExtend({}, _configHandler.cfg),\r\n newConfig: deepExtend({}, newConfig),\r\n merge: mergeExisting\r\n };\r\n newConfig = updateState.newConfig;\r\n var cfg = _configHandler.cfg;\r\n // replace the immutable (if initialized) values\r\n // We don't currently allow updating the extensions and channels via the update config\r\n // So overwriting any user provided values to reuse the existing values\r\n newConfig[STR_EXTENSIONS /* @min:%2eextensions */] = cfg[STR_EXTENSIONS /* @min:%2eextensions */];\r\n newConfig[STR_CHANNELS /* @min:%2echannels */] = cfg[STR_CHANNELS /* @min:%2echannels */];\r\n }\r\n // Explicitly blocking any previous config watchers so that they don't get called because\r\n // of this bulk update (Probably not necessary)\r\n _configHandler._block(function (details) {\r\n // Lets assign the new values to the existing config either overwriting or re-assigning\r\n var theConfig = details.cfg;\r\n _deepMergeConfig(details, theConfig, newConfig, mergeExisting);\r\n if (!mergeExisting) {\r\n // Remove (unassign) the values \"missing\" from the newConfig and also not in the default config\r\n objForEachKey(theConfig, function (key) {\r\n if (!objHasOwn(newConfig, key)) {\r\n // Set the value to undefined\r\n details.set(theConfig, key, UNDEFINED_VALUE);\r\n }\r\n });\r\n }\r\n // Apply defaults to the new config\r\n details[_DYN_SET_DF /* @min:%2esetDf */](theConfig, defaultConfig);\r\n }, true);\r\n // Now execute all of the listeners (synchronously) so they update their values immediately\r\n _configHandler[_DYN_NOTIFY /* @min:%2enotify */]();\r\n if (updateState) {\r\n _doUpdate(updateState);\r\n }\r\n };\r\n _self.evtNamespace = function () {\r\n return _evtNamespace;\r\n };\r\n _self.flush = _flushChannels;\r\n _self.getTraceCtx = function (createNew) {\r\n if (!_traceCtx) {\r\n _traceCtx = createDistributedTraceContext();\r\n }\r\n return _traceCtx;\r\n };\r\n _self.setTraceCtx = function (traceCtx) {\r\n _traceCtx = traceCtx || null;\r\n };\r\n _self.addUnloadHook = _addUnloadHook;\r\n // Create the addUnloadCb\r\n proxyFunctionAs(_self, \"addUnloadCb\", function () { return _unloadHandlers; }, \"add\");\r\n _self.onCfgChange = function (handler) {\r\n var unloadHook;\r\n if (!_isInitialized) {\r\n unloadHook = _addDelayedCfgListener(_cfgListeners, handler);\r\n }\r\n else {\r\n unloadHook = onConfigChange(_configHandler.cfg, handler, _self[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return _createUnloadHook(unloadHook);\r\n };\r\n _self.getWParam = function () {\r\n return (hasDocument() || !!_configHandler.cfg.enableWParam) ? 0 : -1;\r\n };\r\n function _setPluginVersions() {\r\n var thePlugins = {};\r\n _pluginVersionStringArr = [];\r\n var _addPluginVersions = function (plugins) {\r\n if (plugins) {\r\n arrForEach(plugins, function (plugin) {\r\n if (plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] && plugin[_DYN_VERSION /* @min:%2eversion */] && !thePlugins[plugin.identifier]) {\r\n var ver = plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"=\" + plugin[_DYN_VERSION /* @min:%2eversion */];\r\n _pluginVersionStringArr[_DYN_PUSH /* @min:%2epush */](ver);\r\n thePlugins[plugin.identifier] = plugin;\r\n }\r\n });\r\n }\r\n };\r\n _addPluginVersions(_channels);\r\n if (_channelConfig) {\r\n arrForEach(_channelConfig, function (channels) {\r\n _addPluginVersions(channels);\r\n });\r\n }\r\n _addPluginVersions(_configExtensions);\r\n }\r\n function _initDefaults() {\r\n _isInitialized = false;\r\n // Use a default logger so initialization errors are not dropped on the floor with full logging\r\n _configHandler = createDynamicConfig({}, defaultConfig, _self[_DYN_LOGGER /* @min:%2elogger */]);\r\n // Set the logging level to critical so that any critical initialization failures are displayed on the console\r\n _configHandler.cfg[_DYN_LOGGING_LEVEL_CONSOL4 /* @min:%2eloggingLevelConsole */] = 1 /* eLoggingSeverity.CRITICAL */;\r\n // Define _self.config\r\n objDefine(_self, \"config\", {\r\n g: function () { return _configHandler.cfg; },\r\n s: function (newValue) {\r\n _self.updateCfg(newValue, false);\r\n }\r\n });\r\n objDefine(_self, \"pluginVersionStringArr\", {\r\n g: function () {\r\n if (!_pluginVersionStringArr) {\r\n _setPluginVersions();\r\n }\r\n return _pluginVersionStringArr;\r\n }\r\n });\r\n objDefine(_self, \"pluginVersionString\", {\r\n g: function () {\r\n if (!_pluginVersionString) {\r\n if (!_pluginVersionStringArr) {\r\n _setPluginVersions();\r\n }\r\n _pluginVersionString = _pluginVersionStringArr.join(\";\");\r\n }\r\n return _pluginVersionString || STR_EMPTY;\r\n }\r\n });\r\n objDefine(_self, \"logger\", {\r\n g: function () {\r\n if (!_logger) {\r\n _logger = new DiagnosticLogger(_configHandler.cfg);\r\n _configHandler[_DYN_LOGGER /* @min:%2elogger */] = _logger;\r\n }\r\n return _logger;\r\n },\r\n s: function (newLogger) {\r\n _configHandler[_DYN_LOGGER /* @min:%2elogger */] = newLogger;\r\n if (_logger !== newLogger) {\r\n runTargetUnload(_logger, false);\r\n _logger = newLogger;\r\n }\r\n }\r\n });\r\n _self[_DYN_LOGGER /* @min:%2elogger */] = new DiagnosticLogger(_configHandler.cfg);\r\n _extensions = [];\r\n var cfgExtensions = _self.config[STR_EXTENSIONS /* @min:%2eextensions */] || [];\r\n cfgExtensions.splice(0, cfgExtensions[_DYN_LENGTH /* @min:%2elength */]);\r\n arrAppend(cfgExtensions, _extensions);\r\n _telemetryInitializerPlugin = new TelemetryInitializerPlugin();\r\n _eventQueue = [];\r\n runTargetUnload(_notificationManager, false);\r\n _notificationManager = null;\r\n _perfManager = null;\r\n _cfgPerfManager = null;\r\n runTargetUnload(_cookieManager, false);\r\n _cookieManager = null;\r\n _pluginChain = null;\r\n _configExtensions = [];\r\n _channelConfig = null;\r\n _channels = null;\r\n _isUnloading = false;\r\n _internalLogsEventName = null;\r\n _evtNamespace = createUniqueNamespace(\"AIBaseCore\", true);\r\n _unloadHandlers = createUnloadHandlerContainer();\r\n _traceCtx = null;\r\n _instrumentationKey = null;\r\n _hookContainer = createUnloadHookContainer();\r\n _cfgListeners = [];\r\n _pluginVersionString = null;\r\n _pluginVersionStringArr = null;\r\n _forceStopInternalLogPoller = false;\r\n _internalLogPoller = null;\r\n _internalLogPollerListening = false;\r\n _activeStatus = 0 /* eActiveStatus.NONE */; // default is None\r\n _endpoint = null;\r\n _initInMemoMaxSize = null;\r\n _isStatusSet = false;\r\n _initTimer = null;\r\n }\r\n function _createTelCtx() {\r\n var theCtx = createProcessTelemetryContext(_getPluginChain(), _configHandler.cfg, _self);\r\n theCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_startLogPoller);\r\n return theCtx;\r\n }\r\n // Initialize or Re-initialize the plugins\r\n function _initPluginChain(updateState) {\r\n // Extension validation\r\n var theExtensions = _validateExtensions(_self[_DYN_LOGGER /* @min:%2elogger */], ChannelControllerPriority, _configExtensions);\r\n _pluginChain = null;\r\n _pluginVersionString = null;\r\n _pluginVersionStringArr = null;\r\n // Get the primary channel queue and include as part of the normal extensions\r\n _channels = (_channelConfig || [])[0] || [];\r\n // Add any channels provided in the extensions and sort them\r\n _channels = sortPlugins(arrAppend(_channels, theExtensions[STR_CHANNELS /* @min:%2echannels */]));\r\n // Create an array of all extensions, including the _channels\r\n var allExtensions = arrAppend(sortPlugins(theExtensions[STR_CORE /* @min:%2ecore */]), _channels);\r\n // Required to allow plugins to call core.getPlugin() during their own initialization\r\n _extensions = objFreeze(allExtensions);\r\n // This has a side effect of adding the extensions passed during initialization\r\n // into the config.extensions, so you can see all of the extensions loaded.\r\n // This will also get updated by the addPlugin() and remove plugin code.\r\n var cfgExtensions = _self.config[STR_EXTENSIONS /* @min:%2eextensions */] || [];\r\n cfgExtensions.splice(0, cfgExtensions[_DYN_LENGTH /* @min:%2elength */]);\r\n arrAppend(cfgExtensions, _extensions);\r\n var rootCtx = _createTelCtx();\r\n // Initializing the channels first\r\n if (_channels && _channels[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n initializePlugins(rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](_channels), allExtensions);\r\n }\r\n // Now initialize the normal extensions (explicitly not including the _channels as this can cause duplicate initialization)\r\n initializePlugins(rootCtx, allExtensions);\r\n if (updateState) {\r\n _doUpdate(updateState);\r\n }\r\n }\r\n function _getPlugin(pluginIdentifier) {\r\n var theExt = null;\r\n var thePlugin = null;\r\n var channelHosts = [];\r\n arrForEach(_extensions, function (ext) {\r\n if (ext[_DYN_IDENTIFIER /* @min:%2eidentifier */] === pluginIdentifier && ext !== _telemetryInitializerPlugin) {\r\n thePlugin = ext;\r\n return -1;\r\n }\r\n if (ext.getChannel) {\r\n channelHosts[_DYN_PUSH /* @min:%2epush */](ext);\r\n }\r\n });\r\n if (!thePlugin && channelHosts[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(channelHosts, function (host) {\r\n thePlugin = host.getChannel(pluginIdentifier);\r\n if (!thePlugin) {\r\n return -1;\r\n }\r\n });\r\n }\r\n if (thePlugin) {\r\n theExt = {\r\n plugin: thePlugin,\r\n setEnabled: function (enabled) {\r\n _getPluginState(thePlugin)[STR_DISABLED] = !enabled;\r\n },\r\n isEnabled: function () {\r\n var pluginState = _getPluginState(thePlugin);\r\n return !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] && !pluginState[STR_DISABLED];\r\n },\r\n remove: function (isAsync, removeCb) {\r\n var _a;\r\n if (isAsync === void 0) { isAsync = true; }\r\n var pluginsToRemove = [thePlugin];\r\n var unloadState = (_a = {\r\n reason: 1 /* TelemetryUnloadReason.PluginUnload */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,\r\n _a);\r\n _removePlugins(pluginsToRemove, unloadState, function (removed) {\r\n if (removed) {\r\n // Re-Initialize the plugin chain\r\n _initPluginChain({\r\n reason: 32 /* TelemetryUpdateReason.PluginRemoved */,\r\n removed: pluginsToRemove\r\n });\r\n }\r\n removeCb && removeCb(removed);\r\n });\r\n }\r\n };\r\n }\r\n return theExt;\r\n }\r\n function _getPluginChain() {\r\n if (!_pluginChain) {\r\n // copy the collection of extensions\r\n var extensions = (_extensions || []).slice();\r\n // During add / remove this may get called again, so don't read if already present\r\n if (arrIndexOf(extensions, _telemetryInitializerPlugin) === -1) {\r\n extensions[_DYN_PUSH /* @min:%2epush */](_telemetryInitializerPlugin);\r\n }\r\n _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _configHandler.cfg, _self);\r\n }\r\n return _pluginChain;\r\n }\r\n function _removePlugins(thePlugins, unloadState, removeComplete) {\r\n if (thePlugins && thePlugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var unloadChain = createTelemetryProxyChain(thePlugins, _configHandler.cfg, _self);\r\n var unloadCtx = createProcessTelemetryUnloadContext(unloadChain, _self);\r\n unloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {\r\n var removed = false;\r\n // Remove the listed config extensions\r\n var newConfigExtensions = [];\r\n arrForEach(_configExtensions, function (plugin, idx) {\r\n if (!_isPluginPresent(plugin, thePlugins)) {\r\n newConfigExtensions[_DYN_PUSH /* @min:%2epush */](plugin);\r\n }\r\n else {\r\n removed = true;\r\n }\r\n });\r\n _configExtensions = newConfigExtensions;\r\n _pluginVersionString = null;\r\n _pluginVersionStringArr = null;\r\n // Re-Create the channel config\r\n var newChannelConfig = [];\r\n if (_channelConfig) {\r\n arrForEach(_channelConfig, function (queue, idx) {\r\n var newQueue = [];\r\n arrForEach(queue, function (channel) {\r\n if (!_isPluginPresent(channel, thePlugins)) {\r\n newQueue[_DYN_PUSH /* @min:%2epush */](channel);\r\n }\r\n else {\r\n removed = true;\r\n }\r\n });\r\n newChannelConfig[_DYN_PUSH /* @min:%2epush */](newQueue);\r\n });\r\n _channelConfig = newChannelConfig;\r\n }\r\n removeComplete && removeComplete(removed);\r\n _startLogPoller();\r\n });\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n else {\r\n removeComplete(false);\r\n }\r\n }\r\n function _flushInternalLogs() {\r\n if (_logger && _logger.queue) {\r\n var queue = _logger.queue.slice(0);\r\n _logger.queue[_DYN_LENGTH /* @min:%2elength */] = 0;\r\n arrForEach(queue, function (logMessage) {\r\n var _a;\r\n var item = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = _internalLogsEventName ? _internalLogsEventName : \"InternalMessageId: \" + logMessage[_DYN_MESSAGE_ID /* @min:%2emessageId */],\r\n _a[_DYN_I_KEY /* @min:iKey */] = _instrumentationKey,\r\n _a[_DYN_TIME /* @min:time */] = toISOString(new Date()),\r\n _a.baseType = _InternalLogMessage.dataType,\r\n _a.baseData = { message: logMessage[_DYN_MESSAGE /* @min:%2emessage */] },\r\n _a);\r\n _self.track(item);\r\n });\r\n }\r\n }\r\n function _flushChannels(isAsync, callBack, sendReason, cbTimeout) {\r\n // Setting waiting to one so that we don't call the callBack until we finish iterating\r\n var waiting = 1;\r\n var doneIterating = false;\r\n var cbTimer = null;\r\n cbTimeout = cbTimeout || 5000;\r\n function doCallback() {\r\n waiting--;\r\n if (doneIterating && waiting === 0) {\r\n cbTimer && cbTimer[_DYN_CANCEL /* @min:%2ecancel */]();\r\n cbTimer = null;\r\n callBack && callBack(doneIterating);\r\n callBack = null;\r\n }\r\n }\r\n if (_channels && _channels[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var flushCtx = _createTelCtx()[_DYN_CREATE_NEW /* @min:%2ecreateNew */](_channels);\r\n flushCtx.iterate(function (plugin) {\r\n if (plugin.flush) {\r\n waiting++;\r\n var handled_1 = false;\r\n // Not all channels will call this callback for every scenario\r\n if (!plugin.flush(isAsync, function () {\r\n handled_1 = true;\r\n doCallback();\r\n }, sendReason)) {\r\n if (!handled_1) {\r\n // If any channel doesn't return true and it didn't call the callback, then we should assume that the callback\r\n // will never be called, so use a timeout to allow the channel(s) some time to \"finish\" before triggering any\r\n // followup function (such as unloading)\r\n if (isAsync && cbTimer == null) {\r\n cbTimer = scheduleTimeout(function () {\r\n cbTimer = null;\r\n doCallback();\r\n }, cbTimeout);\r\n }\r\n else {\r\n doCallback();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n doneIterating = true;\r\n doCallback();\r\n return true;\r\n }\r\n function _initPerfManager() {\r\n // Save the previous config based performance manager creator to avoid creating new perf manager instances if unchanged\r\n var prevCfgPerfMgr;\r\n // Will get recalled if any referenced config values are changed\r\n _addUnloadHook(_configHandler[_DYN_WATCH /* @min:%2ewatch */](function (details) {\r\n var enablePerfMgr = details.cfg.enablePerfMgr;\r\n if (enablePerfMgr) {\r\n var createPerfMgr = details.cfg[STR_CREATE_PERF_MGR /* @min:%2ecreatePerfMgr */];\r\n // for preCfgPerfMgr = createPerfMgr = null\r\n // initial createPerfMgr function should be _createPerfManager\r\n if ((prevCfgPerfMgr !== createPerfMgr) || !prevCfgPerfMgr) {\r\n if (!createPerfMgr) {\r\n createPerfMgr = _createPerfManager;\r\n }\r\n // Set the performance manager creation function if not defined\r\n getSetValue(details.cfg, STR_CREATE_PERF_MGR, createPerfMgr);\r\n prevCfgPerfMgr = createPerfMgr;\r\n // Remove any existing config based performance manager\r\n _cfgPerfManager = null;\r\n }\r\n // Only create the performance manager if it's not already created or manually set\r\n if (!_perfManager && !_cfgPerfManager && isFunction(createPerfMgr)) {\r\n // Create a new config based performance manager\r\n _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]());\r\n }\r\n }\r\n else {\r\n // Remove any existing config based performance manager\r\n _cfgPerfManager = null;\r\n // Clear the previous cached value so it can be GC'd\r\n prevCfgPerfMgr = null;\r\n }\r\n }));\r\n }\r\n function _doUpdate(updateState) {\r\n var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);\r\n updateCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_startLogPoller);\r\n if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) {\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n function _logOrThrowError(message) {\r\n var logger = _self[_DYN_LOGGER /* @min:%2elogger */];\r\n if (logger) {\r\n // there should always be a logger\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, message);\r\n _startLogPoller();\r\n }\r\n else {\r\n throwError(message);\r\n }\r\n }\r\n function _notifyInvalidEvent(telemetryItem) {\r\n var manager = _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]();\r\n if (manager) {\r\n manager[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */]([telemetryItem], 2 /* eEventsDiscardedReason.InvalidEvent */);\r\n }\r\n }\r\n function _addUnloadHook(hooks) {\r\n _hookContainer.add(hooks);\r\n }\r\n });\r\n }\r\n AppInsightsCore.prototype.initialize = function (config, extensions, logger, notificationManager) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AppInsightsCore.prototype.getChannels = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n AppInsightsCore.prototype.track = function (telemetryItem) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AppInsightsCore.prototype.getProcessTelContext = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n AppInsightsCore.prototype.getNotifyMgr = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Adds a notification listener. The SDK calls methods on the listener when an appropriate notification is raised.\r\n * The added plugins must raise notifications. If the plugins do not implement the notifications, then no methods will be\r\n * called.\r\n * @param listener - An INotificationListener object.\r\n */\r\n AppInsightsCore.prototype.addNotificationListener = function (listener) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param listener - INotificationListener to remove.\r\n */\r\n AppInsightsCore.prototype.removeNotificationListener = function (listener) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Get the current cookie manager for this instance\r\n */\r\n AppInsightsCore.prototype.getCookieMgr = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Set the current cookie manager for this instance\r\n * @param cookieMgr - The manager, if set to null/undefined will cause the default to be created\r\n */\r\n AppInsightsCore.prototype.setCookieMgr = function (cookieMgr) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AppInsightsCore.prototype.getPerfMgr = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n AppInsightsCore.prototype.setPerfMgr = function (perfMgr) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AppInsightsCore.prototype.eventCnt = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n /**\r\n * Enable the timer that checks the logger.queue for log messages to be flushed.\r\n * Note: Since 3.0.1 and 2.8.13 this is no longer an interval timer but is a normal\r\n * timer that is only started when this function is called and then subsequently\r\n * only _if_ there are any logger.queue messages to be sent.\r\n */\r\n AppInsightsCore.prototype.pollInternalLogs = function (eventName) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Stop the timer that log messages from logger.queue when available\r\n */\r\n AppInsightsCore.prototype.stopPollingInternalLogs = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add a telemetry processor to decorate or drop telemetry events.\r\n * @param telemetryInitializer - The Telemetry Initializer function\r\n * @returns - A ITelemetryInitializerHandler to enable the initializer to be removed\r\n */\r\n AppInsightsCore.prototype.addTelemetryInitializer = function (telemetryInitializer) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Unload and Tear down the SDK and any initialized plugins, after calling this the SDK will be considered\r\n * to be un-initialized and non-operational, re-initializing the SDK should only be attempted if the previous\r\n * unload call return `true` stating that all plugins reported that they also unloaded, the recommended\r\n * approach is to create a new instance and initialize that instance.\r\n * This is due to possible unexpected side effects caused by plugins not supporting unload / teardown, unable\r\n * to successfully remove any global references or they may just be completing the unload process asynchronously.\r\n * If you pass isAsync as `true` (also the default) and DO NOT pass a callback function then an [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * will be returned which will resolve once the unload is complete. The actual implementation of the `IPromise`\r\n * will be a native Promise (if supported) or the default as supplied by [ts-async library](https://github.com/nevware21/ts-async)\r\n * @param isAsync - Can the unload be performed asynchronously (default)\r\n * @param unloadComplete - An optional callback that will be called once the unload has completed\r\n * @param cbTimeout - An optional timeout to wait for any flush operations to complete before proceeding with the\r\n * unload. Defaults to 5 seconds.\r\n * @return Nothing or if occurring asynchronously a [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * which will be resolved once the unload is complete, the [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * will only be returned when no callback is provided and isAsync is true\r\n */\r\n AppInsightsCore.prototype.unload = function (isAsync, unloadComplete, cbTimeout) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AppInsightsCore.prototype.getPlugin = function (pluginIdentifier) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Add a new plugin to the installation\r\n * @param plugin - The new plugin to add\r\n * @param replaceExisting - should any existing plugin be replaced, default is false\r\n * @param doAsync - Should the add be performed asynchronously\r\n * @param addCb - [Optional] callback to call after the plugin has been added\r\n */\r\n AppInsightsCore.prototype.addPlugin = function (plugin, replaceExisting, doAsync, addCb) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Update the configuration used and broadcast the changes to all loaded plugins\r\n * @param newConfig - The new configuration is apply\r\n * @param mergeExisting - Should the new configuration merge with the existing or just replace it. Default is to true.\r\n */\r\n AppInsightsCore.prototype.updateCfg = function (newConfig, mergeExisting) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Returns the unique event namespace that should be used\r\n */\r\n AppInsightsCore.prototype.evtNamespace = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Add an unload handler that will be called when the SDK is being unloaded\r\n * @param handler - the handler\r\n */\r\n AppInsightsCore.prototype.addUnloadCb = function (handler) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Flush and send any batched / cached data immediately\r\n * @param async - send data asynchronously when true (defaults to true)\r\n * @param callBack - if specified, notify caller when send is complete, the channel should return true to indicate to the caller that it will be called.\r\n * If the caller doesn't return true the caller should assume that it may never be called.\r\n * @param sendReason - specify the reason that you are calling \"flush\" defaults to ManualFlush (1) if not specified\r\n * @returns - true if the callback will be return after the flush is complete otherwise the caller should assume that any provided callback will never be called\r\n */\r\n AppInsightsCore.prototype.flush = function (isAsync, callBack, sendReason) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Gets the current distributed trace context for this instance if available\r\n * @param createNew - Optional flag to create a new instance if one doesn't currently exist, defaults to true\r\n */\r\n AppInsightsCore.prototype.getTraceCtx = function (createNew) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Sets the current distributed trace context for this instance if available\r\n */\r\n AppInsightsCore.prototype.setTraceCtx = function (newTracectx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add this hook so that it is automatically removed during unloading\r\n * @param hooks - The single hook or an array of IInstrumentHook objects\r\n */\r\n AppInsightsCore.prototype.addUnloadHook = function (hooks) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Watches and tracks changes for accesses to the current config, and if the accessed config changes the\r\n * handler will be recalled.\r\n * @param handler\r\n * @returns A watcher handler instance that can be used to remove itself when being unloaded\r\n */\r\n AppInsightsCore.prototype.onCfgChange = function (handler) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Watches and tracks status of initialization process\r\n * @returns ActiveStatus\r\n * @since 3.3.0\r\n * If returned status is active, it means initialization process is completed.\r\n * If returned status is pending, it means the initialization process is waiting for promieses to be resolved.\r\n * If returned status is inactive, it means ikey is invalid or can 't get ikey or enpoint url from promsises.\r\n */\r\n AppInsightsCore.prototype.activeStatus = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Set Active Status to pending, which will block the incoming changes until internal promises are resolved\r\n * @internal Internal use\r\n * @since 3.3.0\r\n */\r\n AppInsightsCore.prototype._setPendingStatus = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n AppInsightsCore.prototype.releaseQueue = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Hook for Core extensions to allow them to update their own configuration before updating all of the plugins.\r\n * @param updateCtx - The plugin update context\r\n * @param updateState - The Update State\r\n * @returns boolean - True means the extension class will call updateState otherwise the Core will\r\n */\r\n AppInsightsCore.prototype._updateHook = function (updateCtx, updateState) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return false;\r\n };\r\n return AppInsightsCore;\r\n}());\r\nexport { AppInsightsCore };\r\n//# sourceMappingURL=AppInsightsCore.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nexport var STR_DURATION = \"duration\";\r\nexport var STR_PROPERTIES = \"properties\";\r\n//# sourceMappingURL=InternalConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_REQUEST_URL = \"requestUrl\"; // Count: 11\r\nexport var _DYN_INST = \"inst\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 8\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 9\r\nexport var _DYN_SPAN_ID = \"spanID\"; // Count: 8\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 13\r\nexport var _DYN_CONTEXT = \"context\"; // Count: 7\r\nexport var _DYN_ABORTED = \"aborted\"; // Count: 7\r\nexport var _DYN_TRACE_ID0 = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID1 = \"spanId\"; // Count: 5\r\nexport var _DYN__ADD_HOOK = \"_addHook\"; // Count: 4\r\nexport var _DYN_CORE = \"core\"; // Count: 8\r\nexport var _DYN_INCLUDE_CORRELATION_2 = \"includeCorrelationHeaders\"; // Count: 4\r\nexport var _DYN_GET_ABSOLUTE_URL = \"getAbsoluteUrl\"; // Count: 3\r\nexport var _DYN_HEADERS = \"headers\"; // Count: 6\r\nexport var _DYN_REQUEST_HEADERS = \"requestHeaders\"; // Count: 13\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 3\r\nexport var _DYN_TRACK_DEPENDENCY_DAT3 = \"trackDependencyDataInternal\"; // Count: 2\r\nexport var _DYN_START_TIME = \"startTime\"; // Count: 6\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_ENABLE_REQUEST_HEADE4 = \"enableRequestHeaderTracking\"; // Count: 3\r\nexport var _DYN_ENABLE_AJAX_ERROR_ST5 = \"enableAjaxErrorStatusText\"; // Count: 2\r\nexport var _DYN_ENABLE_AJAX_PERF_TRA6 = \"enableAjaxPerfTracking\"; // Count: 2\r\nexport var _DYN_MAX_AJAX_CALLS_PER_V7 = \"maxAjaxCallsPerView\"; // Count: 2\r\nexport var _DYN_EXCLUDE_REQUEST_FROM8 = \"excludeRequestFromAutoTrackingPatterns\"; // Count: 2\r\nexport var _DYN_ADD_REQUEST_CONTEXT = \"addRequestContext\"; // Count: 2\r\nexport var _DYN_DISABLE_AJAX_TRACKIN9 = \"disableAjaxTracking\"; // Count: 3\r\nexport var _DYN_AJAX_PERF_LOOKUP_DEL10 = \"ajaxPerfLookupDelay\"; // Count: 2\r\nexport var _DYN_DISABLE_FETCH_TRACKI11 = \"disableFetchTracking\"; // Count: 2\r\nexport var _DYN_ENABLE_RESPONSE_HEAD12 = \"enableResponseHeaderTracking\"; // Count: 2\r\nexport var _DYN_STATUS = \"status\"; // Count: 11\r\nexport var _DYN_STATUS_TEXT = \"statusText\"; // Count: 9\r\nexport var _DYN_HEADER_MAP = \"headerMap\"; // Count: 8\r\nexport var _DYN_OPEN_DONE = \"openDone\"; // Count: 3\r\nexport var _DYN_SEND_DONE = \"sendDone\"; // Count: 3\r\nexport var _DYN_REQUEST_SENT_TIME = \"requestSentTime\"; // Count: 9\r\nexport var _DYN_ABORT_DONE = \"abortDone\"; // Count: 3\r\nexport var _DYN_GET_TRACE_ID = \"getTraceId\"; // Count: 3\r\nexport var _DYN_GET_TRACE_FLAGS = \"getTraceFlags\"; // Count: 3\r\nexport var _DYN_METHOD = \"method\"; // Count: 8\r\nexport var _DYN_ERROR_STATUS_TEXT = \"errorStatusText\"; // Count: 3\r\nexport var _DYN_STATE_CHANGE_ATTACHE13 = \"stateChangeAttached\"; // Count: 2\r\nexport var _DYN_RESPONSE_TEXT = \"responseText\"; // Count: 6\r\nexport var _DYN_RESPONSE_FINISHED_TI14 = \"responseFinishedTime\"; // Count: 7\r\nexport var _DYN__CREATE_TRACK_ITEM = \"CreateTrackItem\"; // Count: 3\r\nexport var _DYN_RESPONSE = \"response\"; // Count: 4\r\nexport var _DYN_GET_ALL_RESPONSE_HEA15 = \"getAllResponseHeaders\"; // Count: 2\r\nexport var _DYN_GET_PART_APROPS = \"getPartAProps\"; // Count: 3\r\nexport var _DYN_PERF_MARK = \"perfMark\"; // Count: 4\r\nexport var _DYN_NAME = \"name\"; // Count: 6\r\nexport var _DYN_PERF_TIMING = \"perfTiming\"; // Count: 3\r\nexport var _DYN_EXCEPTION = \"exception\"; // Count: 5\r\nexport var _DYN_AJAX_DIAGNOSTICS_MES16 = \"ajaxDiagnosticsMessage\"; // Count: 3\r\nexport var _DYN_CORRELATION_CONTEXT = \"correlationContext\"; // Count: 3\r\nexport var _DYN_AJAX_TOTAL_DURATION = \"ajaxTotalDuration\"; // Count: 3\r\nexport var _DYN_EVENT_TRACE_CTX = \"eventTraceCtx\"; // Count: 3\r\n//# sourceMappingURL=__DynamicConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { Extensions, dataSanitizeUrl, dateTimeUtilsDuration, msToTimeSpan, urlGetAbsoluteUrl, urlGetCompleteUrl } from \"@microsoft/applicationinsights-common\";\r\nimport { arrForEach, isNullOrUndefined, isNumber, isString, normalizeJsName, objForEachKey, objKeys } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_DURATION, STR_PROPERTIES } from \"./InternalConstants\";\r\nimport { _DYN_ABORTED, _DYN_ABORT_DONE, _DYN_AJAX_TOTAL_DURATION, _DYN_CORRELATION_CONTEXT, _DYN_ERROR_STATUS_TEXT, _DYN_EVENT_TRACE_CTX, _DYN_GET_ABSOLUTE_URL, _DYN_GET_PART_APROPS, _DYN_GET_TRACE_FLAGS, _DYN_GET_TRACE_ID, _DYN_HEADER_MAP, _DYN_LENGTH, _DYN_METHOD, _DYN_NAME, _DYN_OPEN_DONE, _DYN_PERF_MARK, _DYN_PERF_TIMING, _DYN_REQUEST_HEADERS, _DYN_REQUEST_SENT_TIME, _DYN_REQUEST_URL, _DYN_RESPONSE, _DYN_RESPONSE_FINISHED_TI14, _DYN_SEND_DONE, _DYN_SPAN_ID, _DYN_SPAN_ID1, _DYN_START_TIME, _DYN_STATE_CHANGE_ATTACHE13, _DYN_STATUS, _DYN_STATUS_TEXT, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_TRACE_ID0, _DYN__CREATE_TRACK_ITEM } from \"./__DynamicConstants\";\r\n/** @ignore */\r\nfunction _calcPerfDuration(resourceEntry, start, end) {\r\n var result = 0;\r\n var from = resourceEntry[start];\r\n var to = resourceEntry[end];\r\n if (from && to) {\r\n result = dateTimeUtilsDuration(from, to);\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _setPerfDuration(props, name, resourceEntry, start, end) {\r\n var result = 0;\r\n var value = _calcPerfDuration(resourceEntry, start, end);\r\n if (value) {\r\n result = _setPerfValue(props, name, msToTimeSpan(value));\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _setPerfValue(props, name, value) {\r\n var strPerf = \"ajaxPerf\";\r\n var result = 0;\r\n if (props && name && value) {\r\n var perfData = props[strPerf] = (props[strPerf] || {});\r\n perfData[name] = value;\r\n result = 1;\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _populatePerfData(ajaxData, dependency) {\r\n /*\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API/Using_the_Resource_Timing_API\r\n * | -startTime\r\n * | -redirectStart\r\n * | | -redirectEnd\r\n * | | | -fetchStart\r\n * | | | | -domainLookupStart\r\n * | | | | |- domainLookupEnd\r\n * | | | | | | -connectStart\r\n * | | | | | | | -secureConnectionStart\r\n * | | | | | | | | -connectEnd\r\n * | | | | | | | | | -requestStart\r\n * | | | | | | | | | | | -responseStart\r\n * | | | | | | | | | | | | | -responseEnd\r\n * +------------+-+---+----------------+-+--+--------+-+-----------+-+------------+-+\r\n * |--redirect--| |---|--domainLookup--| |--connect--| |--request--| |--response--| |\r\n * |-------------------networkConnect----------------|\r\n * | |---------sentRequest--------|\r\n * |------------------------------------perfTotal-----------------------------------|\r\n */\r\n var resourceEntry = ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */];\r\n var props = dependency[STR_PROPERTIES /* @min:%2eproperties */] || {};\r\n var propsSet = 0;\r\n var strName = \"name\";\r\n var strStart = \"Start\";\r\n var strEnd = \"End\";\r\n var strDomainLookup = \"domainLookup\";\r\n var strConnect = \"connect\";\r\n var strRedirect = \"redirect\";\r\n var strRequest = \"request\";\r\n var strResponse = \"response\";\r\n var strStartTime = \"startTime\";\r\n var strDomainLookupStart = strDomainLookup + strStart;\r\n var strDomainLookupEnd = strDomainLookup + strEnd;\r\n var strConnectStart = strConnect + strStart;\r\n var strConnectEnd = strConnect + strEnd;\r\n var strRequestStart = strRequest + strStart;\r\n var strRequestEnd = strRequest + strEnd;\r\n var strResponseStart = strResponse + strStart;\r\n var strResponseEnd = strResponse + strEnd;\r\n var strRedirectStart = strRedirect + strStart;\r\n var strRedirectEnd = strRedirect = strEnd;\r\n var strTransferSize = \"transferSize\";\r\n var strEncodedBodySize = \"encodedBodySize\";\r\n var strDecodedBodySize = \"decodedBodySize\";\r\n var strServerTiming = \"serverTiming\";\r\n if (resourceEntry) {\r\n // redirect\r\n propsSet |= _setPerfDuration(props, strRedirect, resourceEntry, strRedirectStart, strRedirectEnd);\r\n // domainLookup\r\n propsSet |= _setPerfDuration(props, strDomainLookup, resourceEntry, strDomainLookupStart, strDomainLookupEnd);\r\n // connect\r\n propsSet |= _setPerfDuration(props, strConnect, resourceEntry, strConnectStart, strConnectEnd);\r\n // request\r\n propsSet |= _setPerfDuration(props, strRequest, resourceEntry, strRequestStart, strRequestEnd);\r\n // response\r\n propsSet |= _setPerfDuration(props, strResponse, resourceEntry, strResponseStart, strResponseEnd);\r\n // Network connection time\r\n propsSet |= _setPerfDuration(props, \"networkConnect\", resourceEntry, strStartTime, strConnectEnd);\r\n // Sent Request\r\n propsSet |= _setPerfDuration(props, \"sentRequest\", resourceEntry, strRequestStart, strResponseEnd);\r\n // PerfTotal / Duration\r\n var duration = resourceEntry[STR_DURATION /* @min:%2eduration */];\r\n if (!duration) {\r\n duration = _calcPerfDuration(resourceEntry, strStartTime, strResponseEnd) || 0;\r\n }\r\n propsSet |= _setPerfValue(props, STR_DURATION, duration);\r\n propsSet |= _setPerfValue(props, \"perfTotal\", duration);\r\n var serverTiming = resourceEntry[strServerTiming];\r\n if (serverTiming) {\r\n var server_1 = {};\r\n arrForEach(serverTiming, function (value, idx) {\r\n var name = normalizeJsName(value[strName] || \"\" + idx);\r\n var newValue = server_1[name] || {};\r\n objForEachKey(value, function (key, val) {\r\n if (key !== strName && isString(val) || isNumber(val)) {\r\n if (newValue[key]) {\r\n val = newValue[key] + \";\" + val;\r\n }\r\n if (val || !isString(val)) {\r\n // Only set the value if it has a value and it's not an empty string\r\n newValue[key] = val;\r\n }\r\n }\r\n });\r\n server_1[name] = newValue;\r\n });\r\n propsSet |= _setPerfValue(props, strServerTiming, server_1);\r\n }\r\n propsSet |= _setPerfValue(props, strTransferSize, resourceEntry[strTransferSize]);\r\n propsSet |= _setPerfValue(props, strEncodedBodySize, resourceEntry[strEncodedBodySize]);\r\n propsSet |= _setPerfValue(props, strDecodedBodySize, resourceEntry[strDecodedBodySize]);\r\n }\r\n else {\r\n if (ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */]) {\r\n propsSet |= _setPerfValue(props, \"missing\", ajaxData.perfAttempts);\r\n }\r\n }\r\n if (propsSet) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = props;\r\n }\r\n}\r\nvar XHRMonitoringState = /** @class */ (function () {\r\n function XHRMonitoringState() {\r\n var self = this;\r\n self[_DYN_OPEN_DONE /* @min:%2eopenDone */] = false;\r\n self.setRequestHeaderDone = false;\r\n self[_DYN_SEND_DONE /* @min:%2esendDone */] = false;\r\n self[_DYN_ABORT_DONE /* @min:%2eabortDone */] = false;\r\n // True, if onreadyStateChangeCallback function attached to xhr, otherwise false\r\n self[_DYN_STATE_CHANGE_ATTACHE13 /* @min:%2estateChangeAttached */] = false;\r\n }\r\n return XHRMonitoringState;\r\n}());\r\nexport { XHRMonitoringState };\r\nvar ajaxRecord = /** @class */ (function () {\r\n function ajaxRecord(traceId, spanId, logger, traceCtx) {\r\n var _a;\r\n var self = this;\r\n var _logger = logger;\r\n var strResponseText = \"responseText\";\r\n // Assigning the initial/default values within the constructor to avoid typescript from creating a bunch of\r\n // this.XXXX = null\r\n self[_DYN_PERF_MARK /* @min:%2eperfMark */] = null;\r\n self.completed = false;\r\n self.requestHeadersSize = null;\r\n self[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = null;\r\n self.responseReceivingDuration = null;\r\n self.callbackDuration = null;\r\n self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */] = null;\r\n self[_DYN_ABORTED /* @min:%2eaborted */] = 0;\r\n self.pageUrl = null;\r\n self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = null;\r\n self.requestSize = 0;\r\n self[_DYN_METHOD /* @min:%2emethod */] = null;\r\n self[_DYN_STATUS /* @min:%2estatus */] = null;\r\n self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = null;\r\n self.responseStartedTime = null;\r\n self[_DYN_RESPONSE_FINISHED_TI14 /* @min:%2eresponseFinishedTime */] = null;\r\n self.callbackFinishedTime = null;\r\n self.endTime = null;\r\n self.xhrMonitoringState = new XHRMonitoringState();\r\n self.clientFailure = 0;\r\n self[_DYN_TRACE_ID /* @min:%2etraceID */] = traceId;\r\n self[_DYN_SPAN_ID /* @min:%2espanID */] = spanId;\r\n self[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = traceCtx === null || traceCtx === void 0 ? void 0 : traceCtx.getTraceFlags();\r\n if (traceCtx) {\r\n self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */] = (_a = {},\r\n _a[_DYN_TRACE_ID0 /* @min:traceId */] = traceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */](),\r\n _a[_DYN_SPAN_ID1 /* @min:spanId */] = traceCtx.getSpanId(),\r\n _a[_DYN_TRACE_FLAGS /* @min:traceFlags */] = traceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */](),\r\n _a);\r\n }\r\n else {\r\n self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */] = null;\r\n }\r\n dynamicProto(ajaxRecord, self, function (self) {\r\n self.getAbsoluteUrl = function () {\r\n return self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] ? urlGetAbsoluteUrl(self[_DYN_REQUEST_URL /* @min:%2erequestUrl */]) : null;\r\n };\r\n self.getPathName = function () {\r\n return self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] ? dataSanitizeUrl(_logger, urlGetCompleteUrl(self[_DYN_METHOD /* @min:%2emethod */], self[_DYN_REQUEST_URL /* @min:%2erequestUrl */])) : null;\r\n };\r\n self[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */] = function (ajaxType, enableRequestHeaderTracking, getResponse) {\r\n var _a;\r\n // round to 3 decimal points\r\n self.ajaxTotalDuration = Math.round(dateTimeUtilsDuration(self.requestSentTime, self.responseFinishedTime) * 1000) / 1000;\r\n if (self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */] < 0) {\r\n return null;\r\n }\r\n var dependency = (_a = {\r\n id: \"|\" + self[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + self[_DYN_SPAN_ID /* @min:%2espanID */],\r\n target: self[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */]()\r\n },\r\n _a[_DYN_NAME /* @min:name */] = self.getPathName(),\r\n _a.type = ajaxType,\r\n _a[_DYN_START_TIME /* @min:startTime */] = null,\r\n _a.duration = self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */],\r\n _a.success = (+(self[_DYN_STATUS /* @min:%2estatus */])) >= 200 && (+(self[_DYN_STATUS /* @min:%2estatus */])) < 400,\r\n _a.responseCode = (+(self[_DYN_STATUS /* @min:%2estatus */])),\r\n _a[STR_PROPERTIES] = { HttpMethod: self[_DYN_METHOD /* @min:%2emethod */] },\r\n _a);\r\n var props = dependency[STR_PROPERTIES];\r\n if (self[_DYN_ABORTED /* @min:%2eaborted */]) {\r\n props[_DYN_ABORTED /* @min:%2eaborted */] = true;\r\n }\r\n if (self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */]) {\r\n // Set the correct dependency start time\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */] = new Date();\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */].setTime(self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */]);\r\n }\r\n // Add Ajax perf details if available\r\n _populatePerfData(self, dependency);\r\n if (enableRequestHeaderTracking) {\r\n if (objKeys(self.requestHeaders)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n props[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = self[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */];\r\n }\r\n }\r\n if (getResponse) {\r\n var response = getResponse();\r\n if (response) {\r\n // enrich dependency target with correlation context from the server\r\n var correlationContext = response[_DYN_CORRELATION_CONTEXT /* @min:%2ecorrelationContext */];\r\n if (correlationContext) {\r\n dependency.correlationContext = /* dependency.target + \" | \" + */ correlationContext;\r\n }\r\n if (response[_DYN_HEADER_MAP /* @min:%2eheaderMap */]) {\r\n if (objKeys(response.headerMap)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n props.responseHeaders = response[_DYN_HEADER_MAP /* @min:%2eheaderMap */];\r\n }\r\n }\r\n if (self[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */]) {\r\n if (self[_DYN_STATUS /* @min:%2estatus */] >= 400) {\r\n var responseType = response.type;\r\n if (responseType === \"\" || responseType === \"text\") {\r\n props.responseText = response.responseText ? response[_DYN_STATUS_TEXT /* @min:%2estatusText */] + \" - \" + response[strResponseText] : response[_DYN_STATUS_TEXT /* @min:%2estatusText */];\r\n }\r\n if (responseType === \"json\") {\r\n props.responseText = response.response ? response[_DYN_STATUS_TEXT /* @min:%2estatusText */] + \" - \" + JSON.stringify(response[_DYN_RESPONSE /* @min:%2eresponse */]) : response[_DYN_STATUS_TEXT /* @min:%2estatusText */];\r\n }\r\n }\r\n else if (self[_DYN_STATUS /* @min:%2estatus */] === 0) {\r\n props.responseText = response[_DYN_STATUS_TEXT /* @min:%2estatusText */] || \"\";\r\n }\r\n }\r\n }\r\n }\r\n return dependency;\r\n };\r\n self[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */] = function () {\r\n var _a;\r\n var partA = null;\r\n var traceCtx = self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */];\r\n if (traceCtx && (traceCtx[_DYN_TRACE_ID0 /* @min:%2etraceId */] || traceCtx[_DYN_SPAN_ID1 /* @min:%2espanId */])) {\r\n partA = {};\r\n var traceExt = partA[Extensions.TraceExt] = (_a = {},\r\n _a[_DYN_TRACE_ID /* @min:traceID */] = traceCtx[_DYN_TRACE_ID0 /* @min:%2etraceId */],\r\n _a.parentID = traceCtx[_DYN_SPAN_ID1 /* @min:%2espanId */],\r\n _a);\r\n if (!isNullOrUndefined(traceCtx[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */])) {\r\n traceExt[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = traceCtx[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n }\r\n }\r\n return partA;\r\n };\r\n });\r\n }\r\n ajaxRecord.prototype.getAbsoluteUrl = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n ajaxRecord.prototype.getPathName = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n ajaxRecord.prototype.CreateTrackItem = function (ajaxType, enableRequestHeaderTracking, getResponse) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n ajaxRecord.prototype.getPartAProps = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n return ajaxRecord;\r\n}());\r\nexport { ajaxRecord };\r\n//# sourceMappingURL=ajaxRecord.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar _a;\r\nimport { __assign, __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { DisabledPropertyName, PropertiesPluginIdentifier, RemoteDependencyData, RequestHeaders, correlationIdCanIncludeCorrelationHeader, correlationIdGetCorrelationContext, createDistributedTraceContextFromTrace, createTelemetryItem, createTraceParent, dateTimeUtilsNow, formatTraceParent, isInternalApplicationInsightsEndpoint } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, InstrumentFunc, InstrumentProto, _throwInternal, arrForEach, createProcessTelemetryContext, createUniqueNamespace, dumpObj, eventOn, generateW3CId, getExceptionName, getGlobal, getIEVersion, getLocation, getPerformance, isFunction, isNullOrUndefined, isString, isXhrSupported, mergeEvtNamespace, onConfigChange, strPrototype, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { isWebWorker, objFreeze, scheduleTimeout, strIndexOf, strSplit, strSubstr } from \"@nevware21/ts-utils\";\r\nimport { STR_PROPERTIES } from \"./InternalConstants\";\r\nimport { _DYN_ABORTED, _DYN_ABORT_DONE, _DYN_ADD_REQUEST_CONTEXT, _DYN_AJAX_DIAGNOSTICS_MES16, _DYN_AJAX_PERF_LOOKUP_DEL10, _DYN_CONTEXT, _DYN_CORE, _DYN_CORRELATION_CONTEXT, _DYN_DISABLE_AJAX_TRACKIN9, _DYN_DISABLE_FETCH_TRACKI11, _DYN_ENABLE_AJAX_ERROR_ST5, _DYN_ENABLE_AJAX_PERF_TRA6, _DYN_ENABLE_REQUEST_HEADE4, _DYN_ENABLE_RESPONSE_HEAD12, _DYN_ERROR_STATUS_TEXT, _DYN_EXCEPTION, _DYN_EXCLUDE_REQUEST_FROM8, _DYN_GET_ABSOLUTE_URL, _DYN_GET_ALL_RESPONSE_HEA15, _DYN_GET_PART_APROPS, _DYN_GET_TRACE_FLAGS, _DYN_GET_TRACE_ID, _DYN_HEADERS, _DYN_HEADER_MAP, _DYN_INCLUDE_CORRELATION_2, _DYN_INST, _DYN_LENGTH, _DYN_MAX_AJAX_CALLS_PER_V7, _DYN_METHOD, _DYN_NAME, _DYN_OPEN_DONE, _DYN_PERF_MARK, _DYN_PERF_TIMING, _DYN_REQUEST_HEADERS, _DYN_REQUEST_SENT_TIME, _DYN_REQUEST_URL, _DYN_RESPONSE, _DYN_RESPONSE_FINISHED_TI14, _DYN_RESPONSE_TEXT, _DYN_SEND_DONE, _DYN_SET_REQUEST_HEADER, _DYN_SPAN_ID, _DYN_SPAN_ID1, _DYN_START_TIME, _DYN_STATE_CHANGE_ATTACHE13, _DYN_STATUS, _DYN_STATUS_TEXT, _DYN_TO_LOWER_CASE, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_TRACE_ID0, _DYN_TRACK_DEPENDENCY_DAT3, _DYN__ADD_HOOK, _DYN__CREATE_TRACK_ITEM } from \"./__DynamicConstants\";\r\nimport { ajaxRecord } from \"./ajaxRecord\";\r\nvar AJAX_MONITOR_PREFIX = \"ai.ajxmn.\";\r\nvar strDiagLog = \"diagLog\";\r\nvar AJAX_DATA_CONTAINER = \"_ajaxData\";\r\nvar STR_FETCH = \"fetch\";\r\nvar ERROR_HEADER = \"Failed to monitor XMLHttpRequest\";\r\nvar ERROR_PREFIX = \", monitoring data for this ajax call \";\r\nvar ERROR_POSTFIX = ERROR_PREFIX + \"may be incorrect.\";\r\nvar ERROR_NOT_SENT = ERROR_PREFIX + \"won't be sent.\";\r\nvar CORRELATION_HEADER_ERROR = \"Failed to get Request-Context correlation header as it may be not included in the response or not accessible.\";\r\nvar CUSTOM_REQUEST_CONTEXT_ERROR = \"Failed to add custom defined request context as configured call back may missing a null check.\";\r\nvar FAILED_TO_CALCULATE_DURATION_ERROR = \"Failed to calculate the duration of the \";\r\n// Using a global value so that to handle same iKey with multiple app insights instances (mostly for testing)\r\nvar _markCount = 0;\r\n/** @Ignore */\r\nfunction _supportsFetch() {\r\n var _global = getGlobal();\r\n if (!_global ||\r\n isNullOrUndefined(_global.Request) ||\r\n isNullOrUndefined(_global.Request[strPrototype]) ||\r\n isNullOrUndefined(_global[STR_FETCH])) {\r\n return null;\r\n }\r\n return _global[STR_FETCH];\r\n}\r\n/**\r\n * Determines whether ajax monitoring can be enabled on this document\r\n * @returns True if Ajax monitoring is supported on this page, otherwise false\r\n * @ignore\r\n */\r\nfunction _supportsAjaxMonitoring(ajaxMonitorInstance, ajaxDataId) {\r\n var _a, _b;\r\n var result = false;\r\n if (isXhrSupported()) {\r\n var proto = XMLHttpRequest[strPrototype];\r\n result = !isNullOrUndefined(proto) &&\r\n !isNullOrUndefined(proto.open) && // eslint-disable-line security/detect-non-literal-fs-filename -- false positive\r\n !isNullOrUndefined(proto.send) &&\r\n !isNullOrUndefined(proto.abort);\r\n }\r\n var ieVer = getIEVersion();\r\n if (ieVer && ieVer < 9) {\r\n result = false;\r\n }\r\n if (result) {\r\n // Disable if the XmlHttpRequest can't be extended or hooked\r\n try {\r\n var xhr = new XMLHttpRequest();\r\n var xhrData = {\r\n xh: [],\r\n i: (_a = {},\r\n _a[ajaxDataId] = {},\r\n _a)\r\n };\r\n xhr[AJAX_DATA_CONTAINER] = xhrData;\r\n // Check that we can update the prototype\r\n var theOpen = XMLHttpRequest[strPrototype].open;\r\n XMLHttpRequest[strPrototype].open = theOpen;\r\n }\r\n catch (e) {\r\n // We can't decorate the xhr object so disable monitoring\r\n result = false;\r\n _throwInternalCritical(ajaxMonitorInstance, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to enable XMLHttpRequest monitoring, extension is not supported\", (_b = {},\r\n _b[_DYN_EXCEPTION /* @min:exception */] = dumpObj(e),\r\n _b));\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Internal helper to fetch the SDK instance tracking data for this XHR request\r\n * @param xhr\r\n * @param ajaxDataId\r\n * @returns\r\n */\r\nvar _getAjaxData = function (xhr, ajaxDataId) {\r\n if (xhr && ajaxDataId && xhr[AJAX_DATA_CONTAINER]) {\r\n return (xhr[AJAX_DATA_CONTAINER].i || {})[ajaxDataId];\r\n }\r\n return null;\r\n};\r\n/**\r\n * @ignore\r\n * Internal helper to track the singleton shared tracking headers, so we can attempt to not create headers\r\n * that might cause an issue if multiple values are populated.\r\n * @param xhr - The instrumented XHR instance\r\n */\r\nvar _addSharedXhrHeaders = function (xhr, name, value) {\r\n if (xhr) {\r\n var headers = (xhr[AJAX_DATA_CONTAINER] || {}).xh;\r\n if (headers) {\r\n headers.push({\r\n n: name,\r\n v: value\r\n });\r\n }\r\n }\r\n};\r\nvar _isHeaderSet = function (xhr, name) {\r\n var isPresent = false;\r\n if (xhr) {\r\n var headers = (xhr[AJAX_DATA_CONTAINER] || {}).xh;\r\n if (headers) {\r\n arrForEach(headers, function (header) {\r\n if (header.n === name) {\r\n isPresent = true;\r\n return -1;\r\n }\r\n });\r\n }\r\n }\r\n return isPresent;\r\n};\r\n/** @Ignore */\r\nfunction _getFailedAjaxDiagnosticsMessage(xhr, ajaxDataId) {\r\n var result = \"\";\r\n try {\r\n var ajaxData = _getAjaxData(xhr, ajaxDataId);\r\n if (ajaxData && ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */]) {\r\n result += \"(url: '\" + ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] + \"')\";\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _throwInternalCritical(ajaxMonitorInstance, msgId, message, properties, isUserAct) {\r\n _throwInternal(ajaxMonitorInstance[strDiagLog](), 1 /* eLoggingSeverity.CRITICAL */, msgId, message, properties, isUserAct);\r\n}\r\n/** @ignore */\r\nfunction _throwInternalWarning(ajaxMonitorInstance, msgId, message, properties, isUserAct) {\r\n _throwInternal(ajaxMonitorInstance[strDiagLog](), 2 /* eLoggingSeverity.WARNING */, msgId, message, properties, isUserAct);\r\n}\r\n/** @Ignore */\r\nfunction _createErrorCallbackFunc(ajaxMonitorInstance, internalMessage, message) {\r\n // tslint:disable-next-line\r\n return function (callDetails) {\r\n var _a;\r\n _throwInternalCritical(ajaxMonitorInstance, internalMessage, message, (_a = {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(callDetails[_DYN_INST /* @min:%2einst */], ajaxMonitorInstance._ajaxDataId)\r\n },\r\n _a[_DYN_EXCEPTION /* @min:exception */] = dumpObj(callDetails.err),\r\n _a));\r\n };\r\n}\r\nfunction _indexOf(value, match) {\r\n if (value && match) {\r\n return strIndexOf(value, match);\r\n }\r\n return -1;\r\n}\r\nfunction _addHandler(container, id, theFunc) {\r\n var theHandler = {\r\n id: id,\r\n fn: theFunc\r\n };\r\n container.push(theHandler);\r\n return {\r\n remove: function () {\r\n arrForEach(container, function (initializer, idx) {\r\n if (initializer.id === theHandler.id) {\r\n container.splice(idx, 1);\r\n return -1;\r\n }\r\n });\r\n }\r\n };\r\n}\r\nfunction _processDependencyContainer(core, container, details, message) {\r\n var result = true;\r\n arrForEach(container, function (theFunc, idx) {\r\n try {\r\n if (theFunc.fn.call(null, details) === false) {\r\n result = false;\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(core && core.logger, 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"Dependency \" + message + \" [#\" + idx + \"] failed: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n return result;\r\n}\r\nfunction _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {\r\n var _a;\r\n var initializersCount = listeners[_DYN_LENGTH /* @min:%2elength */];\r\n if (initializersCount > 0) {\r\n var details = (_a = {},\r\n _a[_DYN_CORE /* @min:core */] = core,\r\n _a.xhr = xhr,\r\n _a.input = input,\r\n _a.init = init,\r\n _a.traceId = ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */],\r\n _a.spanId = ajaxData[_DYN_SPAN_ID /* @min:%2espanID */],\r\n _a.traceFlags = ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */],\r\n _a.context = ajaxData[_DYN_CONTEXT /* @min:%2econtext */] || {},\r\n _a.aborted = !!ajaxData[_DYN_ABORTED /* @min:%2eaborted */],\r\n _a);\r\n _processDependencyContainer(core, listeners, details, \"listener\");\r\n ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] = details[_DYN_TRACE_ID0 /* @min:%2etraceId */];\r\n ajaxData[_DYN_SPAN_ID /* @min:%2espanID */] = details[_DYN_SPAN_ID1 /* @min:%2espanId */];\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = details[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n ajaxData[_DYN_CONTEXT /* @min:%2econtext */] = details[_DYN_CONTEXT /* @min:%2econtext */];\r\n }\r\n}\r\nvar BLOB_CORE = \"*.blob.core.\";\r\nexport var DfltAjaxCorrelationHeaderExDomains = objFreeze([\r\n BLOB_CORE + \"windows.net\",\r\n BLOB_CORE + \"chinacloudapi.cn\",\r\n BLOB_CORE + \"cloudapi.de\",\r\n BLOB_CORE + \"usgovcloudapi.net\"\r\n]);\r\nvar _internalExcludeEndpoints = [\r\n /https:\\/\\/[^\\/]*(\\.pipe\\.aria|aria\\.pipe|events\\.data|collector\\.azure)\\.[^\\/]+\\/(OneCollector\\/1|Collector\\/3)\\.0/i\r\n];\r\nvar _defaultConfig = objFreeze((_a = {},\r\n _a[_DYN_MAX_AJAX_CALLS_PER_V7 /* @min:maxAjaxCallsPerView */] = 500,\r\n _a[_DYN_DISABLE_AJAX_TRACKIN9 /* @min:disableAjaxTracking */] = false,\r\n _a[_DYN_DISABLE_FETCH_TRACKI11 /* @min:disableFetchTracking */] = false,\r\n _a[_DYN_EXCLUDE_REQUEST_FROM8 /* @min:excludeRequestFromAutoTrackingPatterns */] = undefined,\r\n _a.disableCorrelationHeaders = false,\r\n _a.distributedTracingMode = 1 /* eDistributedTracingModes.AI_AND_W3C */,\r\n _a.correlationHeaderExcludedDomains = DfltAjaxCorrelationHeaderExDomains,\r\n _a.correlationHeaderDomains = undefined,\r\n _a.correlationHeaderExcludePatterns = undefined,\r\n _a.appId = undefined,\r\n _a.enableCorsCorrelation = false,\r\n _a[_DYN_ENABLE_REQUEST_HEADE4 /* @min:enableRequestHeaderTracking */] = false,\r\n _a[_DYN_ENABLE_RESPONSE_HEAD12 /* @min:enableResponseHeaderTracking */] = false,\r\n _a[_DYN_ENABLE_AJAX_ERROR_ST5 /* @min:enableAjaxErrorStatusText */] = false,\r\n _a[_DYN_ENABLE_AJAX_PERF_TRA6 /* @min:enableAjaxPerfTracking */] = false,\r\n _a.maxAjaxPerfLookupAttempts = 3,\r\n _a[_DYN_AJAX_PERF_LOOKUP_DEL10 /* @min:ajaxPerfLookupDelay */] = 25,\r\n _a.ignoreHeaders = [\r\n \"Authorization\",\r\n \"X-API-Key\",\r\n \"WWW-Authenticate\"\r\n ],\r\n _a[_DYN_ADD_REQUEST_CONTEXT /* @min:addRequestContext */] = undefined,\r\n _a.addIntEndpoints = true,\r\n _a));\r\nvar AjaxMonitor = /** @class */ (function (_super) {\r\n __extends(AjaxMonitor, _super);\r\n function AjaxMonitor() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AjaxMonitor.identifier;\r\n _this.priority = 120;\r\n var _fetchInitialized; // fetch monitoring initialized\r\n var _xhrInitialized; // XHR monitoring initialized\r\n var _currentWindowHost;\r\n var _extensionConfig;\r\n var _enableRequestHeaderTracking;\r\n var _enableAjaxErrorStatusText;\r\n var _trackAjaxAttempts;\r\n var _context;\r\n var _isUsingW3CHeaders;\r\n var _isUsingAIHeaders;\r\n var _markPrefix;\r\n var _enableAjaxPerfTracking;\r\n var _maxAjaxCallsPerView;\r\n var _enableResponseHeaderTracking;\r\n var _disabledUrls;\r\n var _disableAjaxTracking;\r\n var _disableFetchTracking;\r\n var _excludeRequestFromAutoTrackingPatterns;\r\n var _addRequestContext;\r\n var _evtNamespace;\r\n var _ajaxDataId;\r\n var _dependencyHandlerId;\r\n var _dependencyListeners;\r\n var _dependencyInitializers;\r\n var _ignoreHeaders;\r\n var _maxAjaxPerfLookupAttempts;\r\n var _ajaxPerfLookupDelay;\r\n var _distributedTracingMode;\r\n var _appId;\r\n var _polyfillInitialized;\r\n dynamicProto(AjaxMonitor, _this, function (_self, _base) {\r\n var _addHook = _base[_DYN__ADD_HOOK /* @min:%2e_addHook */];\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (!_self.isInitialized()) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"ajax\"), core && core.evtNamespace && core.evtNamespace());\r\n _populateDefaults(config);\r\n _instrumentXhr();\r\n _instrumentFetch();\r\n _populateContext();\r\n }\r\n };\r\n _self._doTeardown = function () {\r\n _initDefaults();\r\n };\r\n _self.trackDependencyData = function (dependency, properties) {\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], null, dependency, properties);\r\n };\r\n _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */] = function (ajaxData, input, init, xhr) {\r\n // Test Hook to allow the overriding of the location host\r\n var currentWindowHost = _self[\"_currentWindowHost\"] || _currentWindowHost;\r\n _processDependencyListeners(_dependencyListeners, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, xhr, input, init);\r\n if (input || input === \"\") { // Fetch\r\n if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */](), currentWindowHost)) {\r\n if (!init) {\r\n init = {};\r\n }\r\n // init headers override original request headers\r\n // so, if they exist use only them, otherwise use request's because they should have been applied in the first place\r\n // not using original request headers will result in them being lost\r\n var headers = new Headers(init[_DYN_HEADERS /* @min:%2eheaders */] || (input instanceof Request ? (input[_DYN_HEADERS /* @min:%2eheaders */] || {}) : {}));\r\n if (_isUsingAIHeaders) {\r\n var id = \"|\" + ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + ajaxData[_DYN_SPAN_ID /* @min:%2espanID */];\r\n headers.set(RequestHeaders[3 /* eRequestHeaders.requestIdHeader */], id);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[3 /* eRequestHeaders.requestIdHeader */]] = id;\r\n }\r\n }\r\n var appId = _appId || (_context && _context.appId());\r\n if (appId) {\r\n headers.set(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */], RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]] = RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId;\r\n }\r\n }\r\n if (_isUsingW3CHeaders) {\r\n var traceFlags = ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n if (isNullOrUndefined(traceFlags)) {\r\n traceFlags = 0x01;\r\n }\r\n var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */], ajaxData[_DYN_SPAN_ID /* @min:%2espanID */], traceFlags));\r\n headers.set(RequestHeaders[4 /* eRequestHeaders.traceParentHeader */], traceParent);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[4 /* eRequestHeaders.traceParentHeader */]] = traceParent;\r\n }\r\n }\r\n init[_DYN_HEADERS /* @min:%2eheaders */] = headers;\r\n }\r\n return init;\r\n }\r\n else if (xhr) { // XHR\r\n if (correlationIdCanIncludeCorrelationHeader(_extensionConfig, ajaxData[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */](), currentWindowHost)) {\r\n if (_isUsingAIHeaders) {\r\n if (!_isHeaderSet(xhr, RequestHeaders[3 /* eRequestHeaders.requestIdHeader */])) {\r\n var id = \"|\" + ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + ajaxData[_DYN_SPAN_ID /* @min:%2espanID */];\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[3 /* eRequestHeaders.requestIdHeader */], id);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[3 /* eRequestHeaders.requestIdHeader */]] = id;\r\n }\r\n }\r\n else {\r\n _throwInternalWarning(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, \"Unable to set [\" + RequestHeaders[3 /* eRequestHeaders.requestIdHeader */] + \"] as it has already been set by another instance\");\r\n }\r\n }\r\n var appId = _appId || (_context && _context.appId());\r\n if (appId) {\r\n if (!_isHeaderSet(xhr, RequestHeaders[0 /* eRequestHeaders.requestContextHeader */])) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[0 /* eRequestHeaders.requestContextHeader */], RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]] = RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId;\r\n }\r\n }\r\n else {\r\n _throwInternalWarning(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, \"Unable to set [\" + RequestHeaders[0 /* eRequestHeaders.requestContextHeader */] + \"] as it has already been set by another instance\");\r\n }\r\n }\r\n if (_isUsingW3CHeaders) {\r\n var traceFlags = ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n if (isNullOrUndefined(traceFlags)) {\r\n traceFlags = 0x01;\r\n }\r\n if (!_isHeaderSet(xhr, RequestHeaders[4 /* eRequestHeaders.traceParentHeader */])) {\r\n var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */], ajaxData[_DYN_SPAN_ID /* @min:%2espanID */], traceFlags));\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[4 /* eRequestHeaders.traceParentHeader */], traceParent);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[4 /* eRequestHeaders.traceParentHeader */]] = traceParent;\r\n }\r\n }\r\n else {\r\n _throwInternalWarning(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, \"Unable to set [\" + RequestHeaders[4 /* eRequestHeaders.traceParentHeader */] + \"] as it has already been set by another instance\");\r\n }\r\n }\r\n }\r\n return xhr;\r\n }\r\n return undefined;\r\n };\r\n _self[_DYN_TRACK_DEPENDENCY_DAT3 /* @min:%2etrackDependencyDataInternal */] = function (dependency, properties, systemProperties) {\r\n if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {\r\n // Hack since expected format in w3c mode is |abc.def.\r\n // Non-w3c format is |abc.def\r\n // @todo Remove if better solution is available, e.g. handle in portal\r\n if ((_distributedTracingMode === 2 /* eDistributedTracingModes.W3C */\r\n || _distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */)\r\n && typeof dependency.id === \"string\" && dependency.id[dependency.id[_DYN_LENGTH /* @min:%2elength */] - 1] !== \".\") {\r\n dependency.id += \".\";\r\n }\r\n if (isNullOrUndefined(dependency[_DYN_START_TIME /* @min:%2estartTime */])) {\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */] = new Date();\r\n }\r\n var item = createTelemetryItem(dependency, RemoteDependencyData.dataType, RemoteDependencyData.envelopeType, _self[strDiagLog](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */].track(item);\r\n }\r\n else if (_trackAjaxAttempts === _maxAjaxCallsPerView) {\r\n _throwInternalCritical(_self, 55 /* _eInternalMessageId.MaxAjaxPerPVExceeded */, \"Maximum ajax per page view limit reached, ajax monitoring is paused until the next trackPageView(). In order to increase the limit set the maxAjaxCallsPerView configuration parameter.\", true);\r\n }\r\n ++_trackAjaxAttempts;\r\n };\r\n _self.addDependencyListener = function (dependencyListener) {\r\n return _addHandler(_dependencyListeners, _dependencyHandlerId++, dependencyListener);\r\n };\r\n _self.addDependencyInitializer = function (dependencyInitializer) {\r\n return _addHandler(_dependencyInitializers, _dependencyHandlerId++, dependencyInitializer);\r\n };\r\n function _initDefaults() {\r\n var location = getLocation();\r\n _fetchInitialized = false; // fetch monitoring initialized\r\n _xhrInitialized = false; // XHR monitoring initialized\r\n _polyfillInitialized = false; // polyfill monitoring initialized\r\n _currentWindowHost = location && location.host && location.host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _extensionConfig = null;\r\n _enableRequestHeaderTracking = false;\r\n _enableAjaxErrorStatusText = false;\r\n _trackAjaxAttempts = 0;\r\n _context = null;\r\n _isUsingW3CHeaders = false;\r\n _isUsingAIHeaders = false;\r\n _markPrefix = null;\r\n _enableAjaxPerfTracking = false;\r\n _maxAjaxCallsPerView = 0;\r\n _enableResponseHeaderTracking = false;\r\n _disabledUrls = {};\r\n _disableAjaxTracking = false;\r\n _disableFetchTracking = false;\r\n _excludeRequestFromAutoTrackingPatterns = null;\r\n _addRequestContext = null;\r\n _evtNamespace = null;\r\n _dependencyHandlerId = 0;\r\n _dependencyListeners = [];\r\n _dependencyInitializers = [];\r\n _ajaxDataId = createUniqueNamespace(\"ajaxData\");\r\n _self._ajaxDataId = _ajaxDataId;\r\n _ignoreHeaders = null;\r\n _maxAjaxPerfLookupAttempts = 1;\r\n _ajaxPerfLookupDelay = 1;\r\n _distributedTracingMode = 1 /* eDistributedTracingModes.AI_AND_W3C */;\r\n _appId = null;\r\n }\r\n function _populateDefaults(config) {\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(config, function (details) {\r\n var config = details.cfg;\r\n var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE /* @min:%2ecore */]);\r\n _extensionConfig = ctx.getExtCfg(AjaxMonitor.identifier, _defaultConfig);\r\n _distributedTracingMode = _extensionConfig.distributedTracingMode;\r\n _enableRequestHeaderTracking = _extensionConfig[_DYN_ENABLE_REQUEST_HEADE4 /* @min:%2eenableRequestHeaderTracking */];\r\n _enableAjaxErrorStatusText = _extensionConfig[_DYN_ENABLE_AJAX_ERROR_ST5 /* @min:%2eenableAjaxErrorStatusText */];\r\n _enableAjaxPerfTracking = _extensionConfig[_DYN_ENABLE_AJAX_PERF_TRA6 /* @min:%2eenableAjaxPerfTracking */];\r\n _maxAjaxCallsPerView = _extensionConfig[_DYN_MAX_AJAX_CALLS_PER_V7 /* @min:%2emaxAjaxCallsPerView */];\r\n _excludeRequestFromAutoTrackingPatterns = [].concat(_extensionConfig[_DYN_EXCLUDE_REQUEST_FROM8 /* @min:%2eexcludeRequestFromAutoTrackingPatterns */] || [], _extensionConfig.addIntEndpoints !== false ? _internalExcludeEndpoints : []);\r\n _addRequestContext = _extensionConfig[_DYN_ADD_REQUEST_CONTEXT /* @min:%2eaddRequestContext */];\r\n _isUsingAIHeaders = _distributedTracingMode === 0 /* eDistributedTracingModes.AI */ || _distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */;\r\n _isUsingW3CHeaders = _distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */ || _distributedTracingMode === 2 /* eDistributedTracingModes.W3C */;\r\n if (_enableAjaxPerfTracking) {\r\n _markPrefix = _ajaxDataId;\r\n }\r\n _disableAjaxTracking = !!_extensionConfig[_DYN_DISABLE_AJAX_TRACKIN9 /* @min:%2edisableAjaxTracking */];\r\n _maxAjaxPerfLookupAttempts = _extensionConfig.maxAjaxPerfLookupAttempts;\r\n _ajaxPerfLookupDelay = _extensionConfig[_DYN_AJAX_PERF_LOOKUP_DEL10 /* @min:%2eajaxPerfLookupDelay */];\r\n _ignoreHeaders = _extensionConfig.ignoreHeaders;\r\n _appId = _extensionConfig.appId;\r\n }));\r\n }\r\n function _populateContext() {\r\n var propExt = _self[_DYN_CORE /* @min:%2ecore */].getPlugin(PropertiesPluginIdentifier);\r\n if (propExt) {\r\n _context = propExt.plugin[_DYN_CONTEXT /* @min:%2econtext */]; // we could move IPropertiesPlugin to common as well\r\n }\r\n }\r\n // discard the header if it's defined as ignoreHeaders in ICorrelationConfig\r\n function _canIncludeHeaders(header) {\r\n var rlt = true;\r\n if (header || _ignoreHeaders) {\r\n arrForEach(_ignoreHeaders, (function (key) {\r\n if (key[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === header[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) {\r\n rlt = false;\r\n return -1;\r\n }\r\n }));\r\n }\r\n return rlt;\r\n }\r\n // Fetch Stuff\r\n function _instrumentFetch() {\r\n var fetch = _supportsFetch();\r\n if (!fetch) {\r\n return;\r\n }\r\n var global = getGlobal();\r\n var isPolyfill = fetch.polyfill;\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extensionConfig, function () {\r\n _disableFetchTracking = !!_extensionConfig[_DYN_DISABLE_FETCH_TRACKI11 /* @min:%2edisableFetchTracking */];\r\n _enableResponseHeaderTracking = _extensionConfig[_DYN_ENABLE_RESPONSE_HEAD12 /* @min:%2eenableResponseHeaderTracking */];\r\n if (!_disableFetchTracking && !_fetchInitialized) {\r\n _addHook(InstrumentFunc(global, STR_FETCH, {\r\n ns: _evtNamespace,\r\n // Add request hook\r\n req: function (callDetails, input, init) {\r\n var fetchData;\r\n if (!_disableFetchTracking && _fetchInitialized &&\r\n !_isDisabledRequest(null, input, init) &&\r\n // If we have a polyfil and XHR instrumented then let XHR report otherwise we get duplicates\r\n !(isPolyfill && _xhrInitialized)) {\r\n var ctx = callDetails.ctx();\r\n fetchData = _createFetchRecord(input, init);\r\n var newInit = _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */](fetchData, input, init);\r\n if (newInit !== init) {\r\n callDetails.set(1, newInit);\r\n }\r\n ctx.data = fetchData;\r\n }\r\n },\r\n rsp: function (callDetails, input) {\r\n if (!_disableFetchTracking) {\r\n var fetchData_1 = callDetails.ctx().data;\r\n if (fetchData_1) {\r\n // Replace the result with the new promise from this code\r\n callDetails.rslt = callDetails.rslt.then(function (response) {\r\n _reportFetchMetrics(callDetails, (response || {})[_DYN_STATUS /* @min:%2estatus */], input, response, fetchData_1, function () {\r\n var _a;\r\n var ajaxResponse = (_a = {\r\n statusText: (response || {})[_DYN_STATUS_TEXT /* @min:%2estatusText */]\r\n },\r\n _a[_DYN_HEADER_MAP /* @min:headerMap */] = null,\r\n _a[_DYN_CORRELATION_CONTEXT /* @min:correlationContext */] = _getFetchCorrelationContext(response),\r\n _a);\r\n if (_enableResponseHeaderTracking && response) {\r\n var responseHeaderMap_1 = {};\r\n response.headers.forEach(function (value, name) {\r\n if (_canIncludeHeaders(name)) {\r\n responseHeaderMap_1[name] = value;\r\n }\r\n });\r\n ajaxResponse[_DYN_HEADER_MAP /* @min:%2eheaderMap */] = responseHeaderMap_1;\r\n }\r\n return ajaxResponse;\r\n });\r\n return response;\r\n })\r\n .catch(function (reason) {\r\n _reportFetchMetrics(callDetails, 0, input, null, fetchData_1, null, { error: reason.message || dumpObj(reason) });\r\n throw reason;\r\n });\r\n }\r\n }\r\n },\r\n // Create an error callback to report any hook errors\r\n hkErr: _createErrorCallbackFunc(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to monitor Window.fetch\" + ERROR_POSTFIX)\r\n }, true, isWebWorker()));\r\n _fetchInitialized = true;\r\n }\r\n else if (isPolyfill && !_polyfillInitialized) {\r\n // If fetch is a polyfill we need to capture the request to ensure that we correctly track\r\n // disabled request URLS (i.e. internal urls) to ensure we don't end up in a constant loop\r\n // of reporting ourselves, for example React Native uses a polyfill for fetch\r\n // Note: Polyfill implementations that don't support the \"polyfill\" tag are not supported\r\n // the workaround is to add a polyfill property to your fetch implementation before initializing\r\n // App Insights\r\n _addHook(InstrumentFunc(global, STR_FETCH, {\r\n ns: _evtNamespace,\r\n req: function (callDetails, input, init) {\r\n // Just call so that we record any disabled URL\r\n _isDisabledRequest(null, input, init);\r\n }\r\n }));\r\n _polyfillInitialized = true;\r\n }\r\n }));\r\n if (isPolyfill) {\r\n // retag the instrumented fetch with the same polyfill settings this is mostly for testing\r\n // But also supports multiple App Insights usages\r\n global[STR_FETCH].polyfill = isPolyfill;\r\n }\r\n }\r\n function _hookProto(target, funcName, callbacks) {\r\n _addHook(InstrumentProto(target, funcName, callbacks));\r\n }\r\n function _instrumentXhr() {\r\n if (!_supportsAjaxMonitoring(_self, _ajaxDataId)) {\r\n return;\r\n }\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extensionConfig, function () {\r\n _disableAjaxTracking = !!_extensionConfig[_DYN_DISABLE_AJAX_TRACKIN9 /* @min:%2edisableAjaxTracking */];\r\n _enableRequestHeaderTracking = _extensionConfig[_DYN_ENABLE_REQUEST_HEADE4 /* @min:%2eenableRequestHeaderTracking */];\r\n if (!_disableAjaxTracking && !_xhrInitialized) {\r\n // Instrument open\r\n _hookProto(XMLHttpRequest, \"open\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails, method, url, async) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, ajaxData, true)) {\r\n if (!ajaxData || !ajaxData.xhrMonitoringState[_DYN_OPEN_DONE /* @min:%2eopenDone */]) {\r\n // Only create a single ajaxData (even when multiple AI instances are running)\r\n ajaxData = _openHandler(xhr, method, url, async);\r\n }\r\n // always attach to the on ready state change (required for handling multiple instances)\r\n _attachToOnReadyStateChange(xhr, ajaxData);\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, ERROR_HEADER + \".open\" + ERROR_POSTFIX)\r\n });\r\n // Instrument send\r\n _hookProto(XMLHttpRequest, \"send\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails, context) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (_isMonitoredXhrInstance(xhr, ajaxData) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE /* @min:%2esendDone */]) {\r\n _createMarkId(\"xhr\", ajaxData);\r\n ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = dateTimeUtilsNow();\r\n _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */](ajaxData, undefined, undefined, xhr);\r\n ajaxData.xhrMonitoringState[_DYN_SEND_DONE /* @min:%2esendDone */] = true;\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 17 /* _eInternalMessageId.FailedMonitorAjaxSend */, ERROR_HEADER + ERROR_POSTFIX)\r\n });\r\n // Instrument abort\r\n _hookProto(XMLHttpRequest, \"abort\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (_isMonitoredXhrInstance(xhr, ajaxData) && !ajaxData.xhrMonitoringState[_DYN_ABORT_DONE /* @min:%2eabortDone */]) {\r\n ajaxData[_DYN_ABORTED /* @min:%2eaborted */] = 1;\r\n ajaxData.xhrMonitoringState[_DYN_ABORT_DONE /* @min:%2eabortDone */] = true;\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 13 /* _eInternalMessageId.FailedMonitorAjaxAbort */, ERROR_HEADER + \".abort\" + ERROR_POSTFIX)\r\n });\r\n // Instrument setRequestHeader\r\n _hookProto(XMLHttpRequest, \"setRequestHeader\", {\r\n ns: _evtNamespace,\r\n req: function (callDetails, header, value) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = callDetails[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n if (ajaxData && _isMonitoredXhrInstance(xhr, ajaxData)) {\r\n _addSharedXhrHeaders(xhr, header, value);\r\n if (_enableRequestHeaderTracking && _canIncludeHeaders(header)) {\r\n if (ajaxData) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][header] = value;\r\n }\r\n }\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, ERROR_HEADER + \".setRequestHeader\" + ERROR_POSTFIX)\r\n });\r\n _xhrInitialized = true;\r\n }\r\n }));\r\n }\r\n function _isDisabledRequest(xhr, request, init) {\r\n var isDisabled = false;\r\n var theUrl = ((!isString(request) ? (request || {}).url || \"\" : request) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // check excludeRequestFromAutoTrackingPatterns before stripping off any query string\r\n arrForEach(_excludeRequestFromAutoTrackingPatterns, function (regex) {\r\n var theRegex = regex;\r\n if (isString(regex)) {\r\n theRegex = new RegExp(regex);\r\n }\r\n if (!isDisabled) {\r\n isDisabled = theRegex.test(theUrl);\r\n }\r\n });\r\n // if request url matches with exclude regex pattern, return true and no need to check for headers\r\n if (isDisabled) {\r\n return isDisabled;\r\n }\r\n var idx = _indexOf(theUrl, \"?\");\r\n var idx2 = _indexOf(theUrl, \"#\");\r\n if (idx === -1 || (idx2 !== -1 && idx2 < idx)) {\r\n idx = idx2;\r\n }\r\n if (idx !== -1) {\r\n // Strip off any Query string\r\n theUrl = theUrl.substring(0, idx);\r\n }\r\n // check that this instance is not not used by ajax call performed inside client side monitoring to send data to collector\r\n if (!isNullOrUndefined(xhr)) {\r\n // Look on the XMLHttpRequest of the URL string value\r\n isDisabled = xhr[DisabledPropertyName] === true || theUrl[DisabledPropertyName] === true;\r\n }\r\n else if (!isNullOrUndefined(request)) { // fetch\r\n // Look for DisabledPropertyName in either Request or RequestInit\r\n isDisabled = (typeof request === \"object\" ? request[DisabledPropertyName] === true : false) ||\r\n (init ? init[DisabledPropertyName] === true : false);\r\n }\r\n // Also add extra check just in case the XHR or fetch objects where not decorated with the DisableProperty due to sealing or freezing\r\n if (!isDisabled && theUrl && isInternalApplicationInsightsEndpoint(theUrl)) {\r\n isDisabled = true;\r\n }\r\n if (isDisabled) {\r\n // Add the disabled url if not present\r\n if (!_disabledUrls[theUrl]) {\r\n _disabledUrls[theUrl] = 1;\r\n }\r\n }\r\n else {\r\n // Check to see if the url is listed as disabled\r\n if (_disabledUrls[theUrl]) {\r\n isDisabled = true;\r\n }\r\n }\r\n return isDisabled;\r\n }\r\n /// Verifies that particular instance of XMLHttpRequest needs to be monitored\r\n /// Optional parameter. True if ajaxData must be excluded from verification\r\n /// True if instance needs to be monitored, otherwise false\r\n function _isMonitoredXhrInstance(xhr, ajaxData, excludeAjaxDataValidation) {\r\n var ajaxValidation = true;\r\n var initialized = _xhrInitialized;\r\n if (!isNullOrUndefined(xhr)) {\r\n ajaxValidation = excludeAjaxDataValidation === true || !isNullOrUndefined(ajaxData);\r\n }\r\n // checking to see that all interested functions on xhr were instrumented\r\n return initialized\r\n // checking on ajaxData to see that it was not removed in user code\r\n && ajaxValidation;\r\n }\r\n function _getDistributedTraceCtx() {\r\n var distributedTraceCtx = null;\r\n if (_self[_DYN_CORE /* @min:%2ecore */] && _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx) {\r\n distributedTraceCtx = _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx(false);\r\n }\r\n // Fall back\r\n if (!distributedTraceCtx && _context && _context.telemetryTrace) {\r\n distributedTraceCtx = createDistributedTraceContextFromTrace(_context.telemetryTrace);\r\n }\r\n return distributedTraceCtx;\r\n }\r\n function _openHandler(xhr, method, url, async) {\r\n var _a;\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */]()) || generateW3CId();\r\n var spanID = strSubstr(generateW3CId(), 0, 16);\r\n var xhrRequestData = xhr[AJAX_DATA_CONTAINER] = (xhr[AJAX_DATA_CONTAINER] || { xh: [], i: {} });\r\n var ajaxDataCntr = xhrRequestData.i = (xhrRequestData.i || {});\r\n var ajaxData = ajaxDataCntr[_ajaxDataId] = (ajaxDataCntr[_ajaxDataId] || new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx()));\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */]();\r\n ajaxData[_DYN_METHOD /* @min:%2emethod */] = method;\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = url;\r\n ajaxData.xhrMonitoringState[_DYN_OPEN_DONE /* @min:%2eopenDone */] = true;\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = {};\r\n ajaxData.async = async;\r\n ajaxData[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */] = _enableAjaxErrorStatusText;\r\n return ajaxData;\r\n }\r\n function _attachToOnReadyStateChange(xhr, ajaxData) {\r\n ajaxData.xhrMonitoringState[_DYN_STATE_CHANGE_ATTACHE13 /* @min:%2estateChangeAttached */] = eventOn(xhr, \"readystatechange\", function () {\r\n var _a;\r\n try {\r\n if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr, ajaxData)) {\r\n _onAjaxComplete(xhr);\r\n }\r\n }\r\n catch (e) {\r\n var exceptionText = dumpObj(e);\r\n // ignore messages with c00c023f, as this a known IE9 XHR abort issue\r\n if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](), \"c00c023f\") === -1) {\r\n _throwInternalCritical(_self, 16 /* _eInternalMessageId.FailedMonitorAjaxRSC */, ERROR_HEADER + \" 'readystatechange' event handler\" + ERROR_POSTFIX, (_a = {},\r\n _a[_DYN_AJAX_DIAGNOSTICS_MES16 /* @min:ajaxDiagnosticsMessage */] = _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId),\r\n _a[_DYN_EXCEPTION /* @min:exception */] = exceptionText,\r\n _a));\r\n }\r\n }\r\n }, _evtNamespace);\r\n }\r\n function _getResponseText(xhr) {\r\n try {\r\n var responseType = xhr.responseType;\r\n if (responseType === \"\" || responseType === \"text\") {\r\n // As per the specification responseText is only valid if the type is an empty string or \"text\"\r\n return xhr[_DYN_RESPONSE_TEXT /* @min:%2eresponseText */];\r\n }\r\n }\r\n catch (e) {\r\n // This shouldn't happen because of the above check -- but just in case, so just ignore\r\n }\r\n return null;\r\n }\r\n function _onAjaxComplete(xhr) {\r\n var ajaxData = _getAjaxData(xhr, _ajaxDataId);\r\n ajaxData[_DYN_RESPONSE_FINISHED_TI14 /* @min:%2eresponseFinishedTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_STATUS /* @min:%2estatus */] = xhr[_DYN_STATUS /* @min:%2estatus */];\r\n function _reportXhrError(e, failedProps) {\r\n var errorProps = failedProps || {};\r\n errorProps[\"ajaxDiagnosticsMessage\"] = _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId);\r\n if (e) {\r\n errorProps[\"exception\"] = dumpObj(e);\r\n }\r\n _throwInternalWarning(_self, 14 /* _eInternalMessageId.FailedMonitorAjaxDur */, FAILED_TO_CALCULATE_DURATION_ERROR + \"ajax call\" + ERROR_NOT_SENT, errorProps);\r\n }\r\n _findPerfResourceEntry(\"xmlhttprequest\", ajaxData, function () {\r\n try {\r\n var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */](\"Ajax\", _enableRequestHeaderTracking, function () {\r\n var _a;\r\n var ajaxResponse = (_a = {\r\n statusText: xhr[_DYN_STATUS_TEXT /* @min:%2estatusText */]\r\n },\r\n _a[_DYN_HEADER_MAP /* @min:headerMap */] = null,\r\n _a[_DYN_CORRELATION_CONTEXT /* @min:correlationContext */] = _getAjaxCorrelationContext(xhr),\r\n _a.type = xhr.responseType,\r\n _a[_DYN_RESPONSE_TEXT /* @min:responseText */] = _getResponseText(xhr),\r\n _a.response = xhr[_DYN_RESPONSE /* @min:%2eresponse */],\r\n _a);\r\n if (_enableResponseHeaderTracking) {\r\n var headers = xhr[_DYN_GET_ALL_RESPONSE_HEA15 /* @min:%2egetAllResponseHeaders */]();\r\n if (headers) {\r\n // xhr.getAllResponseHeaders() method returns all the response headers, separated by CRLF, as a string or null\r\n // the regex converts the header string into an array of individual headers\r\n var arr = strTrim(headers).split(/[\\r\\n]+/);\r\n var responseHeaderMap_2 = {};\r\n arrForEach(arr, function (line) {\r\n var parts = line.split(\": \");\r\n var header = parts.shift();\r\n var value = parts.join(\": \");\r\n if (_canIncludeHeaders(header)) {\r\n responseHeaderMap_2[header] = value;\r\n }\r\n });\r\n ajaxResponse[_DYN_HEADER_MAP /* @min:%2eheaderMap */] = responseHeaderMap_2;\r\n }\r\n }\r\n return ajaxResponse;\r\n });\r\n var properties = void 0;\r\n try {\r\n if (!!_addRequestContext) {\r\n properties = _addRequestContext({ status: xhr[_DYN_STATUS /* @min:%2estatus */], xhr: xhr });\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 104 /* _eInternalMessageId.FailedAddingCustomDefinedRequestContext */, CUSTOM_REQUEST_CONTEXT_ERROR);\r\n }\r\n if (dependency) {\r\n if (properties !== undefined) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = __assign(__assign({}, dependency.properties), properties);\r\n }\r\n var sysProperties = ajaxData[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */]();\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, dependency, null, sysProperties);\r\n }\r\n else {\r\n _reportXhrError(null, {\r\n requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */],\r\n responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI14 /* @min:%2eresponseFinishedTime */]\r\n });\r\n }\r\n }\r\n finally {\r\n // cleanup telemetry data\r\n try {\r\n var xhrRequestData = (xhr[AJAX_DATA_CONTAINER] || { i: {} });\r\n var ajaxDataCntr = (xhrRequestData.i || {});\r\n if (ajaxDataCntr[_ajaxDataId]) {\r\n ajaxDataCntr[_ajaxDataId] = null;\r\n }\r\n }\r\n catch (e) {\r\n // May throw in environments that prevent extension or freeze xhr\r\n }\r\n }\r\n }, function (e) {\r\n _reportXhrError(e, null);\r\n });\r\n }\r\n function _getAjaxCorrelationContext(xhr) {\r\n var _a;\r\n try {\r\n var responseHeadersString = xhr[_DYN_GET_ALL_RESPONSE_HEA15 /* @min:%2egetAllResponseHeaders */]();\r\n if (responseHeadersString !== null) {\r\n var index = _indexOf(responseHeadersString[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](), RequestHeaders[8 /* eRequestHeaders.requestContextHeaderLowerCase */]);\r\n if (index !== -1) {\r\n var responseHeader = xhr.getResponseHeader(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]);\r\n return correlationIdGetCorrelationContext(responseHeader);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, CORRELATION_HEADER_ERROR, (_a = {},\r\n _a[_DYN_AJAX_DIAGNOSTICS_MES16 /* @min:ajaxDiagnosticsMessage */] = _getFailedAjaxDiagnosticsMessage(xhr, _ajaxDataId),\r\n _a[_DYN_EXCEPTION /* @min:exception */] = dumpObj(e),\r\n _a));\r\n }\r\n }\r\n function _createMarkId(type, ajaxData) {\r\n if (ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] && _markPrefix && _enableAjaxPerfTracking) {\r\n var performance_1 = getPerformance();\r\n if (performance_1 && isFunction(performance_1.mark)) {\r\n _markCount++;\r\n var markId = _markPrefix + type + \"#\" + _markCount;\r\n performance_1.mark(markId);\r\n var entries = performance_1.getEntriesByName(markId);\r\n if (entries && entries[_DYN_LENGTH /* @min:%2elength */] === 1) {\r\n ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */] = entries[0];\r\n }\r\n }\r\n }\r\n }\r\n function _findPerfResourceEntry(initiatorType, ajaxData, trackCallback, reportError) {\r\n var perfMark = ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */];\r\n var performance = getPerformance();\r\n var maxAttempts = _maxAjaxPerfLookupAttempts;\r\n var retryDelay = _ajaxPerfLookupDelay;\r\n var requestUrl = ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */];\r\n var attempt = 0;\r\n (function locateResourceTiming() {\r\n try {\r\n if (performance && perfMark) {\r\n attempt++;\r\n var perfTiming = null;\r\n var entries = performance.getEntries();\r\n for (var lp = entries[_DYN_LENGTH /* @min:%2elength */] - 1; lp >= 0; lp--) {\r\n var entry = entries[lp];\r\n if (entry) {\r\n if (entry.entryType === \"resource\") {\r\n if (entry.initiatorType === initiatorType &&\r\n (_indexOf(entry[_DYN_NAME /* @min:%2ename */], requestUrl) !== -1 || _indexOf(requestUrl, entry[_DYN_NAME /* @min:%2ename */]) !== -1)) {\r\n perfTiming = entry;\r\n }\r\n }\r\n else if (entry.entryType === \"mark\" && entry[_DYN_NAME /* @min:%2ename */] === perfMark[_DYN_NAME /* @min:%2ename */]) {\r\n // We hit the start event\r\n ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */] = perfTiming;\r\n break;\r\n }\r\n if (entry[_DYN_START_TIME /* @min:%2estartTime */] < perfMark[_DYN_START_TIME /* @min:%2estartTime */] - 1000) {\r\n // Fallback to try and reduce the time spent looking for the perf entry\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (!perfMark || // - we don't have a perfMark or\r\n ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */] || // - we have not found the perf entry or\r\n attempt >= maxAttempts || // - we have tried too many attempts or\r\n ajaxData.async === false) { // - this is a sync request\r\n if (perfMark && isFunction(performance.clearMarks)) {\r\n // Remove the mark so we don't fill up the performance resources too much\r\n performance.clearMarks(perfMark[_DYN_NAME /* @min:%2ename */]);\r\n }\r\n ajaxData.perfAttempts = attempt;\r\n // just continue and report the track event\r\n trackCallback();\r\n }\r\n else {\r\n // We need to wait for the browser to populate the window.performance entry\r\n // This needs to be at least 1ms as waiting <= 1 (on firefox) is not enough time for fetch or xhr,\r\n // this is a scheduling issue for the browser implementation\r\n scheduleTimeout(locateResourceTiming, retryDelay);\r\n }\r\n }\r\n catch (e) {\r\n reportError(e);\r\n }\r\n })();\r\n }\r\n function _createFetchRecord(input, init) {\r\n var _a;\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */]()) || generateW3CId();\r\n var spanID = strSubstr(generateW3CId(), 0, 16);\r\n var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx());\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */]();\r\n ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */] = _enableAjaxErrorStatusText;\r\n var requestUrl;\r\n if (input instanceof Request) {\r\n requestUrl = (input || {}).url || \"\";\r\n }\r\n else {\r\n requestUrl = input;\r\n }\r\n if (requestUrl === \"\") {\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.href) {\r\n requestUrl = strSplit(location_1.href, \"#\")[0];\r\n }\r\n }\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = requestUrl;\r\n var method = \"GET\";\r\n if (init && init[_DYN_METHOD /* @min:%2emethod */]) {\r\n method = init[_DYN_METHOD /* @min:%2emethod */];\r\n }\r\n else if (input && input instanceof Request) {\r\n method = input[_DYN_METHOD /* @min:%2emethod */];\r\n }\r\n ajaxData[_DYN_METHOD /* @min:%2emethod */] = method;\r\n var requestHeaders = {};\r\n if (_enableRequestHeaderTracking) {\r\n var headers = new Headers((init ? init[_DYN_HEADERS /* @min:%2eheaders */] : 0) || (input instanceof Request ? (input[_DYN_HEADERS /* @min:%2eheaders */] || {}) : {}));\r\n headers.forEach(function (value, key) {\r\n if (_canIncludeHeaders(key)) {\r\n requestHeaders[key] = value;\r\n }\r\n });\r\n }\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = requestHeaders;\r\n _createMarkId(STR_FETCH, ajaxData);\r\n return ajaxData;\r\n }\r\n function _getFailedFetchDiagnosticsMessage(input) {\r\n var result = \"\";\r\n try {\r\n if (!isNullOrUndefined(input)) {\r\n if (typeof (input) === \"string\") {\r\n result += \"(url: '\".concat(input, \"')\");\r\n }\r\n else {\r\n result += \"(url: '\".concat(input.url, \"')\");\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalCritical(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to grab failed fetch diagnostics message\", { exception: dumpObj(e) });\r\n }\r\n return result;\r\n }\r\n function _reportFetchMetrics(callDetails, status, input, response, ajaxData, getResponse, properties) {\r\n if (!ajaxData) {\r\n return;\r\n }\r\n function _reportFetchError(msgId, e, failedProps) {\r\n var errorProps = failedProps || {};\r\n errorProps[\"fetchDiagnosticsMessage\"] = _getFailedFetchDiagnosticsMessage(input);\r\n if (e) {\r\n errorProps[\"exception\"] = dumpObj(e);\r\n }\r\n _throwInternalWarning(_self, msgId, FAILED_TO_CALCULATE_DURATION_ERROR + \"fetch call\" + ERROR_NOT_SENT, errorProps);\r\n }\r\n ajaxData[_DYN_RESPONSE_FINISHED_TI14 /* @min:%2eresponseFinishedTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_STATUS /* @min:%2estatus */] = status;\r\n _findPerfResourceEntry(STR_FETCH, ajaxData, function () {\r\n var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */](\"Fetch\", _enableRequestHeaderTracking, getResponse);\r\n var properties;\r\n try {\r\n if (!!_addRequestContext) {\r\n properties = _addRequestContext({ status: status, request: input, response: response });\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 104 /* _eInternalMessageId.FailedAddingCustomDefinedRequestContext */, CUSTOM_REQUEST_CONTEXT_ERROR);\r\n }\r\n if (dependency) {\r\n if (properties !== undefined) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = __assign(__assign({}, dependency.properties), properties);\r\n }\r\n var sysProperties = ajaxData[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */]();\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, dependency, null, sysProperties);\r\n }\r\n else {\r\n _reportFetchError(14 /* _eInternalMessageId.FailedMonitorAjaxDur */, null, {\r\n requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */],\r\n responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI14 /* @min:%2eresponseFinishedTime */]\r\n });\r\n }\r\n }, function (e) {\r\n _reportFetchError(18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, e, null);\r\n });\r\n }\r\n function _getFetchCorrelationContext(response) {\r\n var _a;\r\n if (response && response[_DYN_HEADERS /* @min:%2eheaders */]) {\r\n try {\r\n var responseHeader = response[_DYN_HEADERS /* @min:%2eheaders */].get(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]);\r\n return correlationIdGetCorrelationContext(responseHeader);\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, CORRELATION_HEADER_ERROR, (_a = {\r\n fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response)\r\n },\r\n _a[_DYN_EXCEPTION /* @min:exception */] = dumpObj(e),\r\n _a));\r\n }\r\n }\r\n }\r\n function _reportDependencyInternal(initializers, core, ajaxData, dependency, properties, systemProperties) {\r\n var _a;\r\n var result = true;\r\n var initializersCount = initializers[_DYN_LENGTH /* @min:%2elength */];\r\n if (initializersCount > 0) {\r\n var details = (_a = {\r\n item: dependency\r\n },\r\n _a[STR_PROPERTIES /* @min:properties */] = properties,\r\n _a.sysProperties = systemProperties,\r\n _a.context = ajaxData ? ajaxData[_DYN_CONTEXT /* @min:%2econtext */] : null,\r\n _a.aborted = ajaxData ? !!ajaxData[_DYN_ABORTED /* @min:%2eaborted */] : false,\r\n _a);\r\n result = _processDependencyContainer(core, initializers, details, \"initializer\");\r\n }\r\n if (result) {\r\n _self[_DYN_TRACK_DEPENDENCY_DAT3 /* @min:%2etrackDependencyDataInternal */](dependency, properties, systemProperties);\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n AjaxMonitor.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AjaxMonitor.prototype.processTelemetry = function (item, itemCtx) {\r\n this.processNext(item, itemCtx);\r\n };\r\n /**\r\n * Logs dependency call\r\n * @param dependencyData - dependency data object\r\n */\r\n AjaxMonitor.prototype.trackDependencyData = function (dependency, properties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AjaxMonitor.prototype.includeCorrelationHeaders = function (ajaxData, input, init, xhr) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add an ajax listener which is called just prior to the request being sent and before the correlation headers are added, to allow you\r\n * to access the headers and modify the values used to generate the distributed tracing correlation headers.\r\n * @param dependencyListener - The Telemetry Initializer function\r\n * @returns - A IDependencyListenerHandler to enable the initializer to be removed\r\n */\r\n AjaxMonitor.prototype.addDependencyListener = function (dependencyListener) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Add an dependency telemetry initializer callback function to allow populating additional properties or drop the request.\r\n * It is called after the dependency call has completed and any available performance details are available. A dependency\r\n * initializer is similar to the TelemetryInitializer function but it allows you to block the reporting of the dependency\r\n * request so that it doesn't count against the `maxAjaxCallsPerView`.\r\n * @param dependencyInitializer - The Dependency Telemetry Initializer function\r\n * @returns - A IDependencyInitializerHandler to enable the initializer to be removed\r\n */\r\n AjaxMonitor.prototype.addDependencyInitializer = function (dependencyInitializer) {\r\n return null;\r\n };\r\n /**\r\n * Protected function to allow sub classes the chance to add additional properties to the dependency event\r\n * before it's sent. This function calls track, so sub-classes must call this function after they have\r\n * populated their properties.\r\n * @param dependencyData - dependency data object\r\n */\r\n AjaxMonitor.prototype.trackDependencyDataInternal = function (dependency, properties, systemProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AjaxMonitor.identifier = \"AjaxDependencyPlugin\";\r\n return AjaxMonitor;\r\n}(BaseTelemetryPlugin));\r\nexport { AjaxMonitor };\r\n//# sourceMappingURL=ajax.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Application = /** @class */ (function () {\r\n function Application() {\r\n }\r\n return Application;\r\n}());\r\nexport { Application };\r\n//# sourceMappingURL=Application.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Device = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the Device class\r\n */\r\n function Device() {\r\n // don't attempt to fingerprint browsers\r\n this.id = \"browser\";\r\n // Device type is a dimension in our data platform\r\n // Setting it to 'Browser' allows to separate client and server dependencies/exceptions\r\n this.deviceClass = \"Browser\";\r\n }\r\n return Device;\r\n}());\r\nexport { Device };\r\n//# sourceMappingURL=Device.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { onConfigChange } from \"@microsoft/applicationinsights-core-js\";\r\nvar Version = '3.3.4';\r\nvar Internal = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the internal telemetry data class.\r\n */\r\n function Internal(config, unloadHookContainer) {\r\n var _this = this;\r\n var unloadHook = onConfigChange((config), function () {\r\n var prefix = config.sdkExtension;\r\n _this.sdkVersion = (prefix ? prefix + \"_\" : \"\") + \"javascript:\" + Version;\r\n });\r\n unloadHookContainer && unloadHookContainer.add(unloadHook);\r\n }\r\n return Internal;\r\n}());\r\nexport { Internal };\r\n//# sourceMappingURL=Internal.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Location = /** @class */ (function () {\r\n function Location() {\r\n }\r\n return Location;\r\n}());\r\nexport { Location };\r\n//# sourceMappingURL=Location.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_SESSION_MANAGER = \"sessionManager\"; // Count: 3\r\nexport var _DYN_UPDATE = \"update\"; // Count: 4\r\nexport var _DYN_IS_USER_COOKIE_SET = \"isUserCookieSet\"; // Count: 4\r\nexport var _DYN_IS_NEW_USER = \"isNewUser\"; // Count: 4\r\nexport var _DYN_GET_TRACE_CTX = \"getTraceCtx\"; // Count: 3\r\nexport var _DYN_TELEMETRY_TRACE = \"telemetryTrace\"; // Count: 3\r\nexport var _DYN_APPLY_SESSION_CONTEX0 = \"applySessionContext\"; // Count: 2\r\nexport var _DYN_APPLY_APPLICATION_CO1 = \"applyApplicationContext\"; // Count: 2\r\nexport var _DYN_APPLY_DEVICE_CONTEXT = \"applyDeviceContext\"; // Count: 2\r\nexport var _DYN_APPLY_OPERATION_CONT2 = \"applyOperationContext\"; // Count: 2\r\nexport var _DYN_APPLY_USER_CONTEXT = \"applyUserContext\"; // Count: 2\r\nexport var _DYN_APPLY_OPERATING_SYST3 = \"applyOperatingSystemContxt\"; // Count: 2\r\nexport var _DYN_APPLY_LOCATION_CONTE4 = \"applyLocationContext\"; // Count: 2\r\nexport var _DYN_APPLY_INTERNAL_CONTE5 = \"applyInternalContext\"; // Count: 2\r\nexport var _DYN_ACCOUNT_ID = \"accountId\"; // Count: 7\r\nexport var _DYN_GET_SESSION_ID = \"getSessionId\"; // Count: 4\r\nexport var _DYN_NAME_PREFIX = \"namePrefix\"; // Count: 3\r\nexport var _DYN_SESSION_COOKIE_POSTF6 = \"sessionCookiePostfix\"; // Count: 2\r\nexport var _DYN_USER_COOKIE_POSTFIX = \"userCookiePostfix\"; // Count: 2\r\nexport var _DYN_ID_LENGTH = \"idLength\"; // Count: 4\r\nexport var _DYN_GET_NEW_ID = \"getNewId\"; // Count: 3\r\nexport var _DYN_LENGTH = \"length\"; // Count: 4\r\nexport var _DYN_AUTOMATIC_SESSION = \"automaticSession\"; // Count: 5\r\nexport var _DYN_AUTHENTICATED_ID = \"authenticatedId\"; // Count: 6\r\nexport var _DYN_ACQUISITION_DATE = \"acquisitionDate\"; // Count: 5\r\nexport var _DYN_RENEWAL_DATE = \"renewalDate\"; // Count: 4\r\nexport var _DYN_JOIN = \"join\"; // Count: 5\r\nexport var _DYN_COOKIE_SEPARATOR = \"cookieSeparator\"; // Count: 5\r\nexport var _DYN_AUTH_USER_COOKIE_NAM7 = \"authUserCookieName\"; // Count: 3\r\n//# sourceMappingURL=__DynamicConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, dateNow, dumpObj, getExceptionName, isFunction, newId, onConfigChange, safeGetCookieMgr, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ACQUISITION_DATE, _DYN_AUTOMATIC_SESSION, _DYN_GET_NEW_ID, _DYN_ID_LENGTH, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME_PREFIX, _DYN_RENEWAL_DATE, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nvar SESSION_COOKIE_NAME = \"ai_session\";\r\nvar ACQUISITION_SPAN = 86400000; // 24 hours in ms\r\nvar RENEWAL_SPAN = 1800000; // 30 minutes in ms\r\nvar COOKIE_UPDATE_INTERVAL = 60000; // 1 minute in ms\r\nvar Session = /** @class */ (function () {\r\n function Session() {\r\n }\r\n return Session;\r\n}());\r\nexport { Session };\r\nvar _SessionManager = /** @class */ (function () {\r\n function _SessionManager(config, core, unloadHookContainer) {\r\n var self = this;\r\n var _storageNamePrefix;\r\n var _cookieUpdatedTimestamp;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n var _sessionExpirationMs;\r\n var _sessionRenewalMs;\r\n dynamicProto(_SessionManager, self, function (_self) {\r\n if (!config) {\r\n config = {};\r\n }\r\n var unloadHook = onConfigChange(config, function (details) {\r\n _sessionExpirationMs = config.sessionExpirationMs || ACQUISITION_SPAN;\r\n _sessionRenewalMs = config.sessionRenewalMs || RENEWAL_SPAN;\r\n // sessionCookiePostfix takes the preference if it is configured, otherwise takes namePrefix if configured.\r\n var sessionCookiePostfix = config.sessionCookiePostfix || config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] || \"\";\r\n _storageNamePrefix = SESSION_COOKIE_NAME + sessionCookiePostfix;\r\n });\r\n unloadHookContainer && unloadHookContainer.add(unloadHook);\r\n _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */] = new Session();\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function () {\r\n // Always using Date getTime() as there is a bug in older IE instances that causes the performance timings to have the hi-bit set eg 0x800000000 causing\r\n // the number to be incorrect.\r\n var nowMs = dateNow();\r\n var isExpired = false;\r\n var session = _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n if (!session.id) {\r\n isExpired = !_initializeAutomaticSession(session, nowMs);\r\n }\r\n if (!isExpired && _sessionExpirationMs > 0) {\r\n var timeSinceAcqMs = nowMs - session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */];\r\n var timeSinceRenewalMs = nowMs - session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */];\r\n isExpired = timeSinceAcqMs < 0 || timeSinceRenewalMs < 0; // expired if the acquisition or last renewal are in the future\r\n isExpired = isExpired || timeSinceAcqMs > _sessionExpirationMs; // expired if the time since acquisition is more than session Expiration\r\n isExpired = isExpired || timeSinceRenewalMs > _sessionRenewalMs; // expired if the time since last renewal is more than renewal period\r\n }\r\n // renew if acquisitionSpan or renewalSpan has elapsed\r\n if (isExpired) {\r\n // update automaticSession so session state has correct id\r\n _renew(nowMs);\r\n }\r\n else {\r\n // do not update the cookie more often than cookieUpdateInterval\r\n if (!_cookieUpdatedTimestamp || nowMs - _cookieUpdatedTimestamp > COOKIE_UPDATE_INTERVAL) {\r\n _setCookie(session, nowMs);\r\n }\r\n }\r\n };\r\n /**\r\n * Record the current state of the automatic session and store it in our cookie string format\r\n * into the browser's local storage. This is used to restore the session data when the cookie\r\n * expires.\r\n */\r\n _self.backup = function () {\r\n var session = _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n _setStorage(session.id, session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */], session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */]);\r\n };\r\n /**\r\n * Use config.namePrefix + ai_session cookie data or local storage data (when the cookie is unavailable) to\r\n * initialize the automatic session.\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSession(session, now) {\r\n var isValid = false;\r\n var cookieValue = _cookieManager.get(_storageNamePrefix);\r\n if (cookieValue && isFunction(cookieValue.split)) {\r\n isValid = _initializeAutomaticSessionWithData(session, cookieValue);\r\n }\r\n else {\r\n // There's no cookie, but we might have session data in local storage\r\n // This can happen if the session expired or the user actively deleted the cookie\r\n // We only want to recover data if the cookie is missing from expiry. We should respect the user's wishes if the cookie was deleted actively.\r\n // The User class handles this for us and deletes our local storage object if the persistent user cookie was removed.\r\n var storageValue = utlGetLocalStorage(_logger, _storageNamePrefix);\r\n if (storageValue) {\r\n isValid = _initializeAutomaticSessionWithData(session, storageValue);\r\n }\r\n }\r\n return isValid || !!session.id;\r\n }\r\n /**\r\n * Extract id, acquisitionDate, and renewalDate from an ai_session payload string and\r\n * use this data to initialize automaticSession.\r\n *\r\n * @param sessionData - The string stored in an ai_session cookie or local storage backup\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSessionWithData(session, sessionData) {\r\n var isValid = false;\r\n var sessionReset = \", session will be reset\";\r\n var tokens = sessionData.split(\"|\");\r\n if (tokens[_DYN_LENGTH /* @min:%2elength */] >= 2) {\r\n try {\r\n var acqMs = +tokens[1] || 0;\r\n var renewalMs = +tokens[2] || 0;\r\n if (isNaN(acqMs) || acqMs <= 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 27 /* _eInternalMessageId.SessionRenewalDateIsZero */, \"AI session acquisition date is 0\" + sessionReset);\r\n }\r\n else if (isNaN(renewalMs) || renewalMs <= 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 27 /* _eInternalMessageId.SessionRenewalDateIsZero */, \"AI session renewal date is 0\" + sessionReset);\r\n }\r\n else if (tokens[0]) {\r\n // Everything looks valid so set the values\r\n session.id = tokens[0];\r\n session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */] = acqMs;\r\n session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */] = renewalMs;\r\n isValid = true;\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 9 /* _eInternalMessageId.ErrorParsingAISessionCookie */, \"Error parsing ai_session value [\" + (sessionData || \"\") + \"]\" + sessionReset + \" - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return isValid;\r\n }\r\n function _renew(nowMs) {\r\n var getNewId = config[_DYN_GET_NEW_ID /* @min:%2egetNewId */] || newId;\r\n _self.automaticSession.id = getNewId(config[_DYN_ID_LENGTH /* @min:%2eidLength */] || 22);\r\n _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */][_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */] = nowMs;\r\n _setCookie(_self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */], nowMs);\r\n // If this browser does not support local storage, fire an internal log to keep track of it at this point\r\n if (!utlCanUseLocalStorage()) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 0 /* _eInternalMessageId.BrowserDoesNotSupportLocalStorage */, \"Browser does not support local storage. Session durations will be inaccurate.\");\r\n }\r\n }\r\n function _setCookie(session, nowMs) {\r\n var acq = session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */];\r\n session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */] = nowMs;\r\n var renewalPeriodMs = _sessionRenewalMs;\r\n // Set cookie to expire after the session expiry time passes or the session renewal deadline, whichever is sooner\r\n // Expiring the cookie will cause the session to expire even if the user isn't on the page\r\n var acqTimeLeftMs = (acq + _sessionExpirationMs) - nowMs;\r\n var cookie = [session.id, acq, nowMs];\r\n var maxAgeSec = 0;\r\n if (acqTimeLeftMs < renewalPeriodMs) {\r\n maxAgeSec = acqTimeLeftMs / 1000;\r\n }\r\n else {\r\n maxAgeSec = renewalPeriodMs / 1000;\r\n }\r\n var cookieDomain = config.cookieDomain || null;\r\n // if sessionExpirationMs is set to 0, it means the expiry is set to 0 for this session cookie\r\n // A cookie with 0 expiry in the session cookie will never expire for that browser session. If the browser is closed the cookie expires.\r\n // Depending on the browser, another instance does not inherit this cookie, however, another tab will\r\n _cookieManager.set(_storageNamePrefix, cookie[_DYN_JOIN /* @min:%2ejoin */](\"|\"), _sessionExpirationMs > 0 ? maxAgeSec : null, cookieDomain);\r\n _cookieUpdatedTimestamp = nowMs;\r\n }\r\n function _setStorage(guid, acq, renewal) {\r\n // Keep data in local storage to retain the last session id, allowing us to cleanly end the session when it expires\r\n // Browsers that don't support local storage won't be able to end sessions cleanly from the client\r\n // The server will notice this and end the sessions itself, with loss of accurate session duration\r\n utlSetLocalStorage(_logger, _storageNamePrefix, [guid, acq, renewal][_DYN_JOIN /* @min:%2ejoin */](\"|\"));\r\n }\r\n });\r\n }\r\n _SessionManager.prototype.update = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Record the current state of the automatic session and store it in our cookie string format\r\n * into the browser's local storage. This is used to restore the session data when the cookie\r\n * expires.\r\n */\r\n _SessionManager.prototype.backup = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return _SessionManager;\r\n}());\r\nexport { _SessionManager };\r\n//# sourceMappingURL=Session.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { generateW3CId, getLocation } from \"@microsoft/applicationinsights-core-js\";\r\nvar TelemetryTrace = /** @class */ (function () {\r\n function TelemetryTrace(id, parentId, name, logger) {\r\n var _self = this;\r\n _self.traceID = id || generateW3CId();\r\n _self.parentID = parentId;\r\n var location = getLocation();\r\n if (!name && location && location.pathname) {\r\n name = location.pathname;\r\n }\r\n _self.name = dataSanitizeString(logger, name);\r\n }\r\n return TelemetryTrace;\r\n}());\r\nexport { TelemetryTrace };\r\n//# sourceMappingURL=TelemetryTrace.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlRemoveStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, newId, onConfigChange, safeGetCookieMgr, safeGetLogger, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { objDefine } from \"@nevware21/ts-utils\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_AUTHENTICATED_ID, _DYN_AUTH_USER_COOKIE_NAM7, _DYN_COOKIE_SEPARATOR, _DYN_GET_NEW_ID, _DYN_ID_LENGTH, _DYN_IS_NEW_USER, _DYN_IS_USER_COOKIE_SET, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME_PREFIX, _DYN_UPDATE, _DYN_USER_COOKIE_POSTFIX } from \"../__DynamicConstants\";\r\nfunction _validateUserInput(id) {\r\n // Validate:\r\n // 1. Id is a non-empty string.\r\n // 2. It does not contain special characters for cookies.\r\n if (typeof id !== \"string\" ||\r\n !id ||\r\n id.match(/,|;|=| |\\|/)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nvar User = /** @class */ (function () {\r\n function User(config, core, unloadHookContainer) {\r\n /**\r\n * A flag indicating whether this represents a new user\r\n */\r\n this.isNewUser = false;\r\n /**\r\n * A flag indicating whether the user cookie has been set\r\n */\r\n this.isUserCookieSet = false;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n var _storageNamePrefix;\r\n dynamicProto(User, this, function (_self) {\r\n // Define _self.config\r\n objDefine(_self, \"config\", {\r\n g: function () { return config; }\r\n });\r\n var unloadHook = onConfigChange(config, function () {\r\n var userCookiePostfix = config[_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */] || \"\";\r\n _storageNamePrefix = User.userCookieName + userCookiePostfix;\r\n // get userId or create new one if none exists\r\n var cookie = _cookieManager.get(_storageNamePrefix);\r\n if (cookie) {\r\n _self[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = false;\r\n var params = cookie.split(User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n if (params[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self.id = params[0];\r\n // we already have a cookie\r\n _self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */] = !!_self.id;\r\n }\r\n }\r\n if (!_self.id) {\r\n _self.id = _generateNewId();\r\n var newCookie = _generateNewCookie(_self.id);\r\n _setUserCookie(newCookie[_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]));\r\n // If we have an config.namePrefix() + ai_session in local storage this means the user actively removed our cookies.\r\n // We should respect their wishes and clear ourselves from local storage\r\n var name_1 = (config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] || \"\") + \"ai_session\";\r\n utlRemoveStorage(_logger, name_1);\r\n }\r\n // We still take the account id from the ctor param for backward compatibility.\r\n // But if the the customer set the accountId through the newer setAuthenticatedUserContext API, we will override it.\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = config[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] || undefined;\r\n // Get the auth user id and account id from the cookie if exists\r\n // Cookie is in the pattern: |\r\n var authCookie = _cookieManager.get(User[_DYN_AUTH_USER_COOKIE_NAM7 /* @min:%2eauthUserCookieName */]);\r\n if (authCookie) {\r\n authCookie = decodeURI(authCookie);\r\n var authCookieString = authCookie.split(User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n if (authCookieString[0]) {\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = authCookieString[0];\r\n }\r\n if (authCookieString[_DYN_LENGTH /* @min:%2elength */] > 1 && authCookieString[1]) {\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = authCookieString[1];\r\n }\r\n }\r\n });\r\n unloadHookContainer && unloadHookContainer.add(unloadHook);\r\n function _generateNewId() {\r\n var theConfig = (config || {});\r\n var getNewId = theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */] || newId;\r\n var id = getNewId(theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */] ? config[_DYN_ID_LENGTH /* @min:%2eidLength */] : 22);\r\n return id;\r\n }\r\n function _generateNewCookie(userId) {\r\n var acqStr = toISOString(new Date());\r\n _self.accountAcquisitionDate = acqStr;\r\n _self[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = true;\r\n var newCookie = [userId, acqStr];\r\n return newCookie;\r\n }\r\n function _setUserCookie(cookie) {\r\n // without expiration, cookies expire at the end of the session\r\n // set it to 365 days from now\r\n // 365 * 24 * 60 * 60 = 31536000\r\n var oneYear = 31536000;\r\n _self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */] = _cookieManager.set(_storageNamePrefix, cookie, oneYear);\r\n }\r\n _self.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n if (storeInCookie === void 0) { storeInCookie = false; }\r\n // Validate inputs to ensure no cookie control characters.\r\n var isInvalidInput = !_validateUserInput(authenticatedUserId) || (accountId && !_validateUserInput(accountId));\r\n if (isInvalidInput) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 60 /* _eInternalMessageId.SetAuthContextFailedAccountName */, \"Setting auth user context failed. \" +\r\n \"User auth/account id should be of type string, and not contain commas, semi-colons, equal signs, spaces, or vertical-bars.\", true);\r\n return;\r\n }\r\n // Create cookie string.\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = authenticatedUserId;\r\n var authCookie = _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */];\r\n if (accountId) {\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = accountId;\r\n authCookie = [_self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */], _self.accountId][_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n }\r\n if (storeInCookie) {\r\n // Set the cookie. No expiration date because this is a session cookie (expires when browser closed).\r\n // Encoding the cookie to handle unexpected unicode characters.\r\n _cookieManager.set(User[_DYN_AUTH_USER_COOKIE_NAM7 /* @min:%2eauthUserCookieName */], encodeURI(authCookie));\r\n }\r\n };\r\n /**\r\n * Clears the authenticated user id and the account id from the user context.\r\n * @returns {}\r\n */\r\n _self.clearAuthenticatedUserContext = function () {\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = null;\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = null;\r\n _cookieManager.del(User[_DYN_AUTH_USER_COOKIE_NAM7 /* @min:%2eauthUserCookieName */]);\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (userId) {\r\n // Optimizations to avoid setting and processing the cookie when not needed\r\n if (_self.id !== userId || !_self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */]) {\r\n var user_id = userId ? userId : _generateNewId();\r\n var user_cookie = _generateNewCookie(user_id);\r\n _setUserCookie(user_cookie[_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]));\r\n }\r\n };\r\n });\r\n }\r\n /**\r\n * Sets the authenticated user id and the account id in this session.\r\n *\r\n * @param authenticatedUserId - {string} - The authenticated user id. A unique and persistent string that represents each authenticated user in the service.\r\n * @param accountId - {string} - An optional string to represent the account associated with the authenticated user.\r\n */\r\n User.prototype.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n if (storeInCookie === void 0) { storeInCookie = false; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Clears the authenticated user id and the account id from the user context.\r\n * @returns {}\r\n */\r\n User.prototype.clearAuthenticatedUserContext = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Update or create the user cookie if cookies where previously disabled or the new userId does not match the existing value.\r\n * If you pass nothing a new random user id will be created.\r\n * @param userId - Specific either the current (via appInsights.context.user.id) or new id that you want to set\r\n */\r\n User.prototype.update = function (userId) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n User.cookieSeparator = \"|\";\r\n User.userCookieName = \"ai_user\";\r\n User.authUserCookieName = \"ai_authUser\";\r\n return User;\r\n}());\r\nexport { User };\r\n//# sourceMappingURL=User.js.map","/**\r\n* TelemetryContext.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { CtxTagKeys, Extensions, PageView, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { _InternalLogMessage, getSetValue, hasWindow, isNullOrUndefined, isString, objKeys, setValue } from \"@microsoft/applicationinsights-core-js\";\r\nimport { Application } from \"./Context/Application\";\r\nimport { Device } from \"./Context/Device\";\r\nimport { Internal } from \"./Context/Internal\";\r\nimport { Location } from \"./Context/Location\";\r\nimport { Session, _SessionManager } from \"./Context/Session\";\r\nimport { TelemetryTrace } from \"./Context/TelemetryTrace\";\r\nimport { User } from \"./Context/User\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_APPLY_APPLICATION_CO1, _DYN_APPLY_DEVICE_CONTEXT, _DYN_APPLY_INTERNAL_CONTE5, _DYN_APPLY_LOCATION_CONTE4, _DYN_APPLY_OPERATING_SYST3, _DYN_APPLY_OPERATION_CONT2, _DYN_APPLY_SESSION_CONTEX0, _DYN_APPLY_USER_CONTEXT, _DYN_AUTHENTICATED_ID, _DYN_AUTOMATIC_SESSION, _DYN_GET_SESSION_ID, _DYN_LENGTH, _DYN_SESSION_MANAGER, _DYN_TELEMETRY_TRACE } from \"./__DynamicConstants\";\r\nvar strExt = \"ext\";\r\nvar strTags = \"tags\";\r\nfunction _removeEmpty(target, name) {\r\n if (target && target[name] && objKeys(target[name])[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n delete target[name];\r\n }\r\n}\r\nfunction _nullResult() {\r\n return null;\r\n}\r\nvar TelemetryContext = /** @class */ (function () {\r\n function TelemetryContext(core, defaultConfig, previousTraceCtx, unloadHookContainer) {\r\n var _this = this;\r\n var logger = core.logger;\r\n dynamicProto(TelemetryContext, this, function (_self) {\r\n _self.appId = _nullResult;\r\n _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */] = _nullResult;\r\n _self.application = new Application();\r\n _self.internal = new Internal(defaultConfig, unloadHookContainer);\r\n if (hasWindow()) {\r\n _self[_DYN_SESSION_MANAGER /* @min:%2esessionManager */] = new _SessionManager(defaultConfig, core, unloadHookContainer);\r\n _self.device = new Device();\r\n _self.location = new Location();\r\n _self.user = new User(defaultConfig, core, unloadHookContainer);\r\n var traceId = void 0;\r\n var parentId = void 0;\r\n var name_1;\r\n if (previousTraceCtx) {\r\n traceId = previousTraceCtx.getTraceId();\r\n parentId = previousTraceCtx.getSpanId();\r\n name_1 = previousTraceCtx.getName();\r\n }\r\n _self[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */] = new TelemetryTrace(traceId, parentId, name_1, logger);\r\n _self.session = new Session();\r\n }\r\n _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */] = function () {\r\n var session = _self.session;\r\n var sesId = null;\r\n // If customer set session info, apply their context; otherwise apply context automatically generated\r\n if (session && isString(session.id)) {\r\n sesId = session.id;\r\n }\r\n else {\r\n // Gets the automatic session if it exists or an empty object\r\n var autoSession = (_self[_DYN_SESSION_MANAGER /* @min:%2esessionManager */] || {})[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n sesId = autoSession && isString(autoSession.id) ? autoSession.id : null;\r\n }\r\n return sesId;\r\n };\r\n _self[_DYN_APPLY_SESSION_CONTEX0 /* @min:%2eapplySessionContext */] = function (evt, itemCtx) {\r\n setValue(getSetValue(evt.ext, Extensions.AppExt), \"sesId\", _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */](), isString);\r\n };\r\n _self[_DYN_APPLY_OPERATING_SYST3 /* @min:%2eapplyOperatingSystemContxt */] = function (evt, itemCtx) {\r\n setValue(evt.ext, Extensions.OSExt, _self.os);\r\n };\r\n _self[_DYN_APPLY_APPLICATION_CO1 /* @min:%2eapplyApplicationContext */] = function (evt, itemCtx) {\r\n var application = _self.application;\r\n if (application) {\r\n // evt.ext.app\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.applicationVersion, application.ver, isString);\r\n setValue(tags, CtxTagKeys.applicationBuild, application.build, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_DEVICE_CONTEXT /* @min:%2eapplyDeviceContext */] = function (evt, itemCtx) {\r\n var device = _self.device;\r\n if (device) {\r\n // evt.ext.device\r\n var extDevice = getSetValue(getSetValue(evt, strExt), Extensions.DeviceExt);\r\n setValue(extDevice, \"localId\", device.id, isString);\r\n setValue(extDevice, \"ip\", device.ip, isString);\r\n setValue(extDevice, \"model\", device.model, isString);\r\n setValue(extDevice, \"deviceClass\", device.deviceClass, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_INTERNAL_CONTE5 /* @min:%2eapplyInternalContext */] = function (evt, itemCtx) {\r\n var internal = _self.internal;\r\n if (internal) {\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.internalAgentVersion, internal.agentVersion, isString); // not mapped in CS 4.0\r\n setValue(tags, CtxTagKeys.internalSdkVersion, dataSanitizeString(logger, internal.sdkVersion, 64), isString);\r\n if (evt.baseType === _InternalLogMessage.dataType || evt.baseType === PageView.dataType) {\r\n setValue(tags, CtxTagKeys.internalSnippet, internal.snippetVer, isString);\r\n setValue(tags, CtxTagKeys.internalSdkSrc, internal.sdkSrc, isString);\r\n }\r\n }\r\n };\r\n _self[_DYN_APPLY_LOCATION_CONTE4 /* @min:%2eapplyLocationContext */] = function (evt, itemCtx) {\r\n var location = _this.location;\r\n if (location) {\r\n setValue(getSetValue(evt, strTags, []), CtxTagKeys.locationIp, location.ip, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_OPERATION_CONT2 /* @min:%2eapplyOperationContext */] = function (evt, itemCtx) {\r\n var telemetryTrace = _self[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */];\r\n if (telemetryTrace) {\r\n var extTrace = getSetValue(getSetValue(evt, strExt), Extensions.TraceExt, { traceID: undefined, parentID: undefined });\r\n setValue(extTrace, \"traceID\", telemetryTrace.traceID, isString, isNullOrUndefined);\r\n setValue(extTrace, \"name\", telemetryTrace.name, isString, isNullOrUndefined);\r\n setValue(extTrace, \"parentID\", telemetryTrace.parentID, isString, isNullOrUndefined);\r\n }\r\n };\r\n _self.applyWebContext = function (evt, itemCtx) {\r\n var web = _this.web;\r\n if (web) {\r\n setValue(getSetValue(evt, strExt), Extensions.WebExt, web);\r\n }\r\n };\r\n _self[_DYN_APPLY_USER_CONTEXT /* @min:%2eapplyUserContext */] = function (evt, itemCtx) {\r\n var user = _self.user;\r\n if (user) {\r\n var tags = getSetValue(evt, strTags, []);\r\n // stays in tags\r\n setValue(tags, CtxTagKeys.userAccountId, user[_DYN_ACCOUNT_ID /* @min:%2eaccountId */], isString);\r\n // CS 4.0\r\n var extUser = getSetValue(getSetValue(evt, strExt), Extensions.UserExt);\r\n setValue(extUser, \"id\", user.id, isString);\r\n setValue(extUser, \"authId\", user[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */], isString);\r\n }\r\n };\r\n _self.cleanUp = function (evt, itemCtx) {\r\n var ext = evt.ext;\r\n if (ext) {\r\n _removeEmpty(ext, Extensions.DeviceExt);\r\n _removeEmpty(ext, Extensions.UserExt);\r\n _removeEmpty(ext, Extensions.WebExt);\r\n _removeEmpty(ext, Extensions.OSExt);\r\n _removeEmpty(ext, Extensions.AppExt);\r\n _removeEmpty(ext, Extensions.TraceExt);\r\n }\r\n };\r\n });\r\n }\r\n TelemetryContext.prototype.applySessionContext = function (evt, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyOperatingSystemContxt = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyApplicationContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyDeviceContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyInternalContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyLocationContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyOperationContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyWebContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyUserContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.cleanUp = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return TelemetryContext;\r\n}());\r\nexport { TelemetryContext };\r\n//# sourceMappingURL=TelemetryContext.js.map","/**\r\n* PropertiesPlugin.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nvar _a;\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BreezeChannelIdentifier, PageView, PropertiesPluginIdentifier, createDistributedTraceContextFromTrace, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _InternalLogMessage, _logInternalMessage, createProcessTelemetryContext, getNavigator, getSetValue, isNullOrUndefined, onConfigChange } from \"@microsoft/applicationinsights-core-js\";\r\nimport { objDeepFreeze, objDefine } from \"@nevware21/ts-utils\";\r\nimport { TelemetryContext } from \"./TelemetryContext\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_APPLY_APPLICATION_CO1, _DYN_APPLY_DEVICE_CONTEXT, _DYN_APPLY_INTERNAL_CONTE5, _DYN_APPLY_LOCATION_CONTE4, _DYN_APPLY_OPERATING_SYST3, _DYN_APPLY_OPERATION_CONT2, _DYN_APPLY_SESSION_CONTEX0, _DYN_APPLY_USER_CONTEXT, _DYN_GET_NEW_ID, _DYN_GET_SESSION_ID, _DYN_GET_TRACE_CTX, _DYN_ID_LENGTH, _DYN_IS_NEW_USER, _DYN_IS_USER_COOKIE_SET, _DYN_NAME_PREFIX, _DYN_SESSION_COOKIE_POSTF6, _DYN_SESSION_MANAGER, _DYN_TELEMETRY_TRACE, _DYN_UPDATE, _DYN_USER_COOKIE_POSTFIX } from \"./__DynamicConstants\";\r\nvar undefString;\r\nvar nullValue = null;\r\nvar _defaultConfig = objDeepFreeze((_a = {},\r\n _a[_DYN_ACCOUNT_ID /* @min:accountId */] = nullValue,\r\n _a.sessionRenewalMs = 30 * 60 * 1000,\r\n _a.samplingPercentage = 100,\r\n _a.sessionExpirationMs = 24 * 60 * 60 * 1000,\r\n _a.cookieDomain = nullValue,\r\n _a.sdkExtension = nullValue,\r\n _a.isBrowserLinkTrackingEnabled = false,\r\n _a.appId = nullValue,\r\n _a[_DYN_GET_SESSION_ID /* @min:getSessionId */] = nullValue,\r\n _a[_DYN_NAME_PREFIX /* @min:namePrefix */] = undefString,\r\n _a[_DYN_SESSION_COOKIE_POSTF6 /* @min:sessionCookiePostfix */] = undefString,\r\n _a[_DYN_USER_COOKIE_POSTFIX /* @min:userCookiePostfix */] = undefString,\r\n _a[_DYN_ID_LENGTH /* @min:idLength */] = 22,\r\n _a[_DYN_GET_NEW_ID /* @min:getNewId */] = nullValue,\r\n _a));\r\nvar PropertiesPlugin = /** @class */ (function (_super) {\r\n __extends(PropertiesPlugin, _super);\r\n function PropertiesPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 110;\r\n _this.identifier = PropertiesPluginIdentifier;\r\n var _extensionConfig;\r\n var _distributedTraceCtx;\r\n var _previousTraceCtx;\r\n var _context;\r\n var _disableUserInitMessage;\r\n dynamicProto(PropertiesPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n objDefine(_self, \"context\", {\r\n g: function () {\r\n return _context;\r\n }\r\n });\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _populateDefaults(config);\r\n };\r\n /**\r\n * Add Part A fields to the event\r\n * @param event - The event that needs to be processed\r\n */\r\n _self.processTelemetry = function (event, itemCtx) {\r\n if (!isNullOrUndefined(event)) {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n // If the envelope is PageView, reset the internal message count so that we can send internal telemetry for the new page.\r\n if (event.name === PageView.envelopeType) {\r\n itemCtx.diagLog().resetInternalMessageCount();\r\n }\r\n var theContext = (_context || {});\r\n if (theContext.session) {\r\n // If customer did not provide custom session id update the session manager\r\n if (typeof _context.session.id !== \"string\" && theContext[_DYN_SESSION_MANAGER /* @min:%2esessionManager */]) {\r\n theContext[_DYN_SESSION_MANAGER /* @min:%2esessionManager */][_DYN_UPDATE /* @min:%2eupdate */]();\r\n }\r\n }\r\n var userCtx = theContext.user;\r\n if (userCtx && !userCtx[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */]) {\r\n userCtx[_DYN_UPDATE /* @min:%2eupdate */](theContext.user.id);\r\n }\r\n _processTelemetryInternal(event, itemCtx);\r\n if (userCtx && userCtx[_DYN_IS_NEW_USER /* @min:%2eisNewUser */]) {\r\n userCtx[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = false;\r\n if (!_disableUserInitMessage) {\r\n var message = new _InternalLogMessage(72 /* _eInternalMessageId.SendBrowserInfoOnUserInit */, ((getNavigator() || {}).userAgent || \"\"));\r\n _logInternalMessage(itemCtx.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, message);\r\n }\r\n }\r\n _self.processNext(event, itemCtx);\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n var core = (unloadCtx || {}).core();\r\n if (core && core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */]) {\r\n var traceCtx = core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */](false);\r\n if (traceCtx === _distributedTraceCtx) {\r\n core.setTraceCtx(_previousTraceCtx);\r\n }\r\n }\r\n _initDefaults();\r\n };\r\n function _initDefaults() {\r\n _extensionConfig = null;\r\n _distributedTraceCtx = null;\r\n _previousTraceCtx = null;\r\n _context = null;\r\n _disableUserInitMessage = true;\r\n }\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self.core;\r\n // This function will be re-called whenever any referenced configuration is changed\r\n _self._addHook(onConfigChange(config, function () {\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n _disableUserInitMessage = config.disableUserInitMessage === false ? false : true;\r\n _extensionConfig = ctx.getExtCfg(identifier, _defaultConfig);\r\n // Test hook to allow accessing the internal values -- explicitly not defined as an available property on the class\r\n _self[\"_extConfig\"] = _extensionConfig;\r\n }));\r\n // This is outside of the onConfigChange as we don't want to update (replace) these values whenever a referenced config item changes\r\n _previousTraceCtx = core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */](false);\r\n _context = new TelemetryContext(core, _extensionConfig, _previousTraceCtx, _self._unloadHooks);\r\n _distributedTraceCtx = createDistributedTraceContextFromTrace(_self.context[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */], _previousTraceCtx);\r\n core.setTraceCtx(_distributedTraceCtx);\r\n _self.context.appId = function () {\r\n var breezeChannel = core.getPlugin(BreezeChannelIdentifier);\r\n return breezeChannel ? breezeChannel.plugin[\"_appId\"] : null;\r\n };\r\n }\r\n function _processTelemetryInternal(evt, itemCtx) {\r\n // Set Part A fields\r\n getSetValue(evt, \"tags\", []);\r\n getSetValue(evt, \"ext\", {});\r\n var ctx = _self.context;\r\n ctx[_DYN_APPLY_SESSION_CONTEX0 /* @min:%2eapplySessionContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_APPLICATION_CO1 /* @min:%2eapplyApplicationContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_DEVICE_CONTEXT /* @min:%2eapplyDeviceContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_OPERATION_CONT2 /* @min:%2eapplyOperationContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_USER_CONTEXT /* @min:%2eapplyUserContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_OPERATING_SYST3 /* @min:%2eapplyOperatingSystemContxt */](evt, itemCtx);\r\n ctx.applyWebContext(evt, itemCtx);\r\n ctx[_DYN_APPLY_LOCATION_CONTE4 /* @min:%2eapplyLocationContext */](evt, itemCtx); // legacy tags\r\n ctx[_DYN_APPLY_INTERNAL_CONTE5 /* @min:%2eapplyInternalContext */](evt, itemCtx); // legacy tags\r\n ctx.cleanUp(evt, itemCtx);\r\n }\r\n });\r\n return _this;\r\n }\r\n PropertiesPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add Part A fields to the event\r\n * @param event - The event that needs to be processed\r\n */\r\n PropertiesPlugin.prototype.processTelemetry = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return PropertiesPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport default PropertiesPlugin;\r\n//# sourceMappingURL=PropertiesPlugin.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nvar _AUTHENTICATED_USER_CONTEXT = \"AuthenticatedUserContext\";\r\nvar _TRACK = \"track\";\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_SNIPPET = \"snippet\";\r\nexport var STR_GET_COOKIE_MGR = \"getCookieMgr\";\r\nexport var STR_START_TRACK_PAGE = \"startTrackPage\";\r\nexport var STR_STOP_TRACK_PAGE = \"stopTrackPage\";\r\nexport var STR_FLUSH = \"flush\";\r\nexport var STR_START_TRACK_EVENT = \"startTrackEvent\";\r\nexport var STR_STOP_TRACK_EVENT = \"stopTrackEvent\";\r\nexport var STR_ADD_TELEMETRY_INITIALIZER = \"addTelemetryInitializer\";\r\nexport var STR_ADD_TELEMETRY_INITIALIZERS = STR_ADD_TELEMETRY_INITIALIZER + \"s\";\r\nexport var STR_POLL_INTERNAL_LOGS = \"pollInternalLogs\";\r\nexport var STR_GET_PLUGIN = \"getPlugin\";\r\nexport var STR_EVT_NAMESPACE = \"evtNamespace\";\r\nexport var STR_TRACK_EVENT = _TRACK + \"Event\";\r\nexport var STR_TRACK_TRACE = _TRACK + \"Trace\";\r\nexport var STR_TRACK_METRIC = _TRACK + \"Metric\";\r\nexport var STR_TRACK_PAGE_VIEW = _TRACK + \"PageView\";\r\nexport var STR_TRACK_EXCEPTION = _TRACK + \"Exception\";\r\nexport var STR_TRACK_DEPENDENCY_DATA = _TRACK + \"DependencyData\";\r\nexport var STR_SET_AUTHENTICATED_USER_CONTEXT = \"set\" + _AUTHENTICATED_USER_CONTEXT;\r\nexport var STR_CLEAR_AUTHENTICATED_USER_CONTEXT = \"clear\" + _AUTHENTICATED_USER_CONTEXT;\r\nexport var CONFIG_ENDPOINT_URL = \"https://js.monitor.azure.com/scripts/b/ai.config.1.cfg.json\";\r\n//# sourceMappingURL=InternalConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nvar _a, _b, _c, _d;\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPlugin } from \"@microsoft/applicationinsights-analytics-js\";\r\nimport { CfgSyncPlugin } from \"@microsoft/applicationinsights-cfgsync-js\";\r\nimport { Sender } from \"@microsoft/applicationinsights-channel-js\";\r\nimport { AnalyticsPluginIdentifier, DEFAULT_BREEZE_PATH, PropertiesPluginIdentifier, ThrottleMgr, parseConnectionString } from \"@microsoft/applicationinsights-common\";\r\nimport { AppInsightsCore, _throwInternal, addPageHideEventListener, addPageUnloadEventListener, cfgDfMerge, cfgDfValidate, createDynamicConfig, createProcessTelemetryContext, createUniqueNamespace, doPerf, hasDocument, hasWindow, isArray, isFeatureEnabled, isFunction, isNullOrUndefined, isReactNative, isString, mergeEvtNamespace, onConfigChange, proxyAssign, proxyFunctions, removePageHideEventListener, removePageUnloadEventListener } from \"@microsoft/applicationinsights-core-js\";\r\nimport { AjaxPlugin as DependenciesPlugin } from \"@microsoft/applicationinsights-dependencies-js\";\r\nimport { PropertiesPlugin } from \"@microsoft/applicationinsights-properties-js\";\r\nimport { createPromise, createSyncPromise, doAwaitResponse } from \"@nevware21/ts-async\";\r\nimport { arrForEach, arrIndexOf, isPromiseLike, objDefine, objForEachKey, strIndexOf, throwUnsupported } from \"@nevware21/ts-utils\";\r\nimport { CONFIG_ENDPOINT_URL, STR_ADD_TELEMETRY_INITIALIZER, STR_CLEAR_AUTHENTICATED_USER_CONTEXT, STR_EVT_NAMESPACE, STR_FLUSH, STR_GET_COOKIE_MGR, STR_GET_PLUGIN, STR_POLL_INTERNAL_LOGS, STR_SET_AUTHENTICATED_USER_CONTEXT, STR_SNIPPET, STR_START_TRACK_EVENT, STR_START_TRACK_PAGE, STR_STOP_TRACK_EVENT, STR_STOP_TRACK_PAGE, STR_TRACK_DEPENDENCY_DATA, STR_TRACK_EVENT, STR_TRACK_EXCEPTION, STR_TRACK_METRIC, STR_TRACK_PAGE_VIEW, STR_TRACK_TRACE } from \"./InternalConstants\";\r\nimport { _DYN_ADD_HOUSEKEEPING_BEF2, _DYN_CONNECTION_STRING, _DYN_CONTEXT, _DYN_ENDPOINT_URL, _DYN_INGESTIONENDPOINT, _DYN_INSTRUMENTATIONKEY0, _DYN_INSTRUMENTATION_KEY, _DYN_ONUNLOAD_FLUSH, _DYN_QUEUE, _DYN_SEND_MESSAGE, _DYN_UPDATE_SNIPPET_DEFIN3, _DYN_USER_OVERRIDE_ENDPOI1, _DYN_VERSION } from \"./__DynamicConstants\";\r\nvar _internalSdkSrc;\r\n// This is an exclude list of properties that should not be updated during initialization\r\n// They include a combination of private and internal property names\r\nvar _ignoreUpdateSnippetProperties = [\r\n STR_SNIPPET, \"dependencies\", \"properties\", \"_snippetVersion\", \"appInsightsNew\", \"getSKUDefaults\"\r\n];\r\nvar IKEY_USAGE = \"iKeyUsage\";\r\nvar CDN_USAGE = \"CdnUsage\";\r\nvar SDK_LOADER_VER = \"SdkLoaderVer\";\r\nvar UNDEFINED_VALUE = undefined;\r\nvar default_limit = {\r\n samplingRate: 100,\r\n maxSendNumber: 1\r\n};\r\nvar default_interval = {\r\n monthInterval: 3,\r\n daysOfMonth: [28]\r\n};\r\nvar default_throttle_config = {\r\n disabled: true,\r\n limit: cfgDfMerge(default_limit),\r\n interval: cfgDfMerge(default_interval)\r\n};\r\n// We need to include all properties that we only reference that we want to be dynamically updatable here\r\n// So they are converted even when not specified in the passed configuration\r\nvar defaultConfigValues = (_a = {},\r\n _a[_DYN_CONNECTION_STRING /* @min:connectionString */] = UNDEFINED_VALUE,\r\n _a[_DYN_ENDPOINT_URL /* @min:endpointUrl */] = UNDEFINED_VALUE,\r\n _a[_DYN_INSTRUMENTATION_KEY /* @min:instrumentationKey */] = UNDEFINED_VALUE,\r\n _a[_DYN_USER_OVERRIDE_ENDPOI1 /* @min:userOverrideEndpointUrl */] = UNDEFINED_VALUE,\r\n _a.diagnosticLogInterval = cfgDfValidate(_chkDiagLevel, 10000),\r\n _a.featureOptIn = (_b = {},\r\n _b[IKEY_USAGE] = { mode: 3 /* FeatureOptInMode.enable */ },\r\n _b[CDN_USAGE] = { mode: 2 /* FeatureOptInMode.disable */ },\r\n _b[SDK_LOADER_VER] = { mode: 2 /* FeatureOptInMode.disable */ },\r\n _b),\r\n _a.throttleMgrCfg = cfgDfMerge((_c = {},\r\n _c[109 /* _eInternalMessageId.DefaultThrottleMsgKey */] = cfgDfMerge(default_throttle_config),\r\n _c[106 /* _eInternalMessageId.InstrumentationKeyDeprecation */] = cfgDfMerge(default_throttle_config),\r\n _c[111 /* _eInternalMessageId.SdkLdrUpdate */] = cfgDfMerge(default_throttle_config),\r\n _c[110 /* _eInternalMessageId.CdnDeprecation */] = cfgDfMerge(default_throttle_config),\r\n _c)),\r\n _a.extensionConfig = cfgDfMerge((_d = {},\r\n _d[\"AppInsightsCfgSyncPlugin\"] = cfgDfMerge({\r\n cfgUrl: CONFIG_ENDPOINT_URL,\r\n syncMode: 2 /* ICfgSyncMode.Receive */\r\n }),\r\n _d)),\r\n _a);\r\nfunction _chkDiagLevel(value) {\r\n // Make sure we have a value > 0\r\n return value && value > 0;\r\n}\r\n/**\r\n * Application Insights API\r\n * @group Entrypoint\r\n * @group Classes\r\n * @class Initialization\r\n * @implements {IApplicationInsights}\r\n */\r\nvar AppInsightsSku = /** @class */ (function () {\r\n function AppInsightsSku(snippet) {\r\n var _this = this;\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var dependencies;\r\n var properties;\r\n var _sender;\r\n var _snippetVersion;\r\n var _evtNamespace;\r\n var _houseKeepingNamespace;\r\n var _core;\r\n var _config;\r\n var _analyticsPlugin;\r\n var _cfgSyncPlugin;\r\n var _throttleMgr;\r\n var _iKeySentMessage;\r\n var _cdnSentMessage;\r\n var _sdkVerSentMessage;\r\n dynamicProto(AppInsightsSku, this, function (_self) {\r\n _initDefaults();\r\n objDefine(_self, \"config\", {\r\n g: function () {\r\n return _config;\r\n }\r\n });\r\n arrForEach([\"pluginVersionStringArr\", \"pluginVersionString\"], function (key) {\r\n objDefine(_self, key, {\r\n g: function () {\r\n if (_core) {\r\n return _core[key];\r\n }\r\n return null;\r\n }\r\n });\r\n });\r\n // initialize the queue and config in case they are undefined\r\n _snippetVersion = \"\" + (snippet.sv || snippet[_DYN_VERSION /* @min:%2eversion */] || \"\");\r\n snippet[_DYN_QUEUE /* @min:%2equeue */] = snippet[_DYN_QUEUE /* @min:%2equeue */] || [];\r\n snippet[_DYN_VERSION /* @min:%2eversion */] = snippet[_DYN_VERSION /* @min:%2eversion */] || 2.0; // Default to new version\r\n var cfgHandler = createDynamicConfig(snippet.config || {}, defaultConfigValues);\r\n _config = cfgHandler.cfg;\r\n _analyticsPlugin = new AnalyticsPlugin();\r\n objDefine(_self, \"appInsights\", {\r\n g: function () {\r\n return _analyticsPlugin;\r\n }\r\n });\r\n properties = new PropertiesPlugin();\r\n dependencies = new DependenciesPlugin();\r\n _sender = new Sender();\r\n _core = new AppInsightsCore();\r\n objDefine(_self, \"core\", {\r\n g: function () {\r\n return _core;\r\n }\r\n });\r\n // Will get recalled if any referenced values are changed\r\n _addUnloadHook(onConfigChange(cfgHandler, function () {\r\n var configCs = _config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */];\r\n function _parseCs() {\r\n return createSyncPromise(function (resolve, reject) {\r\n doAwaitResponse(configCs, function (res) {\r\n var curCs = res && res.value;\r\n var parsedCs = null;\r\n if (!res.rejected && curCs) {\r\n // replace cs with resolved values in case of circular promises\r\n _config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */] = curCs;\r\n parsedCs = parseConnectionString(curCs);\r\n }\r\n // if can't resolve cs promise, null will be returned\r\n resolve(parsedCs);\r\n });\r\n });\r\n }\r\n if (isPromiseLike(configCs)) {\r\n var ikeyPromise = createSyncPromise(function (resolve, reject) {\r\n _parseCs().then(function (cs) {\r\n var ikey = _config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n ikey = cs && cs[_DYN_INSTRUMENTATIONKEY0 /* @min:%2einstrumentationkey */] || ikey;\r\n resolve(ikey);\r\n }).catch(function (e) {\r\n // parseCs will always resolve(unless timeout)\r\n // return null in case any error happens\r\n resolve(null);\r\n });\r\n });\r\n var url = _config[_DYN_USER_OVERRIDE_ENDPOI1 /* @min:%2euserOverrideEndpointUrl */];\r\n if (isNullOrUndefined(url)) {\r\n url = createSyncPromise(function (resolve, reject) {\r\n _parseCs().then(function (cs) {\r\n var url = _config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */];\r\n var ingest = cs && cs[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */];\r\n url = ingest ? ingest + DEFAULT_BREEZE_PATH : url;\r\n resolve(url);\r\n }).catch(function (e) {\r\n // parseCs will always resolve(unless timeout)\r\n // return null in case any error happens\r\n resolve(null);\r\n });\r\n });\r\n }\r\n _config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */] = ikeyPromise;\r\n _config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */] = url;\r\n }\r\n if (isString(configCs) && configCs) {\r\n // confirm if promiselike function present\r\n // handle cs promise here\r\n // add cases to oneNote\r\n var cs = parseConnectionString(configCs);\r\n var ingest = cs[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */];\r\n _config.endpointUrl = _config[_DYN_USER_OVERRIDE_ENDPOI1 /* @min:%2euserOverrideEndpointUrl */] ? _config[_DYN_USER_OVERRIDE_ENDPOI1 /* @min:%2euserOverrideEndpointUrl */] : ingest + DEFAULT_BREEZE_PATH; // add /v2/track\r\n _config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */] = cs[_DYN_INSTRUMENTATIONKEY0 /* @min:%2einstrumentationkey */] || _config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n }\r\n // userOverrideEndpointUrl have the highest priority\r\n _config.endpointUrl = _config[_DYN_USER_OVERRIDE_ENDPOI1 /* @min:%2euserOverrideEndpointUrl */] ? _config[_DYN_USER_OVERRIDE_ENDPOI1 /* @min:%2euserOverrideEndpointUrl */] : _config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */];\r\n }));\r\n _self[STR_SNIPPET /* @min:%2esnippet */] = snippet;\r\n _self[STR_FLUSH /* @min:%2eflush */] = function (async, callBack) {\r\n if (async === void 0) { async = true; }\r\n var result;\r\n doPerf(_core, function () { return \"AISKU.flush\"; }, function () {\r\n if (async && !callBack) {\r\n result = createPromise(function (resolve) {\r\n callBack = resolve;\r\n });\r\n }\r\n var waiting = 1;\r\n var flushDone = function () {\r\n waiting--;\r\n if (waiting === 0) {\r\n callBack();\r\n }\r\n };\r\n arrForEach(_core.getChannels(), function (channel) {\r\n if (channel) {\r\n waiting++;\r\n channel[STR_FLUSH /* @min:%2eflush */](async, flushDone);\r\n }\r\n });\r\n // decrement the initial \"waiting\"\r\n flushDone();\r\n }, null, async);\r\n return result;\r\n };\r\n _self[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */] = function (async) {\r\n if (async === void 0) { async = true; }\r\n arrForEach(_core.getChannels(), function (channel) {\r\n if (channel[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */]) {\r\n channel[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */]();\r\n }\r\n else {\r\n channel[STR_FLUSH /* @min:%2eflush */](async);\r\n }\r\n });\r\n };\r\n _self.loadAppInsights = function (legacyMode, logger, notificationManager) {\r\n if (legacyMode === void 0) { legacyMode = false; }\r\n if (legacyMode) {\r\n throwUnsupported(\"Legacy Mode is no longer supported\");\r\n }\r\n function _updateSnippetProperties(snippet) {\r\n if (snippet) {\r\n var snippetVer = \"\";\r\n if (!isNullOrUndefined(_snippetVersion)) {\r\n snippetVer += _snippetVersion;\r\n }\r\n if (_self[_DYN_CONTEXT /* @min:%2econtext */] && _self[_DYN_CONTEXT /* @min:%2econtext */].internal) {\r\n _self[_DYN_CONTEXT /* @min:%2econtext */].internal.snippetVer = snippetVer || \"-\";\r\n }\r\n // apply updated properties to the global instance (snippet)\r\n objForEachKey(_self, function (field, value) {\r\n if (isString(field) &&\r\n !isFunction(value) &&\r\n field && field[0] !== \"_\" && // Don't copy \"internal\" values\r\n arrIndexOf(_ignoreUpdateSnippetProperties, field) === -1) {\r\n if (snippet[field] !== value) {\r\n snippet[field] = value;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n doPerf(_self.core, function () { return \"AISKU.loadAppInsights\"; }, function () {\r\n // initialize core\r\n _core.initialize(_config, [_sender, properties, dependencies, _analyticsPlugin, _cfgSyncPlugin], logger, notificationManager);\r\n objDefine(_self, \"context\", {\r\n g: function () { return properties[_DYN_CONTEXT /* @min:%2econtext */]; }\r\n });\r\n if (!_throttleMgr) {\r\n _throttleMgr = new ThrottleMgr(_core);\r\n }\r\n var sdkSrc = _findSdkSourceFile();\r\n if (sdkSrc && _self[_DYN_CONTEXT /* @min:%2econtext */]) {\r\n _self[_DYN_CONTEXT /* @min:%2econtext */].internal.sdkSrc = sdkSrc;\r\n }\r\n _updateSnippetProperties(_self[STR_SNIPPET /* @min:%2esnippet */]);\r\n // Empty queue of all api calls logged prior to sdk download\r\n _self.emptyQueue();\r\n _self[STR_POLL_INTERNAL_LOGS /* @min:%2epollInternalLogs */]();\r\n _self[_DYN_ADD_HOUSEKEEPING_BEF2 /* @min:%2eaddHousekeepingBeforeUnload */](_self);\r\n _addUnloadHook(onConfigChange(cfgHandler, function () {\r\n var defaultEnable = false;\r\n if (_config.throttleMgrCfg[109 /* _eInternalMessageId.DefaultThrottleMsgKey */]) {\r\n defaultEnable = !_config.throttleMgrCfg[109 /* _eInternalMessageId.DefaultThrottleMsgKey */].disabled;\r\n }\r\n if (!_throttleMgr.isReady() && _config.extensionConfig && _config.extensionConfig[_cfgSyncPlugin.identifier] && defaultEnable) {\r\n // set ready state to true will automatically trigger flush()\r\n _throttleMgr.onReadyState(true);\r\n }\r\n var result;\r\n if (!_iKeySentMessage && !_config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */] && isFeatureEnabled(IKEY_USAGE, _config)) {\r\n result = _throttleMgr[_DYN_SEND_MESSAGE /* @min:%2esendMessage */](106 /* _eInternalMessageId.InstrumentationKeyDeprecation */, \"See Instrumentation key support at aka.ms/IkeyMigrate\");\r\n _iKeySentMessage = true;\r\n }\r\n if (!_cdnSentMessage && _self[_DYN_CONTEXT /* @min:%2econtext */].internal.sdkSrc && _self[_DYN_CONTEXT /* @min:%2econtext */].internal.sdkSrc.indexOf(\"az416426\") != -1 && isFeatureEnabled(CDN_USAGE, _config)) {\r\n result = _throttleMgr[_DYN_SEND_MESSAGE /* @min:%2esendMessage */](110 /* _eInternalMessageId.CdnDeprecation */, \"See Cdn support notice at aka.ms/JsActiveCdn\");\r\n _cdnSentMessage = true;\r\n }\r\n if (!_sdkVerSentMessage && parseInt(_snippetVersion) < 6 && isFeatureEnabled(SDK_LOADER_VER, _config)) {\r\n result = _throttleMgr[_DYN_SEND_MESSAGE /* @min:%2esendMessage */](111 /* _eInternalMessageId.SdkLdrUpdate */, \"An updated Sdk Loader is available, see aka.ms/SnippetVer\");\r\n _sdkVerSentMessage = true;\r\n }\r\n }));\r\n });\r\n return _self;\r\n };\r\n _self[_DYN_UPDATE_SNIPPET_DEFIN3 /* @min:%2eupdateSnippetDefinitions */] = function (snippet) {\r\n // apply full appInsights to the global instance\r\n // Note: This must be called before loadAppInsights is called\r\n proxyAssign(snippet, _self, function (name) {\r\n // Not excluding names prefixed with \"_\" as we need to proxy some functions like _onError\r\n return name && arrIndexOf(_ignoreUpdateSnippetProperties, name) === -1;\r\n });\r\n };\r\n _self.emptyQueue = function () {\r\n // call functions that were queued before the main script was loaded\r\n try {\r\n if (isArray(_self.snippet[_DYN_QUEUE /* @min:%2equeue */])) {\r\n // note: do not check length in the for-loop conditional in case something goes wrong and the stub methods are not overridden.\r\n var length_1 = _self.snippet[_DYN_QUEUE /* @min:%2equeue */].length;\r\n for (var i = 0; i < length_1; i++) {\r\n var call = _self.snippet[_DYN_QUEUE /* @min:%2equeue */][i];\r\n call();\r\n }\r\n _self.snippet[_DYN_QUEUE /* @min:%2equeue */] = undefined;\r\n delete _self.snippet[_DYN_QUEUE /* @min:%2equeue */];\r\n }\r\n }\r\n catch (exception) {\r\n var properties_1 = {};\r\n if (exception && isFunction(exception.toString)) {\r\n properties_1.exception = exception.toString();\r\n }\r\n // need from core\r\n // Microsoft.ApplicationInsights._InternalLogging.throwInternal(\r\n // eLoggingSeverity.WARNING,\r\n // _eInternalMessageId.FailedToSendQueuedTelemetry,\r\n // \"Failed to send queued telemetry\",\r\n // properties);\r\n }\r\n };\r\n _self[_DYN_ADD_HOUSEKEEPING_BEF2 /* @min:%2eaddHousekeepingBeforeUnload */] = function (appInsightsInstance) {\r\n // Add callback to push events when the user navigates away\r\n if (hasWindow() || hasDocument()) {\r\n var performHousekeeping_1 = function () {\r\n // Adds the ability to flush all data before the page unloads.\r\n // Note: This approach tries to push a sync request with all the pending events onbeforeunload.\r\n // Firefox does not respect this.Other browsers DO push out the call with < 100% hit rate.\r\n // Telemetry here will help us analyze how effective this approach is.\r\n // Another approach would be to make this call sync with a acceptable timeout to reduce the\r\n // impact on user experience.\r\n // appInsightsInstance.context._sender.triggerSend();\r\n appInsightsInstance[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */](false);\r\n // Back up the current session to local storage\r\n // This lets us close expired sessions after the cookies themselves expire\r\n if (isFunction(_self.core[STR_GET_PLUGIN /* @min:%2egetPlugin */])) {\r\n var loadedPlugin = _this.core[STR_GET_PLUGIN /* @min:%2egetPlugin */](PropertiesPluginIdentifier);\r\n if (loadedPlugin) {\r\n var propertiesPlugin = loadedPlugin.plugin;\r\n if (propertiesPlugin && propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */] && propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */]._sessionManager) {\r\n propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */]._sessionManager.backup();\r\n }\r\n }\r\n }\r\n };\r\n var added_1 = false;\r\n if (!_houseKeepingNamespace) {\r\n _houseKeepingNamespace = mergeEvtNamespace(_evtNamespace, _core[STR_EVT_NAMESPACE /* @min:%2eevtNamespace */] && _core[STR_EVT_NAMESPACE /* @min:%2eevtNamespace */]());\r\n }\r\n // Will be recalled if any referenced config properties change\r\n _addUnloadHook(onConfigChange(_config, function (details) {\r\n var coreConfig = details.cfg;\r\n var analyticsPlugin = appInsightsInstance.appInsights;\r\n var ctx = createProcessTelemetryContext(null, coreConfig, analyticsPlugin.core);\r\n var extConfig = ctx.getExtCfg(analyticsPlugin.identifier || AnalyticsPluginIdentifier);\r\n // As we could get recalled, remove any previously registered event handlers first\r\n _removePageEventHandlers();\r\n var excludePageUnloadEvents = coreConfig.disablePageUnloadEvents;\r\n if (!extConfig.disableFlushOnBeforeUnload) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n if (addPageUnloadEventListener(performHousekeeping_1, excludePageUnloadEvents, _houseKeepingNamespace)) {\r\n added_1 = true;\r\n }\r\n // We also need to hook the pagehide and visibilitychange events as not all versions of Safari support load/unload events.\r\n if (addPageHideEventListener(performHousekeeping_1, excludePageUnloadEvents, _houseKeepingNamespace)) {\r\n added_1 = true;\r\n }\r\n // A reactNative app may not have a window and therefore the beforeunload/pagehide events -- so don't\r\n // log the failure in this case\r\n if (!added_1 && !isReactNative()) {\r\n _throwInternal(_core.logger, 1 /* eLoggingSeverity.CRITICAL */, 19 /* _eInternalMessageId.FailedToAddHandlerForOnBeforeUnload */, \"Could not add handler for beforeunload and pagehide\");\r\n }\r\n }\r\n if (!added_1 && !extConfig.disableFlushOnUnload) {\r\n // If we didn't add the normal set then attempt to add the pagehide and visibilitychange only\r\n addPageHideEventListener(performHousekeeping_1, excludePageUnloadEvents, _houseKeepingNamespace);\r\n }\r\n }));\r\n }\r\n };\r\n _self.getSender = function () {\r\n return _sender;\r\n };\r\n _self.unload = function (isAsync, unloadComplete, cbTimeout) {\r\n var unloadDone = false;\r\n var result;\r\n if (isAsync && !unloadComplete) {\r\n result = createPromise(function (resolve) {\r\n // Set the callback to the promise resolve callback\r\n unloadComplete = resolve;\r\n });\r\n }\r\n function _unloadCallback(unloadState) {\r\n if (!unloadDone) {\r\n unloadDone = true;\r\n _initDefaults();\r\n unloadComplete && unloadComplete(unloadState);\r\n }\r\n }\r\n _self[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */](isAsync);\r\n _removePageEventHandlers();\r\n _core.unload && _core.unload(isAsync, _unloadCallback, cbTimeout);\r\n return result;\r\n };\r\n proxyFunctions(_self, _analyticsPlugin, [\r\n STR_GET_COOKIE_MGR,\r\n STR_TRACK_EVENT,\r\n STR_TRACK_PAGE_VIEW,\r\n \"trackPageViewPerformance\",\r\n STR_TRACK_EXCEPTION,\r\n \"_onerror\",\r\n STR_TRACK_TRACE,\r\n STR_TRACK_METRIC,\r\n STR_START_TRACK_PAGE,\r\n STR_STOP_TRACK_PAGE,\r\n STR_START_TRACK_EVENT,\r\n STR_STOP_TRACK_EVENT\r\n ]);\r\n proxyFunctions(_self, _getCurrentDependencies, [\r\n STR_TRACK_DEPENDENCY_DATA,\r\n \"addDependencyListener\",\r\n \"addDependencyInitializer\"\r\n ]);\r\n proxyFunctions(_self, _core, [\r\n STR_ADD_TELEMETRY_INITIALIZER,\r\n STR_POLL_INTERNAL_LOGS,\r\n \"stopPollingInternalLogs\",\r\n STR_GET_PLUGIN,\r\n \"addPlugin\",\r\n STR_EVT_NAMESPACE,\r\n \"addUnloadCb\",\r\n \"getTraceCtx\",\r\n \"updateCfg\",\r\n \"onCfgChange\"\r\n ]);\r\n proxyFunctions(_self, function () {\r\n var context = properties[_DYN_CONTEXT /* @min:%2econtext */];\r\n return context ? context.user : null;\r\n }, [\r\n STR_SET_AUTHENTICATED_USER_CONTEXT,\r\n STR_CLEAR_AUTHENTICATED_USER_CONTEXT\r\n ]);\r\n // Using a function to support the dynamic adding / removal of plugins, so this will always return the current value\r\n function _getCurrentDependencies() {\r\n return dependencies;\r\n }\r\n function _initDefaults() {\r\n _evtNamespace = createUniqueNamespace(\"AISKU\");\r\n _houseKeepingNamespace = null;\r\n dependencies = null;\r\n properties = null;\r\n _sender = null;\r\n _snippetVersion = null;\r\n _throttleMgr = null;\r\n _iKeySentMessage = false;\r\n _cdnSentMessage = false;\r\n _sdkVerSentMessage = false;\r\n _cfgSyncPlugin = new CfgSyncPlugin();\r\n }\r\n function _removePageEventHandlers() {\r\n // Remove any registered event handlers\r\n if (_houseKeepingNamespace) {\r\n removePageUnloadEventListener(null, _houseKeepingNamespace);\r\n removePageHideEventListener(null, _houseKeepingNamespace);\r\n }\r\n }\r\n function _addUnloadHook(hooks) {\r\n _core.addUnloadHook(hooks);\r\n }\r\n });\r\n }\r\n // Analytics Plugin\r\n /**\r\n * Get the current cookie manager for this instance\r\n */\r\n AppInsightsSku.prototype.getCookieMgr = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Log a user action or other occurrence.\r\n * @param event\r\n * @param [customProperties]\r\n * @memberof Initialization\r\n */\r\n AppInsightsSku.prototype.trackEvent = function (event, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Logs that a page, or similar container was displayed to the user.\r\n * @param pageView\r\n * @memberof Initialization\r\n */\r\n AppInsightsSku.prototype.trackPageView = function (pageView) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Log a bag of performance information via the customProperties field.\r\n * @param pageViewPerformance\r\n * @memberof Initialization\r\n */\r\n AppInsightsSku.prototype.trackPageViewPerformance = function (pageViewPerformance) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Log an exception that you have caught.\r\n * @param exception\r\n * @param } customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @memberof Initialization\r\n */\r\n AppInsightsSku.prototype.trackException = function (exception, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Manually send uncaught exception telemetry. This method is automatically triggered\r\n * on a window.onerror event.\r\n * @param exception\r\n * @memberof Initialization\r\n */\r\n AppInsightsSku.prototype._onerror = function (exception) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Log a diagnostic scenario such entering or leaving a function.\r\n * @param trace\r\n * @param [customProperties]\r\n * @memberof Initialization\r\n */\r\n AppInsightsSku.prototype.trackTrace = function (trace, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Log a numeric value that is not associated with a specific event. Typically used\r\n * to send regular reports of performance indicators.\r\n *\r\n * To send a single measurement, just use the `name` and `average` fields\r\n * of {@link IMetricTelemetry}.\r\n *\r\n * If you take measurements frequently, you can reduce the telemetry bandwidth by\r\n * aggregating multiple measurements and sending the resulting average and modifying\r\n * the `sampleCount` field of {@link IMetricTelemetry}.\r\n * @param metric - input object argument. Only `name` and `average` are mandatory.\r\n * @param [customProperties]\r\n * @memberof Initialization\r\n */\r\n AppInsightsSku.prototype.trackMetric = function (metric, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name - A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n AppInsightsSku.prototype.startTrackPage = function (name) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n AppInsightsSku.prototype.stopTrackPage = function (name, url, properties, measurements) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AppInsightsSku.prototype.startTrackEvent = function (name) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n AppInsightsSku.prototype.stopTrackEvent = function (name, properties, measurements) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AppInsightsSku.prototype.addTelemetryInitializer = function (telemetryInitializer) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n // Properties Plugin\r\n /**\r\n * Set the authenticated user id and the account id. Used for identifying a specific signed-in user. Parameters must not contain whitespace or ,;=|\r\n *\r\n * The method will only set the `authenticatedUserId` and `accountId` in the current page view. To set them for the whole session, you should set `storeInCookie = true`\r\n * @param authenticatedUserId\r\n * @param [accountId]\r\n * @param [storeInCookie=false]\r\n */\r\n AppInsightsSku.prototype.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n if (storeInCookie === void 0) { storeInCookie = false; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Clears the authenticated user id and account id. The associated cookie is cleared, if present.\r\n */\r\n AppInsightsSku.prototype.clearAuthenticatedUserContext = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n // Dependencies Plugin\r\n /**\r\n * Log a dependency call (e.g. ajax)\r\n * @param dependency\r\n * @memberof Initialization\r\n */\r\n AppInsightsSku.prototype.trackDependencyData = function (dependency) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n // Misc\r\n /**\r\n * Attempt to flush data immediately; If executing asynchronously (the default) and\r\n * you DO NOT pass a callback function then a [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * will be returned which will resolve once the flush is complete. The actual implementation of the `IPromise`\r\n * will be a native Promise (if supported) or the default as supplied by [ts-async library](https://github.com/nevware21/ts-async)\r\n * @param async - send data asynchronously when true\r\n * @param callBack - if specified, notify caller when send is complete, the channel should return true to indicate to the caller that it will be called.\r\n * If the caller doesn't return true the caller should assume that it may never be called.\r\n * @returns - If a callback is provided `true` to indicate that callback will be called after the flush is complete otherwise the caller\r\n * should assume that any provided callback will never be called, Nothing or if occurring asynchronously a\r\n * [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html) which will be resolved once the unload is complete,\r\n * the [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html) will only be returned when no callback is provided\r\n * and async is true.\r\n */\r\n AppInsightsSku.prototype.flush = function (async, callBack) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Manually trigger an immediate send of all telemetry still in the buffer using beacon Sender.\r\n * Fall back to xhr sender if beacon is not supported.\r\n * @param [async=true]\r\n * @memberof Initialization\r\n */\r\n AppInsightsSku.prototype.onunloadFlush = function (async) {\r\n if (async === void 0) { async = true; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Initialize this instance of ApplicationInsights\r\n * @returns {IApplicationInsights}\r\n * @memberof Initialization\r\n * @param legacyMode - MUST always be false, it is no longer supported from v3.x onwards\r\n */\r\n AppInsightsSku.prototype.loadAppInsights = function (legacyMode, logger, notificationManager) {\r\n if (legacyMode === void 0) { legacyMode = false; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Overwrite the lazy loaded fields of global window snippet to contain the\r\n * actual initialized API methods\r\n * @param snippet\r\n * @memberof Initialization\r\n */\r\n AppInsightsSku.prototype.updateSnippetDefinitions = function (snippet) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Call any functions that were queued before the main script was loaded\r\n * @memberof Initialization\r\n */\r\n AppInsightsSku.prototype.emptyQueue = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AppInsightsSku.prototype.pollInternalLogs = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AppInsightsSku.prototype.stopPollingInternalLogs = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AppInsightsSku.prototype.addHousekeepingBeforeUnload = function (appInsightsInstance) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AppInsightsSku.prototype.getSender = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Unload and Tear down the SDK and any initialized plugins, after calling this the SDK will be considered\r\n * to be un-initialized and non-operational, re-initializing the SDK should only be attempted if the previous\r\n * unload call return `true` stating that all plugins reported that they also unloaded, the recommended\r\n * approach is to create a new instance and initialize that instance.\r\n * This is due to possible unexpected side effects caused by plugins not supporting unload / teardown, unable\r\n * to successfully remove any global references or they may just be completing the unload process asynchronously.\r\n * If you pass isAsync as true and do not provide\r\n * If you pass isAsync as `true` (also the default) and DO NOT pass a callback function then an [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * will be returned which will resolve once the unload is complete. The actual implementation of the `IPromise`\r\n * will be a native Promise (if supported) or the default as supplied by [ts-async library](https://github.com/nevware21/ts-async)\r\n * @param isAsync - Can the unload be performed asynchronously (default)\r\n * @param unloadComplete - An optional callback that will be called once the unload has completed\r\n * @param cbTimeout - An optional timeout to wait for any flush operations to complete before proceeding with the\r\n * unload. Defaults to 5 seconds.\r\n * @return Nothing or if occurring asynchronously a [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * which will be resolved once the unload is complete, the [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * will only be returned when no callback is provided and isAsync is true\r\n */\r\n AppInsightsSku.prototype.unload = function (isAsync, unloadComplete, cbTimeout) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n AppInsightsSku.prototype.getPlugin = function (pluginIdentifier) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Add a new plugin to the installation\r\n * @param plugin - The new plugin to add\r\n * @param replaceExisting - should any existing plugin be replaced, default is false\r\n * @param doAsync - Should the add be performed asynchronously\r\n * @param addCb - [Optional] callback to call after the plugin has been added\r\n */\r\n AppInsightsSku.prototype.addPlugin = function (plugin, replaceExisting, doAsync, addCb) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Update the configuration used and broadcast the changes to all loaded plugins\r\n * @param newConfig - The new configuration is apply\r\n * @param mergeExisting - Should the new configuration merge with the existing or just replace it. Default is to merge.\r\n */\r\n AppInsightsSku.prototype.updateCfg = function (newConfig, mergeExisting) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Returns the unique event namespace that should be used\r\n */\r\n AppInsightsSku.prototype.evtNamespace = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Add an unload handler that will be called when the SDK is being unloaded\r\n * @param handler - the handler\r\n */\r\n AppInsightsSku.prototype.addUnloadCb = function (handler) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add an ajax listener which is called just prior to the request being sent and before the correlation headers are added, to allow you\r\n * to access the headers and modify the values used to generate the distributed tracing correlation headers. (added in v2.8.4)\r\n * @param dependencyListener - The Telemetry Initializer function\r\n * @returns - A IDependencyListenerHandler to enable the initializer to be removed\r\n */\r\n AppInsightsSku.prototype.addDependencyListener = function (dependencyListener) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Add an dependency telemetry initializer callback function to allow populating additional properties or drop the request.\r\n * It is called after the dependency call has completed and any available performance details are available. A dependency\r\n * initializer is similar to the TelemetryInitializer function but it allows you to block the reporting of the dependency\r\n * request so that it doesn't count against the `maxAjaxCallsPerView`.\r\n * @param dependencyInitializer - The Dependency Telemetry Initializer function\r\n * @returns - A IDependencyInitializerHandler to enable the initializer to be removed\r\n */\r\n AppInsightsSku.prototype.addDependencyInitializer = function (dependencyInitializer) {\r\n return null;\r\n };\r\n /**\r\n * Gets the current distributed trace context for this instance if available\r\n */\r\n AppInsightsSku.prototype.getTraceCtx = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Watches and tracks changes for accesses to the current config, and if the accessed config changes the\r\n * handler will be recalled.\r\n * @param handler\r\n * @returns A watcher handler instance that can be used to remove itself when being unloaded\r\n */\r\n AppInsightsSku.prototype.onCfgChange = function (handler) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n return AppInsightsSku;\r\n}());\r\nexport { AppInsightsSku };\r\n// tslint:disable-next-line\r\nexport function _findSdkSourceFile() {\r\n if (_internalSdkSrc) {\r\n // Use the cached value\r\n return _internalSdkSrc;\r\n }\r\n var sdkSrc = null;\r\n var isModule = false;\r\n var cdns = [\r\n \"://js.monitor.azure.com/\",\r\n \"://az416426.vo.msecnd.net/\"\r\n ];\r\n try {\r\n // Try and determine whether the sdk is being loaded from the CDN\r\n // currentScript is only valid during initial processing\r\n var scrpt = (document || {}).currentScript;\r\n if (scrpt) {\r\n sdkSrc = scrpt.src;\r\n // } else {\r\n // // We need to update to at least typescript 2.9 for this to work :-(\r\n // // Leaving as a stub for now so after we upgrade this breadcrumb is available\r\n // let meta = import.meta;\r\n // sdkSrc = (meta || {}).url;\r\n // isModule = true;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n if (sdkSrc) {\r\n try {\r\n var url_1 = sdkSrc.toLowerCase();\r\n if (url_1) {\r\n var src_1 = \"\";\r\n arrForEach(cdns, function (value, idx) {\r\n if (strIndexOf(url_1, value) !== -1) {\r\n src_1 = \"cdn\" + (idx + 1);\r\n if (strIndexOf(url_1, \"/scripts/\") === -1) {\r\n if (strIndexOf(url_1, \"/next/\") !== -1) {\r\n src_1 += \"-next\";\r\n }\r\n else if (strIndexOf(url_1, \"/beta/\") !== -1) {\r\n src_1 += \"-beta\";\r\n }\r\n }\r\n _internalSdkSrc = src_1 + (isModule ? \".mod\" : \"\");\r\n return -1;\r\n }\r\n });\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n // Cache the found value so we don't have to look it up again\r\n _internalSdkSrc = sdkSrc;\r\n }\r\n return _internalSdkSrc;\r\n}\r\n//# sourceMappingURL=AISku.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_VERSION = \"version\"; // Count: 6\r\nexport var _DYN_QUEUE = \"queue\"; // Count: 6\r\nexport var _DYN_CONNECTION_STRING = \"connectionString\"; // Count: 4\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 5\r\nexport var _DYN_INSTRUMENTATIONKEY0 = \"instrumentationkey\"; // Count: 2\r\nexport var _DYN_USER_OVERRIDE_ENDPOI1 = \"userOverrideEndpointUrl\"; // Count: 6\r\nexport var _DYN_ENDPOINT_URL = \"endpointUrl\"; // Count: 6\r\nexport var _DYN_INGESTIONENDPOINT = \"ingestionendpoint\"; // Count: 2\r\nexport var _DYN_ONUNLOAD_FLUSH = \"onunloadFlush\"; // Count: 6\r\nexport var _DYN_CONTEXT = \"context\"; // Count: 5\r\nexport var _DYN_ADD_HOUSEKEEPING_BEF2 = \"addHousekeepingBeforeUnload\"; // Count: 2\r\nexport var _DYN_SEND_MESSAGE = \"sendMessage\"; // Count: 3\r\nexport var _DYN_UPDATE_SNIPPET_DEFIN3 = \"updateSnippetDefinitions\"; // Count: 2\r\n//# sourceMappingURL=__DynamicConstants.js.map","import { ReactPlugin } from '@microsoft/applicationinsights-react-js';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\nconst getConnectionString = () => {\r\n // \"development\" is used for localhost only.\r\n // Either use environment variable or leave the connection string empty.\r\n if (process.env.NODE_ENV === \"development\")\r\n return process.env.REACT_APP_INSIGHTS_CONNECTION_STRING;\r\n\r\n // \"production\" is used for Test, ATest and Prod environments.\r\n // Either use environment variable or inject the connection during release pipeline.\r\n return process.env.REACT_APP_INSIGHTS_CONNECTION_STRING\r\n ? process.env.REACT_APP_INSIGHTS_CONNECTION_STRING\r\n : \"{{REACT_APP_INSIGHTS_CONNECTION_STRING}}\";\r\n}\r\n\r\nconst TelemetryProvider = (props: { children: React.ReactNode }) => {\r\n const connectionString = getConnectionString();\r\n\r\n if (connectionString) {\r\n const reactPlugin = new ReactPlugin();\r\n const appInsights = new ApplicationInsights({\r\n config: {\r\n connectionString: connectionString,\r\n extensions: [reactPlugin],\r\n enableRequestHeaderTracking: true,\r\n enableUnhandledPromiseRejectionTracking: true,\r\n },\r\n });\r\n appInsights.loadAppInsights();\r\n }\r\n\r\n return <>{props.children};\r\n};\r\n\r\nexport default TelemetryProvider;\r\n","import React from 'react';\r\nimport ReactDOMClient from 'react-dom/client';\r\nimport { IntlProvider } from 'react-intl';\r\n\r\nimport Clickbot from './components/Clickbot';\r\nimport { getLang } from './lang/languageHelpers';\r\nimport TelemetryProvider from './telemetry/TelemetryProvider';\r\n\r\nlet langObj = {\r\n filterValue: undefined,\r\n lang: undefined,\r\n};\r\n\r\nconst App = () => {\r\n return ;\r\n};\r\n\r\nconst el = document.getElementsByTagName('click-bot')[0];\r\n\r\nconst dataObj = {\r\n baseUrl: el.getAttribute('baseUrl'),\r\n sendMessageUrl: el.getAttribute('sendMessageUrl'),\r\n token: el.getAttribute('data-token'),\r\n serviceId: el.getAttribute('data-service-id'),\r\n customerNumber: el.getAttribute('data-customer-number'),\r\n advisorId: el.getAttribute('data-advisor-id'),\r\n advisorFirstName: el.getAttribute('data-advisor-firstname'),\r\n advisorLastName: el.getAttribute('data-advisor-lastname'),\r\n filterValue: el.getAttribute('data-filter'),\r\n productName:\r\n el.getAttribute('data-product-name') ||\r\n el.getAttribute('data-product-type'),\r\n};\r\nconst dataLang = el.getAttribute('lang');\r\n\r\nconst locale = dataLang ? dataLang : navigator.language;\r\n\r\nlangObj = getLang(dataLang, el.getAttribute('data-filter'));\r\n\r\nwindow.customElements.define(\r\n 'click-bot',\r\n class extends HTMLElement {\r\n connectedCallback() {\r\n ReactDOMClient.createRoot(this).render(\r\n \r\n \r\n \r\n \r\n ,\r\n );\r\n }\r\n },\r\n);\r\n"],"names":["module","exports","utils","require","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","transitionalDefaults","AxiosError","CanceledError","parseProtocol","platform","config","Promise","resolve","reject","onCanceled","requestData","data","requestHeaders","headers","responseType","withXSRFToken","done","cancelToken","unsubscribe","signal","removeEventListener","isFormData","isStandardBrowserEnv","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","value","err","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","indexOf","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","ETIMEDOUT","isFunction","xsrfValue","xsrfHeaderName","xsrfCookieName","read","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","withCredentials","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","type","abort","subscribe","aborted","protocol","protocols","ERR_BAD_REQUEST","send","bind","Axios","mergeConfig","defaults","formDataToJSON","axios","createInstance","defaultConfig","context","instance","prototype","extend","create","instanceConfig","CancelToken","isCancel","VERSION","toFormData","Cancel","all","promises","spread","isAxiosError","formToJSON","thing","isHTMLForm","FormData","executor","TypeError","resolvePromise","this","promise","token","then","_listeners","i","length","onfulfilled","_resolve","message","reason","throwIfRequested","listener","push","index","splice","source","c","call","ERR_CANCELED","name","inherits","__CANCEL__","InterceptorManager","dispatchRequest","validator","validators","interceptors","configOrUrl","undefined","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","encode","function","serialize","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","Array","apply","concat","shift","newConfig","onFulfilled","onRejected","error","getUri","generateHTTPMethod","isForm","code","Error","captureStackTrace","constructor","stack","toJSON","description","number","fileName","lineNumber","columnNumber","descriptors","Object","defineProperties","defineProperty","from","customProps","axiosError","toFlatObject","obj","cause","assign","handlers","use","options","eject","id","clear","fn","h","isAbsoluteURL","combineURLs","requestedURL","transformData","normalizeHeaderName","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","config1","config2","getMergedValue","target","isPlainObject","isEmptyObject","isArray","slice","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","keys","configValue","validateStatus","ERR_BAD_RESPONSE","Math","floor","fns","toURLEncodedForm","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","toString","getDefaultAdapter","isFileList","contentType","hasJSONContentType","isObjectPayload","isObject","JSON","stringify","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","formSerializer","_FormData","env","rawValue","parser","encoder","isString","parse","trim","e","stringifySafely","JSONRequested","strictJSONParsing","maxContentLength","maxBodyLength","classes","Blob","str","charMap","replace","match","AxiosURLSearchParams","_pairs","append","_encode","map","pair","join","thisArg","arguments","hashmarkIndex","serializedParams","serializeFn","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","document","RegExp","decodeURIComponent","remove","now","formData","buildPath","isNumericKey","Number","isFinite","isLast","hasOwnProperty","arr","len","arrayToObject","entries","forEachEntry","matchAll","parsePropPath","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","exec","callback","envFormData","isVisitable","removeBrackets","endsWith","renderKey","dots","predicates","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Symbol","toStringTag","iterator","convertValue","isDate","toISOString","isTypedArray","Buffer","some","isFlatArray","toArray","el","exposedHelpers","build","pop","URLSearchParams","helpers","isNode","deprecatedWarnings","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","schema","allowUnknown","ERR_BAD_OPTION_VALUE","result","ERR_BAD_OPTION","isBrowser","cache","kindOf","kindOfTest","getPrototypeOf","l","TypedArray","Uint8Array","_hasOwnProperty","pattern","ArrayBuffer","isView","pipe","product","assignValue","a","b","stripBOM","content","charCodeAt","superConstructor","props","sourceObj","destObj","filter","propFilter","merged","getOwnPropertyNames","searchString","position","String","lastIndex","next","regExp","matches","self","t","n","r","s","u","o","f","d","weekdays","months","$","z","utcOffset","abs","m","date","year","month","clone","add","ceil","p","M","y","w","D","ms","Q","S","v","args","g","locale","$L","utc","$u","x","$x","$offset","$d","NaN","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","$locale","weekStart","$set","min","daysInMonth","get","round","subtract","format","substr","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","Z","getTimezoneOffset","diff","toUTCString","$i","isDayjs","en","Ls","yy","numbers","_","default","ordinal","relativeTime","future","past","formats","LT","LTS","L","LL","LLL","LLLL","ll","lll","llll","zone","offset","afternoon","milliseconds","SS","Do","day","Y","ZZ","regex","hours","minutes","seconds","customParseFormat","isoWeekday","isoWeekYear","isoWeek","localeData","firstDayOfWeek","longDateFormat","weekYear","week","weekday","__createBinding","k","k2","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","__exportStar","DomHandler","domelementtype_1","node_js_1","defaultOpts","withStartIndices","withEndIndices","xmlMode","elementCB","dom","root","Document","tagStack","lastNode","onparserinit","onreset","onend","handleCallback","onclosetag","elem","endIndex","onopentag","attribs","ElementType","Tag","element","Element","addNode","ontext","Text","node","oncomment","Comment","oncommentend","oncdatastart","text","CDATA","parent","oncdataend","onprocessinginstruction","ProcessingInstruction","previousSibling","children","startIndex","prev","__extends","extendStatics","setPrototypeOf","__proto__","__","__assign","cloneNode","hasChildren","isDocument","isDirective","isComment","isText","isCDATA","isTag","NodeWithChildren","DataNode","Node","recursive","_super","_this","Directive","_a","Root","Script","Style","_b","namespace","prefix","cloneChildren","clone_1","child","clone_2","clone_3","instruction","sourceCodeLocation","childs","Doctype","ReferenceError","IN","OUT","Children","only","state","currentChild","direction","nextChild","timeoutId","clearTimeout","fade","setState","queueNextChild","animationLength","className","style","transition","opacity","Component","propTypes","defaultProps","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertySymbols","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","reduce","accumulator","tagName","html","FIRST_TAG_REGEX","firstTagName","HTML","doc","parseFromString","HEAD_TAG_REGEX","querySelector","HEAD","parentNode","removeChild","BODY_TAG_REGEX","BODY","querySelectorAll","elements","parseFromDocument","childNodes","parseFromTemplate","DOMParser","domParser_1","implementation","htmlDocument_1","createHTMLDocument","documentElement","innerHTML","template","DIRECTIVE_REGEX","directive","formatDOM","nodes","current","domNodes","nodesLength","nodeType","formatTagName","nodeName","domhandler_1","formatAttributes","attributes","nodeValue","attributesLength","attribute","caseSensitiveTagName","constants_1","getCaseSensitiveTagName","isInputValueOnly","Boolean","valueOnlyInputs","attributeName","attributeValue","isCustomAttribute","attributeNameLowerCased","propName","getPropName","propertyInfo","getPropertyInfo","UNCONTROLLED_COMPONENT_ATTRIBUTES","includes","UNCONTROLLED_COMPONENT_NAMES","react_property_1","utilities_1","setStyleProp","reset","submit","domToReact","reactElements","hasReplace","transform","library","React","cloneElement","isValidElement","replaceElement","skipAttributesToProps","dangerouslySetInnerHTML","__html","defaultValue","isWhitespace","canTextBeChildOfNode","isCustomComponent","htmlparser2","domParserOptions","html_dom_parser_1","attributes_to_props_1","dom_to_react_1","lowerCaseAttributeNames","is","RESERVED_SVG_MATHML_ELEMENTS","has","styleOptions","Set","reactCompat","react_1","arg","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","lineno","column","updatePosition","lines","lastIndexOf","start","Position","whitespace","end","errorsList","msg","filename","silent","re","comments","rules","comment","pos","declaration","ret","property","decl","decls","declarations","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","freeSelf","Function","objectToString","nativeMax","max","nativeMin","toNumber","isObjectLike","isSymbol","other","isBinary","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","remainingWait","debounced","isInvoking","leadingEdge","flush","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","array","bigint","bool","object","string","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","ta","pa","isNaN","qa","oa","removeAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Reflect","construct","Pa","tag","Qa","$$typeof","_context","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","fb","selected","defaultSelected","disabled","gb","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","firstChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","setProperty","tb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","track","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","ed","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","fromCharCode","repeat","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","datetime","email","range","tel","me","ne","oe","event","listeners","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","Ne","contentEditable","Oe","focusedElem","selectionRange","selectionStart","selectionEnd","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","of","pf","qf","rf","random","sf","capture","passive","J","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","queueMicrotask","catch","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","ch","eventTime","lane","dh","K","eh","fh","gh","q","ih","jh","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","P","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","queue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","destroy","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","WeakMap","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","size","createElementNS","autoFocus","createTextNode","T","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","insertBefore","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","display","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","src","Wk","mk","nk","ok","pk","qk","rk","sk","tk","uk","Infinity","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","fl","gl","hl","il","jl","zj","$k","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createPortal","dl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","PropertyInfoRecord","properties","_ref","CAMELIZE","capitalize","CAMELCASE","SAME","possibleStandardNames","possibleStandardNamesOptimized","standardName","BOOLEAN","BOOLEANISH_STRING","NUMERIC","OVERLOADED_BOOLEAN","POSITIVE_NUMERIC","RESERVED","STRING","accept","acceptCharset","accessKey","allowFullScreen","alt","as","async","autoCapitalize","autoComplete","autoCorrect","autoPlay","autoSave","cellPadding","cellSpacing","challenge","charSet","cite","class","classID","cols","colSpan","contextMenu","controls","controlsList","coords","crossOrigin","dateTime","defer","dir","disablePictureInPicture","disableRemotePlayback","download","draggable","encType","enterKeyHint","formMethod","formAction","formEncType","formNoValidate","formTarget","frameBorder","hidden","high","hrefLang","htmlFor","httpEquiv","icon","inputMode","integrity","itemID","itemProp","itemRef","itemScope","itemType","keyParams","keyType","kind","label","lang","list","loop","low","manifest","marginWidth","marginHeight","maxLength","media","mediaGroup","minLength","muted","noModule","nonce","noValidate","optimum","placeholder","playsInline","poster","preload","profile","radioGroup","readOnly","referrerPolicy","rel","required","reversed","role","rows","rowSpan","sandbox","scope","scoped","scrolling","seamless","sizes","span","spellCheck","srcDoc","srcLang","srcSet","step","summary","tabIndex","title","useMap","wmode","wrap","about","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","datatype","decelerate","descent","diffuseConstant","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","exponent","externalResourcesRequired","fill","fillRule","filterRes","filterUnits","floodColor","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","ideographic","imageRendering","in2","in","inlist","intercept","k1","k3","k4","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","numOctaves","operator","orient","orientation","origin","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","resource","restart","results","rotate","rx","ry","scale","security","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","strikethroughPosition","strikethroughThickness","stroke","strokeLinecap","strokeLinejoin","suppressContentEditableWarning","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","typeof","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","unselectable","vAlphabetic","values","vectorEffect","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewBox","viewTarget","visibility","vMathematical","vocab","widths","wordSpacing","writingMode","x1","x2","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","yChannelSelector","zoomAndPan","__self","__source","jsx","jsxs","forceUpdate","escape","_status","_result","count","PureComponent","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","lazy","memo","startTransition","unstable_act","StyleToJS","output","camelCase","CUSTOM_PROPERTY_REGEX","HYPHEN_REGEX","NO_HYPHEN_REGEX","VENDOR_PREFIX_REGEX","MS_VENDOR_PREFIX_REGEX","character","trimHyphen","skipCamelCase","styleObject","hasIterator","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","globalThis","__rest","propertyIsEnumerable","__spreadArray","pack","ar","IntlContext","Context","ErrorKind","TYPE","SKELETON_TYPE","invariant","condition","Err","isLiteralElement","literal","isArgumentElement","argument","isNumberElement","isDateElement","isTimeElement","isSelectElement","select","isPluralElement","plural","isPoundElement","pound","isTagElement","isNumberSkeleton","isDateTimeSkeleton","SPACE_SEPARATOR_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","skeleton","era","RangeError","hour12","hourCycle","hour","minute","second","timeZoneName","WHITE_SPACE_REGEX","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","INTEGER_WIDTH_REGEX","CONCISE_INTEGER_WIDTH_REGEX","parseSignificantPrecision","roundingPriority","minimumSignificantDigits","maximumSignificantDigits","parseSign","signDisplay","currencySign","parseConciseScientificAndEngineeringStem","stem","notation","minimumIntegerDigits","parseNotationOptions","signOpts","parseNumberSkeleton","tokens","_i","tokens_1","currency","useGrouping","maximumFractionDigits","unit","compactDisplay","currencyDisplay","unitDisplay","parseFloat","g3","g4","g5","minimumFractionDigits","trailingZeroDisplay","conciseScientificAndEngineeringOpts","timeData","getDefaultHourSymbolFromLocale","hourCycles","regionTag","languageTag","language","maximize","region","SPACE_SEPARATOR_START_REGEX","SPACE_SEPARATOR_END_REGEX","createLocation","hasNativeStartsWith","startsWith","hasNativeFromCodePoint","fromCodePoint","hasNativeFromEntries","fromEntries","hasNativeCodePointAt","codePointAt","hasTrimStart","trimStart","hasTrimEnd","trimEnd","isSafeInteger","REGEX_SUPPORTS_U_AND_Y","RE","matchIdentifierAtIndex","codePoints","entries_1","first","flag","IDENTIFIER_PREFIX_RE_1","_isWhiteSpace","_isPatternSyntax","Parser","ignoreTag","requiresOtherClause","shouldParseSkeletons","parseMessage","nestingLevel","parentArgType","expectingCloseTag","isEOF","parseArgument","peek","UNMATCHED_CLOSING_TAG","clonePosition","_isAlpha","parseTag","parseLiteral","bump","startPosition","parseTagName","bumpSpace","bumpIf","childrenResult","endTagStartPosition","INVALID_TAG","closingTagNameStartPosition","UNCLOSED_TAG","parseQuoteResult","tryParseQuote","parseUnquotedResult","tryParseUnquoted","parseLeftAngleResult","tryParseLeftAngleBracket","codepoint","openingBracePosition","EXPECT_ARGUMENT_CLOSING_BRACE","EMPTY_ARGUMENT","parseIdentifierIfPossible","MALFORMED_ARGUMENT","parseArgumentOptions","startingPosition","endOffset","bumpTo","typeStartPosition","argType","typeEndPosition","EXPECT_ARGUMENT_TYPE","styleAndLocation","styleStartPosition","parseSimpleArgStyleIfPossible","EXPECT_ARGUMENT_STYLE","styleLocation","argCloseResult","tryParseArgumentClose","location_1","parseNumberSkeletonFromString","EXPECT_DATE_TIME_SKELETON","dateTimePattern","skeletonCopy","patternPos","patternChar","extraLength","hourLen","dayPeriodLen","hourChar","getBestPattern","parsedOptions","typeEndPosition_1","EXPECT_SELECT_ARGUMENT_OPTIONS","identifierAndLocation","pluralOffset","EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE","tryParseDecimalInteger","INVALID_PLURAL_ARGUMENT_OFFSET_VALUE","optionsResult","tryParsePluralOrSelectOptions","location_2","pluralType","INVALID_ARGUMENT_TYPE","nestedBraces","apostrophePosition","bumpUntil","UNCLOSED_QUOTE_IN_ARGUMENT_STYLE","stringTokens_1","stemAndOptions","options_1","INVALID_NUMBER_SKELETON","expectCloseTag","parsedFirstIdentifier","hasOtherClause","parsedSelectors","selector","selectorLocation","EXPECT_PLURAL_ARGUMENT_SELECTOR","INVALID_PLURAL_ARGUMENT_SELECTOR","DUPLICATE_SELECT_ARGUMENT_SELECTOR","DUPLICATE_PLURAL_ARGUMENT_SELECTOR","EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT","EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT","fragmentResult","EXPECT_SELECT_ARGUMENT_SELECTOR","MISSING_OTHER_CLAUSE","expectNumberError","invalidNumberError","sign","hasDigits","decimal","currentOffset","targetOffset","nextCode","pruneLocation","els","SyntaxError","originalMessage","captureLocation","memoize","cacheDefault","serializer","serializerDefault","strategy","strategyDefault","monadic","cacheKey","computedValue","variadic","assemble","ObjectWithoutPrototypeCache","ErrorCode","strategies","PART_TYPE","FormatError","InvalidValueError","variableId","INVALID_VALUE","InvalidValueTypeError","MissingValueError","MISSING_VALUE","isFormatXMLElementFn","formatToParts","locales","formatters","currentPluralValue","els_1","getNumberFormat","varName","getDateTimeFormat","medium","value_1","formatFn","chunks","Intl","PluralRules","MISSING_INTL_API","rule","getPluralRules","parts","part","lastPart","mergeLiteral","mergeConfigs","configs","c1","c2","createFastMemoizeCache","store","IntlErrorCode","IntlMessageFormat","overrideFormats","defaultLocale","formatterCache","pluralRules","ast","resolvedOptions","resolvedLocale","NumberFormat","supportedLocalesOf","getAst","resolveLocale","__parse","DateTimeFormat","memoizedDefaultLocale","Locale","supportedLocales","integer","percent","short","long","full","IntlError","exception","UnsupportedFormatterError","UNSUPPORTED_FORMATTER","InvalidConfigError","INVALID_CONFIG","MissingDataError","MISSING_DATA","IntlFormatError","FORMAT_ERROR","MessageFormatError","defaultMessage","MissingTranslationError","MISSING_TRANSLATION","filterProps","allowlist","filtered","DEFAULT_INTL_CONFIG","messages","timeZone","defaultFormats","fallbackOnEmptyString","onWarn","warning","getNamedFormat","formatType","invariantIntlContext","intl","CORE_DEFAULT_INTL_CONFIG","textComponent","shallowEqual","objA","objB","aKeys","bKeys","setTimeZoneInOptions","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","messageDescriptor","defaultRichTextElements","msgId","getMessageFormat","NUMBER_FORMAT_OPTIONS","getFormatter","formatNumber","formatNumberToParts","RELATIVE_TIME_FORMAT_OPTIONS","formatRelativeTime","getRelativeTimeFormat","RelativeTimeFormat","DATE_TIME_FORMAT_OPTIONS","filteredOptions","timeStyle","dateStyle","formatDate","formatTime","formatDateTimeRange","formatRange","formatDateToParts","formatTimeToParts","PLURAL_FORMAT_OPTIONS","formatPlural","LIST_FORMAT_OPTIONS","formatList","getListFormat","formatListToParts","ListFormat","richValues_1","serializedValues","generateToken","DISPLAY_NAMES_OPTONS","formatDisplayName","getDisplayNames","DisplayNames","verifyConfigMessages","createIntl","displayNames","createFormatters","resolvedConfig","$t","processIntlConfig","wrapRichTextChunksInFragment","assignUniqueKeysToFormatXMLElementFnArgument","acc","formatXMLElementFn","rawValues","rest","coreFormatMessage","rawDefaultRichTextElements","coreIntl","coreCreateIntl","IntlProvider","prevConfig","present","newPresent","useIntl","FormattedMessage","MemoizedFormattedMessage","prevProps","nextProps","otherProps","nextValues","nextOtherProps","currValue","updateValue","updateValidity","regexp","ssnValidation","setSsnValidation","formValue","setInputFormValue","debounceValidation","debounce","validSSN","_jsxs","_Fragment","_jsx","onChange","newValue","dateFormat","dateTimeFormat","dayjs","localeDate","localizedFormat","currDate","maxDate","minDate","initDate","selectedDate","setDate","currentDate","setCurrentDate","isOpen","setIsOpen","handleClickOutside","targetEl","localName","togglePicker","isOutsideDateBoundaries","outsideMin","outsideMax","renderDay","currentDay","dateOfMonth","renderPaddingDays","paddingDays","startDay","padding","days","ordinaryWeek","lastdayWeekday","decrementMonth","textTransform","incrementMonth","renderWeekdayHeaders","dayHeaders","renderWeeks","weeks","noOfWeeks","getWeeksOfMonth","daysAfterFirstWeek","startDate","choices","setSelected","handleRadio","handleButton","remainingSteps","labelId","questionText","setFormValue","isValidValue","setIsValidValue","valueChange","dateValueChange","isValidChanged","inputElement","SSNField","answers","DatePicker","MultiChoiceField","onSubmit","toDo","HTMLReactParser","LeftArrowIcon","LinkElement","links","idx","undoAction","ChatHtml","FormElement","typeSettings","handleSubmit","messageContent","setMessageContent","messageTextIsOverLimit","sendMessage","getFormData","queueName","configurations","elementsLeft","prepareNextMessage","preparedMessage","ApiClientBase","bearerToken","acceptLanguage","transformOptions","authorization","Topic","ApiException","super","isApiException","throwException","getApplicationName","isMyPagesUrl","isOpenPagesUrl","pushEvent","questionId","answerId","question","answer","productName","createEvent","processInfo","subname","processStep","mainStep","details","button_type","productInfo","dataLayer","DetectMobileBrowser","messagesClient","baseUrl","jsonParseReviver","url_","options_","transformedOptions_","_error","_response","processGet","_headers","contentDisposition","fileNameMatch","post","intoDetails","processPost","REACT_APP_API_URL","boostApiUrl","REACT_APP_BOOST_URL","setMessages","resetMessages","undo","undoMessages","redo","redoMessages","canUndo","canRedo","useUndo","currentMessages","setCurrentMessages","setSendMessage","sendMessageResponse","setSendMessageResponse","formAnswers","setFormAnswers","intoQueueTopic","setIntoQueueTopic","category","setCategory","questionIds","setQuestionIds","convId","setConvId","isUpdating","setIsUpdating","command","filter_values","langObj","filterValue","boostLocale","dataObj","conversation","handleBoostResponse","startConversation","boostResponse","isRootResponse","json","queueParts","QuestionHelper","queueTopic","handleNextStepInMultiForm","toAdd","newMessages","handleActionButton","find","pushToDataLayer","browserContext","URL","isSameDomainUrl","link_target","conversation_id","ex","scrollIntoViewMobile","clickbotRootEl","getElementsByTagName","getElementById","scrollIntoView","requestSendMessage","urlWithParams","urlObject","searchParams","parseDate","getSendMessageUrlParameters","sendMessageUrl","ChatMessage","MessageBox","advisor","advisorId","firstName","advisorFirstName","lastName","advisorLastName","reference","customerNumber","serviceEventId","serviceId","topic","questions","Event","FadeProps","_pureAssign","func1","func2","_pureRef","_primitiveTypes","UNDEF_VALUE","NULL_VALUE","EMPTY","FUNCTION","OBJECT","PROTOTYPE","__PROTO__","UNDEFINED","CONSTRUCTOR","SYMBOL","POLYFILL_TAG","LENGTH","NAME","CALL","TO_STRING","ObjClass","ObjProto","StrCls","StrProto","MathCls","ArrCls","ArrProto","ArrSlice","argArray","_createIs","theType","_createObjIs","theName","objToString","isNullOrUndefined","isDefined","isPrimitiveType","isBoolean","isError","isPromiseLike","isTruthy","defValue","safe","safeGet","objGetOwnPropertyDescriptor","objHasOwn","polyObjHasOwn","objHasOwnProperty","objForEachKey","theObject","callbackfn","propMap","_createProp","objDefineProp","objDefineProperties","objDefine","propDesc","_createKeyValueMap","valueType","completeFn","theMap","_assignMapValue","asString","ERROR_TYPE","dumpObj","propertyValueDump","objType","throwError","throwTypeError","_objFreeze","_doNothing","_getProto","objAssign","objKeys","objDeepFreeze","objFreeze","objGetPrototypeOf","createEnumKeyMap","_globalCfg","_wellKnownSymbolMap","asyncIterator","hasInstance","isConcatSpreadable","species","toPrimitive","unscopables","GLOBAL_CONFIG_KEY","_getGlobalValue","_getGlobalConfig","gbl","_unwrapFunction","_unwrapFunctionWithPoly","funcName","clsProto","polyFunc","clsFn","theFunc","theArgs","_unwrapProp","mathMax","strSlice","strSubstring","strSubstr","polyStrSubstr","strLeft","_polySymbols","_wellKnownSymbolCache","_globalLazyTestHooks","UNIQUE_REGISTRY_ID","_globalSymbolRegistry","gblCfg","gblSym","polyNewSymbol","theSymbol","polySymbolFor","registry","newSymbol_1","regId_1","_initTestHooks","getLazy","lazyValue","lzy","createCachedValue","_cachedGlobal","WINDOW","_getGlobalInstFn","getFn","cachedValue","getGlobal","useCached","hasDocument","getDocument","getInst","hasWindow","getWindow","getNavigator","_symbol","_symbolFor","getHistory","versions","isWebWorker","WorkerGlobalScope","_initSymbol","_getSymbolKey","_iterSymbol","hasSymbol","getSymbol","noPoly","knownName","sym","polyGetKnownSymbol","newSymbol","symbolFor","isIterator","isIterable","isStrictNullOrUndefined","getKnownSymbol","iterForOf","iter","iterResult","failed","throw","fnApply","arrAppend","elms","elm","arrForEach","theArray","arrIndexOf","arrMap","arrSlice","arrReduce","_isProtoArray","_unsupportedError","objCreate","polyObjCreate","tempFunc","objSetPrototypeOf","proto","_setName","baseClass","createCustomError","constructCb","errorBase","theBaseClass","orgName","captureFn","_createCustomError","_self","orgProto","utcNow","polyUtcNow","_createTrimFn","exp","strTrim","_fnToString","_objCtrFnString","_gblWindow","_defaultDeepCopyHandler","plainObjDeepCopyHandler","defaultDeepCopyHandlers","copyTo","_deepCopy","visitMap","ctx","userHandler","handler","newPath","newCtx","isPlain","isPrim","copy","newKey","_copyProps","theEntry","entry","_getSetVisited","newEntry","_doExtend","theArg","objCopyProps","deepExtend","obj1","obj2","obj3","obj4","obj5","obj6","_perf","getPerformance","strSplit","setValueByKey","lastKey","strEndsWith","polyStrEndsWith","searchValue","strIndexOf","REF","UNREF","HAS_REF","ENABLED","_createTimerHandler","startTimer","refreshFn","cancelFn","theTimerHandler","_unref","_cancel","_refresh","refresh","dn","_createTimeoutWith","overrideFn","isArr","setFn","clearFn","timerFn","strShimFunction","strShimObject","strShimUndefined","strShimPrototype","strHasOwnProperty","__assignFn","extendStaticsFn","__extendsFn","__spreadArrayFn","j","Constructor","Prototype","strFunction","DynInstFuncTable","DynProxyTag","DynClassName","DynInstChkTag","DynAllowInstChkTag","DynProtoDefaultOptions","UnknownValue","str__Proto","DynProtoBaseProto","DynProtoGlobalSettings","DynProtoCurrent","strUseBaseInst","strSetInstFuncs","Obj","_objGetPrototypeOf","_objGetOwnProps","_gbl","_gblInst","_isObjectOrArrayPrototype","_isObjectArrayOrFunctionPrototype","_getObjProto","newProto","curProto","_forEachProp","name_1","lp","_isDynamicCandidate","skipOwn","_throwTypeError","_hasVisited","_populatePrototype","baseInstFuncs","setInstanceFunc","_createDynamicPrototype","dynProtoProxy","instFunc","currentDynProtoProxy","instFuncTable","canAddInst","objProto","visited","protoFunc","_getInstFunc","_getProtoFunc","instFuncs_1","_getObjName","unknownValue","dynamicProto","theClass","delegateFunc","classProto","thisTarget","thisProto","_checkPrototype","perfOptions","useBaseInst","instFuncs","_getInstanceFuncs","baseFuncs","_instFuncProxy","funcHost","baseProto","_getBaseFuncs","PropertiesPluginIdentifier","BreezeChannelIdentifier","AnalyticsPluginIdentifier","_DYN_RD_ONLY","_DYN_NOTIFY","_DYN_WARN_TO_CONSOLE","_DYN_THROW_INTERNAL","_DYN_SET_DF","_DYN_WATCH","_DYN_LOGGER","_DYN_APPLY","_DYN_SPLICE","_DYN_HDLR","_DYN_CANCEL","_DYN_INITIALIZE","_DYN_IDENTIFIER","_DYN_REMOVE_NOTIFICATION_0","_DYN_ADD_NOTIFICATION_LIS1","_DYN_IS_INITIALIZED","_DYN_INSTRUMENTATION_KEY","_DYN__INACTIVE","_DYN_VALUE","_DYN_GET_NOTIFY_MGR","_DYN_GET_PLUGIN","_DYN_I_KEY","_DYN_TIME","_DYN_PROCESS_NEXT","_DYN_GET_PROCESS_TEL_CONT2","_DYN_POLL_INTERNAL_LOGS","_DYN_ENABLED","_DYN_STOP_POLLING_INTERNA3","_DYN_UNLOAD","_DYN_ON_COMPLETE","_DYN_LOGGING_LEVEL_CONSOL4","_DYN_CREATE_NEW","_DYN_TEARDOWN","_DYN_MESSAGE_ID","_DYN_MESSAGE","_DYN_IS_ASYNC","_DYN_DIAG_LOG","_DYN_UPDATE","_DYN_GET_NEXT","_DYN_SET_NEXT_PLUGIN","_DYN_PROTOCOL","_DYN_USER_AGENT","_DYN_NODE_TYPE","_DYN_REPLACE","_DYN_LOG_INTERNAL_MESSAGE","_DYN_STATUS","_DYN_GET_RESPONSE_HEADER","_DYN_GET_ALL_RESPONSE_HEA5","_DYN_IS_CHILD_EVT","_DYN_DATA","_DYN_GET_CTX","_DYN_SET_CTX","_DYN_COMPLETE","_DYN_ITEMS_RECEIVED","_DYN_URL_STRING","_DYN_SEND_POST","_DYN_HEADERS","_DYN_TIMEOUT","_DYN_SET_REQUEST_HEADER","_DYN_GET_ATTRIBUTE","UNDEFINED_VALUE","STR_CHANNELS","STR_CORE","STR_CREATE_PERF_MGR","STR_DISABLED","STR_EXTENSION_CONFIG","STR_EXTENSIONS","STR_PROCESS_TELEMETRY","STR_PRIORITY","STR_EVENTS_SENT","STR_EVENTS_DISCARDED","STR_EVENTS_SEND_REQUEST","STR_PERF_EVENT","STR_OFFLINE_STORE","STR_OFFLINE_SENT","STR_OFFLINE_DROP","STR_GET_PERF_MGR","STR_DOMAIN","STR_PATH","STR_NOT_DYNAMIC_ERROR","rCamelCase","rNormalizeInvalid","rLeadingNumeric","isNotNullOrUndefined","getExceptionName","field","valChk","srcChk","theValue","getSetValue","_createProxyFunction","srcFunc","proxyFunctionAs","overwriteTarget","proxyFunctions","functionsToProxy","optimizeObject","deep","extended","isFeatureEnabled","feature","cfg","rlt","getResponseText","xhr","formatErrorMessageXdr","xdr","formatErrorMessageXhr","prependTransports","theTransports","newTransports","strWithCredentials","_appendHeader","theHeaders","_getAllResponseHeaders","isOneDs","headersString","strDocumentMode","strLocation","strConsole","strJSON","strCrypto","strMsCrypto","strMsie","strTrident","strXMLHttpRequest","_isTrident","_navUserAgentCheck","_enableMocks","_useXDomainRequest","_beaconsSupported","_hasProperty","supported","getLocation","checkForMock","hasJSON","getJSON","isIE","getIEVersion","userAgentStr","isBeaconsSupported","isFetchSupported","withKeepAlive","isSupported","useXDomainRequest","isXhrSupported","sendCustomEvent","evtName","customDetails","evnt","eventName","UInt32Mask","MaxUInt32","SEED1","SEED2","_mwcSeeded","_mwcW","_mwcZ","_mwcSeed","seedValue","_autoSeedMwc","random32","signed","newId","chars","instanceName","_dataUid","_canAcceptData","createUniqueNamespace","includeVersion","createElmNodeData","theCache","kill","_isConfigDefaults","_getDefault","dynamicHandler","theConfig","cfgDefaults","fallbacks","fbValue","_resolveDefaultValue","newValue_1","_applyDefaultValue","blkDynamicValue","mergeDf","usingDefault","CFG_HANDLER_LINK","BLOCK_DYNAMIC","FORCE_DYNAMIC","_cfgDeepCopy","target_1","_canMakeDynamic","getFunc","throwInvalidAccess","aggregationErrorType","arrayMethodsToPatch","_throwDynamicError","logger","_getOwnPropGetter","_setDynamicProperty","trk","clr","isObjectOrArray","checkDynamic","_getProperty","chng","valueState","_createDynamicProperty","_setDynamicPropertyState","blockDynamicConversion","_makeDynamicObject","_patchArray","symPrefix","symPostfix","_createState","cfgHandler","theState","activeHandler","setDf","rdOnly","_waitingHandlers","_watcherTimer","_useHandler","watcherFailures_1","_notifyWatchers","sourceErrors","theMessage","throwAggregationError","ro","_createDynamicHandler","inPlace","uid","configHandler","rm","createDynamicConfig","onConfigChange","_logInvalidAccess","_stringToBoolOrDefault","cfgDfMerge","mrg","cfgDfSet","setter","cfgDfValidate","fallBackName","isVal","cfgDfBoolean","_debugListener","listenerFuncs","_aiNamespace","_listenerProxyFunc","getDebugExt","ns","STR_WARN_TO_CONSOLE","defaultValues","loggingLevelConsole","loggingLevelTelemetry","maxMessageLimit","enableDebug","_logFuncs","_sanitizeDiagnosticText","_logToConsole","logFunc","theConsole","_InternalLogMessage","isUserAct","strProps","safeGetLogger","core","DiagnosticLogger","logMessage","_messageLogged","_messageCount","_debugExtMsg","dbgExt","_unloadHandler","_loggingLevelConsole","_loggingLevelTelemetry","_maxInternalMessageLimit","_enableDebug","_logInternalMessage","_getLogger","_throwInternal","severity","_warnToConsole","_doc","strToGMTString","strToUTCString","strCookie","strExpires","strIsCookieUseDisabled","strDisableCookiesUsage","strConfigCookieMgr","_supportsCookies","_allowUaSameSite","_parsedCookieValue","_cookieCache","_globalCookieConfig","rootDefaultConfig","cookieCfg","dfVal","cookieDomain","cookiePath","_getDoc","_isMgrEnabled","cookieMgr","_isIgnoredCookie","cookieMgrCfg","_isCfgEnabled","rootConfig","cookieMgrConfig","cookieEnabled","isCfgEnabled","safeGetCookieMgr","inst","createCookieMgr","unloadHandler","_path","_domain","_enabled","_getCookieFn","_setCookieFn","_delCookieFn","isEnabled","enabled","setEnabled","expiry","del","purge","areCookiesSupported","_extractParts","thePart","_formatDate","theDate","_formatCookieValue","cookieValue","_getCookieValue","_setCookieValue","strExecutionContextKey","strParentContextKey","strChildrenContextKey","_defaultPerfManager","PerfEvent","theDetails_1","payloadDetails","childTime","PerfManager","perfEvent","manager","doPerfActiveKey","doPerf","mgrSource","getSource","isAsync","perfMgr","perfEvt","currentActive","generateW3CId","tmp","oct","hexValues","DEFAULT_VERSION","INVALID_VERSION","INVALID_TRACE_ID","INVALID_SPAN_ID","_isValid","invalidValue","_formatValue","_formatFlags","createTraceParent","traceId","spanId","isValidTraceId","isValidSpanId","formatTraceParent","pluginStateData","_getPluginState","plugin","initializePlugins","processContext","extensions","lastPlugin","pluginState","isInitialized","initPlugins","proxy","thePlugin","sortPlugins","plugins","strTelemetryPluginChain","strHasRunFlags","strGetTelCtx","_chainId","_createInternalContext","telemetryChain","startAt","_nextProxy","_next","completeDetails","_onComplete","diagLog","getCfg","getExtCfg","getConfig","hasNext","getNext","setNext","iterate","onComplete","extCfg","idCfg","createProcessTelemetryContext","nextPlugin","createProcessTelemetryUnloadContext","createProcessTelemetryUpdateContext","createTelemetryProxyChain","chainId","getPlugin","processTelemetry","unload","update","_id","_setNext","nextProxy","itemCtx","hasRunContext","hasRun","item","unloadCtx","updateCtx","firstProxy","lastProxy_1","_maxHooks","_hookAddMonitor","createUnloadHandlerContainer","run","createUnloadHookContainer","_hooks","strGetPlugin","BaseTelemetryPlugin","currentCtx","pluginChain","_rootCtx","_isinitialized","_nextPlugin","_hookContainer","_unloadHandlerContainer","_initDefaults","_setDefaults","_unloadCallback","unloadDone","theUnloadCtx","_updateCallback","updateDone","defaultReactExtensionConfig","history","blkVal","ReactPlugin","_analyticsPlugin","_extensionConfig","_unlisten","_pageViewTimer","_pageViewTracked","locn","uri","_addHistoryListener","getProp","setProp","objDefineAccessors","createEnumStyle","createValueMap","mapClass","createSimpleMap","StorageType","LocalStorage","SessionStorage","AI","AI_AND_W3C","W3C","Normal","Critical","_DYN_INGESTIONENDPOINT","_DYN_TO_STRING","_DYN_REMOVE_ITEM","_DYN_COUNT","_DYN_PRE_TRIGGER_DATE","_DYN_DISABLED","_DYN_INTERVAL","_DYN_DAYS_OF_MONTH","_DYN_DATE","_DYN_GET_UTCDATE","_DYN_STRINGIFY","_DYN_CORRELATION_HEADER_E0","_DYN_EXCEPTIONS","_DYN_PARSED_STACK","_DYN_PROPERTIES","_DYN_MEASUREMENTS","_DYN_SIZE_IN_BYTES","_DYN_TYPE_NAME","_DYN_SEVERITY_LEVEL","_DYN_PROBLEM_GROUP","_DYN_IS_MANUAL","_DYN__CREATE_FROM_INTERFA1","_DYN_ASSEMBLY","_DYN_FILE_NAME","_DYN_HAS_FULL_STACK","_DYN_LEVEL","_DYN_METHOD","_DYN_LINE","_DYN_DURATION","_DYN_RECEIVED_RESPONSE","_canUseLocalStorage","_canUseSessionStorage","_storagePrefix","_getLocalStorageObject","_getVerifiedStorageObject","storageType","storage","_getSessionStorageObject","utlSetStoragePrefix","storagePrefix","utlCanUseLocalStorage","utlGetLocalStorage","utlSetLocalStorage","utlCanUseSessionStorage","utlGetSessionStorage","utlSetSessionStorage","utlRemoveSessionStorage","DisabledPropertyName","SampleRate","ProcessLegacy","HttpMethod","DEFAULT_BREEZE_ENDPOINT","DEFAULT_BREEZE_PATH","strNotSpecified","strIkey","dataSanitizeKeyAndAddUniqueness","nameTrunc","uniqueField","dataSanitizeString","valueTrunc","dataSanitizeUrl","dataSanitizeMessage","messageTrunc","dataSanitizeProperties","tempProps_1","dataSanitizeMeasurements","measurements","measure","tempMeasurements_1","dataSanitizeInput","_msgId","inputTrunc","dsPadNumber","num","createTelemetryItem","baseType","envelopeName","customProperties","systemProperties","iKey","telemetryItem","TelemetryItemCreator","ver","Trace","severityLevel","DataPoint","stdDev","Metric","metrics","dataPoint","strEmpty","msToTimeSpan","totalms","sec","PageView","duration","PageViewPerformance","perfTotal","networkConnect","sentRequest","receivedResponse","domProcessing","strError","strStack","strStackDetails","strErrorSrc","strMessage","strDescription","_stringify","convertToString","_formatMessage","theEvent","errorType","evtMessage","_isStackDetails","_convertStackObj","errorStack","_getStackFromErrorObj","errorObj","errorMessage","_getErrorType","typeName","_formatErrorCode","Exception","exceptions","problemGroup","isManual","_ExceptionDetails","outerId","hasFullStack","parsedStack","totalSizeInBytes_1","acceptedLeft","acceptedRight","right","frame","exceptionTrunc","stackDetails","_StackFrame","level","assembly","RequestHeaders","requestContextHeader","requestContextTargetKey","requestContextAppIdFormat","requestIdHeader","traceParentHeader","traceStateHeader","sdkContextHeader","sdkContextHeaderAppIdRequest","requestContextHeaderLowerCase","_document","_htmlAnchorIdx","_htmlAnchorElement","urlParseUrl","tempAnchor","anchorIdx","urlParseHost","inclPort","urlParseFullHost","_internalEndpoints","_correlationIdPrefix","isInternalApplicationInsightsEndpoint","endpointUrl","correlationIdCanIncludeCorrelationHeader","requestUrl","currentHost","requestHost","matchExists_1","correlationIdGetCorrelationContext","responseHeader","dateTimeUtilsNow","dateTimeUtilsDuration","createDistributedTraceContextFromTrace","telemetryTrace","parentCtx","getName","setName","trace","getTraceId","setTraceId","getSpanId","setSpanId","getTraceFlags","setTraceFlags","RemoteDependencyData","requestAPI","resultCode","success","dependencyKind","dependencySource","commandName","dependencyTypeName","absoluteUrl","pathName","createDomEvent","strOnPrefix","strAttachEvent","strAddEventHelper","strDetachEvent","strRemoveEventListener","strEvents","strVisibilityChangeEvt","strPageHide","strUnload","strBeforeUnload","strPageHideNamespace","rRemoveEmptyNs","rRemoveTrailingEmptyNs","_guid","elmNodeData","eventNamespace","_normalizeNamespace","_getEvtNamespace","evtNamespace","theNamespace_1","_getRegisteredEvents","addDefault","registeredEvents","_doDetach","handlerRef","useCapture","_doUnregister","events","unRegFn","mergeEvtNamespace","theNamespace","namespaces","newNamespaces","eventOn","guid","eventOff","_unregisterEvents","found_1","_addEventListeners","excludeEvents","added","removeEventListeners","removeEventHandler","addPageUnloadEventListener","addPageHideEventListener","pageUnloadAdded","aiInstrumentHooks","cbNames","_arrLoop","_doCallbacks","hooks","callDetails","cbArgs","hookCtx","hookErrorCb","_getOwner","checkPrototype","checkParentProto","owner","_createInstrumentHook","callbacks","aiHook","orgArgs","funcArgs","newFunc","cbks","InstrumentFunc","InstrumentEvent","_DYN_IS_STORAGE_USE_DISAB0","_DYN__ADD_HOOK","_DYN_CORE","_DYN_DATA_TYPE","_DYN_ENVELOPE_TYPE","_DYN_TRACK","_DYN_TRACK_PAGE_VIEW","_DYN_TRACK_PREVIOUS_PAGE_1","_DYN_SEND_PAGE_VIEW_INTER2","_DYN_START_TIME","_DYN_SEND_PAGE_VIEW_PERFO3","_DYN_POPULATE_PAGE_VIEW_P4","_DYN_HREF","_DYN_SEND_EXCEPTION_INTER5","_DYN_EXCEPTION","_DYN_ERROR","_DYN__ONERROR","_DYN_ERROR_SRC","_DYN_LINE_NUMBER","_DYN_COLUMN_NUMBER","_DYN__CREATE_AUTO_EXCEPTI6","_DYN_ADD_TELEMETRY_INITIA7","_DYN_AUTO_TRACK_PAGE_VISI9","_DYN_IS_BROWSER_LINK_TRAC10","_DYN_ENABLE_AUTO_ROUTE_TR11","_DYN_ENABLE_UNHANDLED_PRO12","_DYN_AUTO_UNHANDLED_PROMI13","_DYN_GET_ENTRIES_BY_TYPE","_DYN_IS_PERFORMANCE_TIMIN14","_DYN_GET_PERFORMANCE_TIMI15","_DYN_NAVIGATION_START","_DYN_SHOULD_COLLECT_DURAT16","_DYN_IS_PERFORMANCE_TIMIN17","_DYN_RESPONSE_START","_DYN_LOAD_EVENT_END","_DYN_RESPONSE_END","_DYN_CONNECT_END","_DYN_PAGE_VISIT_START_TIM18","PageViewManager","queueTimer","itemQueue","doFlush","_startTimer","_flushChannels","_logger","pageView","firstPageViewSent","appInsights","customDuration","pageViewSent","_addQueue","processed","pageViewPerformanceManager","pageViewPerformanceSent","doFlush_1","botAgentNames","_isPerformanceTimingSupported","_isPerformanceTimingDataReady","timing","_getPerformanceTiming","_getPerformanceNavigationTiming","_shouldCollectDuration","durations","isGoogleBot","PageViewPerformanceManager","pageViewPerformance","total","network","PageVisitTimeManager","prevPageVisitData","pageVisitTimeTrackingHandler","PageVisitData","Timing","_events","_dispatchEvent","sessionRenewalMs","sessionExpirationMs","disableExceptionTracking","inclScripts","expLog","maxLogs","_chkConfigMilliseconds","_updateStorageUsage","extConfig","_debugState","_debugResult","_debugHandled","AnalyticsPlugin","_eventTracking","_pageTracking","_pageViewManager","_pageViewPerformanceManager","_pageVisitTimeManager","_preInitTelemetryInitializers","_isBrowserLinkTrackingEnabled","_browserLinkInitializerAdded","_enableAutoRouteTracking","_historyListenerAdded","_disableExceptionTracking","_autoExceptionInstrumented","_enableUnhandledPromiseRejectionTracking","_autoUnhandledPromiseInstrumented","_autoTrackPageVisitTime","_trackAjaxAttempts","_prevUri","_currUri","_evtNamespace","_extConfig","info","exceptionPartB","evt","errorSrc","_sendCORSException","errorString","_base","_expCfg","_addDefaultTelemetryInitializers","_populateDefaults","PageName","PageUrl","average","sampleCount","_addHook","rsp","_addUnhandledPromiseRejectionTracking","_updateExceptionTracking","distributedTraceCtx","traceLocationName","scheduleTimeout","refUri","_updateLocationChange","STR_PROMISE","REJECTED","doAwaitResponse","doAwait","resolveFn","rejectFn","finallyFn","doFinally","finally","_promiseDebugEnabled","_hasInitEvent","STRING_STATES","DISPATCH_EVENT","_hasInitEventFn","initEvent","_hasPromiseRejectionEvent","NODE_UNHANDLED_REJECTION","UNHANDLED_REJECTION","_currentPromiseId","_uniquePromiseId","_unhandledRejectionTimeout","dumpFnObj","_createPromise","newPromise","processor","_settledValue","_thePromise","additionalArgs","_state","_hasResolved","_queue","_parentId","_handled","_unHandledRejectionHandler","_then","onResolved","_processQueue","_strState","_createSettleIfFn","newState","allowState","_notifyUnhandledRejection","emit","populateEvent","useNewEvent","theEvt","emitEvent","onFinally","thenFinally","catchFinally","thePromise","stateFn","resultFn","handledFn","_addDebugState","_rejectFn","_createAllPromise","values_1","pending_1","_createAllSettledPromise","processItem","syncItemProcessor","createAsyncPromise","callbackTimeout","timeoutItemProcessor","_promiseCls","createNativePromise","PrmCls","_allSyncSettledCreator","createSyncPromise","_promiseCreator","createPromise","createAllPromise","_DYN_FEATURE_OPT_IN","_DYN_ON_CFG_CHANGE_RECEIV0","_DYN_NON_OVERRIDE_CONFIGS","_DYN_SCHEDULE_FETCH_TIMEO1","replaceByNonOverrideCfg","nonOverrideConfigs","curLevel","maxLevel","curCfg_1","ON","OFF","applyCdnfeatureCfg","cdnCfg","userOptInDetails","onV","offV","ftVal","_overrideCdnCfgByFeature","EVENT_NAME","udfVal","_defaultConfig","syncMode","blkCdnCfg","customEvtName","cfgUrl","overrideSyncFn","overrideFetchFn","instrumentationKey","connectionString","CfgSyncPlugin","_mainConfig","_evtName","_cfgUrl","_receiveChanges","_broadcastChanges","_nonOverrideConfigs","_timeoutHandle","_fetchTimeout","_retryCnt","_blkCdnCfg","_overrideFetchFn","_overrideSyncFn","_onCfgChangeReceive","_eventOff","newCfg","_addEventListener","_doOnComplete","xhr_1","_setupTimer","oncomplete","_cfg","_fetchFn","_clearScheduledTimer","_updateEventListenerName","_sendCfgsyncEvents","_paused","_disableEvents","ActiveStatus","NONE","PENDING","INACTIVE","ACTIVE","_noResponseQs","STR_POST_METHOD","SenderPostManager","_onError","_onNoPayloadUrl","_onSuccess","onRetry","_fallbackInst","_isOneDs","resolveFunc","rejectFunc","sync","urlString","isSync","_wrapSetXhrProp","onReadyFunc","_doOnReadyFunc","_syncFetchPayload","ignoreResponse","endPointUrl","onCompleteFunc","batchLength","responseHandled","_handleError","_onFetchComplete","_timeoutWrapper","onloadFunc","_isInitialized","_enableSendPromise","_diagLog","_onCompleteFuncs","_disableCredentials","_fetchCredentials","_disableXhr","_disableBeacon","_disableBeaconSync","_disableFetchKeepAlive","_addNoResponse","sendPOST","_sendCredentials","transportType","sendPostFunc","_transport","_isSync","runTargetUnload","doUnloadAll","targets","parseResponse","_aiNameFunc","baseName","_aiApplication","_aiDevice","_aiLocation","_aiOperation","_aiSession","_aiUser","_aiCloud","_aiInternal","ContextTagKeys","applicationVersion","applicationBuild","applicationTypeId","applicationId","applicationLayer","deviceId","deviceIp","deviceLanguage","deviceLocale","deviceModel","deviceFriendlyName","deviceNetwork","deviceNetworkName","deviceOEMName","deviceOS","deviceOSVersion","deviceRoleInstance","deviceRoleName","deviceScreenResolution","deviceType","deviceMachineName","deviceVMName","deviceBrowser","deviceBrowserVersion","locationIp","locationCountry","locationProvince","locationCity","operationId","operationName","operationParentId","operationRootId","operationSyntheticSource","operationCorrelationVector","sessionId","sessionIsFirst","sessionIsNew","userAccountAcquisitionDate","userAccountId","userId","userStoreRegion","userAuthUserId","userAnonymousUserAcquisitionDate","userAuthenticatedUserAcquisitionDate","cloudName","cloudRole","cloudRoleVer","cloudRoleInstance","cloudEnvironment","cloudLocation","cloudDeploymentUnit","internalNodeName","internalSdkVersion","internalAgentVersion","internalSnippet","internalSdkSrc","Extensions","UserExt","DeviceExt","TraceExt","WebExt","AppExt","OSExt","CtxTagKeys","Envelope","sampleRate","tags","Data","baseData","STR_DURATION","_DYN_TAGS","_DYN_DEVICE_TYPE","_DYN__GET","_DYN_ENQUEUE","_DYN_EVENTS_LIMIT_IN_MEM","_DYN_ITEM","_DYN_EMIT_LINE_DELIMITED_0","_DYN_CLEAR","_DYN_MARK_AS_SENT","_DYN_CLEAR_SENT","_DYN_BUFFER_OVERRIDE","_DYN__BUFFER__KEY","_DYN__SENT__BUFFER__KEY","_DYN_CONCAT","_DYN__MAX__BUFFER__SIZE","_DYN_TRIGGER_SEND","_DYN__SENDER","_DYN_ENDPOINT_URL","_DYN_CUSTOM_HEADERS","_DYN_MAX_BATCH_SIZE_IN_BY1","_DYN_ONUNLOAD_DISABLE_BEA2","_DYN_IS_BEACON_API_DISABL3","_DYN_ALWAYS_USE_XHR_OVERR4","_DYN_DISABLE_XHR","_DYN_ENABLE_SESSION_STORA5","_DYN__BUFFER","_DYN_ONUNLOAD_DISABLE_FET6","_DYN_DISABLE_SEND_BEACON_7","_DYN_ENABLE_SEND_PROMISE","_DYN_GET_SENDER_INST","_DYN_UNLOAD_TRANSPORTS","_DYN_CONVERT_UNDEFINED","_DYN_MAX_BATCH_INTERVAL","_DYN_SERIALIZE","_DYN__ON_ERROR","_DYN__ON_PARTIAL_SUCCESS","_DYN__ON_SUCCESS","_DYN_ITEMS_ACCEPTED","_DYN_ORI_PAYLOAD","_DYN_BASE_TYPE","_DYN_SAMPLE_RATE","_DYN_EVENTS_SEND_REQUEST","_DYN_GET_SAMPLING_SCORE","strBaseType","strBaseData","strProperties","strTrue","_setValueIf","_extractPropsAndMeasurements","_convertPropsUndefinedToCustomDefinedValue","customUndefinedValue","_createEnvelope","envelopeType","envelope","tgs","itmTags","theTags","_extractPartAExtensions","EnvelopeCreatorInit","EnvelopeCreator","Version","EventEnvelopeCreator","customMeasurements","BaseSendBuffer","_buffer","_bufferFullMessageSent","payloadStr_1","newLogger","newBuffer","ArraySendBuffer","PREVIOUS_KEYS","SessionStorageSendBuffer","getItem","setItem","items","payloadStr","remaining","prefixedKey","buffer_1","cnt","transFormedItems_1","_setBuffer","sentElements","canUseSessionStorage","Serializer","HashCodeScoreGenerator","SamplingScoreGenerator","score","Sample","samplingRate","isSampledIn","_getResponseText","defaultAppInsightsChannelConfig","httpXHROverride","EnvelopeTypeCreator","currentContextId","Sender","_consecutiveErrors","_checkResponsStatus","diagLogger","doNotSendItem","markAsSent","_resendPayload","_checkAndUpdateEndPointUrl","_endpointUrl","_syncUnloadSender","payloadSize","transport","linearFactor","delayInSeconds","backOffDelay","_retryAt","_setRetryTime","statusCode","_offlineListener","_serializer","_stamp_specific_redirects","_orgEndpointUrl","_maxBatchSizeInBytes","_beaconSupported","_customHeaders","_disableTelemetry","_instrumentationKey","_convertUndefined","_isRetryDisabled","_sessionStorageUsed","_namePrefix","_fetchKeepAlive","_disableBeaconSplit","_xhrSend","_fallbackSend","_sendPostMgr","_checkMaxSize","parentEvtNamespace","rState","_isListening","_currentState","isOnline","uState","listnerNoticeCheck","isListening","addListener","listenerList","setOnlineState","senderConfig","_beaconOnUnloadSupported","_beaconNormalSupported","_alwaysUseCustomSend","_retryCodes","_bufferOverrideUsed","xdrOnComplete","fetchOnComplete","xhrOnComplete","beaconOnRetry","droppedPayload","httpInterface","syncTransports","syncInterface","_maxBatchInterval","_notifySendRequest","_lastSend","getUrl","createPayload","retry","parseConnectionString","fields","ThrottleMgr","maxValue","localStorageObj","throttled","_isTriggered","_resetLocalStorage","_sendMessage","isThrottled","throttleNum","msgID","curCfg","_isSpecificDaysGiven","interval","monthInterval","dayInterval","daysOfMonth","maxSendNumber","_config","monthCheck","dayCheck","curObj","preTriggerDate","_localStorageObj","isTrigger","_setCfgByKey","_flushMessage","result_1","flushAll","_isReady","perfEvtsSendAll","_runScheduledListeners","asyncNotifications","_runListeners","NotificationManager","_asyncNotifications","waiting","_finishUnload","TelemetryInitializerPlugin","_initializers","telemetryInitializer","strValidationError","strSdkUnloadingError","_createPerfManager","notificationMgr","_isPluginPresent","exists","_deepMergeConfig","newValues","_findWatcher","newWatcher","theListener","_initDebugListener","unloadContainer","notificationManager","debugListener","AppInsightsCore","_isStatusSet","_activeStatus","_releaseQueues","_internalLogPollerListening","_addUnloadHook","isRunning","_internalLogPoller","_pluginVersionStringArr","thePlugins","_addPluginVersions","_configHandler","_setPluginVersions","_pluginVersionString","_extensions","cfgExtensions","_telemetryInitializerPlugin","_eventQueue","_notificationManager","_perfManager","_cfgPerfManager","_cookieManager","_pluginChain","_configExtensions","_channelConfig","_channels","_isUnloading","_internalLogsEventName","_unloadHandlers","_traceCtx","_cfgListeners","_forceStopInternalLogPoller","_endpoint","_initInMemoMaxSize","_initTimer","theCtx","channelPriority","allExtensions","extPriorities","coreExtensions","channels","_doUpdate","channelHosts","theExt","_removePlugins","_initPluginChain","removed","removeCb","newConfigExtensions","newQueue","newChannelConfig","removeComplete","_startLogPoller","cbTimer","callBack","cbTimeout","flushCtx","handled_1","doCallback","doneIterating","_setStatus","createPerfMgr","prevCfgPerfMgr","_initPerfManager","unloadHdl","_registerDelayedCfgListener","_notifyInvalidEvent","_createTelCtx","_flushInternalLogs","unloadComplete","unloadState","processUnloadCtx","_doUnload","addCb","_logOrThrowError","updateState","_addPlugin","mergeExisting","oldCfg","unloadHook","STR_PROPERTIES","_DYN_REQUEST_URL","_DYN_INST","_DYN_CONTEXT","_DYN_ABORTED","_DYN_TRACE_ID0","_DYN_SPAN_ID1","_DYN_INCLUDE_CORRELATION_2","_DYN_GET_ABSOLUTE_URL","_DYN_REQUEST_HEADERS","_DYN_TRACK_DEPENDENCY_DAT3","_DYN_ENABLE_REQUEST_HEADE4","_DYN_ENABLE_AJAX_ERROR_ST5","_DYN_ENABLE_AJAX_PERF_TRA6","_DYN_MAX_AJAX_CALLS_PER_V7","_DYN_EXCLUDE_REQUEST_FROM8","_DYN_ADD_REQUEST_CONTEXT","_DYN_DISABLE_AJAX_TRACKIN9","_DYN_AJAX_PERF_LOOKUP_DEL10","_DYN_DISABLE_FETCH_TRACKI11","_DYN_ENABLE_RESPONSE_HEAD12","_DYN_STATUS_TEXT","_DYN_HEADER_MAP","_DYN_OPEN_DONE","_DYN_SEND_DONE","_DYN_REQUEST_SENT_TIME","_DYN_ABORT_DONE","_DYN_GET_TRACE_ID","_DYN_GET_TRACE_FLAGS","_DYN_ERROR_STATUS_TEXT","_DYN_STATE_CHANGE_ATTACHE13","_DYN_RESPONSE_TEXT","_DYN_RESPONSE_FINISHED_TI14","_DYN__CREATE_TRACK_ITEM","_DYN_RESPONSE","_DYN_GET_ALL_RESPONSE_HEA15","_DYN_GET_PART_APROPS","_DYN_PERF_MARK","_DYN_PERF_TIMING","_DYN_AJAX_DIAGNOSTICS_MES16","_DYN_CORRELATION_CONTEXT","_DYN_AJAX_TOTAL_DURATION","_DYN_EVENT_TRACE_CTX","_calcPerfDuration","resourceEntry","_setPerfDuration","_setPerfValue","perfData","XHRMonitoringState","ajaxRecord","dependency","ajaxData","propsSet","server_1","_populatePerfData","partA","traceExt","strDiagLog","AJAX_DATA_CONTAINER","STR_FETCH","ERROR_HEADER","ERROR_PREFIX","ERROR_POSTFIX","ERROR_NOT_SENT","CORRELATION_HEADER_ERROR","CUSTOM_REQUEST_CONTEXT_ERROR","FAILED_TO_CALCULATE_DURATION_ERROR","_markCount","_getAjaxData","ajaxDataId","_isHeaderSet","isPresent","_getFailedAjaxDiagnosticsMessage","_throwInternalCritical","ajaxMonitorInstance","_throwInternalWarning","_createErrorCallbackFunc","internalMessage","ajaxDiagnosticsMessage","_indexOf","_addHandler","container","_processDependencyContainer","BLOB_CORE","DfltAjaxCorrelationHeaderExDomains","_internalExcludeEndpoints","AjaxMonitor","_fetchInitialized","_xhrInitialized","_polyfillInitialized","_currentWindowHost","_enableRequestHeaderTracking","_enableAjaxErrorStatusText","_isUsingW3CHeaders","_isUsingAIHeaders","_markPrefix","_enableAjaxPerfTracking","_maxAjaxCallsPerView","_enableResponseHeaderTracking","_disabledUrls","_disableAjaxTracking","_disableFetchTracking","_excludeRequestFromAutoTrackingPatterns","_addRequestContext","_dependencyHandlerId","_dependencyListeners","_dependencyInitializers","_ajaxDataId","_ignoreHeaders","_maxAjaxPerfLookupAttempts","_ajaxPerfLookupDelay","_distributedTracingMode","_appId","theRegex","theUrl","ajaxValidation","performance_1","attempt","perfTiming","trackCallback","errorProps","_findPerfResourceEntry","_reportDependencyInternal","_reportFetchError","requestSentTime","responseFinishedTime","_hookProto","req","responseHeaderMap_2","ajaxResponse","_reportXhrError","ajaxDataCntr","_onAjaxComplete","_attachToOnReadyStateChange","hkErr","_createMarkId","_addSharedXhrHeaders","_instrumentXhr","_isDisabledRequest","fetchData","_reportFetchMetrics","fetchDiagnosticsMessage","responseHeaderMap_1","_instrumentFetch","_populateContext","_processDependencyListeners","traceFlags","Application","Device","Internal","unloadHookContainer","Location","_DYN_SESSION_MANAGER","_DYN_IS_USER_COOKIE_SET","_DYN_IS_NEW_USER","_DYN_GET_TRACE_CTX","_DYN_TELEMETRY_TRACE","_DYN_APPLY_SESSION_CONTEX0","_DYN_APPLY_APPLICATION_CO1","_DYN_APPLY_DEVICE_CONTEXT","_DYN_APPLY_OPERATION_CONT2","_DYN_APPLY_USER_CONTEXT","_DYN_APPLY_OPERATING_SYST3","_DYN_APPLY_LOCATION_CONTE4","_DYN_APPLY_INTERNAL_CONTE5","_DYN_ACCOUNT_ID","_DYN_GET_SESSION_ID","_DYN_NAME_PREFIX","_DYN_USER_COOKIE_POSTFIX","_DYN_ID_LENGTH","_DYN_GET_NEW_ID","_DYN_AUTOMATIC_SESSION","_DYN_AUTHENTICATED_ID","_DYN_ACQUISITION_DATE","_DYN_RENEWAL_DATE","_DYN_JOIN","_DYN_COOKIE_SEPARATOR","_DYN_AUTH_USER_COOKIE_NAM7","Session","_SessionManager","_sessionExpirationMs","_sessionRenewalMs","_storageNamePrefix","session","maxAgeSec","_cookieUpdatedTimestamp","isExpired","_setCookie","_renew","_setStorage","TelemetryTrace","_validateUserInput","User","_setUserCookie","utlRemoveStorage","authCookie","storeInCookie","strExt","strTags","_removeEmpty","_nullResult","undefString","TelemetryContext","parentId","sesId","traceID","parentID","nullValue","PropertiesPlugin","_distributedTraceCtx","_previousTraceCtx","_disableUserInitMessage","theContext","userCtx","_processTelemetryInternal","_c","_d","_internalSdkSrc","_AUTHENTICATED_USER_CONTEXT","_TRACK","STR_SNIPPET","STR_FLUSH","STR_ADD_TELEMETRY_INITIALIZER","STR_POLL_INTERNAL_LOGS","STR_GET_PLUGIN","STR_EVT_NAMESPACE","STR_TRACK_EVENT","STR_TRACK_TRACE","STR_TRACK_METRIC","STR_TRACK_PAGE_VIEW","STR_TRACK_EXCEPTION","STR_TRACK_DEPENDENCY_DATA","STR_SET_AUTHENTICATED_USER_CONTEXT","STR_CLEAR_AUTHENTICATED_USER_CONTEXT","_DYN_QUEUE","_DYN_CONNECTION_STRING","_DYN_INSTRUMENTATIONKEY0","_DYN_USER_OVERRIDE_ENDPOI1","_DYN_ONUNLOAD_FLUSH","_DYN_ADD_HOUSEKEEPING_BEF2","_DYN_SEND_MESSAGE","_ignoreUpdateSnippetProperties","IKEY_USAGE","CDN_USAGE","SDK_LOADER_VER","default_throttle_config","limit","defaultConfigValues","AppInsightsSku","_snippetVersion","snippet","_houseKeepingNamespace","_sender","_throttleMgr","_iKeySentMessage","_cdnSentMessage","_sdkVerSentMessage","_cfgSyncPlugin","removePageUnloadEventListener","removePageHideEventListener","_core","parsedCs","_parseCs","ikey","channel","flushDone","legacyMode","throwUnsupported","sdkSrc","src_1","snippetVer","_updateSnippetProperties","defaultEnable","chkSet","_loop_1","proxyAssign","properties_1","appInsightsInstance","propertiesPlugin","_removePageEventHandlers","added_1","REACT_APP_INSIGHTS_CONNECTION_STRING","reactPlugin","ApplicationInsights","enableRequestHeaderTracking","enableUnhandledPromiseRejectionTracking","loadAppInsights","App","Clickbot","getAttribute","dataLang","getLang","svFI","fiFI","customElements","define","HTMLElement","connectedCallback","ReactDOMClient","TelemetryProvider"],"sourceRoot":""}