1 строка
373 KiB
Plaintext
1 строка
373 KiB
Plaintext
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///../../Init.ts","webpack:///../../Initialization.ts","webpack:///./node_modules/applicationinsights-analytics-js/bundle/JavaScriptSDK/ApplicationInsights.js","webpack:///./node_modules/applicationinsights-analytics-js/bundle/JavaScriptSDK/Telemetry/PageViewManager.js","webpack:///./node_modules/applicationinsights-analytics-js/bundle/applicationinsights-analytics-js.js","webpack:///./node_modules/applicationinsights-channel-js/bundle/EnvelopeCreator.js","webpack:///./node_modules/applicationinsights-channel-js/bundle/SendBuffer.js","webpack:///./node_modules/applicationinsights-channel-js/bundle/Sender.js","webpack:///./node_modules/applicationinsights-channel-js/bundle/Serializer.js","webpack:///./node_modules/applicationinsights-channel-js/bundle/TelemetryValidation/EventValidator.js","webpack:///./node_modules/applicationinsights-channel-js/bundle/TelemetryValidation/ExceptionValidator.js","webpack:///./node_modules/applicationinsights-channel-js/bundle/TelemetryValidation/MetricValidator.js","webpack:///./node_modules/applicationinsights-channel-js/bundle/TelemetryValidation/PageViewPerformanceValidator.js","webpack:///./node_modules/applicationinsights-channel-js/bundle/TelemetryValidation/PageViewValidator.js","webpack:///./node_modules/applicationinsights-channel-js/bundle/TelemetryValidation/RemoteDepdencyValidator.js","webpack:///./node_modules/applicationinsights-channel-js/bundle/TelemetryValidation/TraceValidator.js","webpack:///./node_modules/applicationinsights-channel-js/bundle/applicationinsights-channel-js.js","webpack:///./node_modules/applicationinsights-common/bundle/Constants.js","webpack:///./node_modules/applicationinsights-common/bundle/Enums.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/Base.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/ContextTagKeys.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/Data.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/DataPoint.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/DataPointType.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/Domain.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/Envelope.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/EventData.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/ExceptionData.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/ExceptionDetails.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/MessageData.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/MetricData.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/PageViewData.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/PageViewPerfData.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/RemoteDependencyData.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/SeverityLevel.js","webpack:///./node_modules/applicationinsights-common/bundle/Interfaces/Contracts/Generated/StackFrame.js","webpack:///./node_modules/applicationinsights-common/bundle/RequestResponseHeaders.js","webpack:///./node_modules/applicationinsights-common/bundle/Telemetry/Common/Data.js","webpack:///./node_modules/applicationinsights-common/bundle/Telemetry/Common/DataPoint.js","webpack:///./node_modules/applicationinsights-common/bundle/Telemetry/Common/DataSanitizer.js","webpack:///./node_modules/applicationinsights-common/bundle/Telemetry/Common/Envelope.js","webpack:///./node_modules/applicationinsights-common/bundle/Telemetry/Event.js","webpack:///./node_modules/applicationinsights-common/bundle/Telemetry/Exception.js","webpack:///./node_modules/applicationinsights-common/bundle/Telemetry/Metric.js","webpack:///./node_modules/applicationinsights-common/bundle/Telemetry/PageView.js","webpack:///./node_modules/applicationinsights-common/bundle/Telemetry/PageViewPerformance.js","webpack:///./node_modules/applicationinsights-common/bundle/Telemetry/RemoteDependencyData.js","webpack:///./node_modules/applicationinsights-common/bundle/Telemetry/Trace.js","webpack:///./node_modules/applicationinsights-common/bundle/TelemetryItemCreator.js","webpack:///./node_modules/applicationinsights-common/bundle/Util.js","webpack:///./node_modules/applicationinsights-common/bundle/applicationinsights-common.js","webpack:///./node_modules/applicationinsights-core-js/bundle/JavaScriptSDK.Enums/EventsDiscardedReason.js","webpack:///./node_modules/applicationinsights-core-js/bundle/JavaScriptSDK.Enums/LoggingEnums.js","webpack:///./node_modules/applicationinsights-core-js/bundle/JavaScriptSDK.Interfaces/IChannelControls.js","webpack:///./node_modules/applicationinsights-core-js/bundle/JavaScriptSDK/AppInsightsCore.js","webpack:///./node_modules/applicationinsights-core-js/bundle/JavaScriptSDK/CoreUtils.js","webpack:///./node_modules/applicationinsights-core-js/bundle/JavaScriptSDK/DiagnosticLogger.js","webpack:///./node_modules/applicationinsights-core-js/bundle/JavaScriptSDK/NotificationManager.js","webpack:///./node_modules/applicationinsights-core-js/bundle/applicationinsights-core-js.js","webpack:///./node_modules/applicationinsights-dependencies-js/bundle/ajax.js","webpack:///./node_modules/applicationinsights-dependencies-js/bundle/ajaxRecord.js","webpack:///./node_modules/applicationinsights-dependencies-js/bundle/ajaxUtils.js","webpack:///./node_modules/applicationinsights-dependencies-js/bundle/applicationinsights-dependencies-js.js","webpack:///./node_modules/applicationinsights-properties-js/bundle/Context/Application.js","webpack:///./node_modules/applicationinsights-properties-js/bundle/Context/Device.js","webpack:///./node_modules/applicationinsights-properties-js/bundle/Context/Internal.js","webpack:///./node_modules/applicationinsights-properties-js/bundle/Context/Location.js","webpack:///./node_modules/applicationinsights-properties-js/bundle/Context/Operation.js","webpack:///./node_modules/applicationinsights-properties-js/bundle/Context/Sample.js","webpack:///./node_modules/applicationinsights-properties-js/bundle/Context/Session.js","webpack:///./node_modules/applicationinsights-properties-js/bundle/Context/User.js","webpack:///./node_modules/applicationinsights-properties-js/bundle/HashCodeScoreGenerator.js","webpack:///./node_modules/applicationinsights-properties-js/bundle/PropertiesPlugin.js","webpack:///./node_modules/applicationinsights-properties-js/bundle/SamplingScoreGenerator.js","webpack:///./node_modules/applicationinsights-properties-js/bundle/applicationinsights-properties-js.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;;;IC/EA,YAAY,CAAC;IACb,iEAAiE;IACjE,IAAI,CAAC;QAED,yFAAyF;QACzF,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC;YAC/D,+CAA+C;YAE/C,qGAAqG;YACrG,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAElC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;gBAC/B,sDAAsD;gBACtD,sDAAmB,CAAC,wBAAwB,GAAG,+BAAc,CAAC,gBAAgB,EAAE,CAAC;YACrF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC5B,+CAA+C;oBAC/C,IAAI,OAAO,GAAY,MAAM,CAAC,MAAM,CAAC,IAAS,EAAE,CAAC;oBAEjD,0CAA0C;oBAC1C,IAAI,cAAc,GAAG,IAAI,+BAAc,CAAC,OAAO,CAAC,CAAC;oBACjD,IAAI,gBAAgB,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;oBAExD,oFAAoF;oBACpF,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC;wBACjC,OAAO,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC7C,CAAC;oBAED,4DAA4D;oBAC5D,cAAc,CAAC,UAAU,EAAE,CAAC;oBAE5B,cAAc,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;gBACjE,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACT,2EAA2E;QAC3E,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,uDAAuD,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/F,CAAC;IACL,CAAC;;;;;;;;;;;;;;;;;ICrCD,YAAY,CAAC;IASZ,CAAC;IAEF;QAQI,wBAAY,OAAgB;YAExB,6DAA6D;YAC7D,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YACpC,IAAI,MAAM,GAAmB,OAAO,CAAC,MAAM,IAAS,EAAE,CAAC;YAEvD,yCAAyC;YACzC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACvC,MAAM,GAAQ,OAAO,CAAC;gBACtB,sDAAmB,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,IAAI,sDAAmB,EAAE,CAAC;YAC7C,yDAAyD;YACzD,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAE9E,IAAI,CAAC,UAAU,GAAG,IAAI,oDAAgB,EAAE,CAAC;YACzC,IAAI,CAAC,YAAY,GAAG,IAAI,gDAAkB,EAAE,CAAC;YAE7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;QAED,mBAAmB;QACZ,sCAAa,GAApB,UAAqB,QAA4B,EAAE,gBAA0C;YACzF,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC/D,CAAC;QACM,uCAAc,GAArB,UAAsB,SAA8B,EAAE,gBAA0C;YAC5F,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACjE,CAAC;QACM,iCAAQ,GAAf,UAAgB,SAAkC;YAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACM,mCAAU,GAAjB,UAAkB,KAAsB,EAAE,gBAA0C;YAChF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACzD,CAAC;QACM,oCAAW,GAAlB,UAAmB,MAAwB,EAAE,gBAA0C;YACnF,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC3D,CAAC;QACM,uCAAc,GAArB,UAAsB,IAAa;YAC/B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACM,sCAAa,GAApB,UAAqB,IAAa,EAAE,GAAY,EAAE,gBAAyB;YACvE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAChE,CAAC;QACM,gDAAuB,GAA9B,UAA+B,oBAA8D;YACzF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;QAC1E,CAAC;QAED,oBAAoB;QACb,oDAA2B,GAAlC,UAAmC,mBAA2B,EAAE,SAAkB,EAAE,aAAqB;YAArB,qDAAqB;YACpG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,2BAA2B,CAAC,mBAAmB,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACrG,CAAC;QACM,sDAA6B,GAApC;YACK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAC1D,CAAC;QAED,sBAAsB;QACf,4CAAmB,GAA1B,UAA2B,UAAgC,EAAE,gBAAuC,EAAE,gBAAuC;YACzI,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAC1F,CAAC;QAEM,wCAAe,GAAtB;YAEI,IAAI,CAAC,IAAI,GAAG,IAAI,6CAAe,EAAE,CAAC;YAClC,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,kBAAkB,GAAW,IAAI,uCAAM,EAAE,CAAC;YAE9C,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAElC,kBAAkB;YAClB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC;QAChB,CAAC;QAEM,mCAAU,GAAjB;YAEI,oEAAoE;YACpE,IAAI,CAAC;gBACD,EAAE,CAAC,CAAC,iCAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACnC,8HAA8H;oBAC9H,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;oBACvC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACjC,IAAI,EAAE,CAAC;oBACX,CAAC;oBAED,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;oBAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC9B,CAAC;YACL,CAAC;YAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjB,IAAI,UAAU,GAAQ,EAAE,CAAC;gBACzB,EAAE,CAAC,CAAC,SAAS,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC;oBACxD,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAChD,CAAC;gBAED,iBAAiB;gBACjB,gEAAgE;gBAChE,+BAA+B;gBAC/B,sDAAsD;gBACtD,yCAAyC;gBACzC,mBAAmB;YACvB,CAAC;QACL,CAAC;QAEM,wCAAe,GAAtB,UAAuB,mBAAwC;YAC3D,6BAA6B;YAC7B,0FAA0F;YAC1F,iCAAiC;YACjC,yCAAyC;YACzC,4DAA4D;YAC5D,QAAQ;YACR,wBAAwB;YACxB,yCAAyC;QAC7C,CAAC;QAEM,oDAA2B,GAAlC,UAAmC,mBAAyC;YACxE,2DAA2D;YAE3D,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,0BAA0B,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrG,IAAI,mBAAmB,GAAG;oBACtB,8DAA8D;oBAC9D,iGAAiG;oBACjG,0FAA0F;oBAC1F,sEAAsE;oBACtE,4FAA4F;oBAC5F,6BAA6B;oBAE7B,oDAAoD;oBAEpD,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,OAAO,CAAC,gBAAM;wBACzE,MAAM,CAAC,OAAO,CAAC,iBAAO,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;oBAEH,+CAA+C;oBAC/C,0EAA0E;oBAC1E,6CAA6C;oBAC7C,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC;wBACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;wBACtE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBACjF,CAAC;gBACL,CAAC,CAAC;gBAEF,EAAE,CAAC,CAAC,CAAC,iCAAI,CAAC,eAAe,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;oBAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAC1B,6CAAe,CAAC,QAAQ,EACxB,gDAAkB,CAAC,mCAAmC,EACtD,wCAAwC,CAAC,CAAC;gBAClD,CAAC;YACL,CAAC;QACL,CAAC;QAEa,+BAAgB,GAA9B,UAA+B,aAA8B,EAAE,UAAmB;YAC9E,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBACjB,aAAa,GAAmB,EAAE,CAAC;YACvC,CAAC;YAED,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAChB,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAAC;YAC1E,CAAC;YAED,mBAAmB;YACnB,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;gBACjC,aAAa,CAAC,eAAe,GAAG,EAAE,CAAC;YACvC,CAAC;YACD,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC7C,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACnD,CAAC;YACD,IAAM,eAAe,GAAY,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB;YACjG,qBAAqB;YACrB,aAAa,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,IAAI,+CAA+C,CAAC;YACzG,eAAe,CAAC,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAClD,eAAe,CAAC,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAE1D,eAAe,CAAC,WAAW,GAAG,iCAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACtF,eAAe,CAAC,wBAAwB,GAAG,iCAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;YAChH,eAAe,CAAC,mBAAmB,GAAG,eAAe,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,2BAA2B;YAC3G,eAAe,CAAC,qBAAqB,GAAG,eAAe,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,eAAe;YACnG,eAAe,CAAC,qBAAqB,GAAG,eAAe,CAAC,qBAAqB,IAAI,KAAK,CAAC;YACvF,eAAe,CAAC,sBAAsB,GAAG,iCAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;YAE5G,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,eAAe,CAAC,kBAAkB,IAAI,CAAC,IAAI,eAAe,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAC,CAAC;gBACpI,eAAe,CAAC,kBAAkB,GAAG,GAAG,CAAC;YAC7C,CAAC;YAED,eAAe,CAAC,mBAAmB,GAAG,iCAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,mBAAmB,CAAC;YACrG,eAAe,CAAC,mBAAmB,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC;YAE9H,eAAe,CAAC,yBAAyB,GAAG,iCAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;YAClH,eAAe,CAAC,gCAAgC,GAAG,eAAe,CAAC,gCAAgC,IAAI;gBACnG,yBAAyB;gBACzB,8BAA8B;gBAC9B,yBAAyB;gBACzB,+BAA+B;aAAC,CAAC;YACrC,eAAe,CAAC,0BAA0B,GAAG,iCAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;YACpH,eAAe,CAAC,mBAAmB,GAAG,iCAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;YACtG,eAAe,CAAC,oBAAoB,GAAG,iCAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;YACxG,eAAe,CAAC,4BAA4B,GAAG,iCAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;YACxH,eAAe,CAAC,qBAAqB,GAAG,iCAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;YAE1G,MAAM,CAAC,aAAa,CAAC;QACzB,CAAC;QACL,qBAAC;IAAD,CAAC;IArNY,wCAAc;;;;;;;;;;;;;;AClB3B;AACA;AACA;AACA;AACA,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uIAA4B,EAAE,0IAA6B,EAAE,2JAA6B,CAAC,mCAAE;AAC3H;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oTAAoT,uDAAuD;AAC3W;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kRAAkR,uDAAuD;AACzU;AACA;AACA;AACA;AACA;AACA,+CAA+C,uBAAuB;AACtE;AACA;AACA,mBAAmB,iBAAiB;AACpC,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sRAAsR,uDAAuD;AAC7U;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uRAAuR,uDAAuD;AAC9U;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,yBAAyB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0RAA0R,uDAAuD;AACjV;AACA;AACA;AACA,kEAAkE,qBAAqB;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yRAAyR,uDAAuD;AAChV;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+RAA+R,uDAAuD;AACtV;AACA;AACA;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,0FAA0F;AACnI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,iFAAiF;AAC/J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,kCAAkC,EAAE;AACrF,wCAAwC,+BAA+B,EAAE;AACzE,+CAA+C,sCAAsC,EAAE;AACvF,kDAAkD,yCAAyC,EAAE;AAC7F,yCAAyC,wCAAwC,EAAE;AACnF,2CAA2C,kCAAkC,EAAE;AAC/E,2CAA2C,kCAAkC,EAAE;AAC/E,2DAA2D,kDAAkD,EAAE;AAC/G,oCAAoC,2BAA2B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,+BAA+B;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yNAAyN,WAAW;AACpO;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,EAAE;AAChE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qPAAqP,8BAA8B;AACnR;AACA;AACA;AACA;AACA;AACA;AACA,8NAA8N,8BAA8B;AAC5P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AAAA,oGAAC;AACF,+C;;;;;;;;;;;AC9XA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uIAA4B,EAAE,0IAA6B,CAAC,mCAAE;AAC5F;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,yCAAyC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,8BAA8B,sBAAsB,EAAE,EAAE,EAAE;AACrH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,8BAA8B,sBAAsB,EAAE,EAAE,EAAE;AACrH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,8BAA8B,sBAAsB,EAAE,EAAE,EAAE;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,8BAA8B,sBAAsB,EAAE,EAAE,EAAE;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,8BAA8B,sBAAsB,EAAE,EAAE,EAAE;AAClI;AACA;AACA;AACA;AACA,wRAAwR,uDAAuD;AAC/U;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,2C;;;;;;;;;;;AC5HA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,6JAAqC,CAAC,mCAAE;AACtE;AACA,kDAAkD,cAAc;AAChE;AACA,CAAC;AAAA,oGAAC;AACF,4D;;;;;;;;;;;ACLA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uIAA4B,EAAE,0IAA6B,CAAC,mCAAE;AAC5F;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,EAAE;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,2C;;;;;;;;;;;AClVA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uIAA4B,EAAE,0IAA6B,CAAC,mCAAE;AAC5F;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0QAA0Q,uDAAuD;AACjU;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0RAA0R,uDAAuD;AACjV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,sC;;;;;;;;;;;ACvKA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,6GAAc,EAAE,uHAAmB,EAAE,6JAAsC,EAAE,6JAAsC,EAAE,qKAA0C,EAAE,+JAAuC,EAAE,yLAAoD,EAAE,mKAAyC,EAAE,+KAA+C,EAAE,6GAAc,EAAE,uIAA4B,EAAE,0IAA6B,EAAE,0IAA6B,CAAC,mCAAE;AACve;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6QAA6Q,uDAAuD;AACpU;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4TAA4T,uDAAuD;AACnX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qSAAqS,uDAAuD;AAC5V;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sLAAsL,mBAAmB;AACzM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,8EAA8E;AAClI,8DAA8D,oGAAoG;AAClK,yDAAyD,sFAAsF;AAC/I,4DAA4D,yFAAyF,GAAG;AACxJ,yDAAyD,+FAA+F;AACxJ,mEAAmE,+GAA+G;AAClL,wDAAwD,8FAA8F;AACtJ,4DAA4D,wGAAwG;AACpK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,mBAAmB,gBAAgB;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iEAAiE;AACnH,4CAA4C,0EAA0E;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,uBAAuB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,uCAAuC;AAC7E,4CAA4C,0EAA0E;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,kC;;;;;;;;;;;ACzdA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uIAA4B,EAAE,0IAA6B,CAAC,mCAAE;AAC5F;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uOAAuO,aAAa;AACpP;AACA;AACA;AACA,uOAAuO,aAAa;AACpP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0QAA0Q,aAAa;AACvR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qRAAqR,2BAA2B;AAChT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mQAAmQ,aAAa;AAChR;AACA;AACA;AACA,mCAAmC,oBAAoB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,sC;;;;;;;;;;;AC/JA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,0C;;;;;;;;;;;AC1BA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,8C;;;;;;;;;;;ACtCA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,2C;;;;;;;;;;;ACdA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,wD;;;;;;;;;;;ACnCA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,6C;;;;;;;;;;;AC/BA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,mD;;;;;;;;;;;ACnCA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,0C;;;;;;;;;;;AC7BA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,qGAAU,CAAC,mCAAE;AAC3C;AACA,kDAAkD,cAAc;AAChE;AACA,CAAC;AAAA,oGAAC;AACF,0D;;;;;;;;;;;ACLA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA,CAAC;AAAA,oGAAC;AACF,qC;;;;;;;;;;;ACLA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,gEAAgE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,0DAA0D;AAC/D;AACA,CAAC;AAAA,oGAAC;AACF,iC;;;;;;;;;;;ACxBA;AACA,iCAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,gC;;;;;;;;;;;ACdA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,0C;;;;;;;;;;;AClEA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,4HAAQ,CAAC,mCAAE;AACzC;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,gC;;;;;;;;;;;ACzBA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,8IAAiB,CAAC,mCAAE;AAClD;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,qC;;;;;;;;;;;ACdA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,sEAAsE;AAC3E,CAAC;AAAA,oGAAC;AACF,yC;;;;;;;;;;;ACbA;AACA,iCAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,kC;;;;;;;;;;;ACdA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,oC;;;;;;;;;;;AChBA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,gIAAU,CAAC,mCAAE;AAC3C;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,qC;;;;;;;;;;;AC7BA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,gIAAU,CAAC,mCAAE;AAC3C;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,yC;;;;;;;;;;;AC9BA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,4C;;;;;;;;;;;ACfA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,gIAAU,CAAC,mCAAE;AAC3C;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,uC;;;;;;;;;;;AC5BA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,gIAAU,CAAC,mCAAE;AAC3C;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,sC;;;;;;;;;;;AC7BA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,sIAAa,CAAC,mCAAE;AAC9C;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,wC;;;;;;;;;;;AC7BA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,4IAAgB,CAAC,mCAAE;AACjD;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,4C;;;;;;;;;;;AC7BA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,gIAAU,CAAC,mCAAE;AAC3C;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,gD;;;;;;;;;;;AC9BA;AACA,iCAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,sEAAsE;AAC3E,CAAC;AAAA,oGAAC;AACF,yC;;;;;;;;;;;AChBA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,sC;;;;;;;;;;;ACdA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,kD;;;;;;;;;;;ACrCA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,+JAA2C,EAAE,mGAAa,CAAC,mCAAE;AAC3F;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,gC;;;;;;;;;;;ACnCA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,yKAAgD,EAAE,mGAAa,CAAC,mCAAE;AAChG;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,qC;;;;;;;;;;;ACnCA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,0IAA6B,EAAE,iGAAY,CAAC,mCAAE;AAC5E;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gQAAgQ,aAAa;AAC7Q;AACA;AACA;AACA;AACA;AACA,uCAAuC,6CAA6C;AACpF;AACA,oFAAoF;AACpF;AACA;AACA;AACA,0PAA0P,eAAe;AACzQ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0QAA0Q,mBAAmB;AAC7R;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gRAAgR,uBAAuB;AACvS;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sLAAsL,cAAc;AACpM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,yC;;;;;;;;;;;AC3IA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uKAA+C,EAAE,gIAAiB,EAAE,mGAAa,EAAE,iGAAY,CAAC,mCAAE;AAChI;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,oC;;;;;;;;;;;ACvCA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,sKAA6C,EAAE,uIAAwB,EAAE,gGAAU,EAAE,8FAAS,CAAC,mCAAE;AAC/H;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,EAAE;AAC/D;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,iC;;;;;;;;;;;ACrCA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,wKAA8C,EAAE,8KAAiD,EAAE,oLAAoD,EAAE,uIAAwB,EAAE,gGAAU,EAAE,8FAAS,CAAC,mCAAE;AACzO;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,EAAE;AACnE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,oBAAoB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,KAAK,yDAAyD;AAChG;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,qC;;;;;;;;;;;ACjKA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,wKAA8C,EAAE,uIAAwB,EAAE,gGAAU,EAAE,+HAAoB,EAAE,8FAAS,CAAC,mCAAE;AACtJ;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,EAAE;AAChE;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,kC;;;;;;;;;;;ACzCA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,4KAAgD,EAAE,uIAAwB,EAAE,gGAAU,EAAE,8FAAS,CAAC,mCAAE;AAClI;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,EAAE;AAClE;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,oC;;;;;;;;;;;AC7CA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,oLAAoD,EAAE,gGAAU,EAAE,uIAAwB,EAAE,8FAAS,EAAE,0IAA6B,CAAC,mCAAE;AACrK;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2MAA2M,iFAAiF;AAC5R;AACA;AACA,8OAA8O,iFAAiF;AAC/T;AACA;AACA;AACA;AACA,gNAAgN,iFAAiF;AACjS;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,4BAA4B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E,EAAE;AAC7E;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,+C;;;;;;;;;;;ACrKA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uIAAwB,EAAE,gGAAU,EAAE,8FAAS,EAAE,8FAAS,EAAE,4LAAwD,CAAC,mCAAE;AACrJ;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,EAAE;AAC9E;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,gD;;;;;;;;;;;AC9DA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,0KAA+C,EAAE,uIAAwB,EAAE,gGAAU,EAAE,8FAAS,CAAC,mCAAE;AACjI;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,EAAE;AAC/D;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,iC;;;;;;;;;;;ACxCA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,6FAAQ,EAAE,iJAAkC,EAAE,0IAA6B,CAAC,mCAAE;AAC5G;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA,kEAAkE;AAClE,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,gD;;;;;;;;;;;AC9CA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,+FAAS,EAAE,0IAA6B,EAAE,iIAA0B,EAAE,iJAAkC,CAAC,mCAAE;AACzI;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B,sBAAsB,OAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sPAAsP,0BAA0B;AAChR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B,oBAAoB,OAAO;AAC3B,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wPAAwP,0BAA0B;AAClR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qQAAqQ,0BAA0B;AAC/R;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B,sBAAsB,OAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0PAA0P,0BAA0B;AACpR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B,oBAAoB,OAAO;AAC3B,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4PAA4P,0BAA0B;AACtR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yQAAyQ,0BAA0B;AACnS;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qOAAqO,0BAA0B;AAC/P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,6EAA6E;AAC7E;AACA;AACA;AACA,0CAA0C,sBAAsB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,+BAA+B,oBAAoB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,OAAO,sCAAsC;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,qBAAqB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC,4BAA4B,IAAI;AAChC,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,gC;;;;;;;;;;;ACjnBA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,6FAAQ,EAAE,+FAAS,EAAE,iIAA0B,EAAE,uGAAa,EAAE,2JAAuC,EAAE,2JAAuC,EAAE,uIAA6B,EAAE,mHAAmB,EAAE,2HAAuB,EAAE,qHAAoB,EAAE,yHAAsB,EAAE,2KAA+C,EAAE,iJAAkC,EAAE,mHAAmB,EAAE,+IAAiC,EAAE,+HAAyB,EAAE,6KAAgD,EAAE,+KAAiD,EAAE,iJAAkC,EAAE,6HAAwB,CAAC,mCAAE;AACvnB;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;AACF,sD;;;;;;;;;;;AC3BA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;AACF,iD;;;;;;;;;;;ACjCA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,4EAA4E;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;AACF,wC;;;;;;;;;;;AC5FA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA,CAAC;AAAA,oGAAC;AACF,4C;;;;;;;;;;;ACLA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,yKAA8C,EAAE,sHAAa,EAAE,0IAAuB,EAAE,oIAAoB,CAAC,mCAAE;AAC7I;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mHAAmH;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA,aAAa;AACb;AACA;AACA,6BAA6B,mCAAmC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,+EAA+E;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,4DAA4D,uDAAuD,EAAE;AACrH,uCAAuC,kBAAkB;AACzD,iEAAiE;AACjE;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,+BAA+B,uBAAuB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,sDAAsD,uDAAuD,EAAE;AAC/G;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;AAAA,oGAAC;AACF,2C;;;;;;;;;;;AC9QA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AAAA,oGAAC;AACF,qC;;;;;;;;;;;ACxBA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uJAAqC,EAAE,sHAAa,CAAC,mCAAE;AACrF;AACA,kDAAkD,cAAc;AAChE;AACA;AACA,uCAAuC,mBAAmB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,cAAc;AACpE;AACA;AACA;AACA;AACA;AACA,oDAAoD,UAAU;AAC9D;AACA;AACA;AACA;AACA;AACA,sDAAsD,UAAU;AAChE;AACA;AACA;AACA,wDAAwD,WAAW;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,mCAAmC;AAC3F;AACA;AACA,0DAA0D,qCAAqC;AAC/F;AACA;AACA,4DAA4D,+BAA+B;AAC3F;AACA;AACA,0DAA0D,qCAAqC;AAC/F;AACA;AACA;AACA;AACA,4BAA4B,gBAAgB;AAC5C,2BAA2B,oBAAoB;AAC/C;AACA;AACA,uCAAuC,mBAAmB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,gBAAgB;AAC5C,2BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,4C;;;;;;;;;;;ACxLA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA,4CAA4C,8CAA8C,EAAE;AAC5F;AACA;AACA;AACA,2BAA2B,2BAA2B;AACtD;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,2DAA2D,EAAE;AACzG;AACA;AACA;AACA,2BAA2B,2BAA2B;AACtD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,+C;;;;;;;;;;;AClEA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,wKAA6C,EAAE,wKAA6C,EAAE,gJAAiC,EAAE,oIAA2B,EAAE,wJAAqC,EAAE,kJAAkC,EAAE,sJAAoC,CAAC,mCAAE;AAC9S;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAAA,oGAAC;AACF,uD;;;;;;;;;;;ACbA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uIAA4B,EAAE,0IAA6B,EAAE,kHAAc,EAAE,gHAAa,CAAC,mCAAE;AAC3H;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,gC;;;;;;;;;;;ACrQA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uIAA4B,CAAC,mCAAE;AAC7D;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AAAA,oGAAC;AACF,sC;;;;;;;;;;;AChEA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,0IAA6B,CAAC,mCAAE;AAC9D;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,qC;;;;;;;;;;;AClEA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,sGAAQ,CAAC,mCAAE;AACzC;AACA,kDAAkD,cAAc;AAChE;AACA,CAAC;AAAA,oGAAC;AACF,+D;;;;;;;;;;;ACLA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,uC;;;;;;;;;;;ACVA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,kC;;;;;;;;;;;AClBA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,oC;;;;;;;;;;;ACfA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,oC;;;;;;;;;;;ACVA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uIAA4B,CAAC,mCAAE;AAC7D;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,qC;;;;;;;;;;;ACdA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,yIAA2B,EAAE,0IAA6B,CAAC,mCAAE;AAC3F;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yTAAyT,2BAA2B;AACpV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,kC;;;;;;;;;;;AC/BA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uIAA4B,EAAE,0IAA6B,CAAC,mCAAE;AAC5F;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,wCAAwC;AAClG;AACA;AACA,uDAAuD,oCAAoC;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sSAAsS,uDAAuD;AAC7V;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yGAAyG;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD,8CAA8C;AAC9C,qDAAqD;AACrD;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,mC;;;;;;;;;;;ACzJA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,uIAA4B,EAAE,0IAA6B,CAAC,mCAAE;AAC5F;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wIAAwI;AACxI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C,4BAA4B,OAAO;AACnC;AACA;AACA,2CAA2C,uBAAuB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,gC;;;;;;;;;;;ACvGA,iGAAO,CAAC,mBAAS,EAAE,OAAS,CAAC,mCAAE;AAC/B;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,kD;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA,iCAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,0IAA6B,EAAE,uIAA4B,EAAE,0HAAmB,EAAE,kIAAuB,EAAE,wHAAkB,EAAE,4HAAoB,EAAE,4HAAoB,EAAE,8HAAqB,EAAE,oHAAgB,EAAE,wHAAkB,CAAC,mCAAE;AACvQ;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,2CAA2C,EAAE;AAC9F,wCAAwC,kCAAkC,EAAE;AAC5E,+CAA+C,yCAAyC,EAAE;AAC1F,yCAAyC,mCAAmC,EAAE;AAC9E,kDAAkD,4CAA4C,EAAE;AAChG,2CAA2C,qCAAqC,EAAE;AAClF,2CAA2C,qCAAqC,EAAE;AAClF,2DAA2D,qDAAqD,EAAE;AAClH,oCAAoC,8BAA8B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,4C;;;;;;;;;;;AChOA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,wIAA0B,EAAE,uIAA4B,CAAC,mCAAE;AACzF;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AAAA,oGAAC;AACF,kD;;;;;;;;;;;AC1BA,iGAAO,CAAC,mBAAS,EAAE,OAAS,EAAE,4HAAoB,CAAC,mCAAE;AACrD;AACA,kDAAkD,cAAc;AAChE;AACA,CAAC;AAAA,oGAAC;AACF,6D","file":"./aisdk.0.0.15.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import { ApplicationInsights } from \"applicationinsights-analytics-js\";\r\nimport { Initialization, Snippet } from \"./Initialization\";\r\n\r\n\"use strict\";\r\n//should be global function that should load as soon as SDK loads\r\ntry {\r\n\r\n // E2E sku on load initializes core and pipeline using snippet as input for configuration\r\n var aiName;\r\n if (typeof window !== \"undefined\" && typeof JSON !== \"undefined\") {\r\n // get snippet or initialize to an empty object\r\n\r\n // get sdk instance name should not conflict if page uses existing sdk for a layer of instrumentation\r\n aiName = window[\"appInsightsSDK\"];\r\n\r\n if (window[aiName] === undefined) {\r\n // if no snippet is present, initialize default values\r\n ApplicationInsights.appInsightsDefaultConfig = Initialization.getDefaultConfig();\r\n } else {\r\n if (window[aiName].initialize) { // initialize if required\r\n // this is the typical case for browser+snippet\r\n var snippet: Snippet = window[aiName] || <any>{};\r\n\r\n // overwrite snippet with full appInsights\r\n var initialization = new Initialization(snippet);\r\n var appInsightsLocal = initialization.loadAppInsights();\r\n\r\n // apply full appInsights to the global instance that was initialized in the snippet\r\n for (var field in appInsightsLocal) {\r\n snippet[field] = appInsightsLocal[field];\r\n }\r\n\r\n // Empty queue of all api calls logged prior to sdk download\r\n initialization.emptyQueue();\r\n\r\n initialization.addHousekeepingBeforeUnload(appInsightsLocal);\r\n }\r\n }\r\n }\r\n} catch (e) {\r\n // TODO: Find better place to warn to console when SDK initialization fails\r\n if (console) {\r\n console.warn('Failed to initialize AppInsights JS SDK for instance ' + aiName + e.message);\r\n }\r\n}","import { IConfiguration, AppInsightsCore, IAppInsightsCore, LoggingSeverity, _InternalMessageId, ITelemetryItem } from \"applicationinsights-core-js\";\r\nimport { ApplicationInsights, IAppInsights, IPageViewTelemetry, IExceptionTelemetry, IAutoExceptionTelemetry, ITraceTelemetry, IMetricTelemetry } from \"applicationinsights-analytics-js\";\r\nimport { Util, IConfig, RemoteDependencyData, IDependencyTelemetry } from \"applicationinsights-common\";\r\nimport { Sender } from \"applicationinsights-channel-js\";\r\nimport { PropertiesPlugin, IPropertiesPlugin } from \"applicationinsights-properties-js\";\r\nimport { AjaxPlugin as DependenciesPlugin, IDependenciesPlugin } from 'applicationinsights-dependencies-js';\r\n\r\n\"use strict\";\r\n\r\nexport interface Snippet {\r\n queue: Array<() => void>;\r\n config: IConfiguration;\r\n}\r\n\r\nexport interface IApplicationInsights extends IAppInsights, IDependenciesPlugin, IPropertiesPlugin {\r\n appInsights: ApplicationInsights;\r\n};\r\n\r\nexport class Initialization implements IApplicationInsights {\r\n public snippet: Snippet;\r\n public config: IConfiguration;\r\n private core: IAppInsightsCore;\r\n public appInsights: ApplicationInsights;\r\n private properties: PropertiesPlugin;\r\n private dependencies: DependenciesPlugin;\r\n\r\n constructor(snippet: Snippet) {\r\n\r\n // initialize the queue and config in case they are undefined\r\n snippet.queue = snippet.queue || [];\r\n var config: IConfiguration = snippet.config || <any>{};\r\n\r\n // ensure instrumentationKey is specified\r\n if (config && !config.instrumentationKey) {\r\n config = <any>snippet;\r\n ApplicationInsights.Version = \"2.0.0\";\r\n }\r\n\r\n this.appInsights = new ApplicationInsights();\r\n // set default values using config passed through snippet\r\n config = Initialization.getDefaultConfig(config, this.appInsights.identifier);\r\n\r\n this.properties = new PropertiesPlugin();\r\n this.dependencies = new DependenciesPlugin();\r\n\r\n this.snippet = snippet;\r\n this.config = config;\r\n }\r\n \r\n // Analytics Plugin\r\n public trackPageView(pageView: IPageViewTelemetry, customProperties?: { [key: string]: any; }) {\r\n this.appInsights.trackPageView(pageView, customProperties);\r\n }\r\n public trackException(exception: IExceptionTelemetry, customProperties?: { [key: string]: any; }): void {\r\n this.appInsights.trackException(exception, customProperties);\r\n }\r\n public _onerror(exception: IAutoExceptionTelemetry): void {\r\n this.appInsights._onerror(exception);\r\n }\r\n public trackTrace(trace: ITraceTelemetry, customProperties?: { [key: string]: any; }): void {\r\n this.appInsights.trackTrace(trace, customProperties);\r\n }\r\n public trackMetric(metric: IMetricTelemetry, customProperties?: { [key: string]: any; }): void {\r\n this.appInsights.trackMetric(metric, customProperties);\r\n }\r\n public startTrackPage(name?: string): void {\r\n this.appInsights.startTrackPage(name);\r\n }\r\n public stopTrackPage(name?: string, url?: string, customProperties?: Object) {\r\n this.appInsights.stopTrackPage(name, url, customProperties);\r\n }\r\n public addTelemetryInitializer(telemetryInitializer: (item: ITelemetryItem) => boolean | void) {\r\n return this.appInsights.addTelemetryInitializer(telemetryInitializer);\r\n }\r\n\r\n // Properties Plugin\r\n public setAuthenticatedUserContext(authenticatedUserId: string, accountId?: string, storeInCookie = false): void {\r\n this.properties.user.setAuthenticatedUserContext(authenticatedUserId, accountId, storeInCookie);\r\n }\r\n public clearAuthenticatedUserContext(): void {\r\n this.properties.user.clearAuthenticatedUserContext();\r\n }\r\n\r\n // Dependencies Plugin\r\n public trackDependencyData(dependency: IDependencyTelemetry, customProperties?: {[key: string]: any}, systemProperties?: {[key: string]: any}): void {\r\n this.dependencies.trackDependencyData(dependency, customProperties, systemProperties);\r\n }\r\n\r\n public loadAppInsights(): IApplicationInsights {\r\n\r\n this.core = new AppInsightsCore();\r\n let extensions = [];\r\n let appInsightsChannel: Sender = new Sender();\r\n\r\n extensions.push(appInsightsChannel);\r\n extensions.push(this.properties);\r\n extensions.push(this.dependencies);\r\n extensions.push(this.appInsights);\r\n\r\n // initialize core\r\n this.core.initialize(this.config, extensions);\r\n return this;\r\n }\r\n\r\n public emptyQueue() {\r\n\r\n // call functions that were queued before the main script was loaded\r\n try {\r\n if (Util.isArray(this.snippet.queue)) {\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 = this.snippet.queue.length;\r\n for (var i = 0; i < length; i++) {\r\n var call = this.snippet.queue[i];\r\n call();\r\n }\r\n\r\n this.snippet.queue = undefined;\r\n delete this.snippet.queue;\r\n }\r\n } catch (exception) {\r\n var properties: any = {};\r\n if (exception && typeof exception.toString === \"function\") {\r\n properties.exception = exception.toString();\r\n }\r\n\r\n // need from core\r\n // Microsoft.ApplicationInsights._InternalLogging.throwInternal(\r\n // LoggingSeverity.WARNING,\r\n // _InternalMessageId.FailedToSendQueuedTelemetry,\r\n // \"Failed to send queued telemetry\",\r\n // properties);\r\n }\r\n }\r\n\r\n public pollInteralLogs(appInsightsInstance: ApplicationInsights) {\r\n // return setInterval(() => {\r\n // var queue: Array<_InternalLogMessage> = ApplicationInsights._InternalLogging.queue;\r\n // var length = queue.length;\r\n // for (var i = 0; i < length; i++) {\r\n // appInsightsInstance.trackTrace(queue[i].message);\r\n // }\r\n // queue.length = 0;\r\n // }, this.config.diagnosticLogInterval);\r\n }\r\n\r\n public addHousekeepingBeforeUnload(appInsightsInstance: IApplicationInsights): void {\r\n // Add callback to push events when the user navigates away\r\n\r\n if (!appInsightsInstance.appInsights.config.disableFlushOnBeforeUnload && ('onbeforeunload' in window)) {\r\n var performHousekeeping = function () {\r\n // Adds the ability to flush all data before the page unloads.\r\n // Note: This approach tries to push an async 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\r\n //appInsightsInstance.context._sender.triggerSend();\r\n\r\n appInsightsInstance.appInsights.core.getTransmissionControls().forEach(queues => {\r\n queues.forEach(channel => channel.flush(true));\r\n });\r\n \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 // Todo: move this against interface behavior\r\n if (this.core.extensions[\"AppInsightsPropertiesPlugin\"] &&\r\n this.core.extensions[\"AppInsightsPropertiesPlugin\"]._sessionManager) {\r\n this.core.extensions[\"AppInsightsPropertiesPlugin\"]._sessionManager.backup();\r\n }\r\n };\r\n\r\n if (!Util.addEventHandler('beforeunload', performHousekeeping)) {\r\n this.core.logger.throwInternal(\r\n LoggingSeverity.CRITICAL,\r\n _InternalMessageId.FailedToAddHandlerForOnBeforeUnload,\r\n 'Could not add handler for beforeunload');\r\n }\r\n }\r\n }\r\n\r\n public static getDefaultConfig(configuration?: IConfiguration, identifier?: string): IConfiguration {\r\n if (!configuration) {\r\n configuration = <IConfiguration>{};\r\n }\r\n\r\n if (configuration) {\r\n identifier = identifier ? identifier : \"ApplicationInsightsAnalytics\";\r\n }\r\n\r\n // Undefined checks\r\n if (!configuration.extensionConfig) {\r\n configuration.extensionConfig = {};\r\n }\r\n if (!configuration.extensionConfig[identifier]) {\r\n configuration.extensionConfig[identifier] = {};\r\n }\r\n const extensionConfig: IConfig = configuration.extensionConfig[identifier]; // ref to main config\r\n // set default values\r\n configuration.endpointUrl = configuration.endpointUrl || \"https://dc.services.visualstudio.com/v2/track\";\r\n extensionConfig.sessionRenewalMs = 30 * 60 * 1000;\r\n extensionConfig.sessionExpirationMs = 24 * 60 * 60 * 1000;\r\n\r\n extensionConfig.enableDebug = Util.stringToBoolOrDefault(extensionConfig.enableDebug);\r\n extensionConfig.disableExceptionTracking = Util.stringToBoolOrDefault(extensionConfig.disableExceptionTracking);\r\n extensionConfig.consoleLoggingLevel = extensionConfig.consoleLoggingLevel || 1; // Show only CRITICAL level\r\n extensionConfig.telemetryLoggingLevel = extensionConfig.telemetryLoggingLevel || 0; // Send nothing\r\n extensionConfig.diagnosticLogInterval = extensionConfig.diagnosticLogInterval || 10000;\r\n extensionConfig.autoTrackPageVisitTime = Util.stringToBoolOrDefault(extensionConfig.autoTrackPageVisitTime);\r\n\r\n if (isNaN(extensionConfig.samplingPercentage) || extensionConfig.samplingPercentage <= 0 || extensionConfig.samplingPercentage >= 100) {\r\n extensionConfig.samplingPercentage = 100;\r\n }\r\n\r\n extensionConfig.disableAjaxTracking = Util.stringToBoolOrDefault(extensionConfig.disableAjaxTracking)\r\n extensionConfig.maxAjaxCallsPerView = !isNaN(extensionConfig.maxAjaxCallsPerView) ? extensionConfig.maxAjaxCallsPerView : 500;\r\n\r\n extensionConfig.disableCorrelationHeaders = Util.stringToBoolOrDefault(extensionConfig.disableCorrelationHeaders);\r\n extensionConfig.correlationHeaderExcludedDomains = extensionConfig.correlationHeaderExcludedDomains || [\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 extensionConfig.disableFlushOnBeforeUnload = Util.stringToBoolOrDefault(extensionConfig.disableFlushOnBeforeUnload);\r\n extensionConfig.isCookieUseDisabled = Util.stringToBoolOrDefault(extensionConfig.isCookieUseDisabled);\r\n extensionConfig.isStorageUseDisabled = Util.stringToBoolOrDefault(extensionConfig.isStorageUseDisabled);\r\n extensionConfig.isBrowserLinkTrackingEnabled = Util.stringToBoolOrDefault(extensionConfig.isBrowserLinkTrackingEnabled);\r\n extensionConfig.enableCorsCorrelation = Util.stringToBoolOrDefault(extensionConfig.enableCorsCorrelation);\r\n\r\n return configuration;\r\n }\r\n}","/**\r\n * ApplicationInsights.ts\r\n * @copyright Microsoft 2018\r\n */\r\ndefine([\"require\", \"exports\", \"applicationinsights-common\", \"applicationinsights-core-js\", \"./Telemetry/PageViewManager\"], function (require, exports, applicationinsights_common_1, applicationinsights_core_js_1, PageViewManager_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n \"use strict\";\r\n var durationProperty = \"duration\";\r\n var ApplicationInsights = /** @class */ (function () {\r\n function ApplicationInsights() {\r\n this.identifier = \"ApplicationInsightsAnalytics\";\r\n this.priority = 160; // take from reserved priority range 100- 200\r\n this._isInitialized = false;\r\n // Counts number of trackAjax invokations.\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 this._trackAjaxAttempts = 0;\r\n this.initialize = this._initialize.bind(this);\r\n }\r\n ApplicationInsights.prototype.processTelemetry = function (env) {\r\n var doNotSendItem = false;\r\n try {\r\n var telemetryInitializersCount = this._telemetryInitializers.length;\r\n for (var i = 0; i < telemetryInitializersCount; ++i) {\r\n var telemetryInitializer = this._telemetryInitializers[i];\r\n if (telemetryInitializer) {\r\n if (telemetryInitializer.apply(null, [env]) === false) {\r\n doNotSendItem = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n doNotSendItem = true;\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TelemetryInitializerFailed, \"One of telemetry initializers failed, telemetry item will not be sent: \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(e) }, true);\r\n }\r\n if (!doNotSendItem && !applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(this._nextPlugin)) {\r\n this._nextPlugin.processTelemetry(env);\r\n }\r\n };\r\n ApplicationInsights.prototype.setNextPlugin = function (next) {\r\n this._nextPlugin = next;\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param {ITraceTelemetry} trace\r\n * @param {{[key: string]: any}} [customProperties]\r\n * @memberof ApplicationInsights\r\n */\r\n ApplicationInsights.prototype.trackTrace = function (trace, customProperties) {\r\n try {\r\n var telemetryItem = applicationinsights_common_1.TelemetryItemCreator.create(trace, applicationinsights_common_1.Trace.dataType, applicationinsights_common_1.Trace.envelopeType, this._logger, customProperties);\r\n this._setTelemetryNameAndIKey(telemetryItem);\r\n this.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.TrackTraceFailed, \"trackTrace failed, trace will not be collected: \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(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 {IMetricTelemetry} metric input object argument. Only name and average are mandatory.\r\n * @param {{[key: string]: any}} customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n ApplicationInsights.prototype.trackMetric = function (metric, customProperties) {\r\n try {\r\n var telemetryItem = applicationinsights_common_1.TelemetryItemCreator.create(metric, applicationinsights_common_1.Metric.dataType, applicationinsights_common_1.Metric.envelopeType, this._logger, customProperties);\r\n this._setTelemetryNameAndIKey(telemetryItem);\r\n this.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TrackMetricFailed, \"trackMetric failed, metric will not be collected: \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(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. If a user wants\r\n * to provide a custom duration, it'll have to be in customProperties\r\n */\r\n ApplicationInsights.prototype.trackPageView = function (pageView, customProperties) {\r\n try {\r\n this._pageViewManager.trackPageView(pageView, customProperties);\r\n if (this.config.autoTrackPageVisitTime) {\r\n this._pageVisitTimeManager.trackPreviousPageVisit(pageView.name, pageView.uri);\r\n }\r\n }\r\n catch (e) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TrackPVFailed, \"trackPageView failed, page view will not be collected: \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(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 ApplicationInsights.prototype.sendPageViewInternal = function (pageView, properties, systemProperties) {\r\n var telemetryItem = applicationinsights_common_1.TelemetryItemCreator.create(pageView, applicationinsights_common_1.PageView.dataType, applicationinsights_common_1.PageView.envelopeType, this._logger, properties, systemProperties);\r\n // set instrumentation key\r\n this._setTelemetryNameAndIKey(telemetryItem);\r\n this.core.track(telemetryItem);\r\n // reset ajaxes counter\r\n this._trackAjaxAttempts = 0;\r\n };\r\n ApplicationInsights.prototype.sendPageViewPerformanceInternal = function (pageViewPerformance, properties) {\r\n var telemetryItem = applicationinsights_common_1.TelemetryItemCreator.create(pageViewPerformance, applicationinsights_common_1.PageViewPerformance.dataType, applicationinsights_common_1.PageViewPerformance.envelopeType, this._logger, properties);\r\n // set instrumentation key\r\n this._setTelemetryNameAndIKey(telemetryItem);\r\n this.core.track(telemetryItem);\r\n };\r\n /**\r\n * Starts timing how long the user views a page or other item. Call this when the page opens.\r\n * This method doesn't send any telemetry. Call {@link stopTrackTelemetry} to log the page when it closes.\r\n * @param name A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n ApplicationInsights.prototype.startTrackPage = function (name) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n name = window.document && window.document.title || \"\";\r\n }\r\n this._pageTracking.start(name);\r\n }\r\n catch (e) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.StartTrackFailed, \"startTrackPage failed, page view may not be collected: \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * Logs how long a page or other item was visible, after {@link startTrackPage}. Call this when the page closes.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url A relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric\r\n */\r\n ApplicationInsights.prototype.stopTrackPage = function (name, url, properties) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n name = window.document && window.document.title || \"\";\r\n }\r\n if (typeof url !== \"string\") {\r\n url = window.location && window.location.href || \"\";\r\n }\r\n this._pageTracking.stop(name, url, properties);\r\n if (this.config.autoTrackPageVisitTime) {\r\n this._pageVisitTimeManager.trackPreviousPageVisit(name, url);\r\n }\r\n }\r\n catch (e) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.StopTrackFailed, \"stopTrackPage failed, page view will not be collected: \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param {IExceptionTelemetry} exception Object which contains exception to be sent\r\n * @param {{[key: string]: any}} 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 ApplicationInsights.prototype.trackException = function (exception, customProperties) {\r\n try {\r\n var telemetryItem = applicationinsights_common_1.TelemetryItemCreator.create(exception, applicationinsights_common_1.Exception.dataType, applicationinsights_common_1.Exception.envelopeType, this._logger, customProperties);\r\n this._setTelemetryNameAndIKey(telemetryItem);\r\n this.core.track(telemetryItem);\r\n }\r\n catch (e) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TrackExceptionFailed, \"trackException failed, exception will not be collected: \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(e) });\r\n }\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param {IAutoExceptionTelemetry} exception\r\n * @memberof ApplicationInsights\r\n */\r\n ApplicationInsights.prototype._onerror = function (exception) {\r\n try {\r\n var properties = {\r\n url: (exception && exception.url) || document.URL,\r\n lineNumber: exception.lineNumber,\r\n columnNumber: exception.columnNumber,\r\n message: exception.message\r\n };\r\n if (applicationinsights_common_1.Util.isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception.error)) {\r\n this._sendCORSException(properties.url);\r\n }\r\n else {\r\n if (!applicationinsights_common_1.Util.isError(exception.error)) {\r\n var stack = \"window.onerror@\" + properties.url + \":\" + exception.lineNumber + \":\" + (exception.columnNumber || 0);\r\n exception.error = new Error(exception.message);\r\n exception.error.stack = stack;\r\n }\r\n this.trackException({ error: exception.error, severityLevel: applicationinsights_common_1.SeverityLevel.Error }, properties);\r\n }\r\n }\r\n catch (e) {\r\n var errorString = exception.error ?\r\n (exception.error.name + \", \" + exception.error.message)\r\n : \"null\";\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.ExceptionWhileLoggingError, \"_onError threw exception while logging error, error will not be collected: \"\r\n + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(e), errorString: errorString });\r\n }\r\n };\r\n ApplicationInsights.prototype.addTelemetryInitializer = function (telemetryInitializer) {\r\n this._telemetryInitializers.push(telemetryInitializer);\r\n };\r\n ApplicationInsights.prototype._initialize = function (config, core, extensions) {\r\n var _this = this;\r\n if (this._isInitialized) {\r\n return;\r\n }\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(core)) {\r\n throw Error(\"Error initializing\");\r\n }\r\n this.core = core;\r\n this._logger = core.logger;\r\n this._globalconfig = {\r\n instrumentationKey: config.instrumentationKey,\r\n endpointUrl: config.endpointUrl\r\n };\r\n this.config = config.extensionConfig && config.extensionConfig[this.identifier] ? config.extensionConfig[this.identifier] : {};\r\n // load default values if specified\r\n var defaults = ApplicationInsights.appInsightsDefaultConfig;\r\n if (defaults !== undefined) {\r\n if (defaults.extensions && defaults.extensions[this.identifier]) {\r\n for (var field in defaults.extensions[this.identifier]) {\r\n // for each unspecified field, set the default value\r\n if (this.config[field] === undefined) {\r\n this.config[field] = defaults[field];\r\n }\r\n }\r\n }\r\n if (this._globalconfig) {\r\n for (var field in defaults) {\r\n if (this._globalconfig[field] === undefined) {\r\n this._globalconfig[field] = defaults[field];\r\n }\r\n }\r\n }\r\n }\r\n // Todo: move this out of static state\r\n if (this.config.isCookieUseDisabled) {\r\n applicationinsights_common_1.Util.disableCookies();\r\n }\r\n // Todo: move this out of static state\r\n if (this.config.isStorageUseDisabled) {\r\n applicationinsights_common_1.Util.disableStorage();\r\n }\r\n var configGetters = {\r\n instrumentationKey: function () { return config.instrumentationKey; },\r\n accountId: function () { return _this.config.accountId; },\r\n sessionRenewalMs: function () { return _this.config.sessionRenewalMs; },\r\n sessionExpirationMs: function () { return _this.config.sessionExpirationMs; },\r\n sampleRate: function () { return _this.config.samplingPercentage; },\r\n cookieDomain: function () { return _this.config.cookieDomain; },\r\n sdkExtension: function () { return _this.config.sdkExtension; },\r\n isBrowserLinkTrackingEnabled: function () { return _this.config.isBrowserLinkTrackingEnabled; },\r\n appId: function () { return _this.config.appId; }\r\n };\r\n this._pageViewManager = new PageViewManager_1.PageViewManager(this, this.config.overridePageViewDuration, this.core);\r\n this._telemetryInitializers = [];\r\n this._addDefaultTelemetryInitializers(configGetters);\r\n // initialize page view timing\r\n this._pageTracking = new Timing(this._logger, \"trackPageView\");\r\n this._pageTracking.action = function (name, url, duration, properties) {\r\n var pageViewItem = {\r\n name: name,\r\n uri: url\r\n };\r\n // duration must be a custom property in order for the collector to extract it\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(properties)) {\r\n properties = {};\r\n }\r\n properties[durationProperty] = duration;\r\n _this.sendPageViewInternal(pageViewItem, properties);\r\n };\r\n if (this.config.disableExceptionTracking === false &&\r\n !this.config.autoExceptionInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n var onerror_1 = \"onerror\";\r\n var originalOnError_1 = window[onerror_1];\r\n var instance_1 = this;\r\n window.onerror = function (message, url, lineNumber, columnNumber, error) {\r\n var handled = originalOnError_1 && originalOnError_1(message, url, lineNumber, columnNumber, error);\r\n if (handled !== true) {\r\n instance_1._onerror({\r\n message: message,\r\n url: url,\r\n lineNumber: lineNumber,\r\n columnNumber: columnNumber,\r\n error: error\r\n });\r\n }\r\n return handled;\r\n };\r\n this.config.autoExceptionInstrumented = true;\r\n }\r\n this._isInitialized = true;\r\n };\r\n ApplicationInsights.prototype._addDefaultTelemetryInitializers = function (configGetters) {\r\n if (!configGetters.isBrowserLinkTrackingEnabled()) {\r\n var browserLinkPaths_1 = ['/browserLinkSignalR/', '/__browserLink/'];\r\n var dropBrowserLinkRequests = function (envelope) {\r\n if (envelope.baseType === applicationinsights_common_1.RemoteDependencyData.dataType) {\r\n var remoteData = envelope.baseData;\r\n if (remoteData) {\r\n for (var i = 0; i < browserLinkPaths_1.length; i++) {\r\n if (remoteData.absoluteUrl && remoteData.absoluteUrl.indexOf(browserLinkPaths_1[i]) >= 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n this._addTelemetryInitializer(dropBrowserLinkRequests);\r\n }\r\n };\r\n ApplicationInsights.prototype._addTelemetryInitializer = function (telemetryInitializer) {\r\n this._telemetryInitializers.push(telemetryInitializer);\r\n };\r\n ApplicationInsights.prototype._sendCORSException = function (url) {\r\n var exception = {\r\n message: \"Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.\",\r\n url: url,\r\n lineNumber: 0,\r\n columnNumber: 0,\r\n error: undefined\r\n };\r\n var telemetryItem = applicationinsights_common_1.TelemetryItemCreator.create(exception, applicationinsights_common_1.Exception.dataType, applicationinsights_common_1.Exception.envelopeType, this._logger, { url: url });\r\n this.core.track(telemetryItem);\r\n };\r\n // Mutate telemetryItem inplace to add boilerplate iKey & name info\r\n ApplicationInsights.prototype._setTelemetryNameAndIKey = function (telemetryItem) {\r\n telemetryItem.instrumentationKey = this._globalconfig.instrumentationKey;\r\n var iKeyNoDashes = this._globalconfig.instrumentationKey.replace(/-/g, \"\");\r\n telemetryItem.name = telemetryItem.name.replace(\"{0}\", iKeyNoDashes);\r\n };\r\n ApplicationInsights.Version = \"2.0.1-beta\";\r\n return ApplicationInsights;\r\n }());\r\n exports.ApplicationInsights = ApplicationInsights;\r\n /**\r\n * Used to record timed events and page views.\r\n */\r\n var Timing = /** @class */ (function () {\r\n function Timing(logger, name) {\r\n this._name = name;\r\n this._events = {};\r\n this._logger = logger;\r\n }\r\n Timing.prototype.start = function (name) {\r\n if (typeof this._events[name] !== \"undefined\") {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.StartCalledMoreThanOnce, \"start was called more than once for this event without calling stop.\", { name: this._name, key: name }, true);\r\n }\r\n this._events[name] = +new Date;\r\n };\r\n Timing.prototype.stop = function (name, url, properties) {\r\n var start = this._events[name];\r\n if (isNaN(start)) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.StopCalledWithoutStart, \"stop was called without a corresponding start.\", { name: this._name, key: name }, true);\r\n }\r\n else {\r\n var end = +new Date;\r\n var duration = applicationinsights_common_1.PageViewPerformance.getDuration(start, end);\r\n this.action(name, url, duration, properties);\r\n }\r\n delete this._events[name];\r\n this._events[name] = undefined;\r\n };\r\n return Timing;\r\n }());\r\n});\r\n//# sourceMappingURL=ApplicationInsights.js.map","define([\"require\", \"exports\", \"applicationinsights-common\", \"applicationinsights-core-js\"], function (require, exports, applicationinsights_common_1, applicationinsights_core_js_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * Class encapsulates sending page views and page view performance telemetry.\r\n */\r\n var PageViewManager = /** @class */ (function () {\r\n function PageViewManager(appInsights, overridePageViewDuration, core) {\r\n this.pageViewPerformanceSent = false;\r\n this.overridePageViewDuration = false;\r\n this.overridePageViewDuration = overridePageViewDuration;\r\n this.appInsights = appInsights;\r\n if (core) {\r\n this._channel = function () { return (core.getTransmissionControls()); };\r\n this._logger = core.logger;\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 var _this = this;\r\n var name = pageView.name;\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(name) || typeof name !== \"string\") {\r\n pageView.name = window.document && window.document.title || \"\";\r\n }\r\n var uri = pageView.uri;\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(uri) || typeof uri !== \"string\") {\r\n pageView.uri = window.location && window.location.href || \"\";\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 (!applicationinsights_common_1.PageViewPerformance.isPerformanceTimingSupported()) {\r\n this.appInsights.sendPageViewInternal(pageView, customProperties);\r\n this._channel().forEach(function (queues) { queues.forEach(function (q) { return q.flush(true); }); });\r\n // no navigation timing (IE 8, iOS Safari 8.4, Opera Mini 8 - see http://caniuse.com/#feat=nav-timing)\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.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 return;\r\n }\r\n var pageViewSent = false;\r\n var customDuration = undefined;\r\n // if the performance timing is supported by the browser, calculate the custom duration\r\n var start = applicationinsights_common_1.PageViewPerformance.getPerformanceTiming().navigationStart;\r\n customDuration = applicationinsights_common_1.PageViewPerformance.getDuration(start, +new Date);\r\n if (!applicationinsights_common_1.PageViewPerformance.shouldCollectDuration(customDuration)) {\r\n customDuration = undefined;\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 = undefined;\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(customProperties) &&\r\n !applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(customProperties.duration)) {\r\n duration = customProperties.duration;\r\n }\r\n if (this.overridePageViewDuration || !isNaN(duration)) {\r\n if (isNaN(duration)) {\r\n // case 3\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n customProperties[\"duration\"] = customDuration;\r\n }\r\n // case 2\r\n this.appInsights.sendPageViewInternal(pageView, customProperties);\r\n this._channel().forEach(function (queues) { queues.forEach(function (q) { return q.flush(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 var handle = setInterval((function () {\r\n try {\r\n if (applicationinsights_common_1.PageViewPerformance.isPerformanceTimingDataReady()) {\r\n clearInterval(handle);\r\n var pageViewPerformance = new applicationinsights_common_1.PageViewPerformance(_this._logger, name, uri, null);\r\n if (!pageViewPerformance.getIsValid() && !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[\"duration\"] = customDuration;\r\n _this.appInsights.sendPageViewInternal(pageView, customProperties);\r\n _this._channel().forEach(function (queues) { queues.forEach(function (q) { return q.flush(true); }); });\r\n }\r\n else {\r\n if (!pageViewSent) {\r\n customProperties[\"duration\"] = pageViewPerformance.getDurationMs();\r\n _this.appInsights.sendPageViewInternal(pageView, customProperties);\r\n }\r\n if (!_this.pageViewPerformanceSent) {\r\n _this.appInsights.sendPageViewPerformanceInternal(pageViewPerformance, customProperties);\r\n _this.pageViewPerformanceSent = true;\r\n }\r\n _this._channel().forEach(function (queues) { queues.forEach(function (q) { return q.flush(true); }); });\r\n }\r\n }\r\n else if (applicationinsights_common_1.PageViewPerformance.getDuration(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 clearInterval(handle);\r\n if (!pageViewSent) {\r\n customProperties[\"duration\"] = maxDurationLimit;\r\n _this.appInsights.sendPageViewInternal(pageView, customProperties);\r\n _this._channel().forEach(function (queues) { queues.forEach(function (q) { return q.flush(true); }); });\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TrackPVFailedCalc, \"trackPageView failed on page load calculation: \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(e) });\r\n }\r\n }), 100);\r\n };\r\n return PageViewManager;\r\n }());\r\n exports.PageViewManager = PageViewManager;\r\n});\r\n//# sourceMappingURL=PageViewManager.js.map","define([\"require\", \"exports\", \"./JavaScriptSDK/ApplicationInsights\"], function (require, exports, ApplicationInsights_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n exports.ApplicationInsights = ApplicationInsights_1.ApplicationInsights;\r\n});\r\n//# sourceMappingURL=applicationinsights-analytics-js.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"applicationinsights-common\", \"applicationinsights-core-js\"], function (require, exports, applicationinsights_common_1, applicationinsights_core_js_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n exports.ContextTagKeys = [\r\n \"ai.application.ver\",\r\n \"ai.application.build\",\r\n \"ai.application.typeId\",\r\n \"ai.application.applicationId\",\r\n \"ai.application.layer\",\r\n \"ai.device.id\",\r\n \"ai.device.ip\",\r\n \"ai.device.language\",\r\n \"ai.device.locale\",\r\n \"ai.device.model\",\r\n \"ai.device.friendlyName\",\r\n \"ai.device.network\",\r\n \"ai.device.networkName\",\r\n \"ai.device.oemName\",\r\n \"ai.device.os\",\r\n \"ai.device.osVersion\",\r\n \"ai.device.roleInstance\",\r\n \"ai.device.roleName\",\r\n \"ai.device.screenResolution\",\r\n \"ai.device.type\",\r\n \"ai.device.machineName\",\r\n \"ai.device.vmName\",\r\n \"ai.device.browser\",\r\n \"ai.device.browserVersion\",\r\n \"ai.location.ip\",\r\n \"ai.location.country\",\r\n \"ai.location.province\",\r\n \"ai.location.city\",\r\n \"ai.operation.id\",\r\n \"ai.operation.name\",\r\n \"ai.operation.parentId\",\r\n \"ai.operation.rootId\",\r\n \"ai.operation.syntheticSource\",\r\n \"ai.operation.correlationVector\",\r\n \"ai.session.id\",\r\n \"ai.session.isFirst\",\r\n \"ai.session.isNew\",\r\n \"ai.user.accountAcquisitionDate\",\r\n \"ai.user.accountId\",\r\n \"ai.user.userAgent\",\r\n \"ai.user.id\",\r\n \"ai.user.storeRegion\",\r\n \"ai.user.authUserId\",\r\n \"ai.user.anonUserAcquisitionDate\",\r\n \"ai.user.authUserAcquisitionDate\",\r\n \"ai.cloud.name\",\r\n \"ai.cloud.role\",\r\n \"ai.cloud.roleVer\",\r\n \"ai.cloud.roleInstance\",\r\n \"ai.cloud.environment\",\r\n \"ai.cloud.location\",\r\n \"ai.cloud.deploymentUnit\",\r\n \"ai.internal.sdkVersion\",\r\n \"ai.internal.agentVersion\",\r\n \"ai.internal.nodeName\",\r\n ];\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\n var baseType = \"baseType\";\r\n var baseData = \"baseData\";\r\n var EnvelopeCreator = /** @class */ (function () {\r\n function EnvelopeCreator() {\r\n }\r\n EnvelopeCreator.extractProperties = function (data) {\r\n var customProperties = null;\r\n for (var key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n var value = data[key];\r\n if (typeof value !== \"number\") {\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n customProperties[key] = value;\r\n }\r\n }\r\n }\r\n return customProperties;\r\n };\r\n EnvelopeCreator.extractPropsAndMeasurements = function (data, properties, measurements) {\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(data)) {\r\n for (var key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n var value = data[key];\r\n if (typeof value === \"number\") {\r\n measurements[key] = value;\r\n }\r\n else {\r\n properties[key] = value;\r\n }\r\n }\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\n EnvelopeCreator.createEnvelope = function (logger, envelopeType, telemetryItem, data) {\r\n var envelope = new applicationinsights_common_1.Envelope(logger, data, envelopeType);\r\n envelope.iKey = telemetryItem.instrumentationKey;\r\n var iKeyNoDashes = telemetryItem.instrumentationKey.replace(/-/g, \"\");\r\n envelope.name = envelope.name.replace(\"{0}\", iKeyNoDashes);\r\n // loop through the envelope ctx (Part A) and pick out the ones that should go in outgoing envelope tags\r\n for (var key in telemetryItem.ctx) {\r\n if (telemetryItem.ctx.hasOwnProperty(key)) {\r\n if (exports.ContextTagKeys.indexOf(key) >= 0) {\r\n envelope.tags[key] = telemetryItem.ctx[key];\r\n }\r\n }\r\n }\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.tags.forEach(function (tag) {\r\n for (var key in tag) {\r\n if (tag.hasOwnProperty(key)) {\r\n if (exports.ContextTagKeys.indexOf(key) >= 0) {\r\n envelope.tags[key] = tag[key];\r\n }\r\n }\r\n }\r\n });\r\n return envelope;\r\n };\r\n return EnvelopeCreator;\r\n }());\r\n exports.EnvelopeCreator = EnvelopeCreator;\r\n var DependencyEnvelopeCreator = /** @class */ (function (_super) {\r\n __extends(DependencyEnvelopeCreator, _super);\r\n function DependencyEnvelopeCreator() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n DependencyEnvelopeCreator.prototype.Create = function (logger, telemetryItem) {\r\n this._logger = logger;\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.baseData)) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TelemetryEnvelopeInvalid, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n var customMeasurements = {};\r\n var customProperties = {};\r\n EnvelopeCreator.extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n var bd = telemetryItem.baseData;\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(bd)) {\r\n logger.warnToConsole(\"Invalid input for dependency data\");\r\n return null;\r\n }\r\n var id = bd.id;\r\n var absoluteUrl = bd.absoluteUrl;\r\n var command = bd.commandName;\r\n var duration = bd.duration;\r\n var success = bd.success;\r\n var resultCode = bd.resultCode;\r\n var method = bd.method;\r\n var baseData = new applicationinsights_common_1.RemoteDependencyData(logger, id, absoluteUrl, command, duration, success, resultCode, method, customProperties, customMeasurements);\r\n var data = new applicationinsights_common_1.Data(applicationinsights_common_1.RemoteDependencyData.dataType, baseData);\r\n return EnvelopeCreator.createEnvelope(logger, applicationinsights_common_1.RemoteDependencyData.envelopeType, telemetryItem, data);\r\n };\r\n DependencyEnvelopeCreator.DependencyEnvelopeCreator = new DependencyEnvelopeCreator();\r\n return DependencyEnvelopeCreator;\r\n }(EnvelopeCreator));\r\n exports.DependencyEnvelopeCreator = DependencyEnvelopeCreator;\r\n var EventEnvelopeCreator = /** @class */ (function (_super) {\r\n __extends(EventEnvelopeCreator, _super);\r\n function EventEnvelopeCreator() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n EventEnvelopeCreator.prototype.Create = function (logger, telemetryItem) {\r\n this._logger = logger;\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.baseData)) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TelemetryEnvelopeInvalid, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n if (telemetryItem.baseType !== applicationinsights_common_1.Event.dataType) {\r\n EnvelopeCreator.extractPropsAndMeasurements(telemetryItem.baseData, customProperties, customMeasurements);\r\n }\r\n EnvelopeCreator.extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n var eventName = telemetryItem.baseData.name;\r\n var baseData = new applicationinsights_common_1.Event(logger, eventName, customProperties, customMeasurements);\r\n var data = new applicationinsights_common_1.Data(applicationinsights_common_1.Event.dataType, baseData);\r\n return EnvelopeCreator.createEnvelope(logger, applicationinsights_common_1.Event.envelopeType, telemetryItem, data);\r\n };\r\n EventEnvelopeCreator.EventEnvelopeCreator = new EventEnvelopeCreator();\r\n return EventEnvelopeCreator;\r\n }(EnvelopeCreator));\r\n exports.EventEnvelopeCreator = EventEnvelopeCreator;\r\n var ExceptionEnvelopeCreator = /** @class */ (function (_super) {\r\n __extends(ExceptionEnvelopeCreator, _super);\r\n function ExceptionEnvelopeCreator() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n ExceptionEnvelopeCreator.prototype.Create = function (logger, telemetryItem) {\r\n this._logger = logger;\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.baseData)) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TelemetryEnvelopeInvalid, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n EnvelopeCreator.extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n var exception = telemetryItem.baseData.error;\r\n var severityLevel = telemetryItem.baseData.severityLevel;\r\n var baseData = new applicationinsights_common_1.Exception(logger, exception, customProperties, customMeasurements, severityLevel);\r\n var data = new applicationinsights_common_1.Data(applicationinsights_common_1.Exception.dataType, baseData);\r\n return EnvelopeCreator.createEnvelope(logger, applicationinsights_common_1.Exception.envelopeType, telemetryItem, data);\r\n };\r\n ExceptionEnvelopeCreator.ExceptionEnvelopeCreator = new ExceptionEnvelopeCreator();\r\n return ExceptionEnvelopeCreator;\r\n }(EnvelopeCreator));\r\n exports.ExceptionEnvelopeCreator = ExceptionEnvelopeCreator;\r\n var MetricEnvelopeCreator = /** @class */ (function (_super) {\r\n __extends(MetricEnvelopeCreator, _super);\r\n function MetricEnvelopeCreator() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n MetricEnvelopeCreator.prototype.Create = function (logger, telemetryItem) {\r\n this._logger = logger;\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.baseData)) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TelemetryEnvelopeInvalid, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n var customProperties = EnvelopeCreator.extractProperties(telemetryItem.data);\r\n var name = telemetryItem.baseData.name;\r\n var average = telemetryItem.baseData.average;\r\n var sampleCount = telemetryItem.baseData.sampleCount;\r\n var min = telemetryItem.baseData.min;\r\n var max = telemetryItem.baseData.max;\r\n var baseData = new applicationinsights_common_1.Metric(logger, name, average, sampleCount, min, max, customProperties);\r\n var data = new applicationinsights_common_1.Data(applicationinsights_common_1.Metric.dataType, baseData);\r\n return EnvelopeCreator.createEnvelope(logger, applicationinsights_common_1.Metric.envelopeType, telemetryItem, data);\r\n };\r\n MetricEnvelopeCreator.MetricEnvelopeCreator = new MetricEnvelopeCreator();\r\n return MetricEnvelopeCreator;\r\n }(EnvelopeCreator));\r\n exports.MetricEnvelopeCreator = MetricEnvelopeCreator;\r\n var PageViewEnvelopeCreator = /** @class */ (function (_super) {\r\n __extends(PageViewEnvelopeCreator, _super);\r\n function PageViewEnvelopeCreator() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n PageViewEnvelopeCreator.prototype.Create = function (logger, telemetryItem) {\r\n this._logger = logger;\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.baseData)) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TelemetryEnvelopeInvalid, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n // Since duration is not part of the domain properties in Common Schema, extract it from part C \r\n var duration = undefined;\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.data) &&\r\n !applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.data.duration)) {\r\n duration = telemetryItem.data.duration;\r\n delete telemetryItem.data.duration;\r\n }\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n EnvelopeCreator.extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n var name = telemetryItem.baseData.name;\r\n var url = telemetryItem.baseData.uri;\r\n // Todo: move IPageViewTelemetry to common as we are missing type checks on baseData here\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 (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.baseData.refUri)) {\r\n customProperties[\"refUri\"] = telemetryItem.baseData.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 (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.baseData.pageType)) {\r\n customProperties[\"pageType\"] = telemetryItem.baseData.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 (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.baseData.isLoggedIn)) {\r\n customProperties[\"isLoggedIn\"] = telemetryItem.baseData.isLoggedIn;\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 (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.baseData.pageTags)) {\r\n var pageTags = telemetryItem.baseData.pageTags;\r\n for (var key in pageTags) {\r\n if (pageTags.hasOwnProperty(key)) {\r\n customProperties[key] = pageTags[key];\r\n }\r\n }\r\n }\r\n var baseData = new applicationinsights_common_1.PageView(logger, name, url, duration, customProperties, customMeasurements);\r\n var data = new applicationinsights_common_1.Data(applicationinsights_common_1.PageView.dataType, baseData);\r\n return EnvelopeCreator.createEnvelope(logger, applicationinsights_common_1.PageView.envelopeType, telemetryItem, data);\r\n };\r\n PageViewEnvelopeCreator.PageViewEnvelopeCreator = new PageViewEnvelopeCreator();\r\n return PageViewEnvelopeCreator;\r\n }(EnvelopeCreator));\r\n exports.PageViewEnvelopeCreator = PageViewEnvelopeCreator;\r\n var PageViewPerformanceEnvelopeCreator = /** @class */ (function (_super) {\r\n __extends(PageViewPerformanceEnvelopeCreator, _super);\r\n function PageViewPerformanceEnvelopeCreator() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n PageViewPerformanceEnvelopeCreator.prototype.Create = function (logger, telemetryItem) {\r\n this._logger = logger;\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.baseData)) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TelemetryEnvelopeInvalid, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n EnvelopeCreator.extractPropsAndMeasurements(telemetryItem.data, customProperties, customMeasurements);\r\n var name = telemetryItem.baseData.name;\r\n var url = telemetryItem.baseData.uri;\r\n var duration = telemetryItem.baseData.duration;\r\n var baseData = new applicationinsights_common_1.PageViewPerformance(logger, name, url, duration, customProperties, customMeasurements);\r\n var data = new applicationinsights_common_1.Data(applicationinsights_common_1.PageViewPerformance.dataType, baseData);\r\n return EnvelopeCreator.createEnvelope(logger, applicationinsights_common_1.PageViewPerformance.envelopeType, telemetryItem, data);\r\n };\r\n PageViewPerformanceEnvelopeCreator.PageViewPerformanceEnvelopeCreator = new PageViewPerformanceEnvelopeCreator();\r\n return PageViewPerformanceEnvelopeCreator;\r\n }(EnvelopeCreator));\r\n exports.PageViewPerformanceEnvelopeCreator = PageViewPerformanceEnvelopeCreator;\r\n var TraceEnvelopeCreator = /** @class */ (function (_super) {\r\n __extends(TraceEnvelopeCreator, _super);\r\n function TraceEnvelopeCreator() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n TraceEnvelopeCreator.prototype.Create = function (logger, telemetryItem) {\r\n this._logger = logger;\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(telemetryItem.baseData)) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TelemetryEnvelopeInvalid, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n var message = telemetryItem.baseData.message;\r\n var severityLevel = telemetryItem.baseData.severityLevel;\r\n var customProperties = EnvelopeCreator.extractProperties(telemetryItem.data);\r\n var baseData = new applicationinsights_common_1.Trace(logger, message, customProperties, severityLevel);\r\n var data = new applicationinsights_common_1.Data(applicationinsights_common_1.Trace.dataType, baseData);\r\n return EnvelopeCreator.createEnvelope(logger, applicationinsights_common_1.Trace.envelopeType, telemetryItem, data);\r\n };\r\n TraceEnvelopeCreator.TraceEnvelopeCreator = new TraceEnvelopeCreator();\r\n return TraceEnvelopeCreator;\r\n }(EnvelopeCreator));\r\n exports.TraceEnvelopeCreator = TraceEnvelopeCreator;\r\n});\r\n//# sourceMappingURL=EnvelopeCreator.js.map","define([\"require\", \"exports\", \"applicationinsights-common\", \"applicationinsights-core-js\"], function (require, exports, applicationinsights_common_1, applicationinsights_core_js_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /*\r\n * An array based send buffer.\r\n */\r\n var ArraySendBuffer = /** @class */ (function () {\r\n function ArraySendBuffer(config) {\r\n this._config = config;\r\n this._buffer = [];\r\n }\r\n ArraySendBuffer.prototype.enqueue = function (payload) {\r\n this._buffer.push(payload);\r\n };\r\n ArraySendBuffer.prototype.count = function () {\r\n return this._buffer.length;\r\n };\r\n ArraySendBuffer.prototype.clear = function () {\r\n this._buffer.length = 0;\r\n };\r\n ArraySendBuffer.prototype.getItems = function () {\r\n return this._buffer.slice(0);\r\n };\r\n ArraySendBuffer.prototype.batchPayloads = function (payload) {\r\n if (payload && payload.length > 0) {\r\n var batch = this._config.emitLineDelimitedJson() ?\r\n payload.join(\"\\n\") :\r\n \"[\" + payload.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n ArraySendBuffer.prototype.markAsSent = function (payload) {\r\n this.clear();\r\n };\r\n ArraySendBuffer.prototype.clearSent = function (payload) {\r\n // not supported\r\n };\r\n return ArraySendBuffer;\r\n }());\r\n exports.ArraySendBuffer = ArraySendBuffer;\r\n /*\r\n * Session storege buffer holds a copy of all unsent items in the browser session storage.\r\n */\r\n var SessionStorageSendBuffer = /** @class */ (function () {\r\n function SessionStorageSendBuffer(logger, config) {\r\n this._bufferFullMessageSent = false;\r\n this._logger = logger;\r\n this._config = config;\r\n var bufferItems = this.getBuffer(SessionStorageSendBuffer.BUFFER_KEY);\r\n var notDeliveredItems = this.getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n this._buffer = bufferItems.concat(notDeliveredItems);\r\n // If the buffer has too many items, drop items from the end.\r\n if (this._buffer.length > SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n this._buffer.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;\r\n }\r\n // update DataLossAnalyzer with the number of recovered items\r\n // Uncomment if you want to use DataLossanalyzer\r\n // DataLossAnalyzer.itemsRestoredFromSessionBuffer = this._buffer.length;\r\n this.setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);\r\n this.setBuffer(SessionStorageSendBuffer.BUFFER_KEY, this._buffer);\r\n }\r\n SessionStorageSendBuffer.prototype.enqueue = function (payload) {\r\n if (this._buffer.length >= SessionStorageSendBuffer.MAX_BUFFER_SIZE) {\r\n // sent internal log only once per page view\r\n if (!this._bufferFullMessageSent) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.SessionStorageBufferFull, \"Maximum buffer size reached: \" + this._buffer.length, true);\r\n this._bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n this._buffer.push(payload);\r\n this.setBuffer(SessionStorageSendBuffer.BUFFER_KEY, this._buffer);\r\n };\r\n SessionStorageSendBuffer.prototype.count = function () {\r\n return this._buffer.length;\r\n };\r\n SessionStorageSendBuffer.prototype.clear = function () {\r\n this._buffer.length = 0;\r\n this.setBuffer(SessionStorageSendBuffer.BUFFER_KEY, []);\r\n this.setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, []);\r\n this._bufferFullMessageSent = false;\r\n };\r\n SessionStorageSendBuffer.prototype.getItems = function () {\r\n return this._buffer.slice(0);\r\n };\r\n SessionStorageSendBuffer.prototype.batchPayloads = function (payload) {\r\n if (payload && payload.length > 0) {\r\n var batch = this._config.emitLineDelimitedJson() ?\r\n payload.join(\"\\n\") :\r\n \"[\" + payload.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n SessionStorageSendBuffer.prototype.markAsSent = function (payload) {\r\n this._buffer = this.removePayloadsFromBuffer(payload, this._buffer);\r\n this.setBuffer(SessionStorageSendBuffer.BUFFER_KEY, this._buffer);\r\n var sentElements = this.getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n if (sentElements instanceof Array && payload instanceof Array) {\r\n sentElements = sentElements.concat(payload);\r\n if (sentElements.length > SessionStorageSendBuffer.MAX_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 this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.SessionStorageBufferFull, \"Sent buffer reached its maximum size: \" + sentElements.length, true);\r\n sentElements.length = SessionStorageSendBuffer.MAX_BUFFER_SIZE;\r\n }\r\n this.setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);\r\n }\r\n };\r\n SessionStorageSendBuffer.prototype.clearSent = function (payload) {\r\n var sentElements = this.getBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY);\r\n sentElements = this.removePayloadsFromBuffer(payload, sentElements);\r\n this.setBuffer(SessionStorageSendBuffer.SENT_BUFFER_KEY, sentElements);\r\n };\r\n SessionStorageSendBuffer.prototype.removePayloadsFromBuffer = function (payloads, buffer) {\r\n var remaining = [];\r\n for (var i in buffer) {\r\n var contains = false;\r\n for (var j in payloads) {\r\n if (payloads[j] === buffer[i]) {\r\n contains = true;\r\n break;\r\n }\r\n }\r\n if (!contains) {\r\n remaining.push(buffer[i]);\r\n }\r\n }\r\n ;\r\n return remaining;\r\n };\r\n SessionStorageSendBuffer.prototype.getBuffer = function (key) {\r\n try {\r\n var bufferJson = applicationinsights_common_1.Util.getSessionStorage(this._logger, key);\r\n if (bufferJson) {\r\n var buffer = JSON.parse(bufferJson);\r\n if (buffer) {\r\n return buffer;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.FailedToRestoreStorageBuffer, \" storage key: \" + key + \", \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(e) });\r\n }\r\n return [];\r\n };\r\n SessionStorageSendBuffer.prototype.setBuffer = function (key, buffer) {\r\n try {\r\n var bufferJson = JSON.stringify(buffer);\r\n applicationinsights_common_1.Util.setSessionStorage(this._logger, key, 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 applicationinsights_common_1.Util.setSessionStorage(this._logger, key, JSON.stringify([]));\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.FailedToSetStorageBuffer, \" storage key: \" + key + \", \" + applicationinsights_common_1.Util.getExceptionName(e) + \". Buffer cleared\", { exception: applicationinsights_common_1.Util.dump(e) });\r\n }\r\n };\r\n SessionStorageSendBuffer.BUFFER_KEY = \"AI_buffer\";\r\n SessionStorageSendBuffer.SENT_BUFFER_KEY = \"AI_sentBuffer\";\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 }());\r\n exports.SessionStorageSendBuffer = SessionStorageSendBuffer;\r\n});\r\n//# sourceMappingURL=SendBuffer.js.map","define([\"require\", \"exports\", \"./SendBuffer\", \"./EnvelopeCreator\", \"./TelemetryValidation/EventValidator\", \"./TelemetryValidation/TraceValidator\", \"./TelemetryValidation/ExceptionValidator\", \"./TelemetryValidation/MetricValidator\", \"./TelemetryValidation/PageViewPerformanceValidator\", \"./TelemetryValidation/PageViewValidator\", \"./TelemetryValidation/RemoteDepdencyValidator\", \"./Serializer\", \"applicationinsights-common\", \"applicationinsights-core-js\", \"applicationinsights-core-js\"], function (require, exports, SendBuffer_1, EnvelopeCreator_1, EventValidator_1, TraceValidator_1, ExceptionValidator_1, MetricValidator_1, PageViewPerformanceValidator_1, PageViewValidator_1, RemoteDepdencyValidator_1, Serializer_1, applicationinsights_common_1, applicationinsights_core_js_1, applicationinsights_core_js_2) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Sender = /** @class */ (function () {\r\n function Sender() {\r\n this.priority = 201;\r\n /**\r\n * Whether XMLHttpRequest object is supported. Older version of IE (8,9) do not support it.\r\n */\r\n this._XMLHttpRequestSupported = false;\r\n }\r\n Sender.prototype.pause = function () {\r\n throw new Error(\"Method not implemented.\");\r\n };\r\n Sender.prototype.resume = function () {\r\n throw new Error(\"Method not implemented.\");\r\n };\r\n Sender.prototype.flush = function () {\r\n try {\r\n this.triggerSend();\r\n }\r\n catch (e) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.FlushFailed, \"flush failed, telemetry will not be collected: \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(e) });\r\n }\r\n };\r\n Sender.prototype.teardown = function () {\r\n throw new Error(\"Method not implemented.\");\r\n };\r\n Sender.prototype.initialize = function (config, core, extensions) {\r\n this.identifier = \"AppInsightsChannelPlugin\";\r\n this._logger = core.logger;\r\n this._serializer = new Serializer_1.Serializer(core.logger);\r\n this._consecutiveErrors = 0;\r\n this._retryAt = null;\r\n this._lastSend = 0;\r\n this._config = Sender._getDefaultAppInsightsChannelConfig(config, this.identifier);\r\n this._sender = null;\r\n this._buffer = (applicationinsights_common_1.Util.canUseSessionStorage() && this._config.enableSessionStorageBuffer)\r\n ? new SendBuffer_1.SessionStorageSendBuffer(this._logger, this._config) : new SendBuffer_1.ArraySendBuffer(this._config);\r\n if (!this._config.isBeaconApiDisabled() && applicationinsights_common_1.Util.IsBeaconApiSupported()) {\r\n this._sender = this._beaconSender;\r\n }\r\n else {\r\n if (typeof XMLHttpRequest != \"undefined\") {\r\n var testXhr = new XMLHttpRequest();\r\n if (\"withCredentials\" in testXhr) {\r\n this._sender = this._xhrSender;\r\n this._XMLHttpRequestSupported = true;\r\n }\r\n else if (typeof XDomainRequest !== \"undefined\") {\r\n this._sender = this._xdrSender; //IE 8 and 9\r\n }\r\n }\r\n }\r\n };\r\n Sender.prototype.processTelemetry = function (telemetryItem) {\r\n try {\r\n // if master off switch is set, don't send any data\r\n if (this._config.disableTelemetry()) {\r\n // Do not send/save data\r\n return;\r\n }\r\n // validate input\r\n if (!telemetryItem) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.CannotSendEmptyTelemetry, \"Cannot send empty telemetry\");\r\n return;\r\n }\r\n // ensure a sender was constructed\r\n if (!this._sender) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.SenderNotInitialized, \"Sender was not initialized\");\r\n return;\r\n }\r\n // first we need to validate that the envelope passed down is valid\r\n var isValid = Sender._validate(telemetryItem);\r\n if (!isValid) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TelemetryEnvelopeInvalid, \"Invalid telemetry envelope\");\r\n return;\r\n }\r\n // construct an envelope that Application Insights endpoint can understand\r\n var aiEnvelope = this._constructEnvelope(telemetryItem);\r\n if (!aiEnvelope) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.CreateEnvelopeError, \"Unable to create an AppInsights envelope\");\r\n return;\r\n }\r\n // check if the incoming payload is too large, truncate if necessary\r\n var payload = this._serializer.serialize(aiEnvelope);\r\n // flush if we would exceed the max-size limit by adding this item\r\n var bufferPayload = this._buffer.getItems();\r\n var batch = this._buffer.batchPayloads(bufferPayload);\r\n if (batch && (batch.length + payload.length > this._config.maxBatchSizeInBytes())) {\r\n this.triggerSend();\r\n }\r\n // enqueue the payload\r\n this._buffer.enqueue(payload);\r\n // ensure an invocation timeout is set\r\n this._setupTimer();\r\n }\r\n catch (e) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.FailedAddingTelemetryToBuffer, \"Failed adding telemetry to the sender's buffer, some telemetry will be lost: \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(e) });\r\n }\r\n // hand off the telemetry item to the next plugin\r\n if (!applicationinsights_core_js_2.CoreUtils.isNullOrUndefined(this._nextPlugin)) {\r\n this._nextPlugin.processTelemetry(telemetryItem);\r\n }\r\n };\r\n Sender.prototype.setNextPlugin = function (next) {\r\n this._nextPlugin = next;\r\n };\r\n /**\r\n * xhr state changes\r\n */\r\n Sender.prototype._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {\r\n if (xhr.readyState === 4) {\r\n var response = null;\r\n if (!this._appId) {\r\n response = this._parseResponse(xhr.responseText || xhr.response);\r\n if (response && response.appId) {\r\n this._appId = response.appId;\r\n }\r\n }\r\n if ((xhr.status < 200 || xhr.status >= 300) && xhr.status !== 0) {\r\n if (!this._config.isRetryDisabled() && this._isRetriable(xhr.status)) {\r\n this._resendPayload(payload);\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.TransmissionFailed, \". \" +\r\n \"Response code \" + xhr.status + \". Will retry to send \" + payload.length + \" items.\");\r\n }\r\n else {\r\n this._onError(payload, this._formatErrorMessageXhr(xhr));\r\n }\r\n }\r\n else {\r\n if (xhr.status === 206) {\r\n if (!response) {\r\n response = this._parseResponse(xhr.responseText || xhr.response);\r\n }\r\n if (response && !this._config.isRetryDisabled()) {\r\n this._onPartialSuccess(payload, response);\r\n }\r\n else {\r\n this._onError(payload, this._formatErrorMessageXhr(xhr));\r\n }\r\n }\r\n else {\r\n this._consecutiveErrors = 0;\r\n this._onSuccess(payload, countOfItemsInPayload);\r\n }\r\n }\r\n }\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 */\r\n Sender.prototype.triggerSend = function (async) {\r\n if (async === void 0) { async = true; }\r\n try {\r\n // Send data only if disableTelemetry is false\r\n if (!this._config.disableTelemetry()) {\r\n if (this._buffer.count() > 0) {\r\n var payload = this._buffer.getItems();\r\n // invoke send\r\n this._sender(payload, async);\r\n }\r\n // update lastSend time to enable throttling\r\n this._lastSend = +new Date;\r\n }\r\n else {\r\n this._buffer.clear();\r\n }\r\n clearTimeout(this._timeoutHandle);\r\n this._timeoutHandle = null;\r\n this._retryAt = null;\r\n }\r\n catch (e) {\r\n /* Ignore this error for IE under v10 */\r\n if (!applicationinsights_common_1.Util.getIEVersion() || applicationinsights_common_1.Util.getIEVersion() > 9) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TransmissionFailed, \"Telemetry transmission failed, some telemetry will be lost: \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(e) });\r\n }\r\n }\r\n };\r\n /**\r\n * error handler\r\n */\r\n Sender.prototype._onError = function (payload, message, event) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.OnError, \"Failed to send telemetry.\", { message: message });\r\n this._buffer.clearSent(payload);\r\n };\r\n /**\r\n * partial success handler\r\n */\r\n Sender.prototype._onPartialSuccess = function (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 (this._isRetriable(error.statusCode)) {\r\n retry.push(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.push(extracted);\r\n }\r\n }\r\n if (payload.length > 0) {\r\n this._onSuccess(payload, results.itemsAccepted);\r\n }\r\n if (failed.length > 0) {\r\n this._onError(failed, this._formatErrorMessageXhr(null, ['partial success', results.itemsAccepted, 'of', results.itemsReceived].join(' ')));\r\n }\r\n if (retry.length > 0) {\r\n this._resendPayload(retry);\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.TransmissionFailed, \"Partial success. \" +\r\n \"Delivered: \" + payload.length + \", Failed: \" + failed.length +\r\n \". Will retry to send \" + retry.length + \" our of \" + results.itemsReceived + \" items\");\r\n }\r\n };\r\n /**\r\n * success handler\r\n */\r\n Sender.prototype._onSuccess = function (payload, countOfItemsInPayload) {\r\n this._buffer.clearSent(payload);\r\n };\r\n /**\r\n * xdr state changes\r\n */\r\n Sender.prototype._xdrOnLoad = function (xdr, payload) {\r\n if (xdr && (xdr.responseText + \"\" === \"200\" || xdr.responseText === \"\")) {\r\n this._consecutiveErrors = 0;\r\n this._onSuccess(payload, 0);\r\n }\r\n else {\r\n var results = this._parseResponse(xdr.responseText);\r\n if (results && results.itemsReceived && results.itemsReceived > results.itemsAccepted\r\n && !this._config.isRetryDisabled()) {\r\n this._onPartialSuccess(payload, results);\r\n }\r\n else {\r\n this._onError(payload, this._formatErrorMessageXdr(xdr));\r\n }\r\n }\r\n };\r\n Sender.prototype._constructEnvelope = function (envelope) {\r\n switch (envelope.baseType) {\r\n case applicationinsights_common_1.Event.dataType:\r\n return EnvelopeCreator_1.EventEnvelopeCreator.EventEnvelopeCreator.Create(this._logger, envelope);\r\n case applicationinsights_common_1.Trace.dataType:\r\n return EnvelopeCreator_1.TraceEnvelopeCreator.TraceEnvelopeCreator.Create(this._logger, envelope);\r\n case applicationinsights_common_1.PageView.dataType:\r\n return EnvelopeCreator_1.PageViewEnvelopeCreator.PageViewEnvelopeCreator.Create(this._logger, envelope);\r\n case applicationinsights_common_1.PageViewPerformance.dataType:\r\n return EnvelopeCreator_1.PageViewPerformanceEnvelopeCreator.PageViewPerformanceEnvelopeCreator.Create(this._logger, envelope);\r\n case applicationinsights_common_1.Exception.dataType:\r\n return EnvelopeCreator_1.ExceptionEnvelopeCreator.ExceptionEnvelopeCreator.Create(this._logger, envelope);\r\n case applicationinsights_common_1.Metric.dataType:\r\n return EnvelopeCreator_1.MetricEnvelopeCreator.MetricEnvelopeCreator.Create(this._logger, envelope);\r\n case applicationinsights_common_1.RemoteDependencyData.dataType:\r\n return EnvelopeCreator_1.DependencyEnvelopeCreator.DependencyEnvelopeCreator.Create(this._logger, envelope);\r\n default:\r\n // default create custom event type\r\n return EnvelopeCreator_1.EventEnvelopeCreator.EventEnvelopeCreator.Create(this._logger, envelope);\r\n }\r\n };\r\n Sender._getDefaultAppInsightsChannelConfig = function (config, identifier) {\r\n var resultConfig = {};\r\n var pluginConfig = config.extensionConfig && config.extensionConfig[identifier] ? config.extensionConfig[identifier] : {};\r\n // set default values\r\n resultConfig.endpointUrl = function () { return config.endpointUrl || \"https://dc.services.visualstudio.com/v2/track\"; };\r\n resultConfig.emitLineDelimitedJson = function () { return applicationinsights_common_1.Util.stringToBoolOrDefault(pluginConfig.emitLineDelimitedJson); };\r\n resultConfig.maxBatchInterval = function () { return !isNaN(pluginConfig.maxBatchInterval) ? pluginConfig.maxBatchInterval : 15000; };\r\n resultConfig.maxBatchSizeInBytes = function () { return pluginConfig.maxBatchSizeInBytes > 0 ? pluginConfig.maxBatchSizeInBytes : 102400; }; // 100kb\r\n resultConfig.disableTelemetry = function () { return applicationinsights_common_1.Util.stringToBoolOrDefault(pluginConfig.disableTelemetry); };\r\n resultConfig.enableSessionStorageBuffer = function () { return applicationinsights_common_1.Util.stringToBoolOrDefault(pluginConfig.enableSessionStorageBuffer, true); };\r\n resultConfig.isRetryDisabled = function () { return applicationinsights_common_1.Util.stringToBoolOrDefault(pluginConfig.isRetryDisabled); };\r\n resultConfig.isBeaconApiDisabled = function () { return applicationinsights_common_1.Util.stringToBoolOrDefault(pluginConfig.isBeaconApiDisabled, true); };\r\n return resultConfig;\r\n };\r\n Sender._validate = function (envelope) {\r\n // call the appropriate Validate depending on the baseType\r\n switch (envelope.baseType) {\r\n case applicationinsights_common_1.Event.dataType:\r\n return EventValidator_1.EventValidator.EventValidator.Validate(envelope);\r\n case applicationinsights_common_1.Trace.dataType:\r\n return TraceValidator_1.TraceValidator.TraceValidator.Validate(envelope);\r\n case applicationinsights_common_1.Exception.dataType:\r\n return ExceptionValidator_1.ExceptionValidator.ExceptionValidator.Validate(envelope);\r\n case applicationinsights_common_1.Metric.dataType:\r\n return MetricValidator_1.MetricValidator.MetricValidator.Validate(envelope);\r\n case applicationinsights_common_1.PageView.dataType:\r\n return PageViewValidator_1.PageViewValidator.PageViewValidator.Validate(envelope);\r\n case applicationinsights_common_1.PageViewPerformance.dataType:\r\n return PageViewPerformanceValidator_1.PageViewPerformanceValidator.PageViewPerformanceValidator.Validate(envelope);\r\n case applicationinsights_common_1.RemoteDependencyData.dataType:\r\n return RemoteDepdencyValidator_1.RemoteDepdencyValidator.RemoteDepdencyValidator.Validate(envelope);\r\n default:\r\n return EventValidator_1.EventValidator.EventValidator.Validate(envelope);\r\n }\r\n };\r\n /**\r\n * Send Beacon API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {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 Sender.prototype._beaconSender = function (payload, isAsync) {\r\n var url = this._config.endpointUrl();\r\n var batch = this._buffer.batchPayloads(payload);\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 = new Blob([batch], { 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 = navigator.sendBeacon(url, plainTextBatch);\r\n if (queued) {\r\n this._buffer.markAsSent(payload);\r\n }\r\n else {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.TransmissionFailed, \". \" + \"Failed to send telemetry with Beacon API.\");\r\n }\r\n };\r\n /**\r\n * Send XMLHttpRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n */\r\n Sender.prototype._xhrSender = function (payload, isAsync) {\r\n var _this = this;\r\n var xhr = new XMLHttpRequest();\r\n xhr[applicationinsights_common_1.DisabledPropertyName] = true;\r\n xhr.open(\"POST\", this._config.endpointUrl(), isAsync);\r\n xhr.setRequestHeader(\"Content-type\", \"application/json\");\r\n // append Sdk-Context request header only in case of breeze endpoint \r\n if (applicationinsights_common_1.Util.isInternalApplicationInsightsEndpoint(this._config.endpointUrl())) {\r\n xhr.setRequestHeader(applicationinsights_common_1.RequestHeaders.sdkContextHeader, applicationinsights_common_1.RequestHeaders.sdkContextHeaderAppIdRequest);\r\n }\r\n xhr.onreadystatechange = function () { return _this._xhrReadyStateChange(xhr, payload, payload.length); };\r\n xhr.onerror = function (event) { return _this._onError(payload, _this._formatErrorMessageXhr(xhr), event); };\r\n // compose an array of payloads\r\n var batch = this._buffer.batchPayloads(payload);\r\n xhr.send(batch);\r\n this._buffer.markAsSent(payload);\r\n };\r\n /**\r\n * Parses the response from the backend.\r\n * @param response - XMLHttpRequest or XDomainRequest response\r\n */\r\n Sender.prototype._parseResponse = function (response) {\r\n try {\r\n if (response && response !== \"\") {\r\n var result = JSON.parse(response);\r\n if (result && result.itemsReceived && result.itemsReceived >= result.itemsAccepted &&\r\n result.itemsReceived - result.itemsAccepted == result.errors.length) {\r\n return result;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.InvalidBackendResponse, \"Cannot parse the response. \" + applicationinsights_common_1.Util.getExceptionName(e), {\r\n response: response\r\n });\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 Sender.prototype._resendPayload = function (payload) {\r\n if (!payload || payload.length === 0) {\r\n return;\r\n }\r\n this._buffer.clearSent(payload);\r\n this._consecutiveErrors++;\r\n for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {\r\n var item = payload_1[_i];\r\n this._buffer.enqueue(item);\r\n }\r\n // setup timer\r\n this._setRetryTime();\r\n this._setupTimer();\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 Sender.prototype._setRetryTime = function () {\r\n var SlotDelayInSeconds = 10;\r\n var delayInSeconds;\r\n if (this._consecutiveErrors <= 1) {\r\n delayInSeconds = SlotDelayInSeconds;\r\n }\r\n else {\r\n var backOffSlot = (Math.pow(2, this._consecutiveErrors) - 1) / 2;\r\n // tslint:disable-next-line:insecure-random\r\n var backOffDelay = Math.floor(Math.random() * backOffSlot * SlotDelayInSeconds) + 1;\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 = Date.now() + (delayInSeconds * 1000);\r\n // TODO: Log the retry at time like the C# version does.\r\n this._retryAt = retryAfterTimeSpan;\r\n };\r\n /**\r\n * Sets up the timer which triggers actually sending the data.\r\n */\r\n Sender.prototype._setupTimer = function () {\r\n var _this = this;\r\n if (!this._timeoutHandle) {\r\n var retryInterval = this._retryAt ? Math.max(0, this._retryAt - Date.now()) : 0;\r\n var timerValue = Math.max(this._config.maxBatchInterval(), retryInterval);\r\n this._timeoutHandle = setTimeout(function () {\r\n _this.triggerSend();\r\n }, timerValue);\r\n }\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 Sender.prototype._isRetriable = function (statusCode) {\r\n return statusCode == 408 // Timeout\r\n || statusCode == 429 // Too many requests.\r\n || statusCode == 500 // Internal server error.\r\n || statusCode == 503; // Service unavailable.\r\n };\r\n Sender.prototype._formatErrorMessageXhr = function (xhr, message) {\r\n if (xhr) {\r\n return \"XMLHttpRequest,Status:\" + xhr.status + \",Response:\" + xhr.responseText || xhr.response || \"\";\r\n }\r\n return message;\r\n };\r\n /**\r\n * Send XDomainRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\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 Sender.prototype._xdrSender = function (payload, isAsync) {\r\n var _this = this;\r\n var xdr = new XDomainRequest();\r\n xdr.onload = function () { return _this._xdrOnLoad(xdr, payload); };\r\n xdr.onerror = function (event) { return _this._onError(payload, _this._formatErrorMessageXdr(xdr), event); };\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.location.protocol;\r\n if (this._config.endpointUrl().lastIndexOf(hostingProtocol, 0) !== 0) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.TransmissionFailed, \". \" +\r\n \"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.\");\r\n this._buffer.clear();\r\n return;\r\n }\r\n var endpointUrl = this._config.endpointUrl().replace(/^(https?:)/, \"\");\r\n xdr.open('POST', endpointUrl);\r\n // compose an array of payloads\r\n var batch = this._buffer.batchPayloads(payload);\r\n xdr.send(batch);\r\n this._buffer.markAsSent(payload);\r\n };\r\n Sender.prototype._formatErrorMessageXdr = function (xdr, message) {\r\n if (xdr) {\r\n return \"XDomainRequest,Response:\" + xdr.responseText || \"\";\r\n }\r\n return message;\r\n };\r\n return Sender;\r\n }());\r\n exports.Sender = Sender;\r\n});\r\n//# sourceMappingURL=Sender.js.map","define([\"require\", \"exports\", \"applicationinsights-common\", \"applicationinsights-core-js\"], function (require, exports, applicationinsights_common_1, applicationinsights_core_js_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Serializer = /** @class */ (function () {\r\n function Serializer(logger) {\r\n this._logger = logger;\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 var output = this._serializeObject(input, \"root\");\r\n return JSON.stringify(output);\r\n };\r\n Serializer.prototype._serializeObject = function (source, name) {\r\n var circularReferenceCheck = \"__aiCircularRefCheck\";\r\n var output = {};\r\n if (!source) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.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 this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.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 = this._serializeStringMap(source, \"number\", name);\r\n }\r\n else if (name === \"properties\") {\r\n output = this._serializeStringMap(source, \"string\", name);\r\n }\r\n else if (name === \"tags\") {\r\n output = this._serializeStringMap(source, \"string\", name);\r\n }\r\n else if (applicationinsights_common_1.Util.isArray(source)) {\r\n output = this._serializeArray(source, name);\r\n }\r\n else {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.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 JSON.stringify(source);\r\n output = source;\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.CannotSerializeObject, (e && typeof e.toString === 'function') ? e.toString() : \"Error serializing object\", null, true);\r\n }\r\n }\r\n return output;\r\n }\r\n source[circularReferenceCheck] = true;\r\n for (var field in source.aiDataContract) {\r\n var contract = source.aiDataContract[field];\r\n var isRequired = (typeof contract === \"function\") ? (contract() & applicationinsights_common_1.FieldType.Required) : (contract & applicationinsights_common_1.FieldType.Required);\r\n var isHidden = (typeof contract === \"function\") ? (contract() & applicationinsights_common_1.FieldType.Hidden) : (contract & applicationinsights_common_1.FieldType.Hidden);\r\n var isArray = contract & applicationinsights_common_1.FieldType.Array;\r\n var isPresent = source[field] !== undefined;\r\n var isObject = typeof source[field] === \"object\" && source[field] !== null;\r\n if (isRequired && !isPresent && !isArray) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.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 continue;\r\n }\r\n if (isHidden) {\r\n // Don't serialize hidden fields\r\n continue;\r\n }\r\n var value;\r\n if (isObject) {\r\n if (isArray) {\r\n // special case; resurse on each object in the source array\r\n value = this._serializeArray(source[field], field);\r\n }\r\n else {\r\n // recurse on the source object in this field\r\n value = this._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 delete source[circularReferenceCheck];\r\n return output;\r\n };\r\n Serializer.prototype._serializeArray = function (sources, name) {\r\n var output = undefined;\r\n if (!!sources) {\r\n if (!applicationinsights_common_1.Util.isArray(sources)) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.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.length; i++) {\r\n var source = sources[i];\r\n var item = this._serializeObject(source, name + \"[\" + i + \"]\");\r\n output.push(item);\r\n }\r\n }\r\n }\r\n return output;\r\n };\r\n Serializer.prototype._serializeStringMap = function (map, expectedType, name) {\r\n var output = undefined;\r\n if (map) {\r\n output = {};\r\n for (var field in map) {\r\n var value = map[field];\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.toString) {\r\n output[field] = \"invalid field: toString() is not defined.\";\r\n }\r\n else {\r\n output[field] = value.toString();\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 if (isNaN(num)) {\r\n output[field] = \"NaN\";\r\n }\r\n else {\r\n output[field] = num;\r\n }\r\n }\r\n }\r\n else {\r\n output[field] = \"invalid field: \" + name + \" is of unknown type.\";\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, output[field], null, true);\r\n }\r\n }\r\n }\r\n return output;\r\n };\r\n return Serializer;\r\n }());\r\n exports.Serializer = Serializer;\r\n});\r\n//# sourceMappingURL=Serializer.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var EventValidator = /** @class */ (function () {\r\n function EventValidator() {\r\n }\r\n EventValidator.prototype.Validate = function (item) {\r\n /* TODO re-enable once design of iTelemetryItem is finalized. Task used to track this:\r\n https://mseng.visualstudio.com/AppInsights/_workitems/edit/1310871\r\n \r\n // verify system properties has a ver field\r\n if (!item.sytemProperties || !item.sytemProperties[\"ver\"]) {\r\n return false;\r\n }\r\n \r\n if (!item.domainProperties || !item.domainProperties[\"name\"]) {\r\n return false;\r\n }\r\n */\r\n return true;\r\n };\r\n EventValidator.EventValidator = new EventValidator();\r\n return EventValidator;\r\n }());\r\n exports.EventValidator = EventValidator;\r\n});\r\n//# sourceMappingURL=EventValidator.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var ExceptionValidator = /** @class */ (function () {\r\n function ExceptionValidator() {\r\n }\r\n ExceptionValidator.prototype.Validate = function (item) {\r\n /* TODO re-enable once design of iTelemetryItem is finalized. Task used to track this:\r\n https://mseng.visualstudio.com/AppInsights/_workitems/edit/1310871\r\n \r\n // verify system properties has a ver field\r\n if (!item.sytemProperties ||\r\n !item.sytemProperties[\"ver\"]) {\r\n return false;\r\n }\r\n \r\n if (!item.domainProperties ||\r\n !item.domainProperties[\"exceptions\"] ||\r\n !ExceptionValidator._validateExceptions(item.domainProperties[\"exceptions\"])) {\r\n return false;\r\n }\r\n */\r\n return true;\r\n };\r\n // TODO implement validation of exceptions\r\n ExceptionValidator._validateExceptions = function (exceptions) {\r\n // typeName\r\n // message\r\n // parsedStack\r\n // stack\r\n // hasFullStack\r\n return true;\r\n };\r\n ExceptionValidator.ExceptionValidator = new ExceptionValidator();\r\n return ExceptionValidator;\r\n }());\r\n exports.ExceptionValidator = ExceptionValidator;\r\n});\r\n//# sourceMappingURL=ExceptionValidator.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var MetricValidator = /** @class */ (function () {\r\n function MetricValidator() {\r\n }\r\n MetricValidator.prototype.Validate = function (event) {\r\n return true;\r\n };\r\n MetricValidator.MetricValidator = new MetricValidator();\r\n return MetricValidator;\r\n }());\r\n exports.MetricValidator = MetricValidator;\r\n});\r\n//# sourceMappingURL=MetricValidator.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var PageViewPerformanceValidator = /** @class */ (function () {\r\n function PageViewPerformanceValidator() {\r\n }\r\n PageViewPerformanceValidator.prototype.Validate = function (item) {\r\n /* TODO re-enable once design of iTelemetryItem is finalized. Task used to track this:\r\n https://mseng.visualstudio.com/AppInsights/_workitems/edit/1310871\r\n \r\n // verify system properties has a ver field\r\n if (!item.sytemProperties ||\r\n !item.sytemProperties[\"ver\"]) {\r\n return false;\r\n }\r\n \r\n if (!item.domainProperties ||\r\n !item.domainProperties[\"domProcessing\"] ||\r\n !item.domainProperties[\"duration\"] ||\r\n !item.domainProperties[\"name\"] ||\r\n !item.domainProperties[\"networkConnect\"] ||\r\n !item.domainProperties[\"perfTotal\"] ||\r\n !item.domainProperties[\"receivedResponse\"] ||\r\n !item.domainProperties[\"sentRequest\"] ||\r\n !item.domainProperties[\"url\"]) {\r\n return false;\r\n }\r\n */\r\n return true;\r\n };\r\n PageViewPerformanceValidator.PageViewPerformanceValidator = new PageViewPerformanceValidator();\r\n return PageViewPerformanceValidator;\r\n }());\r\n exports.PageViewPerformanceValidator = PageViewPerformanceValidator;\r\n});\r\n//# sourceMappingURL=PageViewPerformanceValidator.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var PageViewValidator = /** @class */ (function () {\r\n function PageViewValidator() {\r\n }\r\n PageViewValidator.prototype.Validate = function (item) {\r\n /* TODO re-enable once design of iTelemetryItem is finalized. Task used to track this:\r\n https://mseng.visualstudio.com/AppInsights/_workitems/edit/1310871\r\n \r\n // verify system properties has a ver field\r\n if (!item.sytemProperties ||\r\n !item.sytemProperties[\"ver\"]) {\r\n return false;\r\n }\r\n \r\n if (!item.domainProperties ||\r\n !item.domainProperties[\"id\"] ||\r\n !item.domainProperties[\"name\"] ||\r\n !item.domainProperties[\"duration\"] ||\r\n !item.domainProperties[\"url\"]) {\r\n return false;\r\n }\r\n */\r\n return true;\r\n };\r\n PageViewValidator.PageViewValidator = new PageViewValidator();\r\n return PageViewValidator;\r\n }());\r\n exports.PageViewValidator = PageViewValidator;\r\n});\r\n//# sourceMappingURL=PageViewValidator.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var RemoteDepdencyValidator = /** @class */ (function () {\r\n function RemoteDepdencyValidator() {\r\n }\r\n RemoteDepdencyValidator.prototype.Validate = function (item) {\r\n /* TODO re-enable once design of iTelemetryItem is finalized. Task used to track this:\r\n https://mseng.visualstudio.com/AppInsights/_workitems/edit/1310871\r\n \r\n // verify system properties has a ver field\r\n if (!item.sytemProperties ||\r\n !item.sytemProperties[\"ver\"]) {\r\n return false;\r\n }\r\n \r\n if (!item.domainProperties ||\r\n !item.domainProperties[\"id\"] ||\r\n !item.domainProperties[\"name\"] ||\r\n !item.domainProperties[\"resultCode\"] ||\r\n !item.domainProperties[\"duration\"] ||\r\n !item.domainProperties[\"success\"] ||\r\n !item.domainProperties[\"data\"] ||\r\n !item.domainProperties[\"target\"] ||\r\n !item.domainProperties[\"type\"]) {\r\n return false;\r\n }\r\n */\r\n return true;\r\n };\r\n RemoteDepdencyValidator.RemoteDepdencyValidator = new RemoteDepdencyValidator();\r\n return RemoteDepdencyValidator;\r\n }());\r\n exports.RemoteDepdencyValidator = RemoteDepdencyValidator;\r\n});\r\n//# sourceMappingURL=RemoteDepdencyValidator.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var TraceValidator = /** @class */ (function () {\r\n function TraceValidator() {\r\n }\r\n TraceValidator.prototype.Validate = function (item) {\r\n /* TODO re-enable once design of iTelemetryItem is finalized. Task used to track this:\r\n https://mseng.visualstudio.com/AppInsights/_workitems/edit/1310871\r\n \r\n // verify system properties has a ver field\r\n if (!item.sytemProperties ||\r\n !item.sytemProperties[\"ver\"]) {\r\n return false;\r\n }\r\n \r\n if (!item.domainProperties ||\r\n !item.domainProperties[\"message\"] ||\r\n !item.domainProperties[\"severityLevel\"]) {\r\n return false;\r\n }\r\n */\r\n return true;\r\n };\r\n TraceValidator.TraceValidator = new TraceValidator();\r\n return TraceValidator;\r\n }());\r\n exports.TraceValidator = TraceValidator;\r\n});\r\n//# sourceMappingURL=TraceValidator.js.map","define([\"require\", \"exports\", \"./Sender\"], function (require, exports, Sender_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n exports.Sender = Sender_1.Sender;\r\n});\r\n//# sourceMappingURL=applicationinsights-channel-js.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n exports.DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\n});\r\n//# sourceMappingURL=Constants.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * Type of storage to differentiate between local storage and session storage\r\n */\r\n var StorageType;\r\n (function (StorageType) {\r\n StorageType[StorageType[\"LocalStorage\"] = 0] = \"LocalStorage\";\r\n StorageType[StorageType[\"SessionStorage\"] = 1] = \"SessionStorage\";\r\n })(StorageType = exports.StorageType || (exports.StorageType = {}));\r\n /**\r\n * Enum is used in aiDataContract to describe how fields are serialized.\r\n * For instance: (Fieldtype.Required | FieldType.Array) will mark the field as required and indicate it's an array\r\n */\r\n var FieldType;\r\n (function (FieldType) {\r\n FieldType[FieldType[\"Default\"] = 0] = \"Default\";\r\n FieldType[FieldType[\"Required\"] = 1] = \"Required\";\r\n FieldType[FieldType[\"Array\"] = 2] = \"Array\";\r\n FieldType[FieldType[\"Hidden\"] = 4] = \"Hidden\";\r\n })(FieldType = exports.FieldType || (exports.FieldType = {}));\r\n ;\r\n});\r\n//# sourceMappingURL=Enums.js.map","// THIS FILE WAS AUTOGENERATED\r\ndefine([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * Data struct to contain only C section with custom fields.\r\n */\r\n var Base = /** @class */ (function () {\r\n function Base() {\r\n }\r\n return Base;\r\n }());\r\n exports.Base = Base;\r\n});\r\n//# sourceMappingURL=Base.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n // THIS FILE WAS AUTOGENERATED\r\n var ContextTagKeys = /** @class */ (function () {\r\n function ContextTagKeys() {\r\n this.applicationVersion = \"ai.application.ver\";\r\n this.applicationBuild = \"ai.application.build\";\r\n this.applicationTypeId = \"ai.application.typeId\";\r\n this.applicationId = \"ai.application.applicationId\";\r\n this.applicationLayer = \"ai.application.layer\";\r\n this.deviceId = \"ai.device.id\";\r\n this.deviceIp = \"ai.device.ip\";\r\n this.deviceLanguage = \"ai.device.language\";\r\n this.deviceLocale = \"ai.device.locale\";\r\n this.deviceModel = \"ai.device.model\";\r\n this.deviceFriendlyName = \"ai.device.friendlyName\";\r\n this.deviceNetwork = \"ai.device.network\";\r\n this.deviceNetworkName = \"ai.device.networkName\";\r\n this.deviceOEMName = \"ai.device.oemName\";\r\n this.deviceOS = \"ai.device.os\";\r\n this.deviceOSVersion = \"ai.device.osVersion\";\r\n this.deviceRoleInstance = \"ai.device.roleInstance\";\r\n this.deviceRoleName = \"ai.device.roleName\";\r\n this.deviceScreenResolution = \"ai.device.screenResolution\";\r\n this.deviceType = \"ai.device.type\";\r\n this.deviceMachineName = \"ai.device.machineName\";\r\n this.deviceVMName = \"ai.device.vmName\";\r\n this.deviceBrowser = \"ai.device.browser\";\r\n this.deviceBrowserVersion = \"ai.device.browserVersion\";\r\n this.locationIp = \"ai.location.ip\";\r\n this.locationCountry = \"ai.location.country\";\r\n this.locationProvince = \"ai.location.province\";\r\n this.locationCity = \"ai.location.city\";\r\n this.operationId = \"ai.operation.id\";\r\n this.operationName = \"ai.operation.name\";\r\n this.operationParentId = \"ai.operation.parentId\";\r\n this.operationRootId = \"ai.operation.rootId\";\r\n this.operationSyntheticSource = \"ai.operation.syntheticSource\";\r\n this.operationCorrelationVector = \"ai.operation.correlationVector\";\r\n this.sessionId = \"ai.session.id\";\r\n this.sessionIsFirst = \"ai.session.isFirst\";\r\n this.sessionIsNew = \"ai.session.isNew\";\r\n this.userAccountAcquisitionDate = \"ai.user.accountAcquisitionDate\";\r\n this.userAccountId = \"ai.user.accountId\";\r\n this.userAgent = \"ai.user.userAgent\";\r\n this.userId = \"ai.user.id\";\r\n this.userStoreRegion = \"ai.user.storeRegion\";\r\n this.userAuthUserId = \"ai.user.authUserId\";\r\n this.userAnonymousUserAcquisitionDate = \"ai.user.anonUserAcquisitionDate\";\r\n this.userAuthenticatedUserAcquisitionDate = \"ai.user.authUserAcquisitionDate\";\r\n this.cloudName = \"ai.cloud.name\";\r\n this.cloudRole = \"ai.cloud.role\";\r\n this.cloudRoleVer = \"ai.cloud.roleVer\";\r\n this.cloudRoleInstance = \"ai.cloud.roleInstance\";\r\n this.cloudEnvironment = \"ai.cloud.environment\";\r\n this.cloudLocation = \"ai.cloud.location\";\r\n this.cloudDeploymentUnit = \"ai.cloud.deploymentUnit\";\r\n this.internalSdkVersion = \"ai.internal.sdkVersion\";\r\n this.internalAgentVersion = \"ai.internal.agentVersion\";\r\n this.internalNodeName = \"ai.internal.nodeName\";\r\n }\r\n return ContextTagKeys;\r\n }());\r\n exports.ContextTagKeys = ContextTagKeys;\r\n});\r\n//# sourceMappingURL=ContextTagKeys.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"./Base\"], function (require, exports, Base_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * Data struct to contain both B and C sections.\r\n */\r\n var Data = /** @class */ (function (_super) {\r\n __extends(Data, _super);\r\n function Data() {\r\n return _super.call(this) || this;\r\n }\r\n return Data;\r\n }(Base_1.Base));\r\n exports.Data = Data;\r\n});\r\n//# sourceMappingURL=Data.js.map","define([\"require\", \"exports\", \"./DataPointType\"], function (require, exports, DataPointType_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * Metric data single measurement.\r\n */\r\n var DataPoint = /** @class */ (function () {\r\n function DataPoint() {\r\n this.kind = DataPointType_1.DataPointType.Measurement;\r\n }\r\n return DataPoint;\r\n }());\r\n exports.DataPoint = DataPoint;\r\n});\r\n//# sourceMappingURL=DataPoint.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n // THIS FILE WAS AUTOGENERATED\r\n /**\r\n * Type of the metric data measurement.\r\n */\r\n var DataPointType;\r\n (function (DataPointType) {\r\n DataPointType[DataPointType[\"Measurement\"] = 0] = \"Measurement\";\r\n DataPointType[DataPointType[\"Aggregation\"] = 1] = \"Aggregation\";\r\n })(DataPointType = exports.DataPointType || (exports.DataPointType = {}));\r\n});\r\n//# sourceMappingURL=DataPointType.js.map","// THIS FILE WAS AUTOGENERATED\r\ndefine([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * The abstract common base of all domains.\r\n */\r\n var Domain = /** @class */ (function () {\r\n function Domain() {\r\n }\r\n return Domain;\r\n }());\r\n exports.Domain = Domain;\r\n});\r\n//# sourceMappingURL=Domain.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * System variables for a telemetry item.\r\n */\r\n var Envelope = /** @class */ (function () {\r\n function Envelope() {\r\n this.ver = 1;\r\n this.sampleRate = 100.0;\r\n this.tags = {};\r\n }\r\n return Envelope;\r\n }());\r\n exports.Envelope = Envelope;\r\n});\r\n//# sourceMappingURL=Envelope.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"./Domain\"], function (require, exports, Domain_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * Instances of Event represent structured event records that can be grouped and searched by their properties. Event data item also creates a metric of event count by name.\r\n */\r\n var EventData = /** @class */ (function (_super) {\r\n __extends(EventData, _super);\r\n function EventData() {\r\n var _this = _super.call(this) || this;\r\n _this.ver = 2;\r\n _this.properties = {};\r\n _this.measurements = {};\r\n return _this;\r\n }\r\n return EventData;\r\n }(Domain_1.Domain));\r\n exports.EventData = EventData;\r\n});\r\n//# sourceMappingURL=EventData.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"./Domain\"], function (require, exports, Domain_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * An instance of Exception represents a handled or unhandled exception that occurred during execution of the monitored application.\r\n */\r\n var ExceptionData = /** @class */ (function (_super) {\r\n __extends(ExceptionData, _super);\r\n function ExceptionData() {\r\n var _this = _super.call(this) || this;\r\n _this.ver = 2;\r\n _this.exceptions = [];\r\n _this.properties = {};\r\n _this.measurements = {};\r\n return _this;\r\n }\r\n return ExceptionData;\r\n }(Domain_1.Domain));\r\n exports.ExceptionData = ExceptionData;\r\n});\r\n//# sourceMappingURL=ExceptionData.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * Exception details of the exception in a chain.\r\n */\r\n var ExceptionDetails = /** @class */ (function () {\r\n function ExceptionDetails() {\r\n this.hasFullStack = true;\r\n this.parsedStack = [];\r\n }\r\n return ExceptionDetails;\r\n }());\r\n exports.ExceptionDetails = ExceptionDetails;\r\n});\r\n//# sourceMappingURL=ExceptionDetails.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"./Domain\"], function (require, exports, Domain_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * Instances of Message represent printf-like trace statements that are text-searched. Log4Net, NLog and other text-based log file entries are translated into intances of this type. The message does not have measurements.\r\n */\r\n var MessageData = /** @class */ (function (_super) {\r\n __extends(MessageData, _super);\r\n function MessageData() {\r\n var _this = _super.call(this) || this;\r\n _this.ver = 2;\r\n _this.properties = {};\r\n return _this;\r\n }\r\n return MessageData;\r\n }(Domain_1.Domain));\r\n exports.MessageData = MessageData;\r\n});\r\n//# sourceMappingURL=MessageData.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"./Domain\"], function (require, exports, Domain_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * An instance of the Metric item is a list of measurements (single data points) and/or aggregations.\r\n */\r\n var MetricData = /** @class */ (function (_super) {\r\n __extends(MetricData, _super);\r\n function MetricData() {\r\n var _this = _super.call(this) || this;\r\n _this.ver = 2;\r\n _this.metrics = [];\r\n _this.properties = {};\r\n return _this;\r\n }\r\n return MetricData;\r\n }(Domain_1.Domain));\r\n exports.MetricData = MetricData;\r\n});\r\n//# sourceMappingURL=MetricData.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"./EventData\"], function (require, exports, EventData_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * An instance of PageView represents a generic action on a page like a button click. It is also the base type for PageView.\r\n */\r\n var PageViewData = /** @class */ (function (_super) {\r\n __extends(PageViewData, _super);\r\n function PageViewData() {\r\n var _this = _super.call(this) || this;\r\n _this.ver = 2;\r\n _this.properties = {};\r\n _this.measurements = {};\r\n return _this;\r\n }\r\n return PageViewData;\r\n }(EventData_1.EventData));\r\n exports.PageViewData = PageViewData;\r\n});\r\n//# sourceMappingURL=PageViewData.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"./PageViewData\"], function (require, exports, PageViewData_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * An instance of PageViewPerf represents: a page view with no performance data, a page view with performance data, or just the performance data of an earlier page request.\r\n */\r\n var PageViewPerfData = /** @class */ (function (_super) {\r\n __extends(PageViewPerfData, _super);\r\n function PageViewPerfData() {\r\n var _this = _super.call(this) || this;\r\n _this.ver = 2;\r\n _this.properties = {};\r\n _this.measurements = {};\r\n return _this;\r\n }\r\n return PageViewPerfData;\r\n }(PageViewData_1.PageViewData));\r\n exports.PageViewPerfData = PageViewPerfData;\r\n});\r\n//# sourceMappingURL=PageViewPerfData.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"./Domain\"], function (require, exports, Domain_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * An instance of Remote Dependency represents an interaction of the monitored component with a remote component/service like SQL or an HTTP endpoint.\r\n */\r\n var RemoteDependencyData = /** @class */ (function (_super) {\r\n __extends(RemoteDependencyData, _super);\r\n function RemoteDependencyData() {\r\n var _this = _super.call(this) || this;\r\n _this.ver = 2;\r\n _this.success = true;\r\n _this.properties = {};\r\n _this.measurements = {};\r\n return _this;\r\n }\r\n return RemoteDependencyData;\r\n }(Domain_1.Domain));\r\n exports.RemoteDependencyData = RemoteDependencyData;\r\n});\r\n//# sourceMappingURL=RemoteDependencyData.js.map","// THIS FILE WAS AUTOGENERATED\r\ndefine([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * Defines the level of severity for the event.\r\n */\r\n var SeverityLevel;\r\n (function (SeverityLevel) {\r\n SeverityLevel[SeverityLevel[\"Verbose\"] = 0] = \"Verbose\";\r\n SeverityLevel[SeverityLevel[\"Information\"] = 1] = \"Information\";\r\n SeverityLevel[SeverityLevel[\"Warning\"] = 2] = \"Warning\";\r\n SeverityLevel[SeverityLevel[\"Error\"] = 3] = \"Error\";\r\n SeverityLevel[SeverityLevel[\"Critical\"] = 4] = \"Critical\";\r\n })(SeverityLevel = exports.SeverityLevel || (exports.SeverityLevel = {}));\r\n});\r\n//# sourceMappingURL=SeverityLevel.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n // THIS FILE WAS AUTOGENERATED\r\n /**\r\n * Stack frame information.\r\n */\r\n var StackFrame = /** @class */ (function () {\r\n function StackFrame() {\r\n }\r\n return StackFrame;\r\n }());\r\n exports.StackFrame = StackFrame;\r\n});\r\n//# sourceMappingURL=StackFrame.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var RequestHeaders = /** @class */ (function () {\r\n function RequestHeaders() {\r\n }\r\n /**\r\n * Request-Context header\r\n */\r\n RequestHeaders.requestContextHeader = \"Request-Context\";\r\n /**\r\n * Target instrumentation header that is added to the response and retrieved by the\r\n * calling application when processing incoming responses.\r\n */\r\n RequestHeaders.requestContextTargetKey = \"appId\";\r\n /**\r\n * Request-Context appId format\r\n */\r\n RequestHeaders.requestContextAppIdFormat = \"appId=cid-v1:\";\r\n /**\r\n * Request-Id header\r\n */\r\n RequestHeaders.requestIdHeader = \"Request-Id\";\r\n /**\r\n * Sdk-Context header\r\n * If this header passed with appId in content then appId will be returned back by the backend.\r\n */\r\n RequestHeaders.sdkContextHeader = \"Sdk-Context\";\r\n /**\r\n * String to pass in header for requesting appId back from the backend.\r\n */\r\n RequestHeaders.sdkContextHeaderAppIdRequest = \"appId\";\r\n RequestHeaders.requestContextHeaderLowerCase = \"request-context\";\r\n return RequestHeaders;\r\n }());\r\n exports.RequestHeaders = RequestHeaders;\r\n});\r\n//# sourceMappingURL=RequestResponseHeaders.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"../../Interfaces/Contracts/Generated/Data\", \"../../Enums\"], function (require, exports, Data_1, Enums_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Data = /** @class */ (function (_super) {\r\n __extends(Data, _super);\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Data(baseType, data) {\r\n var _this = _super.call(this) || this;\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n _this.aiDataContract = {\r\n baseType: Enums_1.FieldType.Required,\r\n baseData: Enums_1.FieldType.Required\r\n };\r\n _this.baseType = baseType;\r\n _this.baseData = data;\r\n return _this;\r\n }\r\n return Data;\r\n }(Data_1.Data));\r\n exports.Data = Data;\r\n});\r\n//# sourceMappingURL=Data.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"../../Interfaces/Contracts/Generated/DataPoint\", \"../../Enums\"], function (require, exports, DataPoint_1, Enums_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var DataPoint = /** @class */ (function (_super) {\r\n __extends(DataPoint, _super);\r\n function DataPoint() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n _this.aiDataContract = {\r\n name: Enums_1.FieldType.Required,\r\n kind: Enums_1.FieldType.Default,\r\n value: Enums_1.FieldType.Required,\r\n count: Enums_1.FieldType.Default,\r\n min: Enums_1.FieldType.Default,\r\n max: Enums_1.FieldType.Default,\r\n stdDev: Enums_1.FieldType.Default\r\n };\r\n return _this;\r\n }\r\n return DataPoint;\r\n }(DataPoint_1.DataPoint));\r\n exports.DataPoint = DataPoint;\r\n});\r\n//# sourceMappingURL=DataPoint.js.map","define([\"require\", \"exports\", \"applicationinsights-core-js\", \"../../Util\"], function (require, exports, applicationinsights_core_js_1, Util_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var DataSanitizer = /** @class */ (function () {\r\n function DataSanitizer() {\r\n }\r\n DataSanitizer.sanitizeKeyAndAddUniqueness = function (logger, key, map) {\r\n var origLength = key.length;\r\n var field = DataSanitizer.sanitizeKey(logger, key);\r\n // validation truncated the length. We need to add uniqueness\r\n if (field.length !== origLength) {\r\n var i = 0;\r\n var uniqueField = field;\r\n while (map[uniqueField] !== undefined) {\r\n i++;\r\n uniqueField = field.substring(0, DataSanitizer.MAX_NAME_LENGTH - 3) + DataSanitizer.padNumber(i);\r\n }\r\n field = uniqueField;\r\n }\r\n return field;\r\n };\r\n DataSanitizer.sanitizeKey = function (logger, name) {\r\n if (name) {\r\n // Remove any leading or trailing whitepace\r\n name = Util_1.Util.trim(name.toString());\r\n // truncate the string to 150 chars\r\n if (name.length > DataSanitizer.MAX_NAME_LENGTH) {\r\n name = name.substring(0, DataSanitizer.MAX_NAME_LENGTH);\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.NameTooLong, \"name is too long. It has been truncated to \" + DataSanitizer.MAX_NAME_LENGTH + \" characters.\", { name: name }, true);\r\n }\r\n }\r\n return name;\r\n };\r\n DataSanitizer.sanitizeString = function (logger, value, maxLength) {\r\n if (maxLength === void 0) { maxLength = DataSanitizer.MAX_STRING_LENGTH; }\r\n if (value) {\r\n maxLength = maxLength ? maxLength : DataSanitizer.MAX_STRING_LENGTH; // in case default parameters dont work\r\n value = Util_1.Util.trim(value);\r\n if (value.toString().length > maxLength) {\r\n value = value.toString().substring(0, maxLength);\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.StringValueTooLong, \"string value is too long. It has been truncated to \" + maxLength + \" characters.\", { value: value }, true);\r\n }\r\n }\r\n return value;\r\n };\r\n DataSanitizer.sanitizeUrl = function (logger, url) {\r\n return DataSanitizer.sanitizeInput(logger, url, DataSanitizer.MAX_URL_LENGTH, applicationinsights_core_js_1._InternalMessageId.UrlTooLong);\r\n };\r\n DataSanitizer.sanitizeMessage = function (logger, message) {\r\n if (message) {\r\n if (message.length > DataSanitizer.MAX_MESSAGE_LENGTH) {\r\n message = message.substring(0, DataSanitizer.MAX_MESSAGE_LENGTH);\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.MessageTruncated, \"message is too long, it has been truncated to \" + DataSanitizer.MAX_MESSAGE_LENGTH + \" characters.\", { message: message }, true);\r\n }\r\n }\r\n return message;\r\n };\r\n DataSanitizer.sanitizeException = function (logger, exception) {\r\n if (exception) {\r\n if (exception.length > DataSanitizer.MAX_EXCEPTION_LENGTH) {\r\n exception = exception.substring(0, DataSanitizer.MAX_EXCEPTION_LENGTH);\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.ExceptionTruncated, \"exception is too long, it has been truncated to \" + DataSanitizer.MAX_EXCEPTION_LENGTH + \" characters.\", { exception: exception }, true);\r\n }\r\n }\r\n return exception;\r\n };\r\n DataSanitizer.sanitizeProperties = function (logger, properties) {\r\n if (properties) {\r\n var tempProps = {};\r\n for (var prop in properties) {\r\n var value = DataSanitizer.sanitizeString(logger, properties[prop], DataSanitizer.MAX_PROPERTY_LENGTH);\r\n prop = DataSanitizer.sanitizeKeyAndAddUniqueness(logger, prop, tempProps);\r\n tempProps[prop] = value;\r\n }\r\n properties = tempProps;\r\n }\r\n return properties;\r\n };\r\n DataSanitizer.sanitizeMeasurements = function (logger, measurements) {\r\n if (measurements) {\r\n var tempMeasurements = {};\r\n for (var measure in measurements) {\r\n var value = measurements[measure];\r\n measure = DataSanitizer.sanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements);\r\n tempMeasurements[measure] = value;\r\n }\r\n measurements = tempMeasurements;\r\n }\r\n return measurements;\r\n };\r\n DataSanitizer.sanitizeId = function (logger, id) {\r\n return id ? DataSanitizer.sanitizeInput(logger, id, DataSanitizer.MAX_ID_LENGTH, applicationinsights_core_js_1._InternalMessageId.IdTooLong).toString() : id;\r\n };\r\n DataSanitizer.sanitizeInput = function (logger, input, maxLength, _msgId) {\r\n if (input) {\r\n input = Util_1.Util.trim(input);\r\n if (input.length > maxLength) {\r\n input = input.substring(0, maxLength);\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, _msgId, \"input is too long, it has been truncated to \" + maxLength + \" characters.\", { data: input }, true);\r\n }\r\n }\r\n return input;\r\n };\r\n DataSanitizer.padNumber = function (num) {\r\n var s = \"00\" + num;\r\n return s.substr(s.length - 3);\r\n };\r\n /**\r\n * Max length allowed for custom names.\r\n */\r\n DataSanitizer.MAX_NAME_LENGTH = 150;\r\n /**\r\n * Max length allowed for Id field in page views.\r\n */\r\n DataSanitizer.MAX_ID_LENGTH = 128;\r\n /**\r\n * Max length allowed for custom values.\r\n */\r\n DataSanitizer.MAX_PROPERTY_LENGTH = 8192;\r\n /**\r\n * Max length allowed for names\r\n */\r\n DataSanitizer.MAX_STRING_LENGTH = 1024;\r\n /**\r\n * Max length allowed for url.\r\n */\r\n DataSanitizer.MAX_URL_LENGTH = 2048;\r\n /**\r\n * Max length allowed for messages.\r\n */\r\n DataSanitizer.MAX_MESSAGE_LENGTH = 32768;\r\n /**\r\n * Max length allowed for exceptions.\r\n */\r\n DataSanitizer.MAX_EXCEPTION_LENGTH = 32768;\r\n return DataSanitizer;\r\n }());\r\n exports.DataSanitizer = DataSanitizer;\r\n});\r\n//# sourceMappingURL=DataSanitizer.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"../../Interfaces/Contracts/Generated/Envelope\", \"./DataSanitizer\", \"../../Enums\", \"../../Util\"], function (require, exports, Envelope_1, DataSanitizer_1, Enums_1, Util_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Envelope = /** @class */ (function (_super) {\r\n __extends(Envelope, _super);\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Envelope(logger, data, name) {\r\n var _this = _super.call(this) || this;\r\n _this.name = DataSanitizer_1.DataSanitizer.sanitizeString(logger, name) || Util_1.Util.NotSpecified;\r\n _this.data = data;\r\n _this.time = Util_1.Util.toISOStringForIE8(new Date());\r\n _this.aiDataContract = {\r\n time: Enums_1.FieldType.Required,\r\n iKey: Enums_1.FieldType.Required,\r\n name: Enums_1.FieldType.Required,\r\n sampleRate: function () {\r\n return (_this.sampleRate == 100) ? Enums_1.FieldType.Hidden : Enums_1.FieldType.Required;\r\n },\r\n tags: Enums_1.FieldType.Required,\r\n data: Enums_1.FieldType.Required\r\n };\r\n return _this;\r\n }\r\n return Envelope;\r\n }(Envelope_1.Envelope));\r\n exports.Envelope = Envelope;\r\n});\r\n//# sourceMappingURL=Envelope.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"../Interfaces/Contracts/Generated/EventData\", \"./Common/DataSanitizer\", \"../Enums\", \"../Util\"], function (require, exports, EventData_1, DataSanitizer_1, Enums_1, Util_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Event = /** @class */ (function (_super) {\r\n __extends(Event, _super);\r\n /**\r\n * Constructs a new instance of the EventTelemetry object\r\n */\r\n function Event(logger, name, properties, measurements) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: Enums_1.FieldType.Required,\r\n name: Enums_1.FieldType.Required,\r\n properties: Enums_1.FieldType.Default,\r\n measurements: Enums_1.FieldType.Default\r\n };\r\n _this.name = DataSanitizer_1.DataSanitizer.sanitizeString(logger, name) || Util_1.Util.NotSpecified;\r\n _this.properties = DataSanitizer_1.DataSanitizer.sanitizeProperties(logger, properties);\r\n _this.measurements = DataSanitizer_1.DataSanitizer.sanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n Event.envelopeType = \"Microsoft.ApplicationInsights.{0}.Event\";\r\n Event.dataType = \"EventData\";\r\n return Event;\r\n }(EventData_1.EventData));\r\n exports.Event = Event;\r\n});\r\n//# sourceMappingURL=Event.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"../Interfaces/Contracts/Generated/StackFrame\", \"../Interfaces/Contracts/Generated/ExceptionData\", \"../Interfaces/Contracts/Generated/ExceptionDetails\", \"./Common/DataSanitizer\", \"../Enums\", \"../Util\"], function (require, exports, StackFrame_1, ExceptionData_1, ExceptionDetails_1, DataSanitizer_1, Enums_1, Util_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Exception = /** @class */ (function (_super) {\r\n __extends(Exception, _super);\r\n /**\r\n * Constructs a new isntance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: Enums_1.FieldType.Required,\r\n exceptions: Enums_1.FieldType.Required,\r\n severityLevel: Enums_1.FieldType.Default,\r\n properties: Enums_1.FieldType.Default,\r\n measurements: Enums_1.FieldType.Default\r\n };\r\n _this.properties = DataSanitizer_1.DataSanitizer.sanitizeProperties(logger, properties);\r\n _this.measurements = DataSanitizer_1.DataSanitizer.sanitizeMeasurements(logger, measurements);\r\n _this.exceptions = [new _ExceptionDetails(logger, exception)];\r\n if (severityLevel) {\r\n _this.severityLevel = severityLevel;\r\n }\r\n return _this;\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 return {\r\n exceptions: [\r\n {\r\n hasFullStack: true,\r\n message: message,\r\n stack: details,\r\n typeName: typeName\r\n }\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n return Exception;\r\n }(ExceptionData_1.ExceptionData));\r\n exports.Exception = Exception;\r\n var _ExceptionDetails = /** @class */ (function (_super) {\r\n __extends(_ExceptionDetails, _super);\r\n function _ExceptionDetails(logger, exception) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n id: Enums_1.FieldType.Default,\r\n outerId: Enums_1.FieldType.Default,\r\n typeName: Enums_1.FieldType.Required,\r\n message: Enums_1.FieldType.Required,\r\n hasFullStack: Enums_1.FieldType.Default,\r\n stack: Enums_1.FieldType.Default,\r\n parsedStack: Enums_1.FieldType.Array\r\n };\r\n _this.typeName = DataSanitizer_1.DataSanitizer.sanitizeString(logger, exception.name) || Util_1.Util.NotSpecified;\r\n _this.message = DataSanitizer_1.DataSanitizer.sanitizeMessage(logger, exception.message) || Util_1.Util.NotSpecified;\r\n var stack = exception[\"stack\"];\r\n _this.parsedStack = _this.parseStack(stack);\r\n _this.stack = DataSanitizer_1.DataSanitizer.sanitizeException(logger, stack);\r\n _this.hasFullStack = Util_1.Util.isArray(_this.parsedStack) && _this.parsedStack.length > 0;\r\n return _this;\r\n }\r\n _ExceptionDetails.prototype.parseStack = function (stack) {\r\n var parsedStack = undefined;\r\n if (typeof stack === \"string\") {\r\n var frames = stack.split('\\n');\r\n parsedStack = [];\r\n var level = 0;\r\n var totalSizeInBytes = 0;\r\n for (var i = 0; i <= frames.length; i++) {\r\n var frame = frames[i];\r\n if (_StackFrame.regex.test(frame)) {\r\n var parsedFrame = new _StackFrame(frames[i], level++);\r\n totalSizeInBytes += parsedFrame.sizeInBytes;\r\n parsedStack.push(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 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack.length - 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].sizeInBytes;\r\n var rSize = parsedStack[right].sizeInBytes;\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\n return _ExceptionDetails;\r\n }(ExceptionDetails_1.ExceptionDetails));\r\n var _StackFrame = /** @class */ (function (_super) {\r\n __extends(_StackFrame, _super);\r\n function _StackFrame(frame, level) {\r\n var _this = _super.call(this) || this;\r\n _this.sizeInBytes = 0;\r\n _this.aiDataContract = {\r\n level: Enums_1.FieldType.Required,\r\n method: Enums_1.FieldType.Required,\r\n assembly: Enums_1.FieldType.Default,\r\n fileName: Enums_1.FieldType.Default,\r\n line: Enums_1.FieldType.Default\r\n };\r\n _this.level = level;\r\n _this.method = \"<no_method>\";\r\n _this.assembly = Util_1.Util.trim(frame);\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches.length >= 5) {\r\n _this.method = Util_1.Util.trim(matches[2]) || _this.method;\r\n _this.fileName = Util_1.Util.trim(matches[4]);\r\n _this.line = parseInt(matches[5]) || 0;\r\n }\r\n _this.sizeInBytes += _this.method.length;\r\n _this.sizeInBytes += _this.fileName.length;\r\n _this.sizeInBytes += _this.assembly.length;\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _this.sizeInBytes += _StackFrame.baseSize;\r\n _this.sizeInBytes += _this.level.toString().length;\r\n _this.sizeInBytes += _this.line.toString().length;\r\n return _this;\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\\(|\\s)([^\\(\\@\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; //'{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n }(StackFrame_1.StackFrame));\r\n exports._StackFrame = _StackFrame;\r\n});\r\n//# sourceMappingURL=Exception.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"../Interfaces/Contracts/Generated/MetricData\", \"./Common/DataSanitizer\", \"../Enums\", \"./Common/DataPoint\", \"../Util\"], function (require, exports, MetricData_1, DataSanitizer_1, Enums_1, DataPoint_1, Util_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Metric = /** @class */ (function (_super) {\r\n __extends(Metric, _super);\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, properties) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: Enums_1.FieldType.Required,\r\n metrics: Enums_1.FieldType.Required,\r\n properties: Enums_1.FieldType.Default\r\n };\r\n var dataPoint = new DataPoint_1.DataPoint();\r\n dataPoint.count = 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.name = DataSanitizer_1.DataSanitizer.sanitizeString(logger, name) || Util_1.Util.NotSpecified;\r\n dataPoint.value = value;\r\n _this.metrics = [dataPoint];\r\n _this.properties = DataSanitizer_1.DataSanitizer.sanitizeProperties(logger, properties);\r\n return _this;\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n }(MetricData_1.MetricData));\r\n exports.Metric = Metric;\r\n});\r\n//# sourceMappingURL=Metric.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"../Interfaces/Contracts/Generated/PageViewData\", \"./Common/DataSanitizer\", \"../Enums\", \"../Util\"], function (require, exports, PageViewData_1, DataSanitizer_1, Enums_1, Util_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var PageView = /** @class */ (function (_super) {\r\n __extends(PageView, _super);\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 var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: Enums_1.FieldType.Required,\r\n name: Enums_1.FieldType.Default,\r\n url: Enums_1.FieldType.Default,\r\n duration: Enums_1.FieldType.Default,\r\n properties: Enums_1.FieldType.Default,\r\n measurements: Enums_1.FieldType.Default,\r\n id: Enums_1.FieldType.Default,\r\n };\r\n _this.id = DataSanitizer_1.DataSanitizer.sanitizeId(logger, id);\r\n _this.url = DataSanitizer_1.DataSanitizer.sanitizeUrl(logger, url);\r\n _this.name = DataSanitizer_1.DataSanitizer.sanitizeString(logger, name) || Util_1.Util.NotSpecified;\r\n if (!isNaN(durationMs)) {\r\n _this.duration = Util_1.Util.msToTimeSpan(durationMs);\r\n }\r\n _this.properties = DataSanitizer_1.DataSanitizer.sanitizeProperties(logger, properties);\r\n _this.measurements = DataSanitizer_1.DataSanitizer.sanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n PageView.envelopeType = \"Microsoft.ApplicationInsights.{0}.Pageview\";\r\n PageView.dataType = \"PageviewData\";\r\n return PageView;\r\n }(PageViewData_1.PageViewData));\r\n exports.PageView = PageView;\r\n});\r\n//# sourceMappingURL=PageView.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"../Interfaces/Contracts/Generated/PageViewPerfData\", \"../Enums\", \"./Common/DataSanitizer\", \"../Util\", \"applicationinsights-core-js\"], function (require, exports, PageViewPerfData_1, Enums_1, DataSanitizer_1, Util_1, applicationinsights_core_js_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var PageViewPerformance = /** @class */ (function (_super) {\r\n __extends(PageViewPerformance, _super);\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageViewPerformance(logger, name, url, unused, properties, measurements) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: Enums_1.FieldType.Required,\r\n name: Enums_1.FieldType.Default,\r\n url: Enums_1.FieldType.Default,\r\n duration: Enums_1.FieldType.Default,\r\n perfTotal: Enums_1.FieldType.Default,\r\n networkConnect: Enums_1.FieldType.Default,\r\n sentRequest: Enums_1.FieldType.Default,\r\n receivedResponse: Enums_1.FieldType.Default,\r\n domProcessing: Enums_1.FieldType.Default,\r\n properties: Enums_1.FieldType.Default,\r\n measurements: Enums_1.FieldType.Default\r\n };\r\n _this.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 var timing = PageViewPerformance.getPerformanceTiming();\r\n if (timing) {\r\n var total = PageViewPerformance.getDuration(timing.navigationStart, timing.loadEventEnd);\r\n var network = PageViewPerformance.getDuration(timing.navigationStart, timing.connectEnd);\r\n var request = PageViewPerformance.getDuration(timing.requestStart, timing.responseStart);\r\n var response = PageViewPerformance.getDuration(timing.responseStart, timing.responseEnd);\r\n var dom = PageViewPerformance.getDuration(timing.responseEnd, timing.loadEventEnd);\r\n if (total == 0) {\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.ErrorPVCalc, \"error calculating page view performance.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (!PageViewPerformance.shouldCollectDuration(total, network, request, response, dom)) {\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.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 logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.ClientPerformanceMathError, \"client performance math error.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else {\r\n _this.durationMs = total;\r\n // convert to timespans\r\n _this.perfTotal = _this.duration = Util_1.Util.msToTimeSpan(total);\r\n _this.networkConnect = Util_1.Util.msToTimeSpan(network);\r\n _this.sentRequest = Util_1.Util.msToTimeSpan(request);\r\n _this.receivedResponse = Util_1.Util.msToTimeSpan(response);\r\n _this.domProcessing = Util_1.Util.msToTimeSpan(dom);\r\n _this.isValid = true;\r\n }\r\n }\r\n _this.url = DataSanitizer_1.DataSanitizer.sanitizeUrl(logger, url);\r\n _this.name = DataSanitizer_1.DataSanitizer.sanitizeString(logger, name) || Util_1.Util.NotSpecified;\r\n _this.properties = DataSanitizer_1.DataSanitizer.sanitizeProperties(logger, properties);\r\n _this.measurements = DataSanitizer_1.DataSanitizer.sanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n /**\r\n * Indicates whether this instance of PageViewPerformance is valid and should be sent\r\n */\r\n PageViewPerformance.prototype.getIsValid = function () {\r\n return this.isValid;\r\n };\r\n /**\r\n * Gets the total duration (PLT) in milliseconds. Check getIsValid() before using this method.\r\n */\r\n PageViewPerformance.prototype.getDurationMs = function () {\r\n return this.durationMs;\r\n };\r\n PageViewPerformance.getPerformanceTiming = function () {\r\n if (PageViewPerformance.isPerformanceTimingSupported()) {\r\n return window.performance.timing;\r\n }\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 PageViewPerformance.isPerformanceTimingSupported = function () {\r\n return typeof window != \"undefined\" && window.performance && window.performance.timing;\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 PageViewPerformance.isPerformanceTimingDataReady = function () {\r\n var timing = window.performance.timing;\r\n return timing.domainLookupStart > 0\r\n && timing.navigationStart > 0\r\n && timing.responseStart > 0\r\n && timing.requestStart > 0\r\n && timing.loadEventEnd > 0\r\n && timing.responseEnd > 0\r\n && timing.connectEnd > 0\r\n && timing.domLoading > 0;\r\n };\r\n PageViewPerformance.getDuration = function (start, end) {\r\n var duration = undefined;\r\n if (!(isNaN(start) || isNaN(end))) {\r\n duration = Math.max(end - start, 0);\r\n }\r\n return duration;\r\n };\r\n /**\r\n * This method tells if given durations should be excluded from collection.\r\n */\r\n PageViewPerformance.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 // a full list of Google crawlers user agent strings - https://support.google.com/webmasters/answer/1061943?hl=en\r\n var botAgentNames = ['googlebot', 'adsbot-google', 'apis-google', 'mediapartners-google'];\r\n var userAgent = navigator.userAgent;\r\n var isGoogleBot = false;\r\n if (userAgent) {\r\n for (var i_1 = 0; i_1 < botAgentNames.length; i_1++) {\r\n isGoogleBot = isGoogleBot || userAgent.toLowerCase().indexOf(botAgentNames[i_1]) !== -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.length; i++) {\r\n if (durations[i] >= PageViewPerformance.MAX_DURATION_ALLOWED) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n PageViewPerformance.envelopeType = \"Microsoft.ApplicationInsights.{0}.PageviewPerformance\";\r\n PageViewPerformance.dataType = \"PageviewPerformanceData\";\r\n PageViewPerformance.MAX_DURATION_ALLOWED = 3600000; // 1h\r\n return PageViewPerformance;\r\n }(PageViewPerfData_1.PageViewPerfData));\r\n exports.PageViewPerformance = PageViewPerformance;\r\n});\r\n//# sourceMappingURL=PageViewPerformance.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"./Common/DataSanitizer\", \"../Enums\", \"../Util\", \"../Util\", \"../Interfaces/Contracts/Generated/RemoteDependencyData\"], function (require, exports, DataSanitizer_1, Enums_1, Util_1, Util_2, RemoteDependencyData_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var RemoteDependencyData = /** @class */ (function (_super) {\r\n __extends(RemoteDependencyData, _super);\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, properties, measurements) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n id: Enums_1.FieldType.Required,\r\n ver: Enums_1.FieldType.Required,\r\n name: Enums_1.FieldType.Default,\r\n resultCode: Enums_1.FieldType.Default,\r\n duration: Enums_1.FieldType.Default,\r\n success: Enums_1.FieldType.Default,\r\n data: Enums_1.FieldType.Default,\r\n target: Enums_1.FieldType.Default,\r\n type: Enums_1.FieldType.Default,\r\n properties: Enums_1.FieldType.Default,\r\n measurements: Enums_1.FieldType.Default,\r\n kind: Enums_1.FieldType.Default,\r\n value: Enums_1.FieldType.Default,\r\n count: Enums_1.FieldType.Default,\r\n min: Enums_1.FieldType.Default,\r\n max: Enums_1.FieldType.Default,\r\n stdDev: Enums_1.FieldType.Default,\r\n dependencyKind: Enums_1.FieldType.Default,\r\n dependencySource: Enums_1.FieldType.Default,\r\n commandName: Enums_1.FieldType.Default,\r\n dependencyTypeName: Enums_1.FieldType.Default,\r\n };\r\n _this.id = id;\r\n _this.duration = Util_1.Util.msToTimeSpan(value);\r\n _this.success = success;\r\n _this.resultCode = resultCode + \"\";\r\n _this.type = \"Ajax\";\r\n _this.data = DataSanitizer_1.DataSanitizer.sanitizeUrl(logger, commandName);\r\n var dependencyFields = Util_2.AjaxHelper.ParseDependencyPath(logger, absoluteUrl, method, commandName);\r\n _this.target = dependencyFields.target;\r\n _this.name = dependencyFields.name;\r\n _this.properties = DataSanitizer_1.DataSanitizer.sanitizeProperties(logger, properties);\r\n _this.measurements = DataSanitizer_1.DataSanitizer.sanitizeMeasurements(logger, measurements);\r\n return _this;\r\n }\r\n RemoteDependencyData.envelopeType = \"Microsoft.ApplicationInsights.{0}.RemoteDependency\";\r\n RemoteDependencyData.dataType = \"RemoteDependencyData\";\r\n return RemoteDependencyData;\r\n }(RemoteDependencyData_1.RemoteDependencyData));\r\n exports.RemoteDependencyData = RemoteDependencyData;\r\n});\r\n//# sourceMappingURL=RemoteDependencyData.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\ndefine([\"require\", \"exports\", \"../Interfaces/Contracts/Generated/MessageData\", \"./Common/DataSanitizer\", \"../Enums\", \"../Util\"], function (require, exports, MessageData_1, DataSanitizer_1, Enums_1, Util_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Trace = /** @class */ (function (_super) {\r\n __extends(Trace, _super);\r\n /**\r\n * Constructs a new instance of the TraceTelemetry object\r\n */\r\n function Trace(logger, message, properties, severityLevel) {\r\n var _this = _super.call(this) || this;\r\n _this.aiDataContract = {\r\n ver: Enums_1.FieldType.Required,\r\n message: Enums_1.FieldType.Required,\r\n severityLevel: Enums_1.FieldType.Default,\r\n properties: Enums_1.FieldType.Default\r\n };\r\n message = message || Util_1.Util.NotSpecified;\r\n _this.message = DataSanitizer_1.DataSanitizer.sanitizeMessage(logger, message);\r\n _this.properties = DataSanitizer_1.DataSanitizer.sanitizeProperties(logger, properties);\r\n if (severityLevel) {\r\n _this.severityLevel = severityLevel;\r\n }\r\n return _this;\r\n }\r\n Trace.envelopeType = \"Microsoft.ApplicationInsights.{0}.Message\";\r\n Trace.dataType = \"MessageData\";\r\n return Trace;\r\n }(MessageData_1.MessageData));\r\n exports.Trace = Trace;\r\n});\r\n//# sourceMappingURL=Trace.js.map","define([\"require\", \"exports\", \"./Util\", \"./Telemetry/Common/DataSanitizer\", \"applicationinsights-core-js\"], function (require, exports, Util_1, DataSanitizer_1, applicationinsights_core_js_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var 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.<instrumentation key>.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 = function (item, baseType, envelopeName, logger, customProperties, systemProperties) {\r\n envelopeName = DataSanitizer_1.DataSanitizer.sanitizeString(logger, envelopeName) || Util_1.Util.NotSpecified;\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(item) ||\r\n applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(baseType) ||\r\n applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(envelopeName)) {\r\n throw Error(\"Input doesn't contain all required fields\");\r\n }\r\n var telemetryItem = {\r\n name: envelopeName,\r\n timestamp: new Date(),\r\n instrumentationKey: \"\",\r\n ctx: systemProperties ? systemProperties : {},\r\n tags: [],\r\n data: {},\r\n baseType: baseType,\r\n baseData: item\r\n };\r\n // Part C\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(customProperties)) {\r\n for (var prop in customProperties) {\r\n if (customProperties.hasOwnProperty(prop)) {\r\n telemetryItem.data[prop] = customProperties[prop];\r\n }\r\n }\r\n }\r\n return telemetryItem;\r\n };\r\n return TelemetryItemCreator;\r\n }());\r\n exports.TelemetryItemCreator = TelemetryItemCreator;\r\n});\r\n//# sourceMappingURL=TelemetryItemCreator.js.map","define([\"require\", \"exports\", \"./Enums\", \"applicationinsights-core-js\", \"./RequestResponseHeaders\", \"./Telemetry/Common/DataSanitizer\"], function (require, exports, Enums_1, applicationinsights_core_js_1, RequestResponseHeaders_1, DataSanitizer_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Util = /** @class */ (function () {\r\n function Util() {\r\n }\r\n /*\r\n * Force the SDK not to use local and session storage\r\n */\r\n Util.disableStorage = function () {\r\n Util._canUseLocalStorage = false;\r\n Util._canUseSessionStorage = false;\r\n };\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\n Util._getLocalStorageObject = function () {\r\n if (Util.canUseLocalStorage()) {\r\n return Util._getVerifiedStorageObject(Enums_1.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\n Util._getVerifiedStorageObject = function (storageType) {\r\n var storage = null;\r\n var fail;\r\n var uid;\r\n try {\r\n uid = new Date;\r\n storage = storageType === Enums_1.StorageType.LocalStorage ? window.localStorage : window.sessionStorage;\r\n storage.setItem(uid, uid);\r\n fail = storage.getItem(uid) != uid;\r\n storage.removeItem(uid);\r\n if (fail) {\r\n storage = null;\r\n }\r\n }\r\n catch (exception) {\r\n storage = null;\r\n }\r\n return storage;\r\n };\r\n /**\r\n * Checks if endpoint URL is application insights internal injestion service URL.\r\n *\r\n * @param endpointUrl Endpoint URL to check.\r\n * @returns {boolean} True if if endpoint URL is application insights internal injestion service URL.\r\n */\r\n Util.isInternalApplicationInsightsEndpoint = function (endpointUrl) {\r\n return Util._internalEndpoints.indexOf(endpointUrl.toLowerCase()) !== -1;\r\n };\r\n /**\r\n * Check if the browser supports local storage.\r\n *\r\n * @returns {boolean} True if local storage is supported.\r\n */\r\n Util.canUseLocalStorage = function () {\r\n if (Util._canUseLocalStorage === undefined) {\r\n Util._canUseLocalStorage = !!Util._getVerifiedStorageObject(Enums_1.StorageType.LocalStorage);\r\n }\r\n return Util._canUseLocalStorage;\r\n };\r\n /**\r\n * Get an object from the browser's local storage\r\n *\r\n * @param {string} name - the name of the object to get from storage\r\n * @returns {string} The contents of the storage object with the given name. Null if storage is not supported.\r\n */\r\n Util.getStorage = function (logger, name) {\r\n var storage = Util._getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n Util._canUseLocalStorage = false;\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.BrowserCannotReadLocalStorage, \"Browser failed read of local storage. \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n }\r\n return null;\r\n };\r\n /**\r\n * Set the contents of an object in the browser's local storage\r\n *\r\n * @param {string} name - the name of the object to set in storage\r\n * @param {string} data - the contents of the object to set in storage\r\n * @returns {boolean} True if the storage object could be written.\r\n */\r\n Util.setStorage = function (logger, name, data) {\r\n var storage = Util._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 Util._canUseLocalStorage = false;\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.BrowserCannotWriteLocalStorage, \"Browser failed write to local storage. \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n }\r\n return false;\r\n };\r\n /**\r\n * Remove an object from the browser's local storage\r\n *\r\n * @param {string} name - the name of the object to remove from storage\r\n * @returns {boolean} True if the storage object could be removed.\r\n */\r\n Util.removeStorage = function (logger, name) {\r\n var storage = Util._getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.removeItem(name);\r\n return true;\r\n }\r\n catch (e) {\r\n Util._canUseLocalStorage = false;\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.BrowserFailedRemovalFromLocalStorage, \"Browser failed removal of local storage item. \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n }\r\n return false;\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\n Util._getSessionStorageObject = function () {\r\n if (Util.canUseSessionStorage()) {\r\n return Util._getVerifiedStorageObject(Enums_1.StorageType.SessionStorage);\r\n }\r\n return null;\r\n };\r\n /**\r\n * Check if the browser supports session storage.\r\n *\r\n * @returns {boolean} True if session storage is supported.\r\n */\r\n Util.canUseSessionStorage = function () {\r\n if (Util._canUseSessionStorage === undefined) {\r\n Util._canUseSessionStorage = !!Util._getVerifiedStorageObject(Enums_1.StorageType.SessionStorage);\r\n }\r\n return Util._canUseSessionStorage;\r\n };\r\n /**\r\n * Gets the list of session storage keys\r\n *\r\n * @returns {string[]} List of session storage keys\r\n */\r\n Util.getSessionStorageKeys = function () {\r\n var keys = [];\r\n if (Util.canUseSessionStorage()) {\r\n for (var key in window.sessionStorage) {\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n };\r\n /**\r\n * Get an object from the browser's session storage\r\n *\r\n * @param {string} name - the name of the object to get from storage\r\n * @returns {string} The contents of the storage object with the given name. Null if storage is not supported.\r\n */\r\n Util.getSessionStorage = function (logger, name) {\r\n var storage = Util._getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n Util._canUseSessionStorage = false;\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.BrowserCannotReadSessionStorage, \"Browser failed read of session storage. \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n }\r\n return null;\r\n };\r\n /**\r\n * Set the contents of an object in the browser's session storage\r\n *\r\n * @param {string} name - the name of the object to set in storage\r\n * @param {string} data - the contents of the object to set in storage\r\n * @returns {boolean} True if the storage object could be written.\r\n */\r\n Util.setSessionStorage = function (logger, name, data) {\r\n var storage = Util._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 Util._canUseSessionStorage = false;\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.BrowserCannotWriteSessionStorage, \"Browser failed write to session storage. \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n }\r\n return false;\r\n };\r\n /**\r\n * Remove an object from the browser's session storage\r\n *\r\n * @param {string} name - the name of the object to remove from storage\r\n * @returns {boolean} True if the storage object could be removed.\r\n */\r\n Util.removeSessionStorage = function (logger, name) {\r\n var storage = Util._getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.removeItem(name);\r\n return true;\r\n }\r\n catch (e) {\r\n Util._canUseSessionStorage = false;\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.BrowserFailedRemovalFromSessionStorage, \"Browser failed removal of session storage item. \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n }\r\n return false;\r\n };\r\n /*\r\n * Force the SDK not to store and read any data from cookies\r\n */\r\n Util.disableCookies = function () {\r\n Util._canUseCookies = false;\r\n };\r\n /*\r\n * helper method to tell if document.cookie object is available\r\n */\r\n Util.canUseCookies = function (logger) {\r\n if (Util._canUseCookies === undefined) {\r\n Util._canUseCookies = false;\r\n try {\r\n Util._canUseCookies = Util.document.cookie !== undefined;\r\n }\r\n catch (e) {\r\n logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.CannotAccessCookie, \"Cannot access document.cookie - \" + Util.getExceptionName(e), { exception: Util.dump(e) });\r\n }\r\n ;\r\n }\r\n return Util._canUseCookies;\r\n };\r\n /**\r\n * helper method to set userId and sessionId cookie\r\n */\r\n Util.setCookie = function (logger, name, value, domain) {\r\n var domainAttrib = \"\";\r\n var secureAttrib = \"\";\r\n if (domain) {\r\n domainAttrib = \";domain=\" + domain;\r\n }\r\n if (Util.document.location && Util.document.location.protocol === \"https:\") {\r\n secureAttrib = \";secure\";\r\n }\r\n if (Util.canUseCookies(logger)) {\r\n Util.document.cookie = name + \"=\" + value + domainAttrib + \";path=/\" + secureAttrib;\r\n }\r\n };\r\n Util.stringToBoolOrDefault = function (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().toLowerCase() === \"true\";\r\n };\r\n /**\r\n * helper method to access userId and sessionId cookie\r\n */\r\n Util.getCookie = function (logger, name) {\r\n if (!Util.canUseCookies(logger)) {\r\n return;\r\n }\r\n var value = \"\";\r\n if (name && name.length) {\r\n var cookieName = name + \"=\";\r\n var cookies = Util.document.cookie.split(\";\");\r\n for (var i = 0; i < cookies.length; i++) {\r\n var cookie = cookies[i];\r\n cookie = Util.trim(cookie);\r\n if (cookie && cookie.indexOf(cookieName) === 0) {\r\n value = cookie.substring(cookieName.length, cookies[i].length);\r\n break;\r\n }\r\n }\r\n }\r\n return value;\r\n };\r\n /**\r\n * Deletes a cookie by setting it's expiration time in the past.\r\n * @param name - The name of the cookie to delete.\r\n */\r\n Util.deleteCookie = function (logger, name) {\r\n if (Util.canUseCookies(logger)) {\r\n // Setting the expiration date in the past immediately removes the cookie\r\n Util.document.cookie = name + \"=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;\";\r\n }\r\n };\r\n /**\r\n * helper method to trim strings (IE8 does not implement String.prototype.trim)\r\n */\r\n Util.trim = function (str) {\r\n if (typeof str !== \"string\")\r\n return str;\r\n return str.replace(/^\\s+|\\s+$/g, \"\");\r\n };\r\n /**\r\n * generate random id string\r\n */\r\n Util.newId = function () {\r\n var base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\r\n var result = \"\";\r\n // tslint:disable-next-line:insecure-random\r\n var random = Math.random() * 1073741824; //5 symbols in base64, almost maxint\r\n while (random > 0) {\r\n var char = base64chars.charAt(random % 64);\r\n result += char;\r\n random = Math.floor(random / 64);\r\n }\r\n return result;\r\n };\r\n /**\r\n * Check if an object is of type Array\r\n */\r\n Util.isArray = function (obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Array]\";\r\n };\r\n /**\r\n * Check if an object is of type Error\r\n */\r\n Util.isError = function (obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Error]\";\r\n };\r\n /**\r\n * Check if an object is of type Date\r\n */\r\n Util.isDate = function (obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Date]\";\r\n };\r\n /**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\n Util.toISOStringForIE8 = function (date) {\r\n if (Util.isDate(date)) {\r\n if (Date.prototype.toISOString) {\r\n return date.toISOString();\r\n }\r\n else {\r\n var pad = function (num) {\r\n var r = String(num);\r\n if (r.length === 1) {\r\n r = \"0\" + r;\r\n }\r\n return r;\r\n };\r\n return date.getUTCFullYear()\r\n + \"-\" + pad(date.getUTCMonth() + 1)\r\n + \"-\" + pad(date.getUTCDate())\r\n + \"T\" + pad(date.getUTCHours())\r\n + \":\" + pad(date.getUTCMinutes())\r\n + \":\" + pad(date.getUTCSeconds())\r\n + \".\" + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)\r\n + \"Z\";\r\n }\r\n }\r\n };\r\n /**\r\n * Gets IE version if we are running on IE, or null otherwise\r\n */\r\n Util.getIEVersion = function (userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n var myNav = userAgentStr ? userAgentStr.toLowerCase() : navigator.userAgent.toLowerCase();\r\n return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : null;\r\n };\r\n /**\r\n * Convert ms to c# time span format\r\n */\r\n Util.msToTimeSpan = function (totalms) {\r\n if (isNaN(totalms) || totalms < 0) {\r\n totalms = 0;\r\n }\r\n totalms = Math.round(totalms);\r\n var ms = \"\" + totalms % 1000;\r\n var sec = \"\" + Math.floor(totalms / 1000) % 60;\r\n var min = \"\" + Math.floor(totalms / (1000 * 60)) % 60;\r\n var hour = \"\" + Math.floor(totalms / (1000 * 60 * 60)) % 24;\r\n var days = Math.floor(totalms / (1000 * 60 * 60 * 24));\r\n ms = ms.length === 1 ? \"00\" + ms : ms.length === 2 ? \"0\" + ms : ms;\r\n sec = sec.length < 2 ? \"0\" + sec : sec;\r\n min = min.length < 2 ? \"0\" + min : min;\r\n hour = hour.length < 2 ? \"0\" + hour : hour;\r\n return (days > 0 ? days + \".\" : \"\") + hour + \":\" + min + \":\" + sec + \".\" + ms;\r\n };\r\n /**\r\n * Checks if error has no meaningful data inside. Ususally such errors are received by window.onerror when error\r\n * happens in a script from other domain (cross origin, CORS).\r\n */\r\n Util.isCrossOriginError = function (message, url, lineNumber, columnNumber, error) {\r\n return (message === \"Script error.\" || message === \"Script error\") && !error;\r\n };\r\n /**\r\n * Returns string representation of an object suitable for diagnostics logging.\r\n */\r\n Util.dump = function (object) {\r\n var objectTypeDump = Object.prototype.toString.call(object);\r\n var propertyValueDump = JSON.stringify(object);\r\n if (objectTypeDump === \"[object Error]\") {\r\n propertyValueDump = \"{ stack: '\" + object.stack + \"', message: '\" + object.message + \"', name: '\" + object.name + \"'\";\r\n }\r\n return objectTypeDump + propertyValueDump;\r\n };\r\n /**\r\n * Returns the name of object if it's an Error. Otherwise, returns empty string.\r\n */\r\n Util.getExceptionName = function (object) {\r\n var objectTypeDump = Object.prototype.toString.call(object);\r\n if (objectTypeDump === \"[object Error]\") {\r\n return object.name;\r\n }\r\n return \"\";\r\n };\r\n /**\r\n * Adds an event handler for the specified event\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 * @return {boolean} - true if the handler was successfully added\r\n */\r\n Util.addEventHandler = function (eventName, callback) {\r\n if (!window || typeof eventName !== 'string' || typeof callback !== 'function') {\r\n return false;\r\n }\r\n // Create verb for the event\r\n var verbEventName = 'on' + eventName;\r\n // check if addEventListener is available\r\n if (window.addEventListener) {\r\n window.addEventListener(eventName, callback, false);\r\n }\r\n else if (window[\"attachEvent\"]) {\r\n window[\"attachEvent\"](verbEventName, callback);\r\n }\r\n else {\r\n return false;\r\n }\r\n return true;\r\n };\r\n /**\r\n * Tells if a browser supports a Beacon API\r\n */\r\n Util.IsBeaconApiSupported = function () {\r\n return ('sendBeacon' in navigator && navigator.sendBeacon);\r\n };\r\n Util.document = typeof document !== \"undefined\" ? document : {};\r\n Util._canUseCookies = undefined;\r\n Util._canUseLocalStorage = undefined;\r\n Util._canUseSessionStorage = undefined;\r\n // listing only non-geo specific locations \r\n Util._internalEndpoints = [\r\n \"https://dc.services.visualstudio.com/v2/track\",\r\n \"https://breeze.aimon.applicationinsights.io/v2/track\",\r\n \"https://dc-int.services.visualstudio.com/v2/track\"\r\n ];\r\n Util.NotSpecified = \"not_specified\";\r\n return Util;\r\n }());\r\n exports.Util = Util;\r\n var UrlHelper = /** @class */ (function () {\r\n function UrlHelper() {\r\n }\r\n UrlHelper.parseUrl = function (url) {\r\n if (!UrlHelper.htmlAnchorElement) {\r\n UrlHelper.htmlAnchorElement = !!UrlHelper.document.createElement ? UrlHelper.document.createElement('a') : {};\r\n }\r\n UrlHelper.htmlAnchorElement.href = url;\r\n return UrlHelper.htmlAnchorElement;\r\n };\r\n UrlHelper.getAbsoluteUrl = function (url) {\r\n var result;\r\n var a = UrlHelper.parseUrl(url);\r\n if (a) {\r\n result = a.href;\r\n }\r\n return result;\r\n };\r\n UrlHelper.getPathName = function (url) {\r\n var result;\r\n var a = UrlHelper.parseUrl(url);\r\n if (a) {\r\n result = a.pathname;\r\n }\r\n return result;\r\n };\r\n UrlHelper.getCompleteUrl = function (method, absoluteUrl) {\r\n if (method) {\r\n return method.toUpperCase() + \" \" + absoluteUrl;\r\n }\r\n else {\r\n return absoluteUrl;\r\n }\r\n };\r\n UrlHelper.document = typeof document !== \"undefined\" ? document : {};\r\n return UrlHelper;\r\n }());\r\n exports.UrlHelper = UrlHelper;\r\n var CorrelationIdHelper = /** @class */ (function () {\r\n function CorrelationIdHelper() {\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 */\r\n CorrelationIdHelper.canIncludeCorrelationHeader = function (config, requestUrl, currentHost) {\r\n if (config && config.disableCorrelationHeaders) {\r\n return false;\r\n }\r\n if (!requestUrl) {\r\n return false;\r\n }\r\n var requestHost = UrlHelper.parseUrl(requestUrl).host.toLowerCase();\r\n if ((!config || !config.enableCorsCorrelation) && requestHost !== currentHost) {\r\n return false;\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains.length == 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains.length; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\./g, \"\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n /**\r\n * Combines target appId and target role name from response header.\r\n */\r\n CorrelationIdHelper.getCorrelationContext = function (responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = CorrelationIdHelper.getCorrelationContextValue(responseHeader, RequestResponseHeaders_1.RequestHeaders.requestContextTargetKey);\r\n if (correlationId && correlationId !== CorrelationIdHelper.correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n };\r\n /**\r\n * Gets key from correlation response header\r\n */\r\n CorrelationIdHelper.getCorrelationContextValue = function (responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader.split(\",\");\r\n for (var i = 0; i < keyValues.length; ++i) {\r\n var keyValue = keyValues[i].split(\"=\");\r\n if (keyValue.length == 2 && keyValue[0] == key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n };\r\n CorrelationIdHelper.correlationIdPrefix = \"cid-v1:\";\r\n return CorrelationIdHelper;\r\n }());\r\n exports.CorrelationIdHelper = CorrelationIdHelper;\r\n var AjaxHelper = /** @class */ (function () {\r\n function AjaxHelper() {\r\n }\r\n AjaxHelper.ParseDependencyPath = function (logger, absoluteUrl, method, pathName) {\r\n var target, name;\r\n if (absoluteUrl && absoluteUrl.length > 0) {\r\n var parsedUrl = UrlHelper.parseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (parsedUrl.pathname != null) {\r\n var pathName = (parsedUrl.pathname.length === 0) ? \"/\" : parsedUrl.pathname;\r\n if (pathName.charAt(0) !== '/') {\r\n pathName = \"/\" + pathName;\r\n }\r\n name = DataSanitizer_1.DataSanitizer.sanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = DataSanitizer_1.DataSanitizer.sanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n else {\r\n target = pathName;\r\n name = pathName;\r\n }\r\n return {\r\n target: target,\r\n name: name\r\n };\r\n };\r\n return AjaxHelper;\r\n }());\r\n exports.AjaxHelper = AjaxHelper;\r\n /**\r\n * A utility class that helps getting time related parameters\r\n */\r\n var DateTimeUtils = /** @class */ (function () {\r\n function DateTimeUtils() {\r\n }\r\n /**\r\n * Get the number of milliseconds since 1970/01/01 in local timezone\r\n */\r\n DateTimeUtils.Now = (window.performance && window.performance.now && window.performance.timing) ?\r\n function () {\r\n return window.performance.now() + window.performance.timing.navigationStart;\r\n }\r\n :\r\n function () {\r\n return new Date().getTime();\r\n };\r\n /**\r\n * Gets duration between two timestamps\r\n */\r\n DateTimeUtils.GetDuration = function (start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(start) && !applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n };\r\n return DateTimeUtils;\r\n }());\r\n exports.DateTimeUtils = DateTimeUtils;\r\n});\r\n//# sourceMappingURL=Util.js.map","define([\"require\", \"exports\", \"./Util\", \"./Enums\", \"./RequestResponseHeaders\", \"./Constants\", \"./Interfaces/Contracts/Generated/Data\", \"./Interfaces/Contracts/Generated/Base\", \"./Telemetry/Common/Envelope\", \"./Telemetry/Event\", \"./Telemetry/Exception\", \"./Telemetry/Metric\", \"./Telemetry/PageView\", \"./Interfaces/Contracts/Generated/PageViewData\", \"./Telemetry/RemoteDependencyData\", \"./Telemetry/Trace\", \"./Telemetry/PageViewPerformance\", \"./Telemetry/Common/Data\", \"./Interfaces/Contracts/Generated/SeverityLevel\", \"./Interfaces/Contracts/Generated/ContextTagKeys\", \"./Telemetry/Common/DataSanitizer\", \"./TelemetryItemCreator\"], function (require, exports, Util_1, Enums_1, RequestResponseHeaders_1, Constants_1, Data_1, Base_1, Envelope_1, Event_1, Exception_1, Metric_1, PageView_1, PageViewData_1, RemoteDependencyData_1, Trace_1, PageViewPerformance_1, Data_2, SeverityLevel_1, ContextTagKeys_1, DataSanitizer_1, TelemetryItemCreator_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n exports.Util = Util_1.Util;\r\n exports.CorrelationIdHelper = Util_1.CorrelationIdHelper;\r\n exports.UrlHelper = Util_1.UrlHelper;\r\n exports.DateTimeUtils = Util_1.DateTimeUtils;\r\n exports.FieldType = Enums_1.FieldType;\r\n exports.RequestHeaders = RequestResponseHeaders_1.RequestHeaders;\r\n exports.DisabledPropertyName = Constants_1.DisabledPropertyName;\r\n exports.AIData = Data_1.Data;\r\n exports.AIBase = Base_1.Base;\r\n exports.Envelope = Envelope_1.Envelope;\r\n exports.Event = Event_1.Event;\r\n exports.Exception = Exception_1.Exception;\r\n exports.Metric = Metric_1.Metric;\r\n exports.PageView = PageView_1.PageView;\r\n exports.PageViewData = PageViewData_1.PageViewData;\r\n exports.RemoteDependencyData = RemoteDependencyData_1.RemoteDependencyData;\r\n exports.Trace = Trace_1.Trace;\r\n exports.PageViewPerformance = PageViewPerformance_1.PageViewPerformance;\r\n exports.Data = Data_2.Data;\r\n exports.SeverityLevel = SeverityLevel_1.SeverityLevel;\r\n exports.ContextTagKeys = ContextTagKeys_1.ContextTagKeys;\r\n exports.DataSanitizer = DataSanitizer_1.DataSanitizer;\r\n exports.TelemetryItemCreator = TelemetryItemCreator_1.TelemetryItemCreator;\r\n});\r\n//# sourceMappingURL=applicationinsights-common.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * The EventsDiscardedReason enumeration contains a set of values that specify the reason for discarding an event.\r\n */\r\n exports.EventsDiscardedReason = {\r\n /**\r\n * Unknown.\r\n */\r\n Unknown: 0,\r\n /**\r\n * Status set to non-retryable.\r\n */\r\n NonRetryableStatus: 1,\r\n /**\r\n * The event is invalid.\r\n */\r\n InvalidEvent: 2,\r\n /**\r\n * The size of the event is too large.\r\n */\r\n SizeLimitExceeded: 3,\r\n /**\r\n * The server is not accepting events from this instrumentation key.\r\n */\r\n KillSwitch: 4,\r\n /**\r\n * The event queue is full.\r\n */\r\n QueueFull: 5,\r\n };\r\n});\r\n//# sourceMappingURL=EventsDiscardedReason.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var LoggingSeverity;\r\n (function (LoggingSeverity) {\r\n /**\r\n * Error will be sent as internal telemetry\r\n */\r\n LoggingSeverity[LoggingSeverity[\"CRITICAL\"] = 1] = \"CRITICAL\";\r\n /**\r\n * Error will NOT be sent as internal telemetry, and will only be shown in browser console\r\n */\r\n LoggingSeverity[LoggingSeverity[\"WARNING\"] = 2] = \"WARNING\";\r\n })(LoggingSeverity = exports.LoggingSeverity || (exports.LoggingSeverity = {}));\r\n /**\r\n * Internal message ID. Please create a new one for every conceptually different message. Please keep alphabetically ordered\r\n */ ;\r\n exports._InternalMessageId = {\r\n // Non user actionable\r\n BrowserDoesNotSupportLocalStorage: 0,\r\n BrowserCannotReadLocalStorage: 1,\r\n BrowserCannotReadSessionStorage: 2,\r\n BrowserCannotWriteLocalStorage: 3,\r\n BrowserCannotWriteSessionStorage: 4,\r\n BrowserFailedRemovalFromLocalStorage: 5,\r\n BrowserFailedRemovalFromSessionStorage: 6,\r\n CannotSendEmptyTelemetry: 7,\r\n ClientPerformanceMathError: 8,\r\n ErrorParsingAISessionCookie: 9,\r\n ErrorPVCalc: 10,\r\n ExceptionWhileLoggingError: 11,\r\n FailedAddingTelemetryToBuffer: 12,\r\n FailedMonitorAjaxAbort: 13,\r\n FailedMonitorAjaxDur: 14,\r\n FailedMonitorAjaxOpen: 15,\r\n FailedMonitorAjaxRSC: 16,\r\n FailedMonitorAjaxSend: 17,\r\n FailedMonitorAjaxGetCorrelationHeader: 18,\r\n FailedToAddHandlerForOnBeforeUnload: 19,\r\n FailedToSendQueuedTelemetry: 20,\r\n FailedToReportDataLoss: 21,\r\n FlushFailed: 22,\r\n MessageLimitPerPVExceeded: 23,\r\n MissingRequiredFieldSpecification: 24,\r\n NavigationTimingNotSupported: 25,\r\n OnError: 26,\r\n SessionRenewalDateIsZero: 27,\r\n SenderNotInitialized: 28,\r\n StartTrackEventFailed: 29,\r\n StopTrackEventFailed: 30,\r\n StartTrackFailed: 31,\r\n StopTrackFailed: 32,\r\n TelemetrySampledAndNotSent: 33,\r\n TrackEventFailed: 34,\r\n TrackExceptionFailed: 35,\r\n TrackMetricFailed: 36,\r\n TrackPVFailed: 37,\r\n TrackPVFailedCalc: 38,\r\n TrackTraceFailed: 39,\r\n TransmissionFailed: 40,\r\n FailedToSetStorageBuffer: 41,\r\n FailedToRestoreStorageBuffer: 42,\r\n InvalidBackendResponse: 43,\r\n FailedToFixDepricatedValues: 44,\r\n InvalidDurationValue: 45,\r\n TelemetryEnvelopeInvalid: 46,\r\n CreateEnvelopeError: 47,\r\n // User actionable\r\n CannotSerializeObject: 48,\r\n CannotSerializeObjectNonSerializable: 49,\r\n CircularReferenceDetected: 50,\r\n ClearAuthContextFailed: 51,\r\n ExceptionTruncated: 52,\r\n IllegalCharsInName: 53,\r\n ItemNotInArray: 54,\r\n MaxAjaxPerPVExceeded: 55,\r\n MessageTruncated: 56,\r\n NameTooLong: 57,\r\n SampleRateOutOfRange: 58,\r\n SetAuthContextFailed: 59,\r\n SetAuthContextFailedAccountName: 60,\r\n StringValueTooLong: 61,\r\n StartCalledMoreThanOnce: 62,\r\n StopCalledWithoutStart: 63,\r\n TelemetryInitializerFailed: 64,\r\n TrackArgumentsNotSpecified: 65,\r\n UrlTooLong: 66,\r\n SessionStorageBufferFull: 67,\r\n CannotAccessCookie: 68,\r\n IdTooLong: 69,\r\n };\r\n});\r\n//# sourceMappingURL=LoggingEnums.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n exports.MinChannelPriorty = 100;\r\n});\r\n//# sourceMappingURL=IChannelControls.js.map","define([\"require\", \"exports\", \"../JavaScriptSDK.Enums/EventsDiscardedReason\", \"./CoreUtils\", \"./NotificationManager\", \"./DiagnosticLogger\"], function (require, exports, EventsDiscardedReason_1, CoreUtils_1, NotificationManager_1, DiagnosticLogger_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n \"use strict\";\r\n var AppInsightsCore = /** @class */ (function () {\r\n function AppInsightsCore() {\r\n this._isInitialized = false;\r\n this._extensions = new Array();\r\n this._channelController = new ChannelController();\r\n }\r\n AppInsightsCore.prototype.initialize = function (config, extensions) {\r\n var _this = this;\r\n // Make sure core is only initialized once\r\n if (this._isInitialized) {\r\n throw Error(\"Core should not be initialized more than once\");\r\n }\r\n if (!config || CoreUtils_1.CoreUtils.isNullOrUndefined(config.instrumentationKey)) {\r\n throw Error(\"Please provide instrumentation key\");\r\n }\r\n this.config = config;\r\n this._notificationManager = new NotificationManager_1.NotificationManager();\r\n this.config.extensions = CoreUtils_1.CoreUtils.isNullOrUndefined(this.config.extensions) ? [] : this.config.extensions;\r\n // add notification to the extensions in the config so other plugins can access it\r\n this.config.extensionConfig = CoreUtils_1.CoreUtils.isNullOrUndefined(this.config.extensionConfig) ? {} : this.config.extensionConfig;\r\n this.config.extensionConfig.NotificationManager = this._notificationManager;\r\n this.logger = new DiagnosticLogger_1.DiagnosticLogger(config);\r\n // Initial validation\r\n extensions.forEach(function (extension) {\r\n if (CoreUtils_1.CoreUtils.isNullOrUndefined(extension.initialize)) {\r\n throw Error(validationError);\r\n }\r\n });\r\n if (this.config.extensions.length > 0) {\r\n var isValid_1 = true;\r\n this.config.extensions.forEach(function (item) {\r\n if (CoreUtils_1.CoreUtils.isNullOrUndefined(item)) {\r\n isValid_1 = false;\r\n }\r\n });\r\n if (!isValid_1) {\r\n throw Error(validationError);\r\n }\r\n }\r\n // Initial validation complete\r\n // Concat all available extensions before sorting by priority\r\n (_a = this._extensions).push.apply(_a, [this._channelController].concat(extensions, this.config.extensions));\r\n this._extensions = this._extensions.sort(function (a, b) {\r\n var extA = a;\r\n var extB = b;\r\n var typeExtA = typeof extA.processTelemetry;\r\n var typeExtB = typeof extB.processTelemetry;\r\n if (typeExtA === 'function' && typeExtB === 'function') {\r\n return extA.priority - extB.priority;\r\n }\r\n if (typeExtA === 'function' && typeExtB !== 'function') {\r\n // keep non telemetryplugin specific extensions at start\r\n return 1;\r\n }\r\n if (typeExtA !== 'function' && typeExtB === 'function') {\r\n return -1;\r\n }\r\n });\r\n // sort complete\r\n // Check if any two extensions have the same priority, then warn to console\r\n var priority = {};\r\n this._extensions.forEach(function (ext) {\r\n var t = ext;\r\n if (t && t.priority) {\r\n if (!CoreUtils_1.CoreUtils.isNullOrUndefined(priority[t.priority])) {\r\n _this.logger.warnToConsole(\"Two extensions have same priority\" + priority[t.priority] + \", \" + t.identifier);\r\n }\r\n else {\r\n priority[t.priority] = t.identifier; // set a value\r\n }\r\n }\r\n });\r\n // initialize plugins including channel controller\r\n this._extensions.forEach(function (ext) {\r\n var e = ext;\r\n if (e && e.priority <= ChannelControllerPriority) {\r\n ext.initialize(_this.config, _this, _this._extensions); // initialize\r\n }\r\n });\r\n var c = -1;\r\n // Set next plugin for all until channel controller\r\n for (var idx = 0; idx < this._extensions.length - 1; idx++) {\r\n var curr = (this._extensions[idx]);\r\n if (curr && typeof curr.processTelemetry !== 'function') {\r\n // these are initialized only, allowing an entry point for extensions to be initialized when SDK initializes\r\n continue;\r\n }\r\n if (curr.priority === ChannelControllerPriority) {\r\n c = idx + 1;\r\n break; // channel controller will set remaining pipeline\r\n }\r\n this._extensions[idx].setNextPlugin(this._extensions[idx + 1]); // set next plugin\r\n }\r\n // Remove sender channels from main list\r\n if (c < this._extensions.length) {\r\n this._extensions.splice(c);\r\n }\r\n if (this.getTransmissionControls().length === 0) {\r\n throw new Error(\"No channels available\");\r\n }\r\n this._isInitialized = true;\r\n var _a;\r\n };\r\n AppInsightsCore.prototype.getTransmissionControls = function () {\r\n return this._channelController.ChannelControls;\r\n };\r\n AppInsightsCore.prototype.track = function (telemetryItem) {\r\n if (telemetryItem === null) {\r\n this._notifiyInvalidEvent(telemetryItem);\r\n // throw error\r\n throw Error(\"Invalid telemetry item\");\r\n }\r\n if (telemetryItem.baseData && !telemetryItem.baseType) {\r\n this._notifiyInvalidEvent(telemetryItem);\r\n throw Error(\"Provide data.baseType for data.baseData\");\r\n }\r\n if (!telemetryItem.baseType) {\r\n // Hard coded from Common::Event.ts::Event.dataType\r\n telemetryItem.baseType = \"EventData\";\r\n }\r\n if (!telemetryItem.instrumentationKey) {\r\n // setup default ikey if not passed in\r\n telemetryItem.instrumentationKey = this.config.instrumentationKey;\r\n }\r\n if (!telemetryItem.timestamp) {\r\n // add default timestamp if not passed in\r\n telemetryItem.timestamp = new Date();\r\n }\r\n // do basic validation before sending it through the pipeline\r\n this._validateTelmetryItem(telemetryItem);\r\n // invoke any common telemetry processors before sending through pipeline\r\n var i = 0;\r\n while (i < this._extensions.length) {\r\n if (this._extensions[i].processTelemetry) {\r\n this._extensions[i].processTelemetry(telemetryItem); // pass on to first extension that can support processing\r\n break;\r\n }\r\n i++;\r\n }\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 {INotificationListener} listener - An INotificationListener object.\r\n */\r\n AppInsightsCore.prototype.addNotificationListener = function (listener) {\r\n this._notificationManager.addNotificationListener(listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - INotificationListener to remove.\r\n */\r\n AppInsightsCore.prototype.removeNotificationListener = function (listener) {\r\n this._notificationManager.removeNotificationListener(listener);\r\n };\r\n /**\r\n * Periodically check logger.queue for\r\n */\r\n AppInsightsCore.prototype.pollInternalLogs = function () {\r\n var _this = this;\r\n if (!(this.config.diagnosticLoggingInterval > 0)) {\r\n throw Error(\"config.diagnosticLoggingInterval must be a positive integer\");\r\n }\r\n return setInterval(function () {\r\n var queue = _this.logger.queue;\r\n queue.forEach(function (logMessage) {\r\n var item = {\r\n name: \"InternalMessageId: \" + logMessage.messageId,\r\n instrumentationKey: _this.config.instrumentationKey,\r\n timestamp: new Date(),\r\n baseType: DiagnosticLogger_1._InternalLogMessage.dataType,\r\n baseData: { message: logMessage.message }\r\n };\r\n _this.track(item);\r\n });\r\n queue.length = 0;\r\n }, this.config.diagnosticLoggingInterval);\r\n };\r\n AppInsightsCore.prototype._validateTelmetryItem = function (telemetryItem) {\r\n if (CoreUtils_1.CoreUtils.isNullOrUndefined(telemetryItem.name)) {\r\n this._notifiyInvalidEvent(telemetryItem);\r\n throw Error(\"telemetry name required\");\r\n }\r\n if (CoreUtils_1.CoreUtils.isNullOrUndefined(telemetryItem.timestamp)) {\r\n this._notifiyInvalidEvent(telemetryItem);\r\n throw Error(\"telemetry timestamp required\");\r\n }\r\n if (CoreUtils_1.CoreUtils.isNullOrUndefined(telemetryItem.instrumentationKey)) {\r\n this._notifiyInvalidEvent(telemetryItem);\r\n throw Error(\"telemetry instrumentationKey required\");\r\n }\r\n };\r\n AppInsightsCore.prototype._notifiyInvalidEvent = function (telemetryItem) {\r\n this._notificationManager.eventsDiscarded([telemetryItem], EventsDiscardedReason_1.EventsDiscardedReason.InvalidEvent);\r\n };\r\n return AppInsightsCore;\r\n }());\r\n exports.AppInsightsCore = AppInsightsCore;\r\n var ChannelController = /** @class */ (function () {\r\n function ChannelController() {\r\n this.identifier = \"ChannelControllerPlugin\";\r\n this.priority = ChannelControllerPriority; // in reserved range 100 to 200\r\n }\r\n ChannelController.prototype.processTelemetry = function (item) {\r\n this.channelQueue.forEach(function (queues) {\r\n // pass on to first item in queue\r\n if (queues.length > 0) {\r\n queues[0].processTelemetry(item);\r\n }\r\n });\r\n };\r\n Object.defineProperty(ChannelController.prototype, \"ChannelControls\", {\r\n get: function () {\r\n return this.channelQueue;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ChannelController.prototype.initialize = function (config, core, extensions) {\r\n var _this = this;\r\n this.channelQueue = new Array();\r\n if (config.channels) {\r\n config.channels.forEach(function (queue) {\r\n if (queue && queue.length > 0) {\r\n queue = queue.sort(function (a, b) {\r\n return a.priority - b.priority;\r\n });\r\n // Initialize each plugin\r\n queue.forEach(function (queueItem) { return queueItem.initialize(config, core, extensions); });\r\n for (var i = 1; i < queue.length; i++) {\r\n queue[i - 1].setNextPlugin(queue[i]); // setup processing chain\r\n }\r\n _this.channelQueue.push(queue);\r\n }\r\n });\r\n }\r\n else {\r\n var arr = new Array();\r\n for (var i = 0; i < extensions.length; i++) {\r\n var plugin = extensions[i];\r\n if (plugin.priority > ChannelControllerPriority) {\r\n arr.push(plugin);\r\n }\r\n }\r\n if (arr.length > 0) {\r\n // sort if not sorted\r\n arr = arr.sort(function (a, b) {\r\n return a.priority - b.priority;\r\n });\r\n // Initialize each plugin\r\n arr.forEach(function (queueItem) { return queueItem.initialize(config, core, extensions); });\r\n // setup next plugin\r\n for (var i = 1; i < arr.length; i++) {\r\n arr[i - 1].setNextPlugin(arr[i]);\r\n }\r\n this.channelQueue.push(arr);\r\n }\r\n }\r\n };\r\n return ChannelController;\r\n }());\r\n var validationError = \"Extensions must provide callback to initialize\";\r\n var ChannelControllerPriority = 200;\r\n var duplicatePriority = \"One or more extensions are set at same priority\";\r\n});\r\n//# sourceMappingURL=AppInsightsCore.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var CoreUtils = /** @class */ (function () {\r\n function CoreUtils() {\r\n }\r\n CoreUtils.isNullOrUndefined = function (input) {\r\n return input === null || input === undefined;\r\n };\r\n /**\r\n * Creates a new GUID.\r\n * @return {string} A GUID.\r\n */\r\n CoreUtils.newGuid = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(GuidRegex, function (c) {\r\n var r = (Math.random() * 16 | 0), v = (c === 'x' ? r : r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n };\r\n return CoreUtils;\r\n }());\r\n exports.CoreUtils = CoreUtils;\r\n var GuidRegex = /[xy]/g;\r\n});\r\n//# sourceMappingURL=CoreUtils.js.map","define([\"require\", \"exports\", \"../JavaScriptSDK.Enums/LoggingEnums\", \"./CoreUtils\"], function (require, exports, LoggingEnums_1, CoreUtils_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var _InternalLogMessage = /** @class */ (function () {\r\n function _InternalLogMessage(msgId, msg, isUserAct, properties) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n this.messageId = msgId;\r\n this.message =\r\n (isUserAct ? _InternalLogMessage.AiUserActionablePrefix : _InternalLogMessage.AiNonUserActionablePrefix) +\r\n msgId;\r\n var diagnosticText = (msg ? \" message:\" + _InternalLogMessage.sanitizeDiagnosticText(msg) : \"\") +\r\n (properties ? \" props:\" + _InternalLogMessage.sanitizeDiagnosticText(JSON.stringify(properties)) : \"\");\r\n this.message += diagnosticText;\r\n }\r\n _InternalLogMessage.sanitizeDiagnosticText = function (text) {\r\n return \"\\\"\" + text.replace(/\\\"/g, \"\") + \"\\\"\";\r\n };\r\n _InternalLogMessage.dataType = \"MessageData\";\r\n /**\r\n * For user non actionable traces use AI Internal prefix.\r\n */\r\n _InternalLogMessage.AiNonUserActionablePrefix = \"AI (Internal): \";\r\n /**\r\n * Prefix of the traces in portal.\r\n */\r\n _InternalLogMessage.AiUserActionablePrefix = \"AI: \";\r\n return _InternalLogMessage;\r\n }());\r\n exports._InternalLogMessage = _InternalLogMessage;\r\n var DiagnosticLogger = /** @class */ (function () {\r\n function DiagnosticLogger(config) {\r\n /**\r\n * Session storage key for the prefix for the key indicating message type already logged\r\n */\r\n this.AIInternalMessagePrefix = \"AITR_\";\r\n /**\r\n * When this is true the SDK will throw exceptions to aid in debugging.\r\n */\r\n this.enableDebugExceptions = function () { return false; };\r\n /**\r\n * 0: OFF\r\n * 1: CRITICAL (default)\r\n * 2: >= WARNING\r\n */\r\n this.consoleLoggingLevel = function () { return 1; };\r\n /**\r\n * 0: OFF (default)\r\n * 1: CRITICAL\r\n * 2: >= WARNING\r\n */\r\n this.telemetryLoggingLevel = function () { return 0; };\r\n /**\r\n * The maximum number of internal messages allowed to be sent per page view\r\n */\r\n this.maxInternalMessageLimit = function () { return 25; };\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 this._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 this._messageLogged = {};\r\n if (CoreUtils_1.CoreUtils.isNullOrUndefined(config)) {\r\n // TODO: Use default config\r\n // config = AppInsightsCore.defaultConfig;\r\n // For now, use defaults specified in DiagnosticLogger members;\r\n return;\r\n }\r\n if (!CoreUtils_1.CoreUtils.isNullOrUndefined(config.loggingLevelConsole)) {\r\n this.consoleLoggingLevel = function () { return config.loggingLevelConsole; };\r\n }\r\n if (!CoreUtils_1.CoreUtils.isNullOrUndefined(config.loggingLevelTelemetry)) {\r\n this.telemetryLoggingLevel = function () { return config.loggingLevelTelemetry; };\r\n }\r\n if (!CoreUtils_1.CoreUtils.isNullOrUndefined(config.maxMessageLimit)) {\r\n this.maxInternalMessageLimit = function () { return config.maxMessageLimit; };\r\n }\r\n if (!CoreUtils_1.CoreUtils.isNullOrUndefined(config.enableDebugExceptions)) {\r\n this.enableDebugExceptions = function () { return config.enableDebugExceptions; };\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 {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 var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);\r\n if (this.enableDebugExceptions()) {\r\n throw message;\r\n }\r\n else {\r\n if (typeof (message) !== \"undefined\" && !!message) {\r\n if (typeof (message.message) !== \"undefined\") {\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.messageId;\r\n if (!this._messageLogged[messageKey] || this.consoleLoggingLevel() >= LoggingEnums_1.LoggingSeverity.WARNING) {\r\n this.warnToConsole(message.message);\r\n this._messageLogged[messageKey] = true;\r\n }\r\n }\r\n else {\r\n // don't log internal AI traces in the console, unless the verbose logging is enabled\r\n if (this.consoleLoggingLevel() >= LoggingEnums_1.LoggingSeverity.WARNING) {\r\n this.warnToConsole(message.message);\r\n }\r\n }\r\n this.logInternalMessage(severity, message);\r\n }\r\n }\r\n }\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 if (typeof console !== \"undefined\" && !!console) {\r\n if (typeof console.warn === \"function\") {\r\n console.warn(message);\r\n }\r\n else if (typeof console.log === \"function\") {\r\n console.log(message);\r\n }\r\n }\r\n };\r\n /**\r\n * Resets the internal message count\r\n */\r\n DiagnosticLogger.prototype.resetInternalMessageCount = function () {\r\n this._messageCount = 0;\r\n this._messageLogged = {};\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 if (this._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 = this.AIInternalMessagePrefix + message.messageId;\r\n // if the session storage is not available, limit to only one message type per page view\r\n if (this._messageLogged[messageKey]) {\r\n logMessage = false;\r\n }\r\n else {\r\n this._messageLogged[messageKey] = true;\r\n }\r\n if (logMessage) {\r\n // Push the event in the internal queue\r\n if (severity <= this.telemetryLoggingLevel()) {\r\n this.queue.push(message);\r\n this._messageCount++;\r\n }\r\n // When throttle limit reached, send a special event\r\n if (this._messageCount == this.maxInternalMessageLimit()) {\r\n var throttleLimitMessage = \"Internal events throttle limit per PageView reached for this app.\";\r\n var throttleMessage = new _InternalLogMessage(LoggingEnums_1._InternalMessageId.MessageLimitPerPVExceeded, throttleLimitMessage, false);\r\n this.queue.push(throttleMessage);\r\n this.warnToConsole(throttleLimitMessage);\r\n }\r\n }\r\n };\r\n /**\r\n * Indicates whether the internal events are throttled\r\n */\r\n DiagnosticLogger.prototype._areInternalMessagesThrottled = function () {\r\n return this._messageCount >= this.maxInternalMessageLimit();\r\n };\r\n return DiagnosticLogger;\r\n }());\r\n exports.DiagnosticLogger = DiagnosticLogger;\r\n});\r\n//# sourceMappingURL=DiagnosticLogger.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n /**\r\n * Class to manage sending notifications to all the listeners.\r\n */\r\n var NotificationManager = /** @class */ (function () {\r\n function NotificationManager() {\r\n this.listeners = [];\r\n }\r\n /**\r\n * Adds a notification listener.\r\n * @param {INotificationListener} listener - The notification listener to be added.\r\n */\r\n NotificationManager.prototype.addNotificationListener = function (listener) {\r\n this.listeners.push(listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - AWTNotificationListener to remove.\r\n */\r\n NotificationManager.prototype.removeNotificationListener = function (listener) {\r\n var index = this.listeners.indexOf(listener);\r\n while (index > -1) {\r\n this.listeners.splice(index, 1);\r\n index = this.listeners.indexOf(listener);\r\n }\r\n };\r\n /**\r\n * Notification for events sent.\r\n * @param {ITelemetryItem[]} events - The array of events that have been sent.\r\n */\r\n NotificationManager.prototype.eventsSent = function (events) {\r\n var _this = this;\r\n var _loop_1 = function (i) {\r\n if (this_1.listeners[i].eventsSent) {\r\n setTimeout(function () { return _this.listeners[i].eventsSent(events); }, 0);\r\n }\r\n };\r\n var this_1 = this;\r\n for (var i = 0; i < this.listeners.length; ++i) {\r\n _loop_1(i);\r\n }\r\n };\r\n /**\r\n * Notification for events being discarded.\r\n * @param {ITelemetryItem[]} events - The array of events that have been discarded by the SDK.\r\n * @param {number} 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 var _this = this;\r\n var _loop_2 = function (i) {\r\n if (this_2.listeners[i].eventsDiscarded) {\r\n setTimeout(function () { return _this.listeners[i].eventsDiscarded(events, reason); }, 0);\r\n }\r\n };\r\n var this_2 = this;\r\n for (var i = 0; i < this.listeners.length; ++i) {\r\n _loop_2(i);\r\n }\r\n };\r\n return NotificationManager;\r\n }());\r\n exports.NotificationManager = NotificationManager;\r\n});\r\n//# sourceMappingURL=NotificationManager.js.map","define([\"require\", \"exports\", \"./JavaScriptSDK.Interfaces/IChannelControls\", \"./JavaScriptSDK.Enums/EventsDiscardedReason\", \"./JavaScriptSDK/AppInsightsCore\", \"./JavaScriptSDK/CoreUtils\", \"./JavaScriptSDK/NotificationManager\", \"./JavaScriptSDK/DiagnosticLogger\", \"./JavaScriptSDK.Enums/LoggingEnums\"], function (require, exports, IChannelControls_1, EventsDiscardedReason_1, AppInsightsCore_1, CoreUtils_1, NotificationManager_1, DiagnosticLogger_1, LoggingEnums_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n exports.MinChannelPriorty = IChannelControls_1.MinChannelPriorty;\r\n exports.EventsDiscardedReason = EventsDiscardedReason_1.EventsDiscardedReason;\r\n exports.AppInsightsCore = AppInsightsCore_1.AppInsightsCore;\r\n exports.CoreUtils = CoreUtils_1.CoreUtils;\r\n exports.NotificationManager = NotificationManager_1.NotificationManager;\r\n exports.DiagnosticLogger = DiagnosticLogger_1.DiagnosticLogger;\r\n exports._InternalLogMessage = DiagnosticLogger_1._InternalLogMessage;\r\n exports._InternalMessageId = LoggingEnums_1._InternalMessageId;\r\n exports.LoggingSeverity = LoggingEnums_1.LoggingSeverity;\r\n});\r\n//# sourceMappingURL=applicationinsights-core-js.js.map","define([\"require\", \"exports\", \"applicationinsights-common\", \"applicationinsights-core-js\", \"./ajaxRecord\", \"./ajaxUtils\"], function (require, exports, applicationinsights_common_1, applicationinsights_core_js_1, ajaxRecord_1, ajaxUtils_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var AjaxMonitor = /** @class */ (function () {\r\n function AjaxMonitor() {\r\n this._trackAjaxAttempts = 0;\r\n this.identifier = \"AjaxDependencyPlugin\";\r\n this.priority = 161;\r\n this.currentWindowHost = window && window.location.host && window.location.host.toLowerCase();\r\n this.initialized = false;\r\n }\r\n ///<summary>Verifies that particalar instance of XMLHttpRequest needs to be monitored</summary>\r\n ///<param name=\"excludeAjaxDataValidation\">Optional parameter. True if ajaxData must be excluded from verification</param>\r\n ///<returns type=\"bool\">True if instance needs to be monitored, otherwise false</returns>\r\n AjaxMonitor.prototype.isMonitoredInstance = function (xhr, excludeAjaxDataValidation) {\r\n // checking to see that all interested functions on xhr were instrumented\r\n return this.initialized\r\n // checking on ajaxData to see that it was not removed in user code\r\n && (excludeAjaxDataValidation === true || !applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(xhr.ajaxData))\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 && xhr[applicationinsights_common_1.DisabledPropertyName] !== true;\r\n };\r\n ///<summary>Determines whether ajax monitoring can be enabled on this document</summary>\r\n ///<returns>True if Ajax monitoring is supported on this page, otherwise false</returns>\r\n AjaxMonitor.prototype.supportsMonitoring = function () {\r\n var result = true;\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(XMLHttpRequest) ||\r\n applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(XMLHttpRequest.prototype) ||\r\n applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(XMLHttpRequest.prototype.open) ||\r\n applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(XMLHttpRequest.prototype.send) ||\r\n applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(XMLHttpRequest.prototype.abort)) {\r\n result = false;\r\n }\r\n // disable in IE8 or older (https://www.w3schools.com/jsref/jsref_trim_string.asp)\r\n try {\r\n \" a \".trim();\r\n }\r\n catch (ex) {\r\n result = false;\r\n }\r\n return result;\r\n };\r\n AjaxMonitor.prototype.instrumentOpen = function () {\r\n var originalOpen = XMLHttpRequest.prototype.open;\r\n var ajaxMonitorInstance = this;\r\n XMLHttpRequest.prototype.open = function (method, url, async) {\r\n try {\r\n if (ajaxMonitorInstance.isMonitoredInstance(this, true) &&\r\n (!this.ajaxData ||\r\n !this.ajaxData.xhrMonitoringState.openDone)) {\r\n ajaxMonitorInstance.openHandler(this, method, url, async);\r\n }\r\n }\r\n catch (e) {\r\n this._core.logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.FailedMonitorAjaxOpen, \"Failed to monitor XMLHttpRequest.open, monitoring data for this ajax call may be incorrect.\", {\r\n ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(this),\r\n exception: applicationinsights_common_1.Util.dump(e)\r\n });\r\n }\r\n return originalOpen.apply(this, arguments);\r\n };\r\n };\r\n AjaxMonitor.prototype.openHandler = function (xhr, method, url, async) {\r\n /* todo:\r\n Disabling the following block of code as CV is not yet supported in 1DS for 3rd Part.\r\n // this format corresponds with activity logic on server-side and is required for the correct correlation\r\n var id = \"|\" + this.appInsights.context.operation.id + \".\" + Util.newId();\r\n */\r\n var id = applicationinsights_common_1.Util.newId();\r\n var ajaxData = new ajaxRecord_1.ajaxRecord(id, this._core._logger);\r\n ajaxData.method = method;\r\n ajaxData.requestUrl = url;\r\n ajaxData.xhrMonitoringState.openDone = true;\r\n xhr.ajaxData = ajaxData;\r\n this.attachToOnReadyStateChange(xhr);\r\n };\r\n AjaxMonitor.getFailedAjaxDiagnosticsMessage = function (xhr) {\r\n var result = \"\";\r\n try {\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(xhr) &&\r\n !applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(xhr.ajaxData) &&\r\n !applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(xhr.ajaxData.requestUrl)) {\r\n result += \"(url: '\" + xhr.ajaxData.requestUrl + \"')\";\r\n }\r\n }\r\n catch (e) { }\r\n return result;\r\n };\r\n AjaxMonitor.prototype.instrumentSend = function () {\r\n var originalSend = XMLHttpRequest.prototype.send;\r\n var ajaxMonitorInstance = this;\r\n XMLHttpRequest.prototype.send = function (content) {\r\n try {\r\n if (ajaxMonitorInstance.isMonitoredInstance(this) && !this.ajaxData.xhrMonitoringState.sendDone) {\r\n ajaxMonitorInstance.sendHandler(this, content);\r\n }\r\n }\r\n catch (e) {\r\n this._core.logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.FailedMonitorAjaxSend, \"Failed to monitor XMLHttpRequest, monitoring data for this ajax call may be incorrect.\", {\r\n ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(this),\r\n exception: applicationinsights_common_1.Util.dump(e)\r\n });\r\n }\r\n return originalSend.apply(this, arguments);\r\n };\r\n };\r\n AjaxMonitor.prototype.sendHandler = function (xhr, content) {\r\n xhr.ajaxData.requestSentTime = applicationinsights_common_1.DateTimeUtils.Now();\r\n if (this.currentWindowHost && applicationinsights_common_1.CorrelationIdHelper.canIncludeCorrelationHeader(this._config, xhr.ajaxData.getAbsoluteUrl(), this.currentWindowHost)) {\r\n xhr.setRequestHeader(applicationinsights_common_1.RequestHeaders.requestIdHeader, xhr.ajaxData.id);\r\n var appId = this._config.appId; // Todo: also, get appId from channel as breeze returns it\r\n if (appId) {\r\n xhr.setRequestHeader(applicationinsights_common_1.RequestHeaders.requestContextHeader, applicationinsights_common_1.RequestHeaders.requestContextAppIdFormat + appId);\r\n }\r\n }\r\n xhr.ajaxData.xhrMonitoringState.sendDone = true;\r\n };\r\n AjaxMonitor.prototype.instrumentAbort = function () {\r\n var originalAbort = XMLHttpRequest.prototype.abort;\r\n var ajaxMonitorInstance = this;\r\n XMLHttpRequest.prototype.abort = function () {\r\n try {\r\n if (ajaxMonitorInstance.isMonitoredInstance(this) && !this.ajaxData.xhrMonitoringState.abortDone) {\r\n this.ajaxData.aborted = 1;\r\n this.ajaxData.xhrMonitoringState.abortDone = true;\r\n }\r\n }\r\n catch (e) {\r\n this._core.logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.FailedMonitorAjaxAbort, \"Failed to monitor XMLHttpRequest.abort, monitoring data for this ajax call may be incorrect.\", {\r\n ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(this),\r\n exception: applicationinsights_common_1.Util.dump(e)\r\n });\r\n }\r\n return originalAbort.apply(this, arguments);\r\n };\r\n };\r\n AjaxMonitor.prototype.attachToOnReadyStateChange = function (xhr) {\r\n var _this = this;\r\n var ajaxMonitorInstance = this;\r\n xhr.ajaxData.xhrMonitoringState.onreadystatechangeCallbackAttached = ajaxUtils_1.EventHelper.AttachEvent(xhr, \"readystatechange\", function () {\r\n try {\r\n if (ajaxMonitorInstance.isMonitoredInstance(xhr)) {\r\n if (xhr.readyState === 4) {\r\n ajaxMonitorInstance.onAjaxComplete(xhr);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n var exceptionText = applicationinsights_common_1.Util.dump(e);\r\n // ignore messages with c00c023f, as this a known IE9 XHR abort issue\r\n if (!exceptionText || exceptionText.toLowerCase().indexOf(\"c00c023f\") == -1) {\r\n _this._core.logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.FailedMonitorAjaxRSC, \"Failed to monitor XMLHttpRequest 'readystatechange' event handler, monitoring data for this ajax call may be incorrect.\", {\r\n ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(xhr),\r\n exception: applicationinsights_common_1.Util.dump(e)\r\n });\r\n }\r\n }\r\n });\r\n };\r\n AjaxMonitor.prototype.onAjaxComplete = function (xhr) {\r\n xhr.ajaxData.responseFinishedTime = applicationinsights_common_1.DateTimeUtils.Now();\r\n xhr.ajaxData.status = xhr.status;\r\n xhr.ajaxData.CalculateMetrics();\r\n if (xhr.ajaxData.ajaxTotalDuration < 0) {\r\n this._core.logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.FailedMonitorAjaxDur, \"Failed to calculate the duration of the ajax call, monitoring data for this ajax call won't be sent.\", {\r\n ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(xhr),\r\n requestSentTime: xhr.ajaxData.requestSentTime,\r\n responseFinishedTime: xhr.ajaxData.responseFinishedTime\r\n });\r\n }\r\n else {\r\n var dependency = {\r\n id: xhr.ajaxData.id,\r\n absoluteUrl: xhr.ajaxData.getAbsoluteUrl(),\r\n commandName: xhr.ajaxData.getPathName(),\r\n duration: xhr.ajaxData.ajaxTotalDuration,\r\n success: (+(xhr.ajaxData.status)) >= 200 && (+(xhr.ajaxData.status)) < 400,\r\n resultCode: +xhr.ajaxData.status,\r\n method: xhr.ajaxData.method\r\n };\r\n // enrich dependency target with correlation context from the server\r\n var correlationContext = this.getCorrelationContext(xhr);\r\n if (correlationContext) {\r\n dependency.correlationContext = /* dependency.target + \" | \" + */ correlationContext;\r\n }\r\n this.trackDependencyData(dependency);\r\n xhr.ajaxData = null;\r\n }\r\n };\r\n AjaxMonitor.prototype.getCorrelationContext = function (xhr) {\r\n try {\r\n var responseHeadersString = xhr.getAllResponseHeaders();\r\n if (responseHeadersString !== null) {\r\n var index = responseHeadersString.toLowerCase().indexOf(applicationinsights_common_1.RequestHeaders.requestContextHeaderLowerCase);\r\n if (index !== -1) {\r\n var responseHeader = xhr.getResponseHeader(applicationinsights_common_1.RequestHeaders.requestContextHeader);\r\n return applicationinsights_common_1.CorrelationIdHelper.getCorrelationContext(responseHeader);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n this._core.logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.FailedMonitorAjaxGetCorrelationHeader, \"Failed to get Request-Context correlation header as it may be not included in the response or not accessible.\", {\r\n ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(xhr),\r\n exception: applicationinsights_common_1.Util.dump(e)\r\n });\r\n }\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, systemProperties) {\r\n if (this._config.maxAjaxCallsPerView === -1 || this._trackAjaxAttempts < this._config.maxAjaxCallsPerView) {\r\n var item = applicationinsights_common_1.TelemetryItemCreator.create(dependency, applicationinsights_common_1.RemoteDependencyData.dataType, applicationinsights_common_1.RemoteDependencyData.envelopeType, this._core._logger, properties, systemProperties);\r\n this._core.track(item);\r\n }\r\n else if (this._trackAjaxAttempts === this._config.maxAjaxCallsPerView) {\r\n this._core.logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.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 ++this._trackAjaxAttempts;\r\n };\r\n AjaxMonitor.prototype.processTelemetry = function (item) {\r\n if (this._nextPlugin && this._nextPlugin.processTelemetry) {\r\n this._nextPlugin.processTelemetry(item);\r\n }\r\n };\r\n AjaxMonitor.prototype.setNextPlugin = function (next) {\r\n if (next) {\r\n this._nextPlugin = next;\r\n }\r\n };\r\n AjaxMonitor.prototype.initialize = function (config, core, extensions) {\r\n if (!this.initialized) {\r\n this._core = core;\r\n config.extensionConfig = config.extensionConfig ? config.extensionConfig : {};\r\n var c = config.extensionConfig[this.identifier] ? config.extensionConfig[this.identifier] : {};\r\n this._config = {\r\n maxAjaxCallsPerView: !isNaN(c.maxAjaxCallsPerView) ? c.maxAjaxCallsPerView : 500,\r\n disableAjaxTracking: applicationinsights_common_1.Util.stringToBoolOrDefault(c.disableAjaxTracking),\r\n disableCorrelationHeaders: applicationinsights_common_1.Util.stringToBoolOrDefault(c.disableCorrelationHeaders),\r\n correlationHeaderExcludedDomains: c.correlationHeaderExcludedDomains || [\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\n appId: c.appId,\r\n enableCorsCorrelation: applicationinsights_common_1.Util.stringToBoolOrDefault(c.enableCorsCorrelation)\r\n };\r\n if (this.supportsMonitoring() && !this._config.disableAjaxTracking) {\r\n this.instrumentOpen();\r\n this.instrumentSend();\r\n this.instrumentAbort();\r\n this.initialized = true;\r\n }\r\n }\r\n };\r\n return AjaxMonitor;\r\n }());\r\n exports.AjaxMonitor = AjaxMonitor;\r\n});\r\n//# sourceMappingURL=ajax.js.map","define([\"require\", \"exports\", \"applicationinsights-common\"], function (require, exports, applicationinsights_common_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var XHRMonitoringState = /** @class */ (function () {\r\n function XHRMonitoringState() {\r\n this.openDone = false;\r\n this.setRequestHeaderDone = false;\r\n this.sendDone = false;\r\n this.abortDone = false;\r\n //<summary>True, if onreadyStateChangeCallback function attached to xhr, otherwise false</summary>\r\n this.onreadystatechangeCallbackAttached = false;\r\n }\r\n return XHRMonitoringState;\r\n }());\r\n exports.XHRMonitoringState = XHRMonitoringState;\r\n var ajaxRecord = /** @class */ (function () {\r\n function ajaxRecord(id, logger) {\r\n this.completed = false;\r\n this.requestHeadersSize = null;\r\n this.ttfb = null;\r\n this.responseReceivingDuration = null;\r\n this.callbackDuration = null;\r\n this.ajaxTotalDuration = null;\r\n this.aborted = null;\r\n this.pageUrl = null;\r\n this.requestUrl = null;\r\n this.requestSize = 0;\r\n this.method = null;\r\n ///<summary>Returns the HTTP status code.</summary>\r\n this.status = null;\r\n //<summary>The timestamp when open method was invoked</summary>\r\n this.requestSentTime = null;\r\n //<summary>The timestamps when first byte was received</summary>\r\n this.responseStartedTime = null;\r\n //<summary>The timestamp when last byte was received</summary>\r\n this.responseFinishedTime = null;\r\n //<summary>The timestamp when onreadystatechange callback in readyState 4 finished</summary>\r\n this.callbackFinishedTime = null;\r\n //<summary>The timestamp at which ajax was ended</summary>\r\n this.endTime = null;\r\n //<summary>The original xhr onreadystatechange event</summary>\r\n this.originalOnreadystatechage = null;\r\n this.xhrMonitoringState = new XHRMonitoringState();\r\n //<summary>Determines whether or not JavaScript exception occured in xhr.onreadystatechange code. 1 if occured, otherwise 0.</summary>\r\n this.clientFailure = 0;\r\n this.CalculateMetrics = function () {\r\n var self = this;\r\n // round to 3 decimal points\r\n self.ajaxTotalDuration = Math.round(applicationinsights_common_1.DateTimeUtils.GetDuration(self.requestSentTime, self.responseFinishedTime) * 1000) / 1000;\r\n };\r\n this.id = id;\r\n this._logger = logger;\r\n }\r\n ajaxRecord.prototype.getAbsoluteUrl = function () {\r\n return this.requestUrl ? applicationinsights_common_1.UrlHelper.getAbsoluteUrl(this.requestUrl) : null;\r\n };\r\n ajaxRecord.prototype.getPathName = function () {\r\n return this.requestUrl ? applicationinsights_common_1.DataSanitizer.sanitizeUrl(this._logger, applicationinsights_common_1.UrlHelper.getCompleteUrl(this.method, this.requestUrl)) : null;\r\n };\r\n return ajaxRecord;\r\n }());\r\n exports.ajaxRecord = ajaxRecord;\r\n ;\r\n});\r\n//# sourceMappingURL=ajaxRecord.js.map","define([\"require\", \"exports\", \"applicationinsights-core-js\"], function (require, exports, applicationinsights_core_js_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var stringUtils = /** @class */ (function () {\r\n function stringUtils() {\r\n }\r\n stringUtils.GetLength = function (strObject) {\r\n var res = 0;\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(strObject)) {\r\n var stringified = \"\";\r\n try {\r\n stringified = strObject.toString();\r\n }\r\n catch (ex) {\r\n // some troubles with complex object\r\n }\r\n res = stringified.length;\r\n res = isNaN(res) ? 0 : res;\r\n }\r\n return res;\r\n };\r\n return stringUtils;\r\n }());\r\n exports.stringUtils = stringUtils;\r\n var EventHelper = /** @class */ (function () {\r\n function EventHelper() {\r\n }\r\n ///<summary>Binds the specified function to an event, so that the function gets called whenever the event fires on the object</summary>\r\n ///<param name=\"obj\">Object to which </param>\r\n ///<param name=\"eventNameWithoutOn\">String that specifies any of the standard DHTML Events without \"on\" prefix</param>\r\n ///<param name=\"handlerRef\">Pointer that specifies the function to call when event fires</param>\r\n ///<returns>True if the function was bound successfully to the event, otherwise false</returns>\r\n EventHelper.AttachEvent = function (obj, eventNameWithoutOn, handlerRef) {\r\n var result = false;\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(obj)) {\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(obj.attachEvent)) {\r\n // IE before version 9 \r\n obj.attachEvent(\"on\" + eventNameWithoutOn, handlerRef);\r\n result = true;\r\n }\r\n else {\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(obj.addEventListener)) {\r\n // all browsers except IE before version 9\r\n obj.addEventListener(eventNameWithoutOn, handlerRef, false);\r\n result = true;\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n EventHelper.DetachEvent = function (obj, eventNameWithoutOn, handlerRef) {\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(obj)) {\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(obj.detachEvent)) {\r\n obj.detachEvent(\"on\" + eventNameWithoutOn, handlerRef);\r\n }\r\n else {\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(obj.removeEventListener)) {\r\n obj.removeEventListener(eventNameWithoutOn, handlerRef, false);\r\n }\r\n }\r\n }\r\n };\r\n return EventHelper;\r\n }());\r\n exports.EventHelper = EventHelper;\r\n});\r\n//# sourceMappingURL=ajaxUtils.js.map","define([\"require\", \"exports\", \"./ajax\"], function (require, exports, ajax_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n exports.AjaxPlugin = ajax_1.AjaxMonitor;\r\n});\r\n//# sourceMappingURL=applicationinsights-dependencies-js.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Application = /** @class */ (function () {\r\n function Application() {\r\n }\r\n return Application;\r\n }());\r\n exports.Application = Application;\r\n});\r\n//# sourceMappingURL=Application.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var 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.type = \"Browser\";\r\n }\r\n return Device;\r\n }());\r\n exports.Device = Device;\r\n});\r\n//# sourceMappingURL=Device.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Version = \"2.0.1-beta\";\r\n var Internal = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the internal telemetry data class.\r\n */\r\n function Internal(config) {\r\n this.sdkVersion = (config.sdkExtension && config.sdkExtension() ? config.sdkExtension() + \"_\" : \"\") + \"javascript:\" + Version;\r\n }\r\n return Internal;\r\n }());\r\n exports.Internal = Internal;\r\n});\r\n//# sourceMappingURL=Internal.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Location = /** @class */ (function () {\r\n function Location() {\r\n }\r\n return Location;\r\n }());\r\n exports.Location = Location;\r\n});\r\n//# sourceMappingURL=Location.js.map","define([\"require\", \"exports\", \"applicationinsights-common\"], function (require, exports, applicationinsights_common_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Operation = /** @class */ (function () {\r\n function Operation() {\r\n this.id = applicationinsights_common_1.Util.newId();\r\n if (window && window.location && window.location.pathname) {\r\n this.name = window.location.pathname;\r\n }\r\n }\r\n return Operation;\r\n }());\r\n exports.Operation = Operation;\r\n});\r\n//# sourceMappingURL=Operation.js.map","define([\"require\", \"exports\", \"../SamplingScoreGenerator\", \"applicationinsights-core-js\"], function (require, exports, SamplingScoreGenerator_1, applicationinsights_core_js_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var 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 if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(logger)) {\r\n this._logger = new applicationinsights_core_js_1.DiagnosticLogger();\r\n }\r\n else {\r\n this._logger = logger;\r\n }\r\n if (sampleRate > 100 || sampleRate < 0) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.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 this.sampleRate = 100;\r\n }\r\n this.sampleRate = sampleRate;\r\n this.samplingScoreGenerator = new SamplingScoreGenerator_1.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 // return true as sampling will move to different extension\r\n return true;\r\n };\r\n return Sample;\r\n }());\r\n exports.Sample = Sample;\r\n});\r\n//# sourceMappingURL=Sample.js.map","define([\"require\", \"exports\", \"applicationinsights-common\", \"applicationinsights-core-js\"], function (require, exports, applicationinsights_common_1, applicationinsights_core_js_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var Session = /** @class */ (function () {\r\n function Session() {\r\n }\r\n return Session;\r\n }());\r\n exports.Session = Session;\r\n var _SessionManager = /** @class */ (function () {\r\n function _SessionManager(config, logger) {\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(logger)) {\r\n this._logger = new applicationinsights_core_js_1.DiagnosticLogger();\r\n }\r\n else {\r\n this._logger = logger;\r\n }\r\n if (!config) {\r\n config = {};\r\n }\r\n if (!(typeof config.sessionExpirationMs === \"function\")) {\r\n config.sessionExpirationMs = function () { return _SessionManager.acquisitionSpan; };\r\n }\r\n if (!(typeof config.sessionRenewalMs === \"function\")) {\r\n config.sessionRenewalMs = function () { return _SessionManager.renewalSpan; };\r\n }\r\n this.config = config;\r\n this.automaticSession = new Session();\r\n }\r\n _SessionManager.prototype.update = function () {\r\n if (!this.automaticSession.id) {\r\n this.initializeAutomaticSession();\r\n }\r\n var now = applicationinsights_common_1.DateTimeUtils.Now();\r\n var acquisitionExpired = now - this.automaticSession.acquisitionDate > this.config.sessionExpirationMs();\r\n var renewalExpired = now - this.automaticSession.renewalDate > this.config.sessionRenewalMs();\r\n // renew if acquisitionSpan or renewalSpan has ellapsed\r\n if (acquisitionExpired || renewalExpired) {\r\n // update automaticSession so session state has correct id \r\n this.automaticSession.isFirst = undefined;\r\n this.renew();\r\n }\r\n else {\r\n // do not update the cookie more often than cookieUpdateInterval\r\n if (!this.cookieUpdatedTimestamp || now - this.cookieUpdatedTimestamp > _SessionManager.cookieUpdateInterval) {\r\n this.automaticSession.renewalDate = now;\r\n this.setCookie(this.automaticSession.id, this.automaticSession.acquisitionDate, this.automaticSession.renewalDate);\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 _SessionManager.prototype.backup = function () {\r\n this.setStorage(this.automaticSession.id, this.automaticSession.acquisitionDate, this.automaticSession.renewalDate);\r\n };\r\n /**\r\n * Use ai_session cookie data or local storage data (when the cookie is unavailable) to\r\n * initialize the automatic session.\r\n */\r\n _SessionManager.prototype.initializeAutomaticSession = function () {\r\n var cookie = applicationinsights_common_1.Util.getCookie(this._logger, 'ai_session');\r\n if (cookie && typeof cookie.split === \"function\") {\r\n this.initializeAutomaticSessionWithData(cookie);\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 storage = applicationinsights_common_1.Util.getStorage(this._logger, 'ai_session');\r\n if (storage) {\r\n this.initializeAutomaticSessionWithData(storage);\r\n }\r\n }\r\n if (!this.automaticSession.id) {\r\n this.automaticSession.isFirst = true;\r\n this.renew();\r\n }\r\n };\r\n /**\r\n * Extract id, aquisitionDate, and renewalDate from an ai_session payload string and\r\n * use this data to initialize automaticSession.\r\n *\r\n * @param {string} sessionData - The string stored in an ai_session cookie or local storage backup\r\n */\r\n _SessionManager.prototype.initializeAutomaticSessionWithData = function (sessionData) {\r\n var params = sessionData.split(\"|\");\r\n if (params.length > 0) {\r\n this.automaticSession.id = params[0];\r\n }\r\n try {\r\n if (params.length > 1) {\r\n var acq = +params[1];\r\n this.automaticSession.acquisitionDate = +new Date(acq);\r\n this.automaticSession.acquisitionDate = this.automaticSession.acquisitionDate > 0 ? this.automaticSession.acquisitionDate : 0;\r\n }\r\n if (params.length > 2) {\r\n var renewal = +params[2];\r\n this.automaticSession.renewalDate = +new Date(renewal);\r\n this.automaticSession.renewalDate = this.automaticSession.renewalDate > 0 ? this.automaticSession.renewalDate : 0;\r\n }\r\n }\r\n catch (e) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.CRITICAL, applicationinsights_core_js_1._InternalMessageId.ErrorParsingAISessionCookie, \"Error parsing ai_session cookie, session will be reset: \" + applicationinsights_common_1.Util.getExceptionName(e), { exception: applicationinsights_common_1.Util.dump(e) });\r\n }\r\n if (this.automaticSession.renewalDate == 0) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.SessionRenewalDateIsZero, \"AI session renewal date is 0, session will be reset.\");\r\n }\r\n };\r\n _SessionManager.prototype.renew = function () {\r\n var now = applicationinsights_common_1.DateTimeUtils.Now();\r\n this.automaticSession.id = applicationinsights_common_1.Util.newId();\r\n this.automaticSession.acquisitionDate = now;\r\n this.automaticSession.renewalDate = now;\r\n this.setCookie(this.automaticSession.id, this.automaticSession.acquisitionDate, this.automaticSession.renewalDate);\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 (!applicationinsights_common_1.Util.canUseLocalStorage()) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.BrowserDoesNotSupportLocalStorage, \"Browser does not support local storage. Session durations will be inaccurate.\");\r\n }\r\n };\r\n _SessionManager.prototype.setCookie = function (guid, acq, renewal) {\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 acquisitionExpiry = acq + this.config.sessionExpirationMs();\r\n var renewalExpiry = renewal + this.config.sessionRenewalMs();\r\n var cookieExpiry = new Date();\r\n var cookie = [guid, acq, renewal];\r\n if (acquisitionExpiry < renewalExpiry) {\r\n cookieExpiry.setTime(acquisitionExpiry);\r\n }\r\n else {\r\n cookieExpiry.setTime(renewalExpiry);\r\n }\r\n var cookieDomnain = this.config.cookieDomain ? this.config.cookieDomain() : null;\r\n applicationinsights_common_1.Util.setCookie(this._logger, 'ai_session', cookie.join('|') + ';expires=' + cookieExpiry.toUTCString(), cookieDomnain);\r\n this.cookieUpdatedTimestamp = applicationinsights_common_1.DateTimeUtils.Now();\r\n };\r\n _SessionManager.prototype.setStorage = function (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 applicationinsights_common_1.Util.setStorage(this._logger, 'ai_session', [guid, acq, renewal].join('|'));\r\n };\r\n _SessionManager.acquisitionSpan = 86400000; // 24 hours in ms\r\n _SessionManager.renewalSpan = 1800000; // 30 minutes in ms\r\n _SessionManager.cookieUpdateInterval = 60000; // 1 minute in ms\r\n return _SessionManager;\r\n }());\r\n exports._SessionManager = _SessionManager;\r\n});\r\n//# sourceMappingURL=Session.js.map","define([\"require\", \"exports\", \"applicationinsights-common\", \"applicationinsights-core-js\"], function (require, exports, applicationinsights_common_1, applicationinsights_core_js_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var User = /** @class */ (function () {\r\n function User(config, logger) {\r\n this._logger = logger;\r\n //get userId or create new one if none exists\r\n var cookie = applicationinsights_common_1.Util.getCookie(this._logger, User.userCookieName);\r\n if (cookie) {\r\n var params = cookie.split(User.cookieSeparator);\r\n if (params.length > 0) {\r\n this.id = params[0];\r\n }\r\n }\r\n this.config = config;\r\n if (!this.id) {\r\n this.id = applicationinsights_common_1.Util.newId();\r\n var date = new Date();\r\n var acqStr = applicationinsights_common_1.Util.toISOStringForIE8(date);\r\n this.accountAcquisitionDate = acqStr;\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 * 1000 = 31536000000 \r\n date.setTime(date.getTime() + 31536000000);\r\n var newCookie = [this.id, acqStr];\r\n var cookieDomain = this.config.cookieDomain ? this.config.cookieDomain() : undefined;\r\n applicationinsights_common_1.Util.setCookie(this._logger, User.userCookieName, newCookie.join(User.cookieSeparator) + ';expires=' + date.toUTCString(), cookieDomain);\r\n // If we have an 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 applicationinsights_common_1.Util.removeStorage(this._logger, 'ai_session');\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 this.accountId = config.accountId ? config.accountId() : undefined;\r\n // Get the auth user id and account id from the cookie if exists\r\n // Cookie is in the pattern: <authenticatedId>|<accountId>\r\n var authCookie = applicationinsights_common_1.Util.getCookie(this._logger, User.authUserCookieName);\r\n if (authCookie) {\r\n authCookie = decodeURI(authCookie);\r\n var authCookieString = authCookie.split(User.cookieSeparator);\r\n if (authCookieString[0]) {\r\n this.authenticatedId = authCookieString[0];\r\n }\r\n if (authCookieString.length > 1 && authCookieString[1]) {\r\n this.accountId = authCookieString[1];\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 // Validate inputs to ensure no cookie control characters.\r\n var isInvalidInput = !this.validateUserInput(authenticatedUserId) || (accountId && !this.validateUserInput(accountId));\r\n if (isInvalidInput) {\r\n this._logger.throwInternal(applicationinsights_core_js_1.LoggingSeverity.WARNING, applicationinsights_core_js_1._InternalMessageId.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 this.authenticatedId = authenticatedUserId;\r\n var authCookie = this.authenticatedId;\r\n if (accountId) {\r\n this.accountId = accountId;\r\n authCookie = [this.authenticatedId, this.accountId].join(User.cookieSeparator);\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 applicationinsights_common_1.Util.setCookie(this._logger, User.authUserCookieName, encodeURI(authCookie), this.config.cookieDomain());\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 User.prototype.clearAuthenticatedUserContext = function () {\r\n this.authenticatedId = null;\r\n this.accountId = null;\r\n applicationinsights_common_1.Util.deleteCookie(this._logger, User.authUserCookieName);\r\n };\r\n User.prototype.validateUserInput = function (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\n User.cookieSeparator = '|';\r\n User.userCookieName = 'ai_user';\r\n User.authUserCookieName = 'ai_authUser';\r\n return User;\r\n }());\r\n exports.User = User;\r\n});\r\n//# sourceMappingURL=User.js.map","define([\"require\", \"exports\"], function (require, exports) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var 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.length < HashCodeScoreGenerator.MIN_INPUT_LENGTH) {\r\n input = input.concat(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.length; ++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 // (Magic number) DJB algorithm can't work on shorter strings (results in poor distribution\r\n HashCodeScoreGenerator.MIN_INPUT_LENGTH = 8;\r\n return HashCodeScoreGenerator;\r\n }());\r\n exports.HashCodeScoreGenerator = HashCodeScoreGenerator;\r\n});\r\n//# sourceMappingURL=HashCodeScoreGenerator.js.map","/**\r\n * PropertiesPlugin.ts\r\n * @copyright Microsoft 2018\r\n */\r\ndefine([\"require\", \"exports\", \"applicationinsights-core-js\", \"applicationinsights-common\", \"./Context/Session\", \"./Context/Application\", \"./Context/Device\", \"./Context/Internal\", \"./Context/Location\", \"./Context/Operation\", \"./Context/User\", \"./Context/Sample\"], function (require, exports, applicationinsights_core_js_1, applicationinsights_common_1, Session_1, Application_1, Device_1, Internal_1, Location_1, Operation_1, User_1, Sample_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var PropertiesPlugin = /** @class */ (function () {\r\n function PropertiesPlugin() {\r\n this.priority = 170;\r\n this.identifier = \"AppInsightsPropertiesPlugin\";\r\n }\r\n PropertiesPlugin.prototype.initialize = function (config, core, extensions) {\r\n var extensionConfig = config.extensions &&\r\n config.extensions[this.identifier] ?\r\n config.extensions[this.identifier] : {};\r\n this._extensionConfig = {\r\n instrumentationKey: function () { return extensionConfig.instrumentationKey; },\r\n accountId: function () { return extensionConfig.accountId; },\r\n sessionRenewalMs: function () { return extensionConfig.sessionRenewalMs; },\r\n sampleRate: function () { return extensionConfig.sampleRate; },\r\n sessionExpirationMs: function () { return extensionConfig.sessionExpirationMs; },\r\n cookieDomain: function () { return extensionConfig.cookieDomain; },\r\n sdkExtension: function () { return extensionConfig.sdkExtension; },\r\n isBrowserLinkTrackingEnabled: function () { return extensionConfig.isBrowserLinkTrackingEnabled; },\r\n appId: function () { return extensionConfig.appId; }\r\n };\r\n if (typeof window !== 'undefined') {\r\n this._sessionManager = new Session_1._SessionManager(this._extensionConfig, core.logger);\r\n this.application = new Application_1.Application();\r\n this.device = new Device_1.Device();\r\n this.internal = new Internal_1.Internal(this._extensionConfig);\r\n this.location = new Location_1.Location();\r\n this.user = new User_1.User(this._extensionConfig, core.logger);\r\n this.operation = new Operation_1.Operation();\r\n this.session = new Session_1.Session();\r\n this.sample = new Sample_1.Sample(this._extensionConfig.sampleRate(), core.logger);\r\n }\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) {\r\n if (applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(event)) {\r\n // TODO(barustum): throw an internal event once we have support for internal logging\r\n }\r\n else {\r\n // if the event is not sampled in, do not bother going through the pipeline\r\n if (this.sample.isSampledIn(event)) {\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 === applicationinsights_common_1.PageView.envelopeType) {\r\n // TODO(barustum): resetInternalMessageCount once we have support for internal logging\r\n //_InternalLogging.resetInternalMessageCount();\r\n }\r\n if (this.session) {\r\n // If customer did not provide custom session id update the session manager\r\n if (typeof this.session.id !== \"string\") {\r\n this._sessionManager.update();\r\n }\r\n }\r\n this._processTelemetryInternal(event);\r\n }\r\n if (!applicationinsights_core_js_1.CoreUtils.isNullOrUndefined(this._nextPlugin)) {\r\n this._nextPlugin.processTelemetry(event);\r\n }\r\n }\r\n };\r\n /**\r\n * Sets the next plugin that comes after this plugin\r\n * @param nextPlugin The next plugin\r\n */\r\n PropertiesPlugin.prototype.setNextPlugin = function (nextPlugin) {\r\n this._nextPlugin = nextPlugin;\r\n };\r\n PropertiesPlugin.prototype._processTelemetryInternal = function (event) {\r\n var tagsItem = {};\r\n if (this.session) {\r\n // If customer set id, apply his context; otherwise apply context generated from cookies \r\n if (typeof this.session.id === \"string\") {\r\n PropertiesPlugin._applySessionContext(tagsItem, this.session);\r\n }\r\n else {\r\n PropertiesPlugin._applySessionContext(tagsItem, this._sessionManager.automaticSession);\r\n }\r\n }\r\n // set part A fields\r\n PropertiesPlugin._applyApplicationContext(tagsItem, this.application);\r\n PropertiesPlugin._applyDeviceContext(tagsItem, this.device);\r\n PropertiesPlugin._applyInternalContext(tagsItem, this.internal);\r\n PropertiesPlugin._applyLocationContext(tagsItem, this.location);\r\n PropertiesPlugin._applySampleContext(tagsItem, this.sample);\r\n PropertiesPlugin._applyUserContext(tagsItem, this.user);\r\n PropertiesPlugin._applyOperationContext(tagsItem, this.operation);\r\n event.tags.push(tagsItem);\r\n };\r\n PropertiesPlugin._applySessionContext = function (tags, sessionContext) {\r\n if (sessionContext) {\r\n var tagKeys = new applicationinsights_common_1.ContextTagKeys();\r\n if (typeof sessionContext.id === \"string\") {\r\n tags[tagKeys.sessionId] = sessionContext.id;\r\n }\r\n if (typeof sessionContext.isFirst !== \"undefined\") {\r\n tags[tagKeys.sessionIsFirst] = sessionContext.isFirst;\r\n }\r\n }\r\n };\r\n PropertiesPlugin._applyApplicationContext = function (tagsItem, appContext) {\r\n if (appContext) {\r\n var tagKeys = new applicationinsights_common_1.ContextTagKeys();\r\n if (typeof appContext.ver === \"string\") {\r\n tagsItem[tagKeys.applicationVersion] = appContext.ver;\r\n }\r\n if (typeof appContext.build === \"string\") {\r\n tagsItem[tagKeys.applicationBuild] = appContext.build;\r\n }\r\n }\r\n };\r\n PropertiesPlugin._applyDeviceContext = function (tagsItem, deviceContext) {\r\n var tagKeys = new applicationinsights_common_1.ContextTagKeys();\r\n if (deviceContext) {\r\n if (typeof deviceContext.id === \"string\") {\r\n tagsItem[tagKeys.deviceId] = deviceContext.id;\r\n }\r\n if (typeof deviceContext.ip === \"string\") {\r\n tagsItem[tagKeys.deviceIp] = deviceContext.ip;\r\n }\r\n if (typeof deviceContext.language === \"string\") {\r\n tagsItem[tagKeys.deviceLanguage] = deviceContext.language;\r\n }\r\n if (typeof deviceContext.locale === \"string\") {\r\n tagsItem[tagKeys.deviceLocale] = deviceContext.locale;\r\n }\r\n if (typeof deviceContext.model === \"string\") {\r\n tagsItem[tagKeys.deviceModel] = deviceContext.model;\r\n }\r\n if (typeof deviceContext.network !== \"undefined\") {\r\n tagsItem[tagKeys.deviceNetwork] = deviceContext.network;\r\n }\r\n if (typeof deviceContext.oemName === \"string\") {\r\n tagsItem[tagKeys.deviceOEMName] = deviceContext.oemName;\r\n }\r\n if (typeof deviceContext.os === \"string\") {\r\n tagsItem[tagKeys.deviceOS] = deviceContext.os;\r\n }\r\n if (typeof deviceContext.osversion === \"string\") {\r\n tagsItem[tagKeys.deviceOSVersion] = deviceContext.osversion;\r\n }\r\n if (typeof deviceContext.resolution === \"string\") {\r\n tagsItem[tagKeys.deviceScreenResolution] = deviceContext.resolution;\r\n }\r\n if (typeof deviceContext.type === \"string\") {\r\n tagsItem[tagKeys.deviceType] = deviceContext.type;\r\n }\r\n }\r\n };\r\n PropertiesPlugin._applyInternalContext = function (tagsItem, internalContext) {\r\n if (internalContext) {\r\n var tagKeys = new applicationinsights_common_1.ContextTagKeys();\r\n if (typeof internalContext.agentVersion === \"string\") {\r\n tagsItem[tagKeys.internalAgentVersion] = internalContext.agentVersion;\r\n }\r\n if (typeof internalContext.sdkVersion === \"string\") {\r\n tagsItem[tagKeys.internalSdkVersion] = internalContext.sdkVersion;\r\n }\r\n }\r\n };\r\n PropertiesPlugin._applyLocationContext = function (tagsItem, locationContext) {\r\n if (locationContext) {\r\n var tagKeys = new applicationinsights_common_1.ContextTagKeys();\r\n if (typeof locationContext.ip === \"string\") {\r\n tagsItem[tagKeys.locationIp] = locationContext.ip;\r\n }\r\n }\r\n };\r\n PropertiesPlugin._applySampleContext = function (tagsItem, sampleContext) {\r\n if (sampleContext) {\r\n tagsItem.sampleRate = sampleContext.sampleRate;\r\n }\r\n };\r\n PropertiesPlugin._applyOperationContext = function (tagsItem, operationContext) {\r\n if (operationContext) {\r\n var tagKeys = new applicationinsights_common_1.ContextTagKeys();\r\n if (typeof operationContext.id === \"string\") {\r\n tagsItem[tagKeys.operationId] = operationContext.id;\r\n }\r\n if (typeof operationContext.name === \"string\") {\r\n tagsItem[tagKeys.operationName] = operationContext.name;\r\n }\r\n if (typeof operationContext.parentId === \"string\") {\r\n tagsItem[tagKeys.operationParentId] = operationContext.parentId;\r\n }\r\n if (typeof operationContext.rootId === \"string\") {\r\n tagsItem[tagKeys.operationRootId] = operationContext.rootId;\r\n }\r\n if (typeof operationContext.syntheticSource === \"string\") {\r\n tagsItem[tagKeys.operationSyntheticSource] = operationContext.syntheticSource;\r\n }\r\n }\r\n };\r\n PropertiesPlugin._applyUserContext = function (tagsItem, userContext) {\r\n if (userContext) {\r\n var tagKeys = new applicationinsights_common_1.ContextTagKeys();\r\n if (typeof userContext.accountId === \"string\") {\r\n tagsItem[tagKeys.userAccountId] = userContext.accountId;\r\n }\r\n if (typeof userContext.agent === \"string\") {\r\n tagsItem[tagKeys.userAgent] = userContext.agent;\r\n }\r\n if (typeof userContext.id === \"string\") {\r\n tagsItem[tagKeys.userId] = userContext.id;\r\n }\r\n if (typeof userContext.authenticatedId === \"string\") {\r\n tagsItem[tagKeys.userAuthUserId] = userContext.authenticatedId;\r\n }\r\n if (typeof userContext.storeRegion === \"string\") {\r\n tagsItem[tagKeys.userStoreRegion] = userContext.storeRegion;\r\n }\r\n }\r\n };\r\n return PropertiesPlugin;\r\n }());\r\n exports.default = PropertiesPlugin;\r\n});\r\n//# sourceMappingURL=PropertiesPlugin.js.map","define([\"require\", \"exports\", \"./HashCodeScoreGenerator\", \"applicationinsights-common\"], function (require, exports, HashCodeScoreGenerator_1, applicationinsights_common_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n var SamplingScoreGenerator = /** @class */ (function () {\r\n function SamplingScoreGenerator() {\r\n this.hashCodeGeneragor = new HashCodeScoreGenerator_1.HashCodeScoreGenerator();\r\n }\r\n SamplingScoreGenerator.prototype.getSamplingScore = function (envelope) {\r\n var tagKeys = new applicationinsights_common_1.ContextTagKeys();\r\n var score = 0;\r\n if (envelope.tags[tagKeys.userId]) {\r\n score = this.hashCodeGeneragor.getHashCodeScore(envelope.tags[tagKeys.userId]);\r\n }\r\n else if (envelope.tags[tagKeys.operationId]) {\r\n score = this.hashCodeGeneragor.getHashCodeScore(envelope.tags[tagKeys.operationId]);\r\n }\r\n else {\r\n // tslint:disable-next-line:insecure-random\r\n score = Math.random();\r\n }\r\n return score;\r\n };\r\n return SamplingScoreGenerator;\r\n }());\r\n exports.SamplingScoreGenerator = SamplingScoreGenerator;\r\n});\r\n//# sourceMappingURL=SamplingScoreGenerator.js.map","define([\"require\", \"exports\", \"./PropertiesPlugin\"], function (require, exports, PropertiesPlugin_1) {\r\n \"use strict\";\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n exports.PropertiesPlugin = PropertiesPlugin_1.default;\r\n});\r\n//# sourceMappingURL=applicationinsights-properties-js.js.map"],"sourceRoot":""} |