@dreamcommerce/aurora 3.1.7 → 3.1.9
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/build/cjs/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js +5 -3
- package/build/cjs/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_drag_over_placeholder.js +5 -3
- package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_drag_over_placeholder.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_input.js +6 -10
- package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_input.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_preview_container.js +3 -9
- package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_preview_container.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/image_picker/image_picker.js +22 -15
- package/build/cjs/packages/aurora/src/components/image_picker/image_picker.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/image_picker/image_picker_delete_button.js +5 -1
- package/build/cjs/packages/aurora/src/components/image_picker/image_picker_delete_button.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/image_picker/use_image_picker.js +17 -11
- package/build/cjs/packages/aurora/src/components/image_picker/use_image_picker.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js +18 -7
- package/build/cjs/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js.map +1 -1
- package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.d.ts +1 -1
- package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js +6 -4
- package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js.map +1 -1
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_drag_over_placeholder.d.ts +5 -1
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_drag_over_placeholder.js +5 -3
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_drag_over_placeholder.js.map +1 -1
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.d.ts +1 -3
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.js +6 -10
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.js.map +1 -1
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview_container.js +3 -9
- package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview_container.js.map +1 -1
- package/build/esm/packages/aurora/src/components/image_picker/image_picker.d.ts +1 -1
- package/build/esm/packages/aurora/src/components/image_picker/image_picker.js +23 -16
- package/build/esm/packages/aurora/src/components/image_picker/image_picker.js.map +1 -1
- package/build/esm/packages/aurora/src/components/image_picker/image_picker_delete_button.js +5 -1
- package/build/esm/packages/aurora/src/components/image_picker/image_picker_delete_button.js.map +1 -1
- package/build/esm/packages/aurora/src/components/image_picker/image_picker_types.d.ts +3 -9
- package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.js +17 -11
- package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.js.map +1 -1
- package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.d.ts +1 -1
- package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js +19 -8
- package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js.map +1 -1
- package/build/index.css +1 -1
- package/package.json +1 -1
|
@@ -10,7 +10,11 @@ var ImagePickerDeleteButton = function ImagePickerDeleteButton(_ref) {
|
|
|
10
10
|
t = _useTranslation2[0];
|
|
11
11
|
return /*#__PURE__*/React.createElement("button", {
|
|
12
12
|
"data-test-id": "image-picker-remove-button",
|
|
13
|
-
onClick:
|
|
13
|
+
onClick: function onClick(e) {
|
|
14
|
+
e.stopPropagation();
|
|
15
|
+
e.preventDefault();
|
|
16
|
+
onFileDelete();
|
|
17
|
+
},
|
|
14
18
|
className: "aurora-flex aurora-items-center aurora-gap-1 aurora-border aurora-border-danger aurora-rounded-full aurora-px-3 aurora-py-[6px]",
|
|
15
19
|
type: "button"
|
|
16
20
|
}, /*#__PURE__*/React.createElement(DeleteBinLineIcon, {
|
package/build/esm/packages/aurora/src/components/image_picker/image_picker_delete_button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,iEAAqE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,iEAAqE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -27,16 +27,10 @@ export interface IImagePicker {
|
|
|
27
27
|
}
|
|
28
28
|
export interface IImagePickerInput {
|
|
29
29
|
id: string;
|
|
30
|
-
onDropFile: (event: React.DragEvent<HTMLLabelElement>) => void;
|
|
31
|
-
onDragOver: (event: React.DragEvent<HTMLLabelElement>) => void;
|
|
32
|
-
onDragLeave: (event: React.DragEvent<HTMLLabelElement>) => void;
|
|
33
30
|
allowedExtensions: TImagePickerExtension[];
|
|
34
31
|
isDragOver: boolean;
|
|
35
32
|
}
|
|
36
33
|
export interface IImagePickerPreviewContainer {
|
|
37
|
-
onDropFile: (event: React.DragEvent<HTMLLabelElement>) => void;
|
|
38
|
-
onDragOver: (event: React.DragEvent<HTMLLabelElement>) => void;
|
|
39
|
-
onDragLeave: (event: React.DragEvent<HTMLLabelElement>) => void;
|
|
40
34
|
children: ReactNode;
|
|
41
35
|
classname: string;
|
|
42
36
|
}
|
|
@@ -45,9 +39,9 @@ export declare type TImageSize = {
|
|
|
45
39
|
height: number;
|
|
46
40
|
};
|
|
47
41
|
export interface IUseImagePicker {
|
|
48
|
-
onDropFile: (event: React.DragEvent<
|
|
49
|
-
onDragOver: (event: React.DragEvent<
|
|
50
|
-
onDragLeave: (event: React.DragEvent<
|
|
42
|
+
onDropFile: (event: React.DragEvent<HTMLDivElement>) => void;
|
|
43
|
+
onDragOver: (event: React.DragEvent<HTMLDivElement>) => void;
|
|
44
|
+
onDragLeave: (event: React.DragEvent<HTMLDivElement>) => void;
|
|
51
45
|
onFileChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
52
46
|
onFileDelete: () => void;
|
|
53
47
|
onPreviewError: () => void;
|
|
@@ -23,6 +23,7 @@ var useImagePicker = function useImagePicker(_ref) {
|
|
|
23
23
|
isPreview = _useState6[0],
|
|
24
24
|
setPreview = _useState6[1];
|
|
25
25
|
var reader = useRef(new FileReader());
|
|
26
|
+
var dragTimeoutRef = useRef(null);
|
|
26
27
|
useEffect(function () {
|
|
27
28
|
reader.current.result && getDataUrlFromFile(reader.current.result);
|
|
28
29
|
reader.current.addEventListener('load', function () {
|
|
@@ -41,10 +42,11 @@ var useImagePicker = function useImagePicker(_ref) {
|
|
|
41
42
|
onError === null || onError === void 0 ? void 0 : onError([]);
|
|
42
43
|
event.stopPropagation();
|
|
43
44
|
event.preventDefault();
|
|
45
|
+
setDragOver(false);
|
|
44
46
|
var files = event.dataTransfer.files;
|
|
45
47
|
if (!files.length) return;
|
|
46
|
-
validateFileExtension(allowedExtensions, files[0].type);
|
|
47
|
-
|
|
48
|
+
var isValid = validateFileExtension(allowedExtensions, files[0].type);
|
|
49
|
+
if (!isValid) return;
|
|
48
50
|
updateFile(files);
|
|
49
51
|
};
|
|
50
52
|
var validateFileExtension = function validateFileExtension(allowedExtensions, mimeType) {
|
|
@@ -52,11 +54,9 @@ var useImagePicker = function useImagePicker(_ref) {
|
|
|
52
54
|
var isValid = allowedExtensions.reduce(function (acc, extension) {
|
|
53
55
|
return acc ? acc : MIME_TYPE_TO_FILE_EXTENSIONS[mimeType] === extension;
|
|
54
56
|
}, false);
|
|
55
|
-
if (isValid) {
|
|
56
|
-
|
|
57
|
+
if (!isValid) {
|
|
58
|
+
onError === null || onError === void 0 ? void 0 : onError([i18n.t(IMAGE_PICKER_ERROR.invalidFileFormat)]);
|
|
57
59
|
}
|
|
58
|
-
var newErrors = [i18n.t(IMAGE_PICKER_ERROR.invalidFileFormat)];
|
|
59
|
-
onError === null || onError === void 0 ? void 0 : onError(newErrors);
|
|
60
60
|
return isValid;
|
|
61
61
|
};
|
|
62
62
|
var onFileChange = function onFileChange(event) {
|
|
@@ -93,15 +93,21 @@ var useImagePicker = function useImagePicker(_ref) {
|
|
|
93
93
|
});
|
|
94
94
|
};
|
|
95
95
|
var onDragOver = function onDragOver(event) {
|
|
96
|
+
var dt = event.dataTransfer;
|
|
97
|
+
if (!dt.types || !(dt.types.indexOf ? dt.types.indexOf('Files') != -1 : dt.types.includes('Files'))) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
96
100
|
event.stopPropagation();
|
|
97
101
|
event.preventDefault();
|
|
98
102
|
event.dataTransfer.dropEffect = 'copy';
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
103
|
+
setDragOver(true);
|
|
104
|
+
dragTimeoutRef.current && window.clearTimeout(dragTimeoutRef.current);
|
|
102
105
|
};
|
|
103
|
-
var onDragLeave = function onDragLeave() {
|
|
104
|
-
|
|
106
|
+
var onDragLeave = function onDragLeave(event) {
|
|
107
|
+
dragTimeoutRef.current = setTimeout(function () {
|
|
108
|
+
setDragOver(false);
|
|
109
|
+
dragTimeoutRef.current = null;
|
|
110
|
+
}, 25);
|
|
105
111
|
};
|
|
106
112
|
var onFileDelete = function onFileDelete() {
|
|
107
113
|
inputRef.current.value = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { IXhrImagePickerProps } from './xhr_image_picker_types';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
export declare const XhrImagePicker: React.
|
|
3
|
+
export declare const XhrImagePicker: React.ForwardRefExoticComponent<IXhrImagePickerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useRef, useState, useEffect } from 'react';
|
|
1
|
+
import React, { forwardRef, useRef, useState, useEffect } from 'react';
|
|
2
2
|
import { useTranslation } from '../../../../../external/react-i18next/dist/es/useTranslation.js';
|
|
3
3
|
import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
4
4
|
import { Loader } from '../loader/loader.js';
|
|
@@ -11,7 +11,7 @@ import { ImageEditLineIcon } from '../../assets/icons/image_edit_icon.js';
|
|
|
11
11
|
import { REQUEST_TYPES } from '../../../../star_core/build/esm/packages/star_core/src/features/http_requester/http_requester_contants.js';
|
|
12
12
|
import { useHttpApi } from '../../hooks/use_http_api.js';
|
|
13
13
|
|
|
14
|
-
var XhrImagePicker = function
|
|
14
|
+
var XhrImagePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
15
15
|
var id = _ref.id,
|
|
16
16
|
url = _ref.url,
|
|
17
17
|
name = _ref.name,
|
|
@@ -62,7 +62,7 @@ var XhrImagePicker = function XhrImagePicker(_ref) {
|
|
|
62
62
|
var fileAsDataUrlRef = useRef(undefined);
|
|
63
63
|
var handleControlChange = /*#__PURE__*/function () {
|
|
64
64
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
|
|
65
|
-
var fileList, fileAsDataUrl, _httpApi$fetch, response, cancelRequest, responseObject, paths;
|
|
65
|
+
var fileList, fileAsDataUrl, _httpApi$fetch, response, cancelRequest, responseObject, _responseObject$data$, paths;
|
|
66
66
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
67
67
|
while (1) switch (_context.prev = _context.next) {
|
|
68
68
|
case 0:
|
|
@@ -112,6 +112,13 @@ var XhrImagePicker = function XhrImagePicker(_ref) {
|
|
|
112
112
|
}
|
|
113
113
|
return _context.abrupt("return");
|
|
114
114
|
case 24:
|
|
115
|
+
if (!(responseObject.data.isSuccess === false)) {
|
|
116
|
+
_context.next = 27;
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
onError === null || onError === void 0 ? void 0 : onError((_responseObject$data$ = responseObject.data.messages) !== null && _responseObject$data$ !== void 0 ? _responseObject$data$ : [t('File upload failed')]);
|
|
120
|
+
return _context.abrupt("return");
|
|
121
|
+
case 27:
|
|
115
122
|
if (responseObject.data.imagePath) {
|
|
116
123
|
paths = {
|
|
117
124
|
original: responseObject.data.imagePath
|
|
@@ -123,7 +130,7 @@ var XhrImagePicker = function XhrImagePicker(_ref) {
|
|
|
123
130
|
imageId: responseObject.data.imageId,
|
|
124
131
|
paths: paths
|
|
125
132
|
});
|
|
126
|
-
case
|
|
133
|
+
case 29:
|
|
127
134
|
case "end":
|
|
128
135
|
return _context.stop();
|
|
129
136
|
}
|
|
@@ -201,8 +208,10 @@ var XhrImagePicker = function XhrImagePicker(_ref) {
|
|
|
201
208
|
initialFile: initialImageFile.current,
|
|
202
209
|
onImageSizeUpdated: onImageSizeUpdated,
|
|
203
210
|
topButtons: !!ImageEditor && imageExtenstion !== 'svg' && (/*#__PURE__*/React.createElement("button", {
|
|
204
|
-
onClick: function onClick() {
|
|
205
|
-
|
|
211
|
+
onClick: function onClick(e) {
|
|
212
|
+
e.preventDefault();
|
|
213
|
+
e.stopPropagation();
|
|
214
|
+
showModal(modalId);
|
|
206
215
|
},
|
|
207
216
|
type: "button",
|
|
208
217
|
className: "aurora-absolute aurora-top-2 aurora-right-2 aurora-z-10 aurora-flex aurora-items-center aurora-gap-1 aurora-border aurora-rounded-full aurora-px-3 aurora-py-[6px] aurora-bg"
|
|
@@ -211,7 +220,8 @@ var XhrImagePicker = function XhrImagePicker(_ref) {
|
|
|
211
220
|
}), /*#__PURE__*/React.createElement("span", {
|
|
212
221
|
className: "aurora-text-xs aurora-text aurora-font-semibold"
|
|
213
222
|
}, "".concat(t('Edit'))))),
|
|
214
|
-
editedImageResult: imageEditorResult
|
|
223
|
+
editedImageResult: imageEditorResult,
|
|
224
|
+
ref: ref
|
|
215
225
|
})), !!ImageEditor && (/*#__PURE__*/React.createElement(Modal, {
|
|
216
226
|
name: modalId,
|
|
217
227
|
header: /*#__PURE__*/React.createElement(React.Fragment, null, t('Edit image')),
|
|
@@ -223,7 +233,8 @@ var XhrImagePicker = function XhrImagePicker(_ref) {
|
|
|
223
233
|
setImageEditorResult(result);
|
|
224
234
|
}
|
|
225
235
|
}))));
|
|
226
|
-
};
|
|
236
|
+
});
|
|
237
|
+
XhrImagePicker.displayName = 'XhrImagePicker';
|
|
227
238
|
|
|
228
239
|
export { XhrImagePicker };
|
|
229
240
|
//# sourceMappingURL=xhr_image_picker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,iEAAqE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,iEAAqE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|