@clikvn/showroom-visualizer 0.2.2-dev-11 → 0.2.2-dev-13
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/README.md +26 -133
- package/base.json +21 -21
- package/dist/components/SkinLayer/Floorplan/Map.d.ts.map +1 -1
- package/dist/components/SkinLayer/Floorplan/Minimap/MiniMapMarker.d.ts.map +1 -1
- package/dist/components/SkinLayer/Floorplan/Minimap/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/Layout/index.d.ts.map +1 -1
- package/dist/components/SkinLayer/index.d.ts +0 -32
- package/dist/components/SkinLayer/index.d.ts.map +1 -1
- package/dist/features/ShowroomVisualizer/VirtualTour.d.ts +0 -5
- package/dist/features/ShowroomVisualizer/VirtualTour.d.ts.map +1 -1
- package/dist/features/ShowroomVisualizer/VirtualTourContainer.d.ts +3 -4
- package/dist/features/ShowroomVisualizer/VirtualTourContainer.d.ts.map +1 -1
- package/dist/features/ShowroomVisualizer/index.d.ts +3 -24
- package/dist/features/ShowroomVisualizer/index.d.ts.map +1 -1
- package/dist/fonts/icomoon.svg +633 -633
- package/dist/hooks/useToolConfig.d.ts.map +1 -1
- package/dist/index.d.ts +0 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.html +27 -102
- package/dist/models/Visualizer/Tour.d.ts +1 -0
- package/dist/models/Visualizer/Tour.d.ts.map +1 -1
- package/dist/models/Visualizer/TourScenario/TourScenarioPlayer.d.ts +1 -0
- package/dist/models/Visualizer/TourScenario/TourScenarioPlayer.d.ts.map +1 -1
- package/dist/register.d.ts +0 -3
- package/dist/register.d.ts.map +1 -1
- package/dist/types/SkinLayer/tool.type.d.ts +1 -6
- package/dist/types/SkinLayer/tool.type.d.ts.map +1 -1
- package/dist/types/SkinLayer/visualizer.type.d.ts +0 -3
- package/dist/types/SkinLayer/visualizer.type.d.ts.map +1 -1
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +1 -1
- package/package.json +1 -9
- package/rollup.config.js +97 -365
- package/tailwind.config.cjs +151 -151
- package/.idea/inspectionProfiles/Project_Default.xml +0 -36
- package/.idea/jsLinters/eslint.xml +0 -7
- package/.idea/misc.xml +0 -9
- package/.idea/modules.xml +0 -8
- package/.idea/prettier.xml +0 -8
- package/.idea/showroom-visualizer.iml +0 -9
- package/.idea/vcs.xml +0 -6
- package/DEVELOPMENT.md +0 -120
- package/EXAMPLES.md +0 -967
- package/SETUP_COMPLETE.md +0 -149
- package/dist/components/SkinLayer/DefaultLayout/index.d.ts +0 -8
- package/dist/components/SkinLayer/DefaultLayout/index.d.ts.map +0 -1
- package/dist/components/SkinLayer/GalleryFullScreen/Content/ARViewer.d.ts +0 -30
- package/dist/components/SkinLayer/GalleryFullScreen/Content/ARViewer.d.ts.map +0 -1
- package/dist/components/SkinLayer/ModalItemInfo/Description.d.ts +0 -10
- package/dist/components/SkinLayer/ModalItemInfo/Description.d.ts.map +0 -1
- package/dist/components/SkinLayer/ModalItemInfo/Intro.d.ts +0 -9
- package/dist/components/SkinLayer/ModalItemInfo/Intro.d.ts.map +0 -1
- package/dist/components/SkinLayer/ModalItemInfo/Media.d.ts +0 -13
- package/dist/components/SkinLayer/ModalItemInfo/Media.d.ts.map +0 -1
- package/dist/components/SkinLayer/ModalItemInfo/index.d.ts +0 -10
- package/dist/components/SkinLayer/ModalItemInfo/index.d.ts.map +0 -1
- package/dist/components/SkinLayer/PoiTextureOptions/HorizontalMenu/index.d.ts +0 -13
- package/dist/components/SkinLayer/PoiTextureOptions/HorizontalMenu/index.d.ts.map +0 -1
- package/dist/components/SkinLayer/PoiTextureOptions/SemicircleMenu/index.d.ts +0 -13
- package/dist/components/SkinLayer/PoiTextureOptions/SemicircleMenu/index.d.ts.map +0 -1
- package/dist/components/SkinLayer/PoiTextureOptions/TextureMenuItem/index.d.ts +0 -15
- package/dist/components/SkinLayer/PoiTextureOptions/TextureMenuItem/index.d.ts.map +0 -1
- package/dist/components/SkinLayer/PoiTextureOptions/VerticalMenu/index.d.ts +0 -13
- package/dist/components/SkinLayer/PoiTextureOptions/VerticalMenu/index.d.ts.map +0 -1
- package/dist/context/CustomLayoutContext.d.ts +0 -20
- package/dist/context/CustomLayoutContext.d.ts.map +0 -1
- package/dist/context/StoreContext.d.ts +0 -5
- package/dist/context/StoreContext.d.ts.map +0 -1
- package/dist/features/ShowroomVisualizer/Scripts.d.ts +0 -4
- package/dist/features/ShowroomVisualizer/Scripts.d.ts.map +0 -1
- package/dist/features/ShowroomVisualizer/TourContainer.d.ts +0 -9
- package/dist/features/ShowroomVisualizer/TourContainer.d.ts.map +0 -1
- package/dist/features/ShowroomVisualizer/Tours.d.ts +0 -3
- package/dist/features/ShowroomVisualizer/Tours.d.ts.map +0 -1
- package/dist/hooks/Visualizer/reducer.d.ts +0 -116
- package/dist/hooks/Visualizer/reducer.d.ts.map +0 -1
- package/dist/hooks/headless/index.d.ts +0 -150
- package/dist/hooks/headless/index.d.ts.map +0 -1
- package/dist/hooks/headless/useFloorplanControl.d.ts +0 -18
- package/dist/hooks/headless/useFloorplanControl.d.ts.map +0 -1
- package/dist/hooks/headless/usePOIInteraction.d.ts +0 -23
- package/dist/hooks/headless/usePOIInteraction.d.ts.map +0 -1
- package/dist/hooks/headless/useScenarioControl.d.ts +0 -22
- package/dist/hooks/headless/useScenarioControl.d.ts.map +0 -1
- package/dist/hooks/headless/useSceneNavigation.d.ts +0 -26
- package/dist/hooks/headless/useSceneNavigation.d.ts.map +0 -1
- package/dist/hooks/headless/useTourCore.d.ts +0 -23
- package/dist/hooks/headless/useTourCore.d.ts.map +0 -1
- package/dist/hooks/headless/useViewportControl.d.ts +0 -22
- package/dist/hooks/headless/useViewportControl.d.ts.map +0 -1
- package/dist/index.js +0 -1
- package/dist/types/custom-layout.d.ts +0 -63
- package/dist/types/custom-layout.d.ts.map +0 -1
- package/example/CSS_HANDLING.md +0 -141
- package/example/FIXES_SUMMARY.md +0 -121
- package/example/PATH_ALIASES.md +0 -103
- package/example/README.md +0 -64
- package/example/index.html +0 -13
- package/example/package.json +0 -25
- package/example/postcss.config.cjs +0 -6
- package/example/tailwind.config.cjs +0 -12
- package/example/tsconfig.node.json +0 -12
- package/example/vite.config.ts +0 -126
package/SETUP_COMPLETE.md
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
# ✅ Setup Hoàn Tất!
|
|
2
|
-
|
|
3
|
-
## 🎉 Đã tạo Example App để Development
|
|
4
|
-
|
|
5
|
-
### 📁 Cấu trúc đã tạo:
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
showroom-visualizer/
|
|
9
|
-
├── example/ # ⭐ Example app mới
|
|
10
|
-
│ ├── src/
|
|
11
|
-
│ │ ├── App.tsx # Demo với custom layout toggle
|
|
12
|
-
│ │ ├── main.tsx # Entry point
|
|
13
|
-
│ │ └── index.css # Styles
|
|
14
|
-
│ ├── index.html
|
|
15
|
-
│ ├── vite.config.ts # Alias đến ../src
|
|
16
|
-
│ ├── tsconfig.json
|
|
17
|
-
│ ├── package.json
|
|
18
|
-
│ └── README.md
|
|
19
|
-
│
|
|
20
|
-
├── src/ # Source code thư viện
|
|
21
|
-
├── DEVELOPMENT.md # ⭐ Hướng dẫn development
|
|
22
|
-
└── package.json # Đã thêm "dev:demo" script
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## 🚀 Bắt đầu ngay:
|
|
28
|
-
|
|
29
|
-
### Cách 1: Chạy Example App (Nhanh nhất)
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# Từ root directory
|
|
33
|
-
yarn dev:demo
|
|
34
|
-
|
|
35
|
-
# Hoặc
|
|
36
|
-
cd example
|
|
37
|
-
yarn dev
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
**➡️ Mở browser:** http://localhost:3001
|
|
41
|
-
|
|
42
|
-
### Ưu điểm:
|
|
43
|
-
|
|
44
|
-
✅ **Import trực tiếp từ `src/`** - Không cần build
|
|
45
|
-
✅ **Hot reload siêu nhanh** - Thay đổi code → Tự động reload
|
|
46
|
-
✅ **Test custom layout dễ dàng** - Bật/tắt bằng checkbox
|
|
47
|
-
✅ **Debug source code** - Có source maps đầy đủ
|
|
48
|
-
✅ **Không cần yalc** - Độc lập hoàn toàn
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
### Cách 2: Test với Next.js (dùng yalc)
|
|
53
|
-
|
|
54
|
-
Nếu cần test integration thật với Next.js:
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
# Terminal 1: Trong showroom-visualizer
|
|
58
|
-
yarn dev:yalc
|
|
59
|
-
|
|
60
|
-
# Terminal 2: Trong Next.js project
|
|
61
|
-
yalc add @clikvn/showroom-visualizer
|
|
62
|
-
yarn install
|
|
63
|
-
yarn dev
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## 📝 Workflow Khuyến Nghị:
|
|
69
|
-
|
|
70
|
-
### 1. **Development hàng ngày → Dùng Example App**
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
cd example
|
|
74
|
-
yarn dev
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
- Sửa code trong `../src/` → Tự động reload
|
|
78
|
-
- Test features mới
|
|
79
|
-
- Debug issues
|
|
80
|
-
- Test custom layout components
|
|
81
|
-
|
|
82
|
-
### 2. **Test Integration → Dùng yalc với Next.js**
|
|
83
|
-
|
|
84
|
-
Chỉ khi cần:
|
|
85
|
-
- Test build output thật
|
|
86
|
-
- Test với Next.js SSR/RSC
|
|
87
|
-
- Test production build
|
|
88
|
-
|
|
89
|
-
### 3. **Test Web Component → Dùng `dist/index.html`**
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
yarn build
|
|
93
|
-
cd dist
|
|
94
|
-
npx serve
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## 🎯 Các files quan trọng:
|
|
100
|
-
|
|
101
|
-
| File | Mô tả |
|
|
102
|
-
|------|-------|
|
|
103
|
-
| `DEVELOPMENT.md` | Hướng dẫn development chi tiết |
|
|
104
|
-
| `example/README.md` | Hướng dẫn example app |
|
|
105
|
-
| `example/src/App.tsx` | Demo app với custom layout |
|
|
106
|
-
| `package.json` | Đã thêm `dev:demo` script |
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## 💡 Tips:
|
|
111
|
-
|
|
112
|
-
1. **Luôn dùng Example app khi develop** - Nhanh và tiện nhất
|
|
113
|
-
2. **Code trong `src/`** → Tự động sync sang example
|
|
114
|
-
3. **Test custom layout** bằng checkbox trong UI
|
|
115
|
-
4. **Thay đổi API URL/Showroom ID** trong `example/src/App.tsx`
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## 🐛 Fix lỗi yalc trước đó:
|
|
120
|
-
|
|
121
|
-
**Vấn đề cũ:**
|
|
122
|
-
```
|
|
123
|
-
ReactDOM__default.ReactDOM__default.findDOMNode
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
**Giải pháp:**
|
|
127
|
-
➡️ Dùng Example app thay vì yalc để tránh hoàn toàn vấn đề này!
|
|
128
|
-
|
|
129
|
-
Example app import trực tiếp từ source nên:
|
|
130
|
-
- ✅ Không có build issues
|
|
131
|
-
- ✅ Không có double prefix
|
|
132
|
-
- ✅ Không cần fix Rollup plugins
|
|
133
|
-
- ✅ React version luôn match (18.3.1)
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## ✨ Bắt đầu ngay:
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
cd /Users/tungthai/Desktop/Develop/showroom-visualizer/example
|
|
141
|
-
yarn dev
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
**Server đang chạy tại:** http://localhost:3001 🚀
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
Happy Coding! 🎉
|
|
149
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/DefaultLayout/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,EAAE,EAAuB,MAAM,OAAO,CAAC;AAc/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAkC9D,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,KAAK,CA4UrB,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import React, { CSSProperties, FC } from 'react';
|
|
2
|
-
declare global {
|
|
3
|
-
namespace JSX {
|
|
4
|
-
interface IntrinsicElements {
|
|
5
|
-
'model-viewer': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement> & {
|
|
6
|
-
src?: string;
|
|
7
|
-
'ios-src'?: string;
|
|
8
|
-
alt?: string;
|
|
9
|
-
style?: CSSProperties;
|
|
10
|
-
'auto-rotate'?: boolean;
|
|
11
|
-
'camera-controls'?: boolean;
|
|
12
|
-
ar?: boolean;
|
|
13
|
-
id?: string | number;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
type ARViewerProps = {
|
|
19
|
-
url?: string;
|
|
20
|
-
iosUrl?: string;
|
|
21
|
-
alt?: string;
|
|
22
|
-
autoRotate?: boolean;
|
|
23
|
-
cameraControls?: boolean;
|
|
24
|
-
ar?: boolean;
|
|
25
|
-
id?: string | number;
|
|
26
|
-
onLoad?: () => void;
|
|
27
|
-
};
|
|
28
|
-
declare const ARViewer: FC<ARViewerProps>;
|
|
29
|
-
export default ARViewer;
|
|
30
|
-
//# sourceMappingURL=ARViewer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ARViewer.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/GalleryFullScreen/Content/ARViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAqB,MAAM,OAAO,CAAC;AAEpE,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,GAAG,CAAC;QACZ,UAAU,iBAAiB;YACzB,cAAc,EAAE,KAAK,CAAC,iBAAiB,CACrC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EACjC,WAAW,CACZ,GAAG;gBACF,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,KAAK,CAAC,EAAE,aAAa,CAAC;gBACtB,aAAa,CAAC,EAAE,OAAO,CAAC;gBACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;gBAC5B,EAAE,CAAC,EAAE,OAAO,CAAC;gBACb,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;aACtB,CAAC;SACH;KACF;CACF;AAED,KAAK,aAAa,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA8C/B,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { ItemInfoType } from '../../../types/Visualizer';
|
|
3
|
-
type ModalItemInfoDescriptionPropsTypes = {
|
|
4
|
-
product: ItemInfoType;
|
|
5
|
-
collectionIdx: number;
|
|
6
|
-
setCollectionIdx: (val: number) => void;
|
|
7
|
-
};
|
|
8
|
-
export declare const ModalItemInfoDescription: FC<ModalItemInfoDescriptionPropsTypes>;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=Description.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Description.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/ModalItemInfo/Description.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAoC,MAAM,OAAO,CAAC;AAI7D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKzD,KAAK,kCAAkC,GAAG;IACxC,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,EAAE,CACvC,kCAAkC,CA+MnC,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { ItemInfoType } from '../../../types/Visualizer';
|
|
3
|
-
type ModalItemInfoIntroPropsTypes = {
|
|
4
|
-
product: ItemInfoType;
|
|
5
|
-
collectionIdx: number;
|
|
6
|
-
};
|
|
7
|
-
export declare const ModalItemInfoIntro: FC<ModalItemInfoIntroPropsTypes>;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=Intro.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Intro.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/ModalItemInfo/Intro.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAMzD,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,YAAY,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,4BAA4B,CA8C/D,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { ItemInfoType } from '../../../types/Visualizer';
|
|
3
|
-
type ModalItemInfoBrandMediaPropsTypes = {
|
|
4
|
-
product: ItemInfoType;
|
|
5
|
-
};
|
|
6
|
-
interface ModalItemInfoMediaPropsTypes extends ModalItemInfoBrandMediaPropsTypes {
|
|
7
|
-
collectionIdx: number;
|
|
8
|
-
selectedMediaIdx: number;
|
|
9
|
-
setSelectedMediaIdx: (val: number) => void;
|
|
10
|
-
}
|
|
11
|
-
export declare const ModalItemInfoMedia: FC<ModalItemInfoMediaPropsTypes>;
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=Media.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Media.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/ModalItemInfo/Media.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,EAAE,EAAU,MAAM,OAAO,CAAC;AAO1C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,KAAK,iCAAiC,GAAG;IACvC,OAAO,EAAE,YAAY,CAAC;CACvB,CAAC;AAuBF,UAAU,4BACR,SAAQ,iCAAiC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,4BAA4B,CA8K/D,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
type ModalItemInfoPropsTypes = {
|
|
3
|
-
wrapClassName?: string;
|
|
4
|
-
className?: string;
|
|
5
|
-
mask?: boolean;
|
|
6
|
-
betaLayout?: boolean;
|
|
7
|
-
};
|
|
8
|
-
declare const ModalItemInfoMemo: React.NamedExoticComponent<ModalItemInfoPropsTypes>;
|
|
9
|
-
export { ModalItemInfoMemo as ModalItemInfo };
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SkinLayer/ModalItemInfo/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAkBzE,KAAK,uBAAuB,GAAG;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAqLF,QAAA,MAAM,iBAAiB,qDAAsB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { TextureTypes } from '../../../types/PoiTypes';
|
|
3
|
-
import './styles.scss';
|
|
4
|
-
type Props = {
|
|
5
|
-
textures: TextureTypes[];
|
|
6
|
-
selectedIndex: number;
|
|
7
|
-
displayed: boolean;
|
|
8
|
-
imgEls: HTMLCollectionOf<HTMLImageElement>;
|
|
9
|
-
onClick: (index: number) => void;
|
|
10
|
-
};
|
|
11
|
-
declare const HorizontalMenu: FC<Props>;
|
|
12
|
-
export default HorizontalMenu;
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/PoiTextureOptions/HorizontalMenu/index.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIvD,OAAO,eAAe,CAAC;AAMvB,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC3C,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,KAAK,CAsC7B,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { TextureTypes } from '../../../types/PoiTypes';
|
|
3
|
-
import './styles.scss';
|
|
4
|
-
type Props = {
|
|
5
|
-
textures: TextureTypes[];
|
|
6
|
-
selectedIndex: number;
|
|
7
|
-
displayed: boolean;
|
|
8
|
-
imgEls: HTMLCollectionOf<HTMLImageElement>;
|
|
9
|
-
onClick: (index: number) => void;
|
|
10
|
-
};
|
|
11
|
-
declare const SemicircleMenu: FC<Props>;
|
|
12
|
-
export default SemicircleMenu;
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/PoiTextureOptions/SemicircleMenu/index.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIvD,OAAO,eAAe,CAAC;AAIvB,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC3C,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,KAAK,CAsC7B,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CSSProperties, FC } from 'react';
|
|
2
|
-
import './styles.scss';
|
|
3
|
-
type Props = {
|
|
4
|
-
imgEl: HTMLImageElement;
|
|
5
|
-
caption: string;
|
|
6
|
-
activated: boolean;
|
|
7
|
-
displayed?: boolean;
|
|
8
|
-
delay?: number;
|
|
9
|
-
style?: CSSProperties;
|
|
10
|
-
onClick: () => void;
|
|
11
|
-
captionStyle?: CSSProperties;
|
|
12
|
-
};
|
|
13
|
-
declare const TextureMenuItem: FC<Props>;
|
|
14
|
-
export default TextureMenuItem;
|
|
15
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/PoiTextureOptions/TextureMenuItem/index.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKjD,OAAO,eAAe,CAAC;AAEvB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,QAAA,MAAM,eAAe,EAAE,EAAE,CAAC,KAAK,CAuB9B,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { TextureTypes } from '../../../types/PoiTypes';
|
|
3
|
-
import './styles.scss';
|
|
4
|
-
type Props = {
|
|
5
|
-
textures: TextureTypes[];
|
|
6
|
-
selectedIndex: number;
|
|
7
|
-
displayed: boolean;
|
|
8
|
-
imgEls: HTMLCollectionOf<HTMLImageElement>;
|
|
9
|
-
onClick: (index: number) => void;
|
|
10
|
-
};
|
|
11
|
-
declare const VerticalMenu: FC<Props>;
|
|
12
|
-
export default VerticalMenu;
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SkinLayer/PoiTextureOptions/VerticalMenu/index.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIvD,OAAO,eAAe,CAAC;AAMvB,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC3C,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,KAAK,CAsC3B,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ComponentType, ReactNode } from 'react';
|
|
2
|
-
import { CustomLayoutConfig } from '../types/custom-layout';
|
|
3
|
-
type CustomLayoutContextType = {
|
|
4
|
-
customLayout: CustomLayoutConfig;
|
|
5
|
-
getCustomComponent: <T = unknown>(path: string[], defaultComponent: ComponentType<T>) => ComponentType<T>;
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Hook để access custom layout configuration
|
|
9
|
-
*/
|
|
10
|
-
export declare const useCustomLayout: () => CustomLayoutContextType;
|
|
11
|
-
type Props = {
|
|
12
|
-
customLayout?: CustomLayoutConfig;
|
|
13
|
-
children: ReactNode;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* CustomLayoutProvider - Wrap app với provider này để enable component overrides
|
|
17
|
-
*/
|
|
18
|
-
export declare const CustomLayoutProvider: React.FC<Props>;
|
|
19
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=CustomLayoutContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CustomLayoutContext.d.ts","sourceRoot":"","sources":["../../src/context/CustomLayoutContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EAKV,MAAM,OAAO,CAAC;AACf,OAAO,EACL,kBAAkB,EAEnB,MAAM,wBAAwB,CAAC;AAEhC,KAAK,uBAAuB,GAAG;IAC7B,YAAY,EAAE,kBAAkB,CAAC;IACjC,kBAAkB,EAAE,CAAC,CAAC,GAAG,OAAO,EAC9B,IAAI,EAAE,MAAM,EAAE,EACd,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,KAC/B,aAAa,CAAC,CAAC,CAAC,CAAC;CACvB,CAAC;AAOF;;GAEG;AACH,eAAO,MAAM,eAAe,+BAAwC,CAAC;AAErE,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA6ChD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StoreContext.d.ts","sourceRoot":"","sources":["../../src/context/StoreContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,QAAA,MAAM,YAAY,iCAA8C,CAAC;AAEjE,eAAe,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Scripts.d.ts","sourceRoot":"","sources":["../../../src/features/ShowroomVisualizer/Scripts.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAa,MAAM,OAAO,CAAC;AAKtC,QAAA,MAAM,OAAO,EAAE,EAOd,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TourContainer.d.ts","sourceRoot":"","sources":["../../../src/features/ShowroomVisualizer/TourContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAI3B,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,KAAK,CAS5B,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tours.d.ts","sourceRoot":"","sources":["../../../src/features/ShowroomVisualizer/Tours.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,eAAO,MAAM,KAAK,EAAE,EAEnB,CAAC"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import Poi from '../../../model/Poi/Poi';
|
|
2
|
-
import { CoordsTypes } from '../../../types/PoiTypes';
|
|
3
|
-
import { FloorplanTypes } from './../../../types/FloorplanTypes';
|
|
4
|
-
export declare const storeName = "tour";
|
|
5
|
-
export declare const actions: {
|
|
6
|
-
SET_TOUR: string;
|
|
7
|
-
SET_ACTIVE_SCENE: string;
|
|
8
|
-
SET_ACTIVE_POI: string;
|
|
9
|
-
SET_ACTIVE_POI_COORDS: string;
|
|
10
|
-
SET_SELECTED_POI: string;
|
|
11
|
-
SET_SELECTED_POI_ACTIVE: string;
|
|
12
|
-
SET_ACTIVE_TOUR_GUIDE: string;
|
|
13
|
-
STOP_ACTIVE_TOUR_GUIDE: string;
|
|
14
|
-
TOGGLE_ACTIVE_TOUR_GUIDE: string;
|
|
15
|
-
TOGGLE_ACTIVE_BG_SOUND: string;
|
|
16
|
-
SET_LOADING: string;
|
|
17
|
-
TOGGLE_TOUR_PLUGIN: string;
|
|
18
|
-
SET_MOUSE_WHEEL: string;
|
|
19
|
-
SET_ACTIVE_FLOOR_PLAN: string;
|
|
20
|
-
SET_ALL_POI_VISIBLE: string;
|
|
21
|
-
SET_LOADING_SCENE: string;
|
|
22
|
-
SET_SOUND_PLAYABLE: string;
|
|
23
|
-
SET_SELECTED_PROMOTION: string;
|
|
24
|
-
SET_SELECTED_GALLERY: string;
|
|
25
|
-
SET_TOUR_READY: string;
|
|
26
|
-
SET_POI_TEXTURE_DATA: string;
|
|
27
|
-
SET_VIEW_ROTATING: string;
|
|
28
|
-
SET_TOUR_SCENARIO: string;
|
|
29
|
-
SET_ACTIVE_SCENARIO_CODE: string;
|
|
30
|
-
SET_REVIEW_SCENARIO_CODE: string;
|
|
31
|
-
SET_LANGUAGE: string;
|
|
32
|
-
SET_SCENARIO_LOADED: string;
|
|
33
|
-
SET_SCENARIO_CONFIG_CODES: string;
|
|
34
|
-
SET_EXIST_POI_TYPE: string;
|
|
35
|
-
SET_POI_CODE_BY_TYPE: string;
|
|
36
|
-
INCREASE_REPLAY_COUNTING: string;
|
|
37
|
-
SET_FLOOR_PLANS: string;
|
|
38
|
-
};
|
|
39
|
-
export interface TourStateType {
|
|
40
|
-
tourReady: boolean;
|
|
41
|
-
data: any;
|
|
42
|
-
activeScene: any;
|
|
43
|
-
activePoi: any;
|
|
44
|
-
activePoiCoords: any;
|
|
45
|
-
selectedPoi: any;
|
|
46
|
-
activeTourGuide: any;
|
|
47
|
-
backgroundSoundPlaying: boolean;
|
|
48
|
-
loading: boolean;
|
|
49
|
-
loadingScene: boolean;
|
|
50
|
-
plugin: {
|
|
51
|
-
[key: string]: boolean;
|
|
52
|
-
};
|
|
53
|
-
activeFloorPlan: FloorplanTypes;
|
|
54
|
-
soundReady: boolean;
|
|
55
|
-
selectedPromotion: any;
|
|
56
|
-
selectedGallery: any;
|
|
57
|
-
poiTextureData: {
|
|
58
|
-
poi: Poi | null;
|
|
59
|
-
coords: CoordsTypes | null;
|
|
60
|
-
};
|
|
61
|
-
viewRotating: boolean;
|
|
62
|
-
activeScenarioCode?: string;
|
|
63
|
-
reviewScenarioCode?: string;
|
|
64
|
-
language: string;
|
|
65
|
-
scenarioLoaded: {
|
|
66
|
-
[key: string]: boolean;
|
|
67
|
-
};
|
|
68
|
-
scenarioConfigCodes?: string[];
|
|
69
|
-
existPoiTypes?: string[];
|
|
70
|
-
poiCodeByType: {
|
|
71
|
-
[key: string]: string[];
|
|
72
|
-
};
|
|
73
|
-
poiCodeActive?: string;
|
|
74
|
-
replayCounting?: number;
|
|
75
|
-
floorplans: FloorplanTypes[];
|
|
76
|
-
}
|
|
77
|
-
declare const _default: (base: {
|
|
78
|
-
readonly tourReady: boolean;
|
|
79
|
-
readonly data: any;
|
|
80
|
-
readonly activeScene: any;
|
|
81
|
-
readonly activePoi: any;
|
|
82
|
-
readonly activePoiCoords: any;
|
|
83
|
-
readonly selectedPoi: any;
|
|
84
|
-
readonly activeTourGuide: any;
|
|
85
|
-
readonly backgroundSoundPlaying: boolean;
|
|
86
|
-
readonly loading: boolean;
|
|
87
|
-
readonly loadingScene: boolean;
|
|
88
|
-
readonly plugin: {
|
|
89
|
-
readonly [x: string]: boolean;
|
|
90
|
-
};
|
|
91
|
-
readonly activeFloorPlan: FloorplanTypes;
|
|
92
|
-
readonly soundReady: boolean;
|
|
93
|
-
readonly selectedPromotion: any;
|
|
94
|
-
readonly selectedGallery: any;
|
|
95
|
-
readonly poiTextureData: {
|
|
96
|
-
readonly poi: Poi | null;
|
|
97
|
-
readonly coords: CoordsTypes | null;
|
|
98
|
-
};
|
|
99
|
-
readonly viewRotating: boolean;
|
|
100
|
-
readonly activeScenarioCode?: string | undefined;
|
|
101
|
-
readonly reviewScenarioCode?: string | undefined;
|
|
102
|
-
readonly language: string;
|
|
103
|
-
readonly scenarioLoaded: {
|
|
104
|
-
readonly [x: string]: boolean;
|
|
105
|
-
};
|
|
106
|
-
readonly scenarioConfigCodes?: readonly string[] | undefined;
|
|
107
|
-
readonly existPoiTypes?: readonly string[] | undefined;
|
|
108
|
-
readonly poiCodeByType: {
|
|
109
|
-
readonly [x: string]: readonly string[];
|
|
110
|
-
};
|
|
111
|
-
readonly poiCodeActive?: string | undefined;
|
|
112
|
-
readonly replayCounting?: number | undefined;
|
|
113
|
-
readonly floorplans: any;
|
|
114
|
-
} | undefined, action: any) => TourStateType | undefined;
|
|
115
|
-
export default _default;
|
|
116
|
-
//# sourceMappingURL=reducer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../src/hooks/Visualizer/reducer.ts"],"names":[],"mappings":"AAGA,OAAO,GAAG,MAAM,wBAAwB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,eAAO,MAAM,SAAS,SAAS,CAAC;AAChC,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCnB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,EAAE,GAAG,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;IACf,eAAe,EAAE,GAAG,CAAC;IACrB,WAAW,EAAE,GAAG,CAAC;IACjB,eAAe,EAAE,GAAG,CAAC;IACrB,sBAAsB,EAAE,OAAO,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACnC,eAAe,EAAE,cAAc,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,GAAG,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;IACrB,cAAc,EAAE;QAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE,CAAC;IAChE,YAAY,EAAE,OAAO,CAAC;IAEtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC3C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;;wBA5BY,OAAO;mBACZ,GAAG;0BACI,GAAG;wBACL,GAAG;8BACG,GAAG;0BACP,GAAG;8BACC,GAAG;qCACI,OAAO;sBACtB,OAAO;2BACF,OAAO;;;;8BAEJ,cAAc;yBACnB,OAAO;gCACA,GAAG;8BACL,GAAG;;sBACG,GAAG,GAAG,IAAI;yBAAU,WAAW,GAAG,IAAI;;2BAC/C,OAAO;kCAEA,MAAM;kCACN,MAAM;uBACjB,MAAM;;;;;;;;;6BAKA,MAAM;8BACL,MAAM;;;AAmCzB,wBA4HG"}
|