@microsoft/applicationinsights-common 2.8.10-nightly.2212-02 → 2.8.10-nightly.2212-03
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/applicationinsights-common.integrity.json +9 -9
- package/browser/applicationinsights-common.js +27 -27
- package/browser/applicationinsights-common.js.map +1 -1
- package/browser/applicationinsights-common.min.js +2 -2
- package/browser/applicationinsights-common.min.js.map +1 -1
- package/dist/applicationinsights-common.api.json +5 -5
- package/dist/applicationinsights-common.api.md +4 -4
- package/dist/applicationinsights-common.d.ts +5 -5
- package/dist/applicationinsights-common.js +27 -27
- package/dist/applicationinsights-common.js.map +1 -1
- package/dist/applicationinsights-common.min.js +2 -2
- package/dist/applicationinsights-common.min.js.map +1 -1
- package/dist/applicationinsights-common.rollup.d.ts +5 -5
- package/dist-esm/ConnectionStringParser.js +1 -1
- package/dist-esm/Constants.js +1 -1
- package/dist-esm/DomHelperFuncs.js +1 -1
- package/dist-esm/Enums.js +1 -1
- package/dist-esm/HelperFuncs.js +1 -1
- package/dist-esm/Interfaces/ConnectionString.js +1 -1
- package/dist-esm/Interfaces/Context/IApplication.js +1 -1
- package/dist-esm/Interfaces/Context/IDevice.js +1 -1
- package/dist-esm/Interfaces/Context/IInternal.js +1 -1
- package/dist-esm/Interfaces/Context/ILocation.js +1 -1
- package/dist-esm/Interfaces/Context/IOperatingSystem.js +1 -1
- package/dist-esm/Interfaces/Context/ISample.js +1 -1
- package/dist-esm/Interfaces/Context/ISession.js +1 -1
- package/dist-esm/Interfaces/Context/ITelemetryTrace.js +1 -1
- package/dist-esm/Interfaces/Context/IUser.js +1 -1
- package/dist-esm/Interfaces/Context/IWeb.js +1 -1
- package/dist-esm/Interfaces/Contracts/AvailabilityData.js +1 -1
- package/dist-esm/Interfaces/Contracts/ContextTagKeys.js +1 -1
- package/dist-esm/Interfaces/Contracts/DataPointType.js +1 -1
- package/dist-esm/Interfaces/Contracts/DependencyKind.js +1 -1
- package/dist-esm/Interfaces/Contracts/DependencySourceType.js +1 -1
- package/dist-esm/Interfaces/Contracts/IBase.js +1 -1
- package/dist-esm/Interfaces/Contracts/IData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IDataPoint.js +1 -1
- package/dist-esm/Interfaces/Contracts/IDomain.js +1 -1
- package/dist-esm/Interfaces/Contracts/IEnvelope.js +1 -1
- package/dist-esm/Interfaces/Contracts/IEventData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IExceptionData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IExceptionDetails.js +1 -1
- package/dist-esm/Interfaces/Contracts/IMessageData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IMetricData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IPageViewData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IPageViewPerfData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IRemoteDependencyData.js +1 -1
- package/dist-esm/Interfaces/Contracts/IStackFrame.js +1 -1
- package/dist-esm/Interfaces/Contracts/RequestData.js +1 -1
- package/dist-esm/Interfaces/Contracts/SeverityLevel.js +1 -1
- package/dist-esm/Interfaces/IAppInsights.js +1 -1
- package/dist-esm/Interfaces/IChannelControlsAI.js +1 -1
- package/dist-esm/Interfaces/IConfig.js +1 -1
- package/dist-esm/Interfaces/ICorrelationConfig.js +1 -1
- package/dist-esm/Interfaces/IDependencyTelemetry.js +1 -1
- package/dist-esm/Interfaces/IEventTelemetry.js +1 -1
- package/dist-esm/Interfaces/IExceptionTelemetry.js +1 -1
- package/dist-esm/Interfaces/IMetricTelemetry.js +1 -1
- package/dist-esm/Interfaces/IPageViewPerformanceTelemetry.js +1 -1
- package/dist-esm/Interfaces/IPageViewTelemetry.js +1 -1
- package/dist-esm/Interfaces/IPartC.js +1 -1
- package/dist-esm/Interfaces/IPropertiesPlugin.js +1 -1
- package/dist-esm/Interfaces/IRequestContext.js +1 -1
- package/dist-esm/Interfaces/ITelemetryContext.js +1 -1
- package/dist-esm/Interfaces/IThrottleMgr.js +1 -1
- package/dist-esm/Interfaces/ITraceTelemetry.js +1 -1
- package/dist-esm/Interfaces/PartAExtensions.js +1 -1
- package/dist-esm/Interfaces/Telemetry/IEnvelope.js +1 -1
- package/dist-esm/Interfaces/Telemetry/ISerializable.js +1 -1
- package/dist-esm/RequestResponseHeaders.js +1 -1
- package/dist-esm/StorageHelperFuncs.js +1 -1
- package/dist-esm/Telemetry/Common/Data.js +1 -1
- package/dist-esm/Telemetry/Common/DataPoint.js +1 -1
- package/dist-esm/Telemetry/Common/DataSanitizer.js +4 -4
- package/dist-esm/Telemetry/Common/DataSanitizer.js.map +1 -1
- package/dist-esm/Telemetry/Common/Envelope.js +1 -1
- package/dist-esm/Telemetry/Event.js +1 -1
- package/dist-esm/Telemetry/Exception.js +4 -4
- package/dist-esm/Telemetry/Exception.js.map +1 -1
- package/dist-esm/Telemetry/Metric.js +1 -1
- package/dist-esm/Telemetry/PageView.js +1 -1
- package/dist-esm/Telemetry/PageViewPerformance.js +1 -1
- package/dist-esm/Telemetry/RemoteDependencyData.js +1 -1
- package/dist-esm/Telemetry/Trace.js +1 -1
- package/dist-esm/TelemetryItemCreator.js +1 -1
- package/dist-esm/ThrottleMgr.js +1 -1
- package/dist-esm/UrlHelperFuncs.js +1 -1
- package/dist-esm/Util.js +4 -4
- package/dist-esm/Util.js.map +1 -1
- package/dist-esm/__DynamicConstants.js +20 -20
- package/dist-esm/__DynamicConstants.js.map +1 -1
- package/dist-esm/applicationinsights-common.js +1 -1
- package/package.json +2 -2
- package/src/__DynamicConstants.ts +19 -19
- package/types/Telemetry/Common/DataSanitizer.d.ts +3 -3
- package/types/__DynamicConstants.d.ts +19 -19
- package/types/tsdoc-metadata.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Microsoft Application Insights Common JavaScript Library, 2.8.10-nightly.2212-
|
|
2
|
+
* Microsoft Application Insights Common JavaScript Library, 2.8.10-nightly.2212-03
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*
|
|
5
5
|
* Microsoft Application Insights Team
|
|
@@ -274,9 +274,9 @@ export declare function dsPadNumber(num: number): string;
|
|
|
274
274
|
|
|
275
275
|
declare const _DYN_SANITIZE_EXCEPTION = "sanitizeException";
|
|
276
276
|
|
|
277
|
-
declare const
|
|
277
|
+
declare const _DYN_SANITIZE_KEY_AND_ADD2 = "sanitizeKeyAndAddUniqueness";
|
|
278
278
|
|
|
279
|
-
declare const
|
|
279
|
+
declare const _DYN_SANITIZE_MEASUREMENT3 = "sanitizeMeasurements";
|
|
280
280
|
|
|
281
281
|
declare const _DYN_SANITIZE_PROPERTIES = "sanitizeProperties";
|
|
282
282
|
|
|
@@ -1218,14 +1218,14 @@ export declare interface IDataSanitizer {
|
|
|
1218
1218
|
* Max length allowed for exceptions.
|
|
1219
1219
|
*/
|
|
1220
1220
|
MAX_EXCEPTION_LENGTH: number;
|
|
1221
|
-
[
|
|
1221
|
+
[_DYN_SANITIZE_KEY_AND_ADD2]: (logger: IDiagnosticLogger, key: any, map: any) => string;
|
|
1222
1222
|
sanitizeKey: (logger: IDiagnosticLogger, name: any) => string;
|
|
1223
1223
|
sanitizeString: (logger: IDiagnosticLogger, value: any, maxLength?: number) => string;
|
|
1224
1224
|
sanitizeUrl: (logger: IDiagnosticLogger, url: any) => string;
|
|
1225
1225
|
sanitizeMessage: (logger: IDiagnosticLogger, message: any) => string;
|
|
1226
1226
|
[_DYN_SANITIZE_EXCEPTION]: (logger: IDiagnosticLogger, exception: any) => string;
|
|
1227
1227
|
[_DYN_SANITIZE_PROPERTIES]: (logger: IDiagnosticLogger, properties: any) => any;
|
|
1228
|
-
[
|
|
1228
|
+
[_DYN_SANITIZE_MEASUREMENT3]: (logger: IDiagnosticLogger, measurements: any) => any;
|
|
1229
1229
|
sanitizeId: (logger: IDiagnosticLogger, id: string) => string;
|
|
1230
1230
|
sanitizeInput: (logger: IDiagnosticLogger, input: any, maxLength: number, _msgId: _eInternalMessageId) => any;
|
|
1231
1231
|
padNumber: (num: number) => string;
|
package/dist-esm/Constants.js
CHANGED
package/dist-esm/Enums.js
CHANGED
package/dist-esm/HelperFuncs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Common, 2.8.10-nightly.2212-
|
|
2
|
+
* Application Insights JavaScript SDK - Common, 2.8.10-nightly.2212-03
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
import { ContextTagKeys } from "./Contracts/ContextTagKeys";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Application Insights JavaScript SDK - Common, 2.8.10-nightly.2212-
|
|
2
|
+
* Application Insights JavaScript SDK - Common, 2.8.10-nightly.2212-03
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
var _a;
|
|
8
8
|
import { _throwInternal, getJSON, hasJSON, isObject, objForEachKey, strTrim } from "@microsoft/applicationinsights-core-js";
|
|
9
|
-
import { _DYN_LENGTH, _DYN_SANITIZE_EXCEPTION,
|
|
9
|
+
import { _DYN_LENGTH, _DYN_SANITIZE_EXCEPTION, _DYN_SANITIZE_KEY_AND_ADD2, _DYN_SANITIZE_MEASUREMENT3, _DYN_SANITIZE_PROPERTIES, _DYN_STRINGIFY, _DYN_SUBSTRING, _DYN_TO_STRING } from "../../__DynamicConstants";
|
|
10
10
|
export function dataSanitizeKeyAndAddUniqueness(logger, key, map) {
|
|
11
11
|
var origLength = key[_DYN_LENGTH /* @min:%2elength */];
|
|
12
12
|
var field = dataSanitizeKey(logger, key);
|
|
@@ -135,14 +135,14 @@ export var DataSanitizer = (_a = {
|
|
|
135
135
|
MAX_MESSAGE_LENGTH: 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */,
|
|
136
136
|
MAX_EXCEPTION_LENGTH: 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */
|
|
137
137
|
},
|
|
138
|
-
_a[
|
|
138
|
+
_a[_DYN_SANITIZE_KEY_AND_ADD2 /* @min:sanitizeKeyAndAddUniqueness */] = dataSanitizeKeyAndAddUniqueness,
|
|
139
139
|
_a.sanitizeKey = dataSanitizeKey,
|
|
140
140
|
_a.sanitizeString = dataSanitizeString,
|
|
141
141
|
_a.sanitizeUrl = dataSanitizeUrl,
|
|
142
142
|
_a.sanitizeMessage = dataSanitizeMessage,
|
|
143
143
|
_a[_DYN_SANITIZE_EXCEPTION /* @min:sanitizeException */] = dataSanitizeException,
|
|
144
144
|
_a[_DYN_SANITIZE_PROPERTIES /* @min:sanitizeProperties */] = dataSanitizeProperties,
|
|
145
|
-
_a[
|
|
145
|
+
_a[_DYN_SANITIZE_MEASUREMENT3 /* @min:sanitizeMeasurements */] = dataSanitizeMeasurements,
|
|
146
146
|
_a.sanitizeId = dataSanitizeId,
|
|
147
147
|
_a.sanitizeInput = dataSanitizeInput,
|
|
148
148
|
_a.padNumber = dsPadNumber,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSanitizer.js.map","sources":["DataSanitizer.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar _a;\r\nimport { _throwInternal, getJSON, hasJSON, isObject, objForEachKey, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_SANITIZE_EXCEPTION,
|
|
1
|
+
{"version":3,"file":"DataSanitizer.js.map","sources":["DataSanitizer.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar _a;\r\nimport { _throwInternal, getJSON, hasJSON, isObject, objForEachKey, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_SANITIZE_EXCEPTION, _DYN_SANITIZE_KEY_AND_ADD2, _DYN_SANITIZE_MEASUREMENT3, _DYN_SANITIZE_PROPERTIES, _DYN_STRINGIFY, _DYN_SUBSTRING, _DYN_TO_STRING } from \"../../__DynamicConstants\";\r\nexport function dataSanitizeKeyAndAddUniqueness(logger, key, map) {\r\n var origLength = key[_DYN_LENGTH /* @min:%2elength */];\r\n var field = dataSanitizeKey(logger, key);\r\n // validation truncated the length. We need to add uniqueness\r\n if (field[_DYN_LENGTH /* @min:%2elength */] !== origLength) {\r\n var i = 0;\r\n var uniqueField = field;\r\n while (map[uniqueField] !== undefined) {\r\n i++;\r\n uniqueField = field[_DYN_SUBSTRING /* @min:%2esubstring */](0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ - 3) + dsPadNumber(i);\r\n }\r\n field = uniqueField;\r\n }\r\n return field;\r\n}\r\nexport function dataSanitizeKey(logger, name) {\r\n var nameTrunc;\r\n if (name) {\r\n // Remove any leading or trailing whitespace\r\n name = strTrim(name[_DYN_TO_STRING /* @min:%2etoString */]());\r\n // truncate the string to 150 chars\r\n if (name[_DYN_LENGTH /* @min:%2elength */] > 150 /* DataSanitizerValues.MAX_NAME_LENGTH */) {\r\n nameTrunc = name[_DYN_SUBSTRING /* @min:%2esubstring */](0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 57 /* _eInternalMessageId.NameTooLong */, \"name is too long. It has been truncated to \" + 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ + \" characters.\", { name: name }, true);\r\n }\r\n }\r\n return nameTrunc || name;\r\n}\r\nexport function dataSanitizeString(logger, value, maxLength) {\r\n if (maxLength === void 0) { maxLength = 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; }\r\n var valueTrunc;\r\n if (value) {\r\n maxLength = maxLength ? maxLength : 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; // in case default parameters dont work\r\n value = strTrim(value);\r\n if (value.toString()[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n valueTrunc = value[_DYN_TO_STRING /* @min:%2etoString */]()[_DYN_SUBSTRING /* @min:%2esubstring */](0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 61 /* _eInternalMessageId.StringValueTooLong */, \"string value is too long. It has been truncated to \" + maxLength + \" characters.\", { value: value }, true);\r\n }\r\n }\r\n return valueTrunc || value;\r\n}\r\nexport function dataSanitizeUrl(logger, url) {\r\n return dataSanitizeInput(logger, url, 2048 /* DataSanitizerValues.MAX_URL_LENGTH */, 66 /* _eInternalMessageId.UrlTooLong */);\r\n}\r\nexport function dataSanitizeMessage(logger, message) {\r\n var messageTrunc;\r\n if (message) {\r\n if (message[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */) {\r\n messageTrunc = message[_DYN_SUBSTRING /* @min:%2esubstring */](0, 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 56 /* _eInternalMessageId.MessageTruncated */, \"message is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */ + \" characters.\", { message: message }, true);\r\n }\r\n }\r\n return messageTrunc || message;\r\n}\r\nexport function dataSanitizeException(logger, exception) {\r\n var exceptionTrunc;\r\n if (exception) {\r\n // Make surte its a string\r\n var value = \"\" + exception;\r\n if (value[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */) {\r\n exceptionTrunc = value[_DYN_SUBSTRING /* @min:%2esubstring */](0, 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 52 /* _eInternalMessageId.ExceptionTruncated */, \"exception is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */ + \" characters.\", { exception: exception }, true);\r\n }\r\n }\r\n return exceptionTrunc || exception;\r\n}\r\nexport function dataSanitizeProperties(logger, properties) {\r\n if (properties) {\r\n var tempProps_1 = {};\r\n objForEachKey(properties, function (prop, value) {\r\n if (isObject(value) && hasJSON()) {\r\n // Stringify any part C properties\r\n try {\r\n value = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"custom property is not valid\", { exception: e }, true);\r\n }\r\n }\r\n value = dataSanitizeString(logger, value, 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */);\r\n prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);\r\n tempProps_1[prop] = value;\r\n });\r\n properties = tempProps_1;\r\n }\r\n return properties;\r\n}\r\nexport function dataSanitizeMeasurements(logger, measurements) {\r\n if (measurements) {\r\n var tempMeasurements_1 = {};\r\n objForEachKey(measurements, function (measure, value) {\r\n measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);\r\n tempMeasurements_1[measure] = value;\r\n });\r\n measurements = tempMeasurements_1;\r\n }\r\n return measurements;\r\n}\r\nexport function dataSanitizeId(logger, id) {\r\n return id ? dataSanitizeInput(logger, id, 128 /* DataSanitizerValues.MAX_ID_LENGTH */, 69 /* _eInternalMessageId.IdTooLong */)[_DYN_TO_STRING /* @min:%2etoString */]() : id;\r\n}\r\nexport function dataSanitizeInput(logger, input, maxLength, _msgId) {\r\n var inputTrunc;\r\n if (input) {\r\n input = strTrim(input);\r\n if (input[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n inputTrunc = input[_DYN_SUBSTRING /* @min:%2esubstring */](0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, _msgId, \"input is too long, it has been truncated to \" + maxLength + \" characters.\", { data: input }, true);\r\n }\r\n }\r\n return inputTrunc || input;\r\n}\r\nexport function dsPadNumber(num) {\r\n var s = \"00\" + num;\r\n return s.substr(s[_DYN_LENGTH /* @min:%2elength */] - 3);\r\n}\r\n/**\r\n * Provides the DataSanitizer functions within the previous namespace.\r\n */\r\nexport var DataSanitizer = (_a = {\r\n MAX_NAME_LENGTH: 150 /* DataSanitizerValues.MAX_NAME_LENGTH */,\r\n MAX_ID_LENGTH: 128 /* DataSanitizerValues.MAX_ID_LENGTH */,\r\n MAX_PROPERTY_LENGTH: 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */,\r\n MAX_STRING_LENGTH: 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */,\r\n MAX_URL_LENGTH: 2048 /* DataSanitizerValues.MAX_URL_LENGTH */,\r\n MAX_MESSAGE_LENGTH: 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */,\r\n MAX_EXCEPTION_LENGTH: 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */\r\n },\r\n _a[_DYN_SANITIZE_KEY_AND_ADD2 /* @min:sanitizeKeyAndAddUniqueness */] = dataSanitizeKeyAndAddUniqueness,\r\n _a.sanitizeKey = dataSanitizeKey,\r\n _a.sanitizeString = dataSanitizeString,\r\n _a.sanitizeUrl = dataSanitizeUrl,\r\n _a.sanitizeMessage = dataSanitizeMessage,\r\n _a[_DYN_SANITIZE_EXCEPTION /* @min:sanitizeException */] = dataSanitizeException,\r\n _a[_DYN_SANITIZE_PROPERTIES /* @min:sanitizeProperties */] = dataSanitizeProperties,\r\n _a[_DYN_SANITIZE_MEASUREMENT3 /* @min:sanitizeMeasurements */] = dataSanitizeMeasurements,\r\n _a.sanitizeId = dataSanitizeId,\r\n _a.sanitizeInput = dataSanitizeInput,\r\n _a.padNumber = dsPadNumber,\r\n _a.trim = strTrim,\r\n _a);\r\n//# sourceMappingURL=DataSanitizer.js.map"],"names":[],"mappings":";;;;AAA4D;AAC1B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|