model-manager 0.0.3-1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (187) hide show
  1. package/administration/insert.js +179 -0
  2. package/administration/insert_one.js +33 -0
  3. package/administration/test_data.js +46 -0
  4. package/administration.html +149 -0
  5. package/assets/css/admin.css +247 -0
  6. package/assets/css/basic.css +474 -0
  7. package/assets/css/checkout.css +517 -0
  8. package/assets/css/dialog.css +158 -0
  9. package/assets/css/dialog_admin.css +73 -0
  10. package/assets/css/dialog_checkout.css +177 -0
  11. package/assets/css/info.css +10 -0
  12. package/assets/logo.png +0 -0
  13. package/assets/partnerart.png +0 -0
  14. package/assets/spinner.gif +0 -0
  15. package/assets/spinner_2.gif +0 -0
  16. package/assets/three/GLTFLoader.js +4448 -0
  17. package/assets/three/ModelLoader.js +58 -0
  18. package/assets/three/OrbitControls.js +1252 -0
  19. package/assets/three/three.js +36819 -0
  20. package/assets/three/three.module.js +50708 -0
  21. package/assets/white/add_white_24dp.svg +1 -0
  22. package/assets/white/admin/check.svg +1 -0
  23. package/assets/white/admin/person_add_FILL0_wght400_GRAD0_opsz48.svg +1 -0
  24. package/assets/white/admin/person_remove_FILL0_wght400_GRAD0_opsz48.svg +1 -0
  25. package/assets/white/admin.svg +1 -0
  26. package/assets/white/arrow_forward.svg +1 -0
  27. package/assets/white/brush_white_24dp.svg +1 -0
  28. package/assets/white/close_white_24dp.svg +1 -0
  29. package/assets/white/code_white_24dp.svg +1 -0
  30. package/assets/white/dashboard_white_24dp.svg +1 -0
  31. package/assets/white/done_white_24dp.svg +1 -0
  32. package/assets/white/emoji_people_white_24dp.svg +1 -0
  33. package/assets/white/filter_list_white_24dp.svg +1 -0
  34. package/assets/white/info_white_24dp.svg +1 -0
  35. package/assets/white/minimize_white_24dp.svg +1 -0
  36. package/assets/white/receipt_white_24dp.svg +1 -0
  37. package/assets/white/rocket_launch_white_24dp.svg +1 -0
  38. package/assets/white/search_black_24dp.svg +1 -0
  39. package/assets/white/search_white_24dp.svg +1 -0
  40. package/assets/white/settings_white_24dp.svg +1 -0
  41. package/assets/white/shopping_cart_white_24dp.svg +1 -0
  42. package/assets/white/store_white_24dp.svg +1 -0
  43. package/assets/white/timeline_white_24dp.svg +1 -0
  44. package/assets/white/view_in_ar_white_24dp.svg +1 -0
  45. package/checkout.html +132 -0
  46. package/checkout_admin.html +141 -0
  47. package/icon.png +0 -0
  48. package/imgs/armchair.png +0 -0
  49. package/imgs/arrow_tnt.png +0 -0
  50. package/imgs/bed_wnm.png +0 -0
  51. package/imgs/big_bed.png +0 -0
  52. package/imgs/birdscythe.png +0 -0
  53. package/imgs/blue_tnt.png +0 -0
  54. package/imgs/bull.png +0 -0
  55. package/imgs/carpet.png +0 -0
  56. package/imgs/chest.png +0 -0
  57. package/imgs/coin_stash.png +0 -0
  58. package/imgs/creeper_tnt.png +0 -0
  59. package/imgs/garbage_can.png +0 -0
  60. package/imgs/generator.png +0 -0
  61. package/imgs/golden_sword.png +0 -0
  62. package/imgs/highbed.png +0 -0
  63. package/imgs/jetpack1.png +0 -0
  64. package/imgs/jetpack2.png +0 -0
  65. package/imgs/jetpack3.png +0 -0
  66. package/imgs/jetpack4.png +0 -0
  67. package/imgs/jetpack5.png +0 -0
  68. package/imgs/jetpack6.png +0 -0
  69. package/imgs/karmincross.png +0 -0
  70. package/imgs/light_tnt.png +0 -0
  71. package/imgs/lucky_block.png +0 -0
  72. package/imgs/lucky_block_2.png +0 -0
  73. package/imgs/mega_tnt.png +0 -0
  74. package/imgs/modern_lamp.png +0 -0
  75. package/imgs/multiply_tnt.png +0 -0
  76. package/imgs/nuke.png +0 -0
  77. package/imgs/oak_tree.png +0 -0
  78. package/imgs/oak_tree_2.png +0 -0
  79. package/imgs/old_globe.png +0 -0
  80. package/imgs/scificannon_1.png +0 -0
  81. package/imgs/scificannon_10.png +0 -0
  82. package/imgs/scificannon_11.png +0 -0
  83. package/imgs/scificannon_12.png +0 -0
  84. package/imgs/scificannon_13.png +0 -0
  85. package/imgs/scificannon_14.png +0 -0
  86. package/imgs/scificannon_2.png +0 -0
  87. package/imgs/scificannon_3.png +0 -0
  88. package/imgs/scificannon_4.png +0 -0
  89. package/imgs/scificannon_5.png +0 -0
  90. package/imgs/scificannon_6.png +0 -0
  91. package/imgs/scificannon_7.png +0 -0
  92. package/imgs/scificannon_8.png +0 -0
  93. package/imgs/scificannon_9.png +0 -0
  94. package/imgs/simple_chair.png +0 -0
  95. package/imgs/small_car.png +0 -0
  96. package/imgs/small_modern_lamp.png +0 -0
  97. package/imgs/small_wardrobe.png +0 -0
  98. package/imgs/small_wooden_table.png +0 -0
  99. package/imgs/spike_sword.png +0 -0
  100. package/imgs/stone_holder.png +0 -0
  101. package/imgs/stone_sword.png +0 -0
  102. package/imgs/street_lamp.png +0 -0
  103. package/imgs/sword_1.png +0 -0
  104. package/imgs/sword_with_hole.png +0 -0
  105. package/imgs/testing.png +0 -0
  106. package/imgs/timer_tnt.png +0 -0
  107. package/imgs/tiny_tnt.png +0 -0
  108. package/imgs/tnt_cannon.png +0 -0
  109. package/imgs/wing_tnt.png +0 -0
  110. package/imgs/wooden_stool.png +0 -0
  111. package/imgs/wooden_wardrobe.png +0 -0
  112. package/index.html +179 -0
  113. package/index_admin.html +189 -0
  114. package/js/db/push_model.js +30 -0
  115. package/js/dialoges.js +23 -0
  116. package/js/item_functionality.js +7 -0
  117. package/js/load_admin.js +32 -0
  118. package/js/load_cart.js +76 -0
  119. package/js/load_items.js +467 -0
  120. package/js/update.js +35 -0
  121. package/login.html +287 -0
  122. package/main.js +306 -0
  123. package/models/armchair.gltf +1 -0
  124. package/models/arrow_tnt.gltf +1 -0
  125. package/models/bedwnm.gltf +1 -0
  126. package/models/big_bed.gltf +1 -0
  127. package/models/birdscythe.gltf +1 -0
  128. package/models/blue_tnt.gltf +1 -0
  129. package/models/bull.gltf +1 -0
  130. package/models/carpet.gltf +1 -0
  131. package/models/chest.gltf +1 -0
  132. package/models/coin_stash.gltf +1 -0
  133. package/models/creeper_tnt.gltf +1 -0
  134. package/models/garbage_can.gltf +1 -0
  135. package/models/generator.gltf +1 -0
  136. package/models/golden_sword.gltf +1 -0
  137. package/models/highbed.gltf +1 -0
  138. package/models/jetpack1.gltf +1 -0
  139. package/models/jetpack2.gltf +1 -0
  140. package/models/jetpack3.gltf +1 -0
  141. package/models/jetpack4.gltf +1 -0
  142. package/models/jetpack5.gltf +1 -0
  143. package/models/jetpack6.gltf +1 -0
  144. package/models/karmincross.gltf +1 -0
  145. package/models/light_tnt.gltf +1 -0
  146. package/models/lucky_block.gltf +1 -0
  147. package/models/lucky_block_2.gltf +1 -0
  148. package/models/mega_tnt.gltf +1 -0
  149. package/models/modern_lamp.gltf +1 -0
  150. package/models/multiply_tnt.gltf +1 -0
  151. package/models/nuke.gltf +1 -0
  152. package/models/oak_tree.gltf +1 -0
  153. package/models/oak_tree_2.gltf +1 -0
  154. package/models/old globe.gltf +1 -0
  155. package/models/scificannon_1.gltf +1 -0
  156. package/models/scificannon_10.gltf +1 -0
  157. package/models/scificannon_11.gltf +1 -0
  158. package/models/scificannon_12.gltf +1 -0
  159. package/models/scificannon_13.gltf +1 -0
  160. package/models/scificannon_14.gltf +1 -0
  161. package/models/scificannon_2.gltf +1 -0
  162. package/models/scificannon_3.gltf +1 -0
  163. package/models/scificannon_4.gltf +1 -0
  164. package/models/scificannon_5.gltf +1 -0
  165. package/models/scificannon_6.gltf +1 -0
  166. package/models/scificannon_7.gltf +1 -0
  167. package/models/scificannon_8.gltf +1 -0
  168. package/models/scificannon_9.gltf +1 -0
  169. package/models/simple_chair.gltf +1 -0
  170. package/models/small_car.gltf +1 -0
  171. package/models/small_modern_lamp.gltf +1 -0
  172. package/models/small_wardrobe.gltf +1 -0
  173. package/models/small_wooden_table.gltf +1 -0
  174. package/models/spike_sword.gltf +1 -0
  175. package/models/stone_holder.gltf +1 -0
  176. package/models/stone_sword.gltf +1 -0
  177. package/models/street_lamp.gltf +1 -0
  178. package/models/sword_1.gltf +1 -0
  179. package/models/sword_with_hole.gltf +1 -0
  180. package/models/timer_tnt.gltf +1 -0
  181. package/models/tiny_tnt.gltf +1 -0
  182. package/models/tnt_cannon.gltf +1 -0
  183. package/models/wing_tnt.gltf +1 -0
  184. package/models/wooden_stool.gltf +1 -0
  185. package/models/wooden_wardrobe.gltf +1 -0
  186. package/package.json +42 -0
  187. package/preload.js +26 -0
package/login.html ADDED
@@ -0,0 +1,287 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <link rel="preconnect" href="https://fonts.gstatic.com">
5
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
6
+ <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;500;600&display=swap" rel="stylesheet">
7
+ <title>Login</title>
8
+ <!--Stylesheet-->
9
+ <style media="screen">
10
+ *,
11
+ *:before,
12
+ *:after{
13
+ padding: 0;
14
+ margin: 0;
15
+ box-sizing: border-box;
16
+ }
17
+ body{
18
+ background-color: #181818;
19
+ }
20
+ .background{
21
+ width: 430px;
22
+ height: 520px;
23
+ position: absolute;
24
+ transform: translate(-50%,-50%);
25
+ left: 50%;
26
+ top: 50%;
27
+ }
28
+ .background .shape{
29
+ height: 200px;
30
+ width: 200px;
31
+ position: absolute;
32
+ border-radius: 50%;
33
+ }
34
+ .shape:first-child{
35
+ background: linear-gradient(348deg, #5353e6 0%, #5199b6 48%, #0ebcdf 85%);
36
+ left: -80px;
37
+ top: -80px;
38
+ }
39
+ .shape:last-child{
40
+ background: linear-gradient(348deg, #5353e6 0%, #5199b6 48%, #0ebcdf 85%);
41
+ right: -30px;
42
+ bottom: -80px;
43
+ }
44
+ form{
45
+ height: 520px;
46
+ width: 400px;
47
+ background-color: rgba(255,255,255,0.13);
48
+ position: absolute;
49
+ transform: translate(-50%,-50%);
50
+ top: 50%;
51
+ left: 50%;
52
+ border-radius: 10px;
53
+ backdrop-filter: blur(10px);
54
+ border: 2px solid rgba(255,255,255,0.1);
55
+ box-shadow: 0 0 40px rgba(8,7,16,0.6);
56
+ padding: 50px 35px;
57
+ }
58
+ form *{
59
+ font-family: 'Poppins',sans-serif;
60
+ color: #ffffff;
61
+ letter-spacing: 0.5px;
62
+ outline: none;
63
+ border: none;
64
+ }
65
+ form h3{
66
+ font-size: 32px;
67
+ font-weight: 500;
68
+ line-height: 42px;
69
+ text-align: center;
70
+ }
71
+
72
+ label{
73
+ display: block;
74
+ margin-top: 30px;
75
+ font-size: 16px;
76
+ font-weight: 500;
77
+ }
78
+ input{
79
+ display: block;
80
+ height: 50px;
81
+ width: 100%;
82
+ background-color: rgba(255,255,255,0.07);
83
+ border-radius: 3px;
84
+ padding: 0 10px;
85
+ margin-top: 8px;
86
+ font-size: 14px;
87
+ font-weight: 300;
88
+ }
89
+ ::placeholder{
90
+ color: #e5e5e5;
91
+ }
92
+ button{
93
+ margin-top: 50px;
94
+ width: 100%;
95
+ background-color: #ffffff;
96
+ color: #080710;
97
+ padding: 15px 0;
98
+ font-size: 18px;
99
+ font-weight: 600;
100
+ border-radius: 5px;
101
+ cursor: pointer;
102
+ }
103
+
104
+ button > span {
105
+ position: static;
106
+ background: #fff;
107
+ transform: translate(-50%, -50%);
108
+ border-radius: 50%;
109
+ pointer-events: none;
110
+ animation: ripples 0.6s linear infinite;
111
+ }
112
+
113
+ @keyframes ripples {
114
+ 0% {
115
+ width: 0px;
116
+ height: 0px;
117
+ opacity: 0.5;
118
+ }
119
+ 100% {
120
+ width: 500px;
121
+ height: 500px;
122
+ opacity: 0;
123
+ }
124
+ }
125
+
126
+
127
+ .social{
128
+ margin-top: 30px;
129
+ display: flex;
130
+ }
131
+ .social div{
132
+ background: red;
133
+ width: 150px;
134
+ border-radius: 3px;
135
+ padding: 5px 10px 10px 5px;
136
+ background-color: rgba(255,255,255,0.27);
137
+ color: #eaf0fb;
138
+ text-align: center;
139
+ }
140
+ .social div:hover{
141
+ background-color: rgba(255,255,255,0.47);
142
+ }
143
+ .social .fb{
144
+ margin-left: 25px;
145
+ }
146
+ .social i{
147
+ margin-right: 4px;
148
+ }
149
+
150
+
151
+
152
+ #head {
153
+ filter: drop-shadow(0 0 10px #292929);
154
+ display: flex;
155
+ background: #33363a;
156
+ width: 100%;
157
+ height: 30px;
158
+ position: relative;
159
+ justify-content: space-between;
160
+ top: 0;
161
+ left: 0;
162
+ box-shadow: 3px 0px 5px 1px rgb(0, 0, 0, 0.1);
163
+ }
164
+
165
+ .drag-field-head {
166
+ -webkit-app-region:drag;
167
+ display: inline-block;
168
+ position: relative;
169
+ justify-content: space-between;
170
+ width: 98%;
171
+ height: 25px;
172
+ }
173
+
174
+ .btn-win {
175
+ display: flex;
176
+ cursor: pointer;
177
+ }
178
+
179
+ .win-btn {
180
+ left: 90%;
181
+ display: flex;
182
+ align-items: center;
183
+ justify-content: space-between;
184
+ margin: 0;
185
+ padding: 0;
186
+ float: right;
187
+ }
188
+
189
+ .drag-field-text {
190
+ margin-top: 6px;
191
+ margin-left: 50%;
192
+ font-size: 14px;
193
+ color: rgb(204, 202, 202);
194
+ font-weight: 400;
195
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
196
+ }
197
+
198
+ .alert {
199
+ background: rgb(202, 72, 72);
200
+ width: 100%;
201
+ height: 10%;
202
+ border-radius: 5px;
203
+ margin-top: 5%;
204
+ padding: auto;
205
+ padding-left: 5px;
206
+ padding-top: 7px;
207
+ }
208
+
209
+
210
+ .invis {
211
+ opacity: 0;
212
+ }
213
+
214
+ </style>
215
+ </head>
216
+ <body>
217
+ <div class="background">
218
+ <img src="assets/partnerart.png" style="max-width:100%;
219
+ max-height:100%; height: 50%; margin-top: 20%;">
220
+ </div>
221
+
222
+ <section id="head">
223
+ <div class="drag-field-head">
224
+ <p class="drag-field-text"></p>
225
+ </div>
226
+ <div class="win-btn">
227
+ <a class="btn-win" id="close-button">
228
+ <img src="assets/white/close_white_24dp.svg" style="display: flex;">
229
+ </a>
230
+ </div>
231
+ </section>
232
+
233
+ <div class="background">
234
+ <div class="shape"></div>
235
+ <div class="shape"></div>
236
+ <div class="shape"></div>
237
+ </div>
238
+ <form>
239
+ <h3>Login</h3>
240
+
241
+ <label for="username">Email</label>
242
+ <input type="text" placeholder="Email" id="username">
243
+
244
+ <label for="password">Password</label>
245
+ <input type="password" placeholder="Password" id="password">
246
+
247
+ <button id="login">Log In</button>
248
+ <h4 class="alert invis" id="alert">Error: The login was invalid!</h4>
249
+ </form>
250
+ <script>
251
+ document.getElementById("close-button").addEventListener('click', event => {
252
+ window.api.send("toMain", "closeWindow");
253
+ });
254
+ document.getElementById("login").addEventListener('click', event => {
255
+ var input = [document.getElementById("username").value, document.getElementById("password").value];
256
+ window.api.send("login_request", input)
257
+ });
258
+
259
+ window.api.receive('login_response', function (data, evt) {
260
+ if (data == "n") {
261
+ document.getElementById("alert").classList.remove("invis")
262
+ } else if (data == "y-0") {
263
+ location.href = "./index_admin.html";
264
+ window.api.send("change_window", input)
265
+ } else if (data == "y-1") {
266
+ location.href = "./index.html";
267
+ window.api.send("change_window", input)
268
+ }
269
+ });
270
+ </script>
271
+
272
+ <!-- ripple effect on the button -->
273
+ <script>
274
+ document.getElementById("login").addEventListener('click', event => {
275
+ let x = event.clientX - event.target.offsetLeft;
276
+ let y = event.clientY - event.target.offsetTop;
277
+ let ripple = document.createElement("span")
278
+ ripple.style.left = `${x}px`;
279
+ ripple.style.top = `${y}px`;
280
+ document.getElementById("login").appendChild(ripple)
281
+ setTimeout(() => {
282
+ ripple.remove();
283
+ }, 600);
284
+ });
285
+ </script>
286
+ </body>
287
+ </html>
package/main.js ADDED
@@ -0,0 +1,306 @@
1
+ const path = require('path')
2
+ // todo: need to remove this before compiling the software
3
+ // require('electron-reload')(__dirname, {
4
+ // electron: path.join(__dirname, 'node_modules', '.bin', 'electron')
5
+ // });
6
+ const { app, BrowserWindow, ipcMain, dialog } = require('electron');
7
+ // const { autoUpdater } = require('electron-updater')
8
+
9
+ const { autoUpdater } = require('electron-github-autoupdater')
10
+
11
+ autoUpdater({
12
+ owner: "Mine-North",
13
+ repo: "Mine-North-Model-Tool",
14
+ accessToken: "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"
15
+ })
16
+
17
+ var cart = [];
18
+ var logged_user;
19
+
20
+
21
+ // modify your existing createWindow() function
22
+ const loginWindow = () => {
23
+ const win = new BrowserWindow({
24
+ width: 1380,
25
+ height: 800,
26
+ minHeight: 800,
27
+ minWidth: 1380,
28
+ resizable: false,
29
+ frame: false,
30
+ resizable: true,
31
+ icon: __dirname + "/icon.png",
32
+ webPreferences: {
33
+ nodeIntegration: false,
34
+ contextIsolation: true,
35
+ enableRemoteModule: false,
36
+ preload: path.join(__dirname, 'preload.js')
37
+ }
38
+ })
39
+ win.webContents.openDevTools(true)
40
+ win.loadURL(`file://${__dirname}/login.html`)
41
+
42
+ ipcMain.on("change_window", (event, args) => {
43
+ win.close()
44
+ createWindow();
45
+ });
46
+
47
+ // autoUpdater.checkForUpdates();
48
+ }
49
+
50
+
51
+
52
+ const createWindow = () => {
53
+ const win = new BrowserWindow({
54
+ width: 1300,
55
+ height: 800,
56
+ minHeight: 800,
57
+ minWidth: 1300,
58
+ frame: false,
59
+ resizable: true,
60
+ webPreferences: {
61
+ nodeIntegration: false,
62
+ contextIsolation: true,
63
+ enableRemoteModule: false,
64
+ preload: path.join(__dirname, 'preload.js')
65
+ }
66
+ })
67
+ //win.webContents.openDevTools(true)
68
+ win.loadURL(`file://${__dirname}/index.html`)
69
+ }
70
+
71
+
72
+ app.whenReady().then(() => {
73
+ loginWindow();
74
+ })
75
+
76
+ ipcMain.on("start_app", (event, args) => {
77
+ loginWindow();
78
+ });
79
+
80
+ ipcMain.on("toMain", (event, args) => {
81
+ if(args == "closeWindow") {
82
+ app.quit()
83
+ }
84
+
85
+
86
+ // processing the order
87
+ if (args == "send_order_out") {
88
+
89
+ const { MongoClient, ServerApiVersion } = require('mongodb');
90
+ const uri = "mongodb+srv://adminmn:eQJ62Cszrvi7VgD@mnmodeldatabase.zsxqn.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
91
+ const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 });
92
+
93
+ const database = client.db("modeldatabase");
94
+ const orders = database.collection("orders");
95
+
96
+ // lets clean the order array first
97
+ var final_cart = cart.filter(function(item, pos, self) {
98
+ return self.indexOf(item) == pos;
99
+ })
100
+
101
+ client.connect(err => {
102
+ if (err) {
103
+ event.sender.send('order_response', "error")
104
+ throw err
105
+ }
106
+
107
+ var existing_order = 0;
108
+ // count existing orders
109
+ orders.find().forEach( function(item) {
110
+ existing_order++;
111
+ });
112
+
113
+ var modelobj1 = {order_by: logged_user, orders: final_cart, order_number: existing_order+1}
114
+ orders.insertOne(modelobj1);
115
+ cart = [];
116
+ event.sender.send('order_response', "success")
117
+ });
118
+ }
119
+ });
120
+
121
+ // window change processing
122
+ ipcMain.on("change_window", (event, args) => {
123
+ });
124
+
125
+ // login processing
126
+ ipcMain.on("login_request", (event, args) => {
127
+ const { MongoClient, ServerApiVersion } = require('mongodb');
128
+ const uri = "mongodb+srv://adminmn:eQJ62Cszrvi7VgD@mnmodeldatabase.zsxqn.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
129
+ const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 });
130
+
131
+ const database = client.db("modeldatabase");
132
+ const users = database.collection("users");
133
+
134
+ const username = args[0];
135
+ const pwd = args[1];
136
+
137
+ client.connect(err => {
138
+ users.findOne({username: username}, {pwd: pwd}, function(err, document) {
139
+ if (document == null) {
140
+ event.sender.send('login_response', "n")
141
+ } else if (document.username == username && document.pwd == pwd) {
142
+ event.sender.send('login_response', "y-" + document.permission_level)
143
+ logged_user = document.username
144
+ } else {
145
+ event.sender.send('login_response', "n")
146
+ }
147
+ });
148
+ });
149
+ });
150
+
151
+ // database channel processsing
152
+ ipcMain.on("database_request", (event, args) => {
153
+ const { MongoClient, ServerApiVersion } = require('mongodb');
154
+ const uri = "mongodb+srv://adminmn:eQJ62Cszrvi7VgD@mnmodeldatabase.zsxqn.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
155
+ const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true, serverApi: ServerApiVersion.v1 });
156
+
157
+ const database = client.db("modeldatabase");
158
+ const models = database.collection("models");
159
+ const users = database.collection("users");
160
+ const orders = database.collection("orders");
161
+
162
+ if(args == "rqID") {
163
+ client.connect(err => {
164
+
165
+ // models.countDocuments(function(err, result) {
166
+ // console.log("DATABASE RESPONSE: identified " + result + " models")
167
+ // event.sender.send('database_data', result)
168
+ // });
169
+
170
+ var count = 0;
171
+ var data = []
172
+ // todo: implement multiple pages: you can limit search with models.find().limit(NUMBER OF SEARCHES).forEach().......
173
+ // .skip() is also valid
174
+ models.find().forEach( function(item) {
175
+ if (item.released == true) {
176
+ data = []
177
+ var modelname = item.model_name
178
+ var modelcreator = item.model_creator
179
+ var has_textures = item.has_textures
180
+ var has_animations = item.has_anims
181
+ var bp = item.has_behavior
182
+ var model_path = item.model_path
183
+ var behaviors = item.behavior
184
+ var textures = item.textures
185
+ var animations = item.animations
186
+ var tags = item.tag
187
+ var thumbnail = item.thumbnail
188
+ count = count+1;
189
+ data.push({
190
+ count,
191
+ modelname,
192
+ modelcreator,
193
+ model_path,
194
+ has_textures,
195
+ has_animations,
196
+ bp,
197
+ behaviors,
198
+ textures,
199
+ animations,
200
+ tags,
201
+ thumbnail
202
+ })
203
+ event.sender.send('item_channel', data)
204
+ if (count == 1) {
205
+ event.sender.send('renderer', "stop-spinner")
206
+ }
207
+ }
208
+ });
209
+ });
210
+ }
211
+
212
+ if(args == "rqID2") {
213
+ client.connect(err => {
214
+
215
+ // models.countDocuments(function(err, result) {
216
+ // console.log("DATABASE RESPONSE: identified " + result + " models")
217
+ // event.sender.send('database_data', result)
218
+ // });
219
+
220
+ var count = 0;
221
+ var data = []
222
+ models.find().forEach( function(item) {
223
+ data = []
224
+ var modelname = item.model_name
225
+ var modelcreator = item.model_creator
226
+ var has_textures = item.has_textures
227
+ var has_animations = item.has_anims
228
+ var bp = item.has_behavior
229
+ var model_path = item.model_path
230
+ count = count+1;
231
+ data.push({
232
+ count,
233
+ modelname,
234
+ modelcreator,
235
+ model_path,
236
+ has_textures,
237
+ has_animations,
238
+ bp
239
+ })
240
+ event.sender.send('item_channel2', data)
241
+ if (count == 1) {
242
+ event.sender.send('renderer', "stop-spinner")
243
+ }
244
+ });
245
+ });
246
+ }
247
+
248
+ if (args == "rq_orderdata") {
249
+ client.connect(err => {
250
+ var data = []
251
+ var count = 0;
252
+ orders.find().forEach( function(item) {
253
+ data = []
254
+ var order_number = item.order_number
255
+ var orderer = item.order_by
256
+ var orders = item.orders
257
+ count = count+1;
258
+ data.push({
259
+ order_number,
260
+ orderer,
261
+ orders
262
+ })
263
+ event.sender.send('admin_channel', data)
264
+ if (count == 1) {
265
+ event.sender.send('renderer', "stop-spinner")
266
+ }
267
+ client.close();
268
+ });
269
+ });
270
+ }
271
+
272
+ if (args.includes("delete_order")) {
273
+ var splitted_data = args.split(":")
274
+ var order_id = splitted_data[1];
275
+
276
+ client.connect(err => {
277
+ console.log("looking to delete order number " + order_id);
278
+ orders.deleteOne({ order_number: parseInt(order_id) });
279
+
280
+ event.sender.send('renderer', "reload_side")
281
+ });
282
+ }
283
+ });
284
+
285
+
286
+ // storage processing
287
+ ipcMain.on("storage_request", (event, args) => {
288
+ if (!cart.includes(args)) {
289
+ if (cart.length != 0) {
290
+ cart.forEach(object => {
291
+ if (args == object) {
292
+ event.sender.send('storage_answer', "dns")
293
+ } else {
294
+ cart.push(args)
295
+ }
296
+ })
297
+ } else {
298
+ cart.push(args)
299
+ event.sender.send('storage_answer', "ds")
300
+ }
301
+ }
302
+ });
303
+
304
+ ipcMain.on("cart_request", (event, args) => {
305
+ event.sender.send("cart_answer", cart)
306
+ });
@@ -0,0 +1 @@
1
+ {"asset":{"version":"2.0","generator":"Blockbench 4.2.5 glTF exporter"},"scenes":[{"nodes":[17],"name":"blockbench_export"}],"scene":0,"nodes":[{"name":"cube","mesh":0},{"translation":[0.8125,0,0],"name":"cube","mesh":1},{"rotation":[0,0.38268343236508984,0,0.9238795325112867],"translation":[1.3125,0,-0.5],"name":"cube","mesh":2},{"rotation":[0,-0.38268343236508984,0,0.9238795325112867],"translation":[0.3125,0,-0.5],"name":"cube","mesh":3},{"rotation":[0,0.38268343236508984,0,0.9238795325112867],"translation":[0.3125,0,0.4375],"name":"cube","mesh":4},{"rotation":[0,-0.38268343236508984,0,0.9238795325112867],"translation":[1.3125,0,0.4375],"name":"cube","mesh":5},{"translation":[0.8125,0,0],"name":"cube","mesh":6},{"name":"cube","mesh":7},{"name":"cube","mesh":8},{"name":"cube","mesh":9},{"rotation":[0,0,-0.27982901403099203,0.9600498543859287],"name":"cube","mesh":10},{"rotation":[0,0,-0.27982901403099203,0.9600498543859287],"name":"cube","mesh":11},{"rotation":[0,0,-0.008726535498373935,0.9999619230641713],"translation":[1.125,1.5,0.3125],"name":"bone","children":[10,11]},{"rotation":[0,0,0.27982901403099203,0.9600498543859287],"name":"cube","mesh":12},{"rotation":[0,0,0.27982901403099203,0.9600498543859287],"name":"cube","mesh":13},{"rotation":[0,0,0.008726535498373935,0.9999619230641713],"translation":[0.5,1.5,0.3125],"name":"bone2","children":[13,14]},{"translation":[-0.8125,0.125,0],"name":"bone3","children":[0,1,2,3,4,5,6,7,8,9,12,15]},{"children":[16]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":288,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":576,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":768,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":840,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1128,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1416,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":1608,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":1680,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1968,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2256,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":2448,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":2520,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2808,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3096,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":3288,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":3360,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3648,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3936,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":4128,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":4200,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":4488,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":4776,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":4968,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":5040,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":5328,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":5616,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":5808,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":5880,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":6168,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":6456,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":6648,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":6720,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":7008,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":7296,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":7488,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":7560,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":7848,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":8136,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":8328,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":8400,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":8688,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":8976,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":9168,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":9240,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":9528,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":9816,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":10008,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":10080,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":10368,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":10656,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":10848,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":10920,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":11208,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":11496,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":11688,"byteLength":72,"target":34963}],"buffers":[{"byteLength":11760,"uri":"data:application/octet-stream;base64,AACgPwAA0D8xCKA+AACgPwAA0D8AAKA+AACgPwAAsD8xCKA+AACgPwAAsD8AAKA+AADAPgAA0D8AAKA+AADAPgAA0D8xCKA+AADAPgAAsD8AAKA+AADAPgAAsD8xCKA+AADAPgAA0D8AAKA+AACgPwAA0D8AAKA+AADAPgAA0D8xCKA+AACgPwAA0D8xCKA+AADAPgAAsD8xCKA+AACgPwAAsD8xCKA+AADAPgAAsD8AAKA+AACgPwAAsD8AAKA+AADAPgAA0D8xCKA+AACgPwAA0D8xCKA+AADAPgAAsD8xCKA+AACgPwAAsD8xCKA+AACgPwAA0D8AAKA+AADAPgAA0D8AAKA+AACgPwAAsD8AAKA+AADAPgAAsD8AAKA+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/ABC8PgD4fz8A8Ls+APh/PwAQvD4ACHg/APC7PgAIeD8AEPQ+APh/PwDw8z4A+H8/ABD0PgAIeD8A8PM+AAh4PwDw8z4A+H8/ABC8PgD4fz8A8PM+AASAPwAQvD4ABIA/APgVPwD4fz8AEPQ+APh/PwD4FT8ABIA/ABD0PgAEgD8AEPQ+APh/PwD4FT8A+H8/ABD0PgAIeD8A+BU/AAh4PwAQvD4A+H8/APDzPgD4fz8AELw+AAh4PwDw8z4ACHg/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAAAAPwAAwD4AAOA+AAAAPwAAwD4AAAC/AAAAPwAAgD0AAOA+AAAAPwAAgD0AAAC/AAAAvwAAwD4AAAC/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AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AEDwPQD4OT8AwO89APg5PwBA8D0ACDQ/AMDvPQAIND8AIBg+APg5PwDgFz4A+Dk/ACAYPgAIND8A4Bc+AAg0PwDgFz4A+Dk/AEDwPQD4OT8A4Bc+AAg6PwBA8D0ACDo/AOA3PgD4OT8AIBg+APg5PwDgNz4ACDo/ACAYPgAIOj8AIBg+APg5PwDgNz4A+Dk/ACAYPgAIND8A4Dc+AAg0PwBA8D0A+Dk/AOAXPgD4OT8AQPA9AAg0PwDgFz4ACDQ/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAAAAPwAAQD8AAIA+AAAAPwAAQD8AAAC/AAAAPwAAwD4AAIA+AAAAPwAAwD4AAAC/AACgPgAAQD8AAAC/AACgPgAAQD8AAIA+AACgPgAAwD4AAAC/AACgPgAAwD4AAIA+AACgPgAAQD8AAAC/AAAAPwAAQD8AAAC/AACgPgAAQD8AAIA+AAAAPwAAQD8AAIA+AACgPgAAwD4AAIA+AAAAPwAAwD4AAIA+AACgPgAAwD4AAAC/AAAAPwAAwD4AAAC/AACgPgAAQD8AAIA+AAAAPwAAQD8AAIA+AACgPgAAwD4AAIA+AAAAPwAAwD4AAIA+AAAAPwAAQD8AAAC/AACgPgAAQD8AAAC/AAAAPwAAwD4AAAC/AACgPgAAwD4AAAC/AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/ABDIPgD4Vz8A8Pc+APhXPwAQyD4ACEw/APD3PgAITD8ACAI/APhXPwD4GT8A+Fc/AAgCPwAITD8A+Bk/AAhMPwD4AT8ACFg/ABD4PgAIWD8A+AE/APhvPwAQ+D4A+G8/APgHPwD4bz8ACAI/APhvPwD4Bz8ACFg/AAgCPwAIWD8ACBo/APhXPwD4Hz8A+Fc/AAgaPwAITD8A+B8/AAhMPwAQ+D4A+Fc/APgBPwD4Vz8AEPg+AAhMPwD4AT8ACEw/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAAAAPwAAQD8AAIA+AAAAPwAAQD8AAAC/AAAAPwAAwD4AAIA+AAAAPwAAwD4AAAC/AACgPgAAQD8AAAC/AACgPgAAQD8AAIA+AACgPgAAwD4AAAC/AACgPgAAwD4AAIA+AACgPgAAQD8AAAC/AAAAPwAAQD8AAAC/AACgPgAAQD8AAIA+AAAAPwAAQD8AAIA+AACgPgAAwD4AAIA+AAAAPwAAwD4AAIA+AACgPgAAwD4AAAC/AAAAPwAAwD4AAAC/AACgPgAAQD8AAIA+AAAAPwAAQD8AAIA+AACgPgAAwD4AAIA+AAAAPwAAwD4AAIA+AAAAPwAAQD8AAAC/AACgPgAAQD8AAAC/AAAAPwAAwD4AAAC/AACgPgAAwD4AAAC/AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/ABCYPgD4Gz8A8Mc+APgbPwAQmD4ACBA/APDHPgAIED8AENQ+APgbPwD4AT8A+Bs/ABDUPgAIED8A+AE/AAgQPwDw0z4ACBw/ABDIPgAIHD8A8NM+APgzPwAQyD4A+DM/APDfPgD4Mz8AENQ+APgzPwDw3z4ACBw/ABDUPgAIHD8ACAI/APgbPwD4Bz8A+Bs/AAgCPwAIED8A+Ac/AAgQPwAQyD4A+Bs/APDTPgD4Gz8AEMg+AAgQPwDw0z4ACBA/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAACoPwAAsD8AAOA+AACoPwAAsD8AAIA+AACoPwAAwD4AAOA+AACoPwAAwD4AAIA+AACgPgAAsD8AAIA+AACgPgAAsD8AAOA+AACgPgAAwD4AAIA+AACgPgAAwD4AAOA+AACgPgAAsD8AAIA+AACoPwAAsD8AAIA+AACgPgAAsD8AAOA+AACoPwAAsD8AAOA+AACgPgAAwD4AAOA+AACoPwAAwD4AAOA+AACgPgAAwD4AAIA+AACoPwAAwD4AAIA+AACgPgAAsD8AAOA+AACoPwAAsD8AAOA+AACgPgAAwD4AAOA+AACoPwAAwD4AAOA+AACoPwAAsD8AAIA+AACgPgAAsD8AAIA+AACoPwAAwD4AAIA+AACgPgAAwD4AAIA+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAOQD4LT8AAL88APgtPwAAADkACA4/AAC/PAAIDj8AIBg+APgtPwDgLz4A+C0/ACAYPgAIDj8A4C8+AAgOPwDgFz4ACC4/AADBPAAILj8A4Bc+APgzPwAAwTwA+DM/APCLPgD4Mz8AIBg+APgzPwDwiz4ACC4/ACAYPgAILj8AIDA+APgtPwDwlz4A+C0/ACAwPgAIDj8A8Jc+AAgOPwAAwTwA+C0/AOAXPgD4LT8AAME8AAgOPwDgFz4ACA4/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAACQPwAAwD8AAOA+AACQPwAAwD8AAIA+AACQPwAAsD8AAOA+AACQPwAAsD8AAIA+AAAAPwAAwD8AAIA+AAAAPwAAwD8AAOA+AAAAPwAAsD8AAIA+AAAAPwAAsD8AAOA+AAAAPwAAwD8AAIA+AACQPwAAwD8AAIA+AAAAPwAAwD8AAOA+AACQPwAAwD8AAOA+AAAAPwAAsD8AAOA+AACQPwAAsD8AAOA+AAAAPwAAsD8AAIA+AACQPwAAsD8AAIA+AAAAPwAAwD8AAOA+AACQPwAAwD8AAOA+AAAAPwAAsD8AAOA+AACQPwAAsD8AAOA+AACQPwAAwD8AAIA+AAAAPwAAwD8AAIA+AACQPwAAsD8AAIA+AAAAPwAAsD8AAIA+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/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"}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[1.25,1.625,0.312562495470047],"min":[0.375,1.375,0.3125],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"max":[0.5858154296875,1.0001220703125],"min":[0.3670654296875,0.9688720703125],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":24,"max":[0.5,0.375,0.4375],"min":[-0.5,0.0625,-0.5],"type":"VEC3"},{"bufferView":5,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":6,"componentType":5126,"count":24,"max":[0.4842529296875,0.9998779296875],"min":[0.0001220703125,0.8438720703125],"type":"VEC2"},{"bufferView":7,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":8,"componentType":5126,"count":24,"max":[0,0.0625,0.0000625000029685907],"min":[-0.25,-0.125,0],"type":"VEC3"},{"bufferView":9,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":10,"componentType":5126,"count":24,"max":[0.1795654296875,0.7266845703125],"min":[0.1170654296875,0.7032470703125],"type":"VEC2"},{"bufferView":11,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":12,"componentType":5126,"count":24,"max":[0.25,0.0625,0.0000625000029685907],"min":[0,-0.125,0],"type":"VEC3"},{"bufferView":13,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":14,"componentType":5126,"count":24,"max":[0.1795654296875,0.7266845703125],"min":[0.1170654296875,0.7032470703125],"type":"VEC2"},{"bufferView":15,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":16,"componentType":5126,"count":24,"max":[0.25,0.0625,0.0000625000029685907],"min":[0,-0.125,0],"type":"VEC3"},{"bufferView":17,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":18,"componentType":5126,"count":24,"max":[0.1795654296875,0.7266845703125],"min":[0.1170654296875,0.7032470703125],"type":"VEC2"},{"bufferView":19,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":20,"componentType":5126,"count":24,"max":[0,0.0625,0.0000625000029685907],"min":[-0.25,-0.125,0],"type":"VEC3"},{"bufferView":21,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":22,"componentType":5126,"count":24,"max":[0.1795654296875,0.7266845703125],"min":[0.1170654296875,0.7032470703125],"type":"VEC2"},{"bufferView":23,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":24,"componentType":5126,"count":24,"max":[0.5,0.75,0.25],"min":[0.3125,0.375,-0.5],"type":"VEC3"},{"bufferView":25,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":26,"componentType":5126,"count":24,"max":[0.6248779296875,0.9373779296875],"min":[0.3907470703125,0.7969970703125],"type":"VEC2"},{"bufferView":27,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":28,"componentType":5126,"count":24,"max":[0.5,0.75,0.25],"min":[0.3125,0.375,-0.5],"type":"VEC3"},{"bufferView":29,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":30,"componentType":5126,"count":24,"max":[0.5311279296875,0.7030029296875],"min":[0.2969970703125,0.5626220703125],"type":"VEC2"},{"bufferView":31,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":32,"componentType":5126,"count":24,"max":[1.3125,1.375,0.4375],"min":[0.3125,0.375,0.25],"type":"VEC3"},{"bufferView":33,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":34,"componentType":5126,"count":24,"max":[0.2967529296875,0.7030029296875],"min":[0.0001220703125,0.5548095703125],"type":"VEC2"},{"bufferView":35,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":36,"componentType":5126,"count":24,"max":[1.125,1.5,0.4375],"min":[0.5,1.375,0.25],"type":"VEC3"},{"bufferView":37,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":38,"componentType":5126,"count":24,"max":[0.5701904296875,0.7967529296875],"min":[0.3673095703125,0.7579345703125],"type":"VEC2"},{"bufferView":39,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":40,"componentType":5126,"count":24,"max":[0.22374999523162842,-0.0012499999720603228,0.1237500011920929],"min":[0.16374999284744263,-0.1237500011920929,-0.061250001192092896],"type":"VEC3"},{"bufferView":41,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":42,"componentType":5126,"count":24,"max":[0.0623779296875,0.9217529296875],"min":[0.0001220703125,0.8829345703125],"type":"VEC2"},{"bufferView":43,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":44,"componentType":5126,"count":24,"max":[0.1887499988079071,0.0012499999720603228,0.1262499988079071],"min":[-0.0012499999720603228,-0.1262499988079071,-0.0637499988079071],"type":"VEC3"},{"bufferView":45,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":46,"componentType":5126,"count":24,"max":[0.0936279296875,0.9608154296875],"min":[0.0001220703125,0.9219970703125],"type":"VEC2"},{"bufferView":47,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":48,"componentType":5126,"count":24,"max":[-0.16374999284744263,-0.0012499999720603228,0.1237500011920929],"min":[-0.22374999523162842,-0.1237500011920929,-0.061250001192092896],"type":"VEC3"},{"bufferView":49,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":50,"componentType":5126,"count":24,"max":[0.0623779296875,0.8436279296875],"min":[0.0001220703125,0.8048095703125],"type":"VEC2"},{"bufferView":51,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":52,"componentType":5126,"count":24,"max":[0.0012499999720603228,0.0012499999720603228,0.1262499988079071],"min":[-0.1887499988079071,-0.1262499988079071,-0.0637499988079071],"type":"VEC3"},{"bufferView":53,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":54,"componentType":5126,"count":24,"max":[0.0936279296875,0.9998779296875],"min":[0.0001220703125,0.9610595703125],"type":"VEC2"},{"bufferView":55,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{"sampler":0,"source":0,"name":"texture"}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071}],"images":[{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAABRVJREFUeF7tnEFrE0EYhicglGoK1YsUFGoOLWpVyMGLf8Ef0Iu3/hz/gwcvvXjzL/RaUKvQHmJBoTctNFoKQmTSbLK7zW5mZhOys++TSw/9ZjLf+z15Z3Zmd1uGj7QCLensSd4AgDgEAAAA4gqIp48DAIC4AuLp4wAAIK6AePo4AACIKyCePg4AAOIKiKePAwCAuALi6eMAACCugHj6OAAAiCsgnj4OAADiCoinjwMAgLgC4unjAAAgroB4+jgAAIgrIJ4+DgAA4gqIp48DAIC4AuLp4wAAIK6AePo4AACIKyCePg4AAOIKiKePAwCAuALi6eMAACCugHj6OAAAiCsgnj4OAADiCoinjwMAgLgC4unjAAAgroB4+jgAAIgrIJ4+DgAA4gqIp48DAIC4AuLp4wAAIK6AePo4AACIKyCePg4AAOIKiKePAwCAuALi6eMAACCugHj6OAAAiCsgnj4OAADiCoinjwMAgLgC4um3XnefDxINTrdejOUYXFya1tpqqTz5mM2TT3OT8+PhZ9xpbmoWd1RbANIwuupgAQxpl+7/aP+9FHgAkKMLAEaCLHsKCPkl4wCuXjmJwwFwgBmLwPbKdKz6V2aRi0AcwP/XHNIi4wC2g+8bW8PVv88UYGMfnZ2EfH9hG28AikB1GVX/ahwlvQYYA7CxbgZn526XgaPYeQPgexm4s7c3vpw1wgV14T0dU+4AG+vl+wAjSBbhAADgW8qw+NpOAQAQVlDfVtMBYArw1THa+HIAXKYA1gDRFt8OHACiLl/1wc9eAzjsA7AIrF6IZfUwG4CSkSV7BQCwrPJV/97W7qvu5PrZGPNlvTPu1eU4OAl+dt67MZr+5b+gEbZXb5n9g0OvUzn2AYKkNhmRLQxHD58G9bTz46sJbZt8YZVdOAAIKhsAhMnWnFY4QHNqGZSJ1zyb/wZ7O9nvP9cHKQfHx059vdreHq457t5ZMb67fUEZ0qhUAaeilfXgAwHFrx+NlQB4stnJXEF8O+2V9ucbXz+5mjeiSgA0Tw69jABAr+aZjAEAAMQVEE8/agfY2X0zXoTa8wiXT3p72/VJpiZfrkYNgC14AoHdinb5pLerXdv4nku4jKMuMdEDkAiZP9QqEtj1vKLKuURdiusyDgAoUAkAXPCpUQwOEFaMxjhAekHoKgXPEhrTKhPOChTLChgAXLHPxmUAmLYqjmUFDACBAKSbJXcEba/eNx/evY1qegAAAMicTLrIwRrATL8lLEoHSD8c6lL9dEzqYVLfprFfLt64K9hXgFjjjx53J0MXfpo481xAb+1BrevZufg5t/Gddl8CQP7RMPtyiNDPoP/XtNq3S5u7xJR1MM93EADAtdIZB6gCQCg4Pu0AwEctt9jCl0S5NZ9E+bxSxrfvJN71+Nalfxxg5ABVdgLz5/Euj5LNinEpXhJTZQXOk0QjAPKHKPnz8rKdQADwwbWesVOfDHL9ZQFAPYvqMyoAsGop7wOkaUnOAnAAn99Q3LHDq4DkpYzpGyuLbp5MHw8zBcRd/OE+QNGdNEU3T6YXhQDQAADyU8D4Eiv1ooiiKSFmAOIv3XwyuLEIBID5CBtLLwAQS6UWNM7MLWHTFoH57deiReCCxlfarevVyjLGFst3zrwnMJ9I0SJwGQkDQHXV5zYFVB+Kfw8A4K9ZvkVjALD7GXZ6sn97v/rDPDv32sPb2pP/VZereT00BoCkNPY1NLbw9mNBmPXamuaV1C+j/7kMNq7pitsWAAAAAElFTkSuQmCC"}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":8,"NORMAL":9,"TEXCOORD_0":10},"indices":11,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":12,"NORMAL":13,"TEXCOORD_0":14},"indices":15,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":16,"NORMAL":17,"TEXCOORD_0":18},"indices":19,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":20,"NORMAL":21,"TEXCOORD_0":22},"indices":23,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":24,"NORMAL":25,"TEXCOORD_0":26},"indices":27,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":28,"NORMAL":29,"TEXCOORD_0":30},"indices":31,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":32,"NORMAL":33,"TEXCOORD_0":34},"indices":35,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":36,"NORMAL":37,"TEXCOORD_0":38},"indices":39,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":40,"NORMAL":41,"TEXCOORD_0":42},"indices":43,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":44,"NORMAL":45,"TEXCOORD_0":46},"indices":47,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":48,"NORMAL":49,"TEXCOORD_0":50},"indices":51,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":52,"NORMAL":53,"TEXCOORD_0":54},"indices":55,"material":0}]}]}