@vertexvis/viewer 0.15.2-testing.4 → 0.15.2

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.
Files changed (273) hide show
  1. package/dist/cjs/_commonjsHelpers-dcc4cf71.js +1 -1
  2. package/dist/cjs/app-globals-2035678d.js +1 -1
  3. package/dist/cjs/browser.esm-5d246754.js +1 -1
  4. package/dist/cjs/bundle.esm-22b6f2d6.js +1 -1
  5. package/dist/cjs/bundle.esm-b43c197a.js +38280 -0
  6. package/dist/cjs/{config-4a86ae0b.js → config-3fc1c093.js} +2 -2
  7. package/dist/cjs/{cursors-85d403e9.js → cursors-02a06ec9.js} +7 -1
  8. package/dist/cjs/dom-8d90bfaf.js +1 -1
  9. package/dist/cjs/dom-92728e58.js +1 -1
  10. package/dist/cjs/dom-d1bbd67c.js +1 -1
  11. package/dist/cjs/dom-d57d3c3b.js +1 -1
  12. package/dist/cjs/elementRectObserver-9b28f182.js +1 -1
  13. package/dist/cjs/entities-9eb7e608.js +1 -1
  14. package/dist/cjs/{entities-496b61cd.js → entities-c1c3c6a3.js} +3 -3
  15. package/dist/cjs/errors-1b37642b.js +97 -0
  16. package/dist/cjs/grpc-web-client.umd-2af20c1b.js +1 -1
  17. package/dist/cjs/index-70db349e.js +1 -1
  18. package/dist/cjs/index-b9d13137.js +1 -1
  19. package/dist/cjs/index.cjs.js +9 -6
  20. package/dist/cjs/loader.cjs.js +2 -2
  21. package/dist/cjs/{mapper-216603b0.js → mapper-d4145b72.js} +2 -2
  22. package/dist/cjs/markup-4a2fc281.js +1 -1
  23. package/dist/cjs/{model-b61f4d20.js → model-19fb560a.js} +27 -6
  24. package/dist/cjs/model-20a70d27.js +1 -1
  25. package/dist/cjs/overlays-b03ec80b.js +1 -1
  26. package/dist/cjs/png-decoder-ef097f37.js +1 -1
  27. package/dist/cjs/results-178e89a3.js +1 -1
  28. package/dist/cjs/{scene-0ce59b26.js → scene-a94e6fa5.js} +276 -225
  29. package/dist/cjs/shadow-css-6b9daa41.js +1 -1
  30. package/dist/cjs/stencil-fc92b387.js +1 -1
  31. package/dist/cjs/{streamAttributes-7725f5c4.js → streamAttributes-cf0c513d.js} +5408 -39951
  32. package/dist/cjs/templates-e57b3741.js +1 -1
  33. package/dist/cjs/utils-2c8e2aa3.js +1 -1
  34. package/dist/cjs/utils-ea359796.js +1 -1
  35. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +1 -1
  36. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
  37. package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
  38. package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
  39. package/dist/cjs/vertex-scene-tree-table-resize-divider.cjs.entry.js +1 -1
  40. package/dist/cjs/vertex-scene-tree-toolbar-group.cjs.entry.js +1 -1
  41. package/dist/cjs/vertex-scene-tree.cjs.entry.js +158 -37
  42. package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +229 -49
  43. package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +1 -1
  44. package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
  45. package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +3 -2
  46. package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
  47. package/dist/cjs/vertex-viewer-icon.cjs.entry.js +1 -1
  48. package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
  49. package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +1 -1
  50. package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +1 -1
  51. package/dist/cjs/vertex-viewer-markup.cjs.entry.js +1 -1
  52. package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +3 -2
  53. package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +5 -4
  54. package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +4 -3
  55. package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +7 -6
  56. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +10 -5
  57. package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +15 -13
  58. package/dist/cjs/vertex-viewer-pin-tool.cjs.entry.js +20 -9
  59. package/dist/cjs/vertex-viewer-spinner.cjs.entry.js +1 -1
  60. package/dist/cjs/vertex-viewer-transform-widget.cjs.entry.js +6 -4
  61. package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +5 -4
  62. package/dist/cjs/vertex-viewer.cjs.entry.js +80 -53
  63. package/dist/cjs/viewer.cjs.js +2 -2
  64. package/dist/cjs/viewport-5ca619f7.js +1 -1
  65. package/dist/collection/components/scene-tree/lib/controller.js +108 -28
  66. package/dist/collection/components/scene-tree/lib/errors.js +35 -2
  67. package/dist/collection/components/scene-tree/scene-tree.js +12 -5
  68. package/dist/collection/components/viewer/viewer.js +17 -15
  69. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.css +7 -2
  70. package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +105 -18
  71. package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +5 -1
  72. package/dist/collection/components/viewer-pin-label/viewer-pin-label.css +1 -1
  73. package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +14 -12
  74. package/dist/collection/components/viewer-pin-tool/utils.js +25 -4
  75. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.css +12 -0
  76. package/dist/collection/components/viewer-pin-tool/viewer-pin-tool.js +9 -2
  77. package/dist/collection/components/viewer-transform-widget/viewer-transform-widget.js +3 -2
  78. package/dist/collection/components/viewer-view-cube/viewer-view-cube.js +5 -5
  79. package/dist/collection/lib/cursors.js +6 -1
  80. package/dist/collection/lib/interactions/baseInteractionHandler.js +12 -2
  81. package/dist/collection/lib/interactions/mouseInteractions.js +5 -4
  82. package/dist/collection/lib/mappers/frameStreaming.js +11 -11
  83. package/dist/collection/lib/pins/interactions.js +9 -5
  84. package/dist/collection/lib/pins/model.js +2 -2
  85. package/dist/collection/lib/rendering/matrices.js +2 -4
  86. package/dist/collection/lib/scenes/camera.js +4 -2
  87. package/dist/collection/lib/scenes/mapper.js +98 -36
  88. package/dist/collection/lib/scenes/queries.js +89 -50
  89. package/dist/collection/lib/scenes/scene.js +15 -7
  90. package/dist/collection/lib/stream/stream.js +24 -12
  91. package/dist/collection/lib/transforms/drawable.js +2 -2
  92. package/dist/collection/lib/types/frame.js +4 -3
  93. package/dist/collection/lib/types/frameCamera.js +6 -1
  94. package/dist/collection/lib/types/index.js +3 -2
  95. package/dist/collection/lib/types/loadableResource.js +24 -4
  96. package/dist/collection/lib/types/sceneViewStateIdentifier.js +7 -0
  97. package/dist/collection/lib/volume-intersection/controller.js +71 -15
  98. package/dist/collection/lib/volume-intersection/interactions.js +54 -9
  99. package/dist/collection/lib/volume-intersection/model.js +27 -10
  100. package/dist/custom-elements/index.js +20207 -15976
  101. package/dist/custom-elements/png-decoder.js +1 -1
  102. package/dist/esm/_commonjsHelpers-11ca3be1.js +1 -1
  103. package/dist/esm/app-globals-40df99a0.js +1 -1
  104. package/dist/esm/{browser.esm-ae4ca1f1.js → browser.esm-07e7db8f.js} +2 -2
  105. package/dist/esm/bundle.esm-91404853.js +38273 -0
  106. package/dist/esm/{bundle.esm-ce2c7ad3.js → bundle.esm-92e615bf.js} +2 -2
  107. package/dist/esm/{config-6cdeb6ca.js → config-25384fe6.js} +3 -3
  108. package/dist/esm/{cursors-a8d4b3f4.js → cursors-127a3bb7.js} +8 -3
  109. package/dist/esm/dom-0440435d.js +1 -1
  110. package/dist/esm/dom-be140992.js +1 -1
  111. package/dist/esm/dom-e19ee80b.js +1 -1
  112. package/dist/esm/{dom-5b164305.js → dom-e436f0c0.js} +2 -2
  113. package/dist/esm/elementRectObserver-39cf7b95.js +1 -1
  114. package/dist/esm/{entities-6f3c5437.js → entities-0e325765.js} +4 -4
  115. package/dist/esm/entities-ce81dd7f.js +1 -1
  116. package/dist/esm/errors-a4cc9caa.js +85 -0
  117. package/dist/esm/grpc-web-client.umd-5409853c.js +1 -1
  118. package/dist/esm/index-26dfb2d0.js +1 -1
  119. package/dist/esm/index-e841d91b.js +1 -1
  120. package/dist/esm/index.js +15 -13
  121. package/dist/esm/index.mjs +15 -13
  122. package/dist/esm/loader.js +2 -2
  123. package/dist/esm/loader.mjs +2 -2
  124. package/dist/esm/{mapper-941ff03c.js → mapper-dd937684.js} +3 -3
  125. package/dist/esm/{markup-3c2900f3.js → markup-2dde1f10.js} +3 -3
  126. package/dist/esm/{model-fa9af61a.js → model-3cd8cd47.js} +2 -2
  127. package/dist/esm/{model-40bd1711.js → model-bfe1c4d8.js} +29 -8
  128. package/dist/esm/{overlays-cc3efc30.js → overlays-8f195eb3.js} +3 -3
  129. package/dist/esm/{png-decoder-d4b65417.js → png-decoder-45f38ea3.js} +2 -2
  130. package/dist/esm/{results-3b4df2cf.js → results-38baef59.js} +2 -2
  131. package/dist/esm/{scene-970f5000.js → scene-2543b3bd.js} +237 -178
  132. package/dist/esm/shadow-css-51dd7708.js +1 -1
  133. package/dist/esm/stencil-bfbf099f.js +1 -1
  134. package/dist/esm/{streamAttributes-24bd7b3a.js → streamAttributes-23270e27.js} +5419 -39956
  135. package/dist/esm/templates-022199c1.js +1 -1
  136. package/dist/esm/{utils-81347571.js → utils-2306c744.js} +2 -2
  137. package/dist/esm/{utils-559e1632.js → utils-f03802ef.js} +2 -2
  138. package/dist/esm/vertex-scene-tree-search_3.entry.js +3 -3
  139. package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
  140. package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
  141. package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
  142. package/dist/esm/vertex-scene-tree-table-resize-divider.entry.js +1 -1
  143. package/dist/esm/vertex-scene-tree-toolbar-group.entry.js +1 -1
  144. package/dist/esm/vertex-scene-tree.entry.js +160 -39
  145. package/dist/esm/vertex-viewer-box-query-tool.entry.js +229 -49
  146. package/dist/esm/vertex-viewer-button_3.entry.js +1 -1
  147. package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
  148. package/dist/esm/vertex-viewer-dom-element_2.entry.js +6 -5
  149. package/dist/esm/vertex-viewer-dom-group.entry.js +3 -3
  150. package/dist/esm/vertex-viewer-icon.entry.js +1 -1
  151. package/dist/esm/vertex-viewer-layer.entry.js +1 -1
  152. package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +4 -4
  153. package/dist/esm/vertex-viewer-markup-tool.entry.js +5 -5
  154. package/dist/esm/vertex-viewer-markup.entry.js +5 -5
  155. package/dist/esm/vertex-viewer-measurement-details.entry.js +5 -4
  156. package/dist/esm/vertex-viewer-measurement-distance.entry.js +13 -12
  157. package/dist/esm/vertex-viewer-measurement-line_2.entry.js +8 -7
  158. package/dist/esm/vertex-viewer-measurement-precise.entry.js +12 -11
  159. package/dist/esm/vertex-viewer-pin-group.entry.js +13 -8
  160. package/dist/esm/vertex-viewer-pin-label_2.entry.js +18 -16
  161. package/dist/esm/vertex-viewer-pin-tool.entry.js +23 -12
  162. package/dist/esm/vertex-viewer-spinner.entry.js +1 -1
  163. package/dist/esm/vertex-viewer-transform-widget.entry.js +9 -7
  164. package/dist/esm/vertex-viewer-view-cube.entry.js +7 -6
  165. package/dist/esm/vertex-viewer.entry.js +65 -38
  166. package/dist/esm/viewer.js +2 -2
  167. package/dist/esm/{viewport-e39e2eba.js → viewport-f19fc583.js} +2 -2
  168. package/dist/types/components/scene-tree/lib/controller.d.ts +18 -3
  169. package/dist/types/components/scene-tree/lib/errors.d.ts +17 -2
  170. package/dist/types/components/viewer/viewer.d.ts +2 -0
  171. package/dist/types/components/viewer-box-query-tool/viewer-box-query-tool.d.ts +36 -2
  172. package/dist/types/components/viewer-pin-tool/utils.d.ts +1 -1
  173. package/dist/types/components.d.ts +11 -3
  174. package/dist/types/lib/cursors.d.ts +5 -0
  175. package/dist/types/lib/interactions/baseInteractionHandler.d.ts +1 -0
  176. package/dist/types/lib/interactions/mouseInteractions.d.ts +2 -1
  177. package/dist/types/lib/pins/interactions.d.ts +4 -2
  178. package/dist/types/lib/pins/model.d.ts +1 -1
  179. package/dist/types/lib/scenes/camera.d.ts +1 -1
  180. package/dist/types/lib/scenes/mapper.d.ts +5 -1
  181. package/dist/types/lib/scenes/queries.d.ts +45 -30
  182. package/dist/types/lib/scenes/scene.d.ts +10 -1
  183. package/dist/types/lib/types/frame.d.ts +1 -1
  184. package/dist/types/lib/types/index.d.ts +2 -1
  185. package/dist/types/lib/types/loadableResource.d.ts +8 -2
  186. package/dist/types/lib/types/sceneViewStateIdentifier.d.ts +15 -0
  187. package/dist/types/lib/volume-intersection/controller.d.ts +33 -5
  188. package/dist/types/lib/volume-intersection/interactions.d.ts +12 -1
  189. package/dist/types/lib/volume-intersection/model.d.ts +7 -0
  190. package/dist/viewer/index.esm.js +2 -2
  191. package/dist/viewer/{p-ad09c92e.entry.js → p-029fba92.entry.js} +1 -1
  192. package/dist/viewer/p-07aeee89.js +1 -1
  193. package/dist/viewer/{p-29986489.js → p-0a017be7.js} +2 -2
  194. package/dist/viewer/p-0c583cad.entry.js +4 -0
  195. package/dist/viewer/p-0d494d01.js +4 -0
  196. package/dist/viewer/p-0fdad1a5.js +1 -1
  197. package/dist/viewer/{p-3ca4a7c1.js → p-1812c82d.js} +2 -2
  198. package/dist/viewer/{p-7663a603.entry.js → p-191156ad.entry.js} +1 -1
  199. package/dist/viewer/{p-a57dc6e4.entry.js → p-1998284a.entry.js} +2 -2
  200. package/dist/viewer/p-27f715f8.entry.js +4 -0
  201. package/dist/viewer/{p-7f6251da.js → p-283aeac4.js} +2 -2
  202. package/dist/viewer/p-298b63c2.entry.js +4 -0
  203. package/dist/viewer/p-2ace066b.entry.js +4 -0
  204. package/dist/viewer/{p-597cc9b5.js → p-2b60a8b0.js} +2 -2
  205. package/dist/viewer/{p-050f912b.entry.js → p-2fd123c8.entry.js} +1 -1
  206. package/dist/viewer/p-305a8be6.entry.js +4 -0
  207. package/dist/viewer/p-31724d24.js +4 -0
  208. package/dist/viewer/p-32cc2209.js +4 -0
  209. package/dist/viewer/p-3829dd99.entry.js +4 -0
  210. package/dist/viewer/{p-6da8a28f.entry.js → p-3aae4bf1.entry.js} +2 -2
  211. package/dist/viewer/{p-99352cf0.js → p-42760392.js} +2 -2
  212. package/dist/viewer/p-440c8174.js +4 -0
  213. package/dist/viewer/{p-e422deaf.entry.js → p-4f25e367.entry.js} +2 -2
  214. package/dist/viewer/{p-a107b65e.entry.js → p-507b5aeb.entry.js} +2 -2
  215. package/dist/viewer/{p-52ab9ec0.js → p-51401063.js} +2 -2
  216. package/dist/viewer/{p-426970b3.entry.js → p-533b1c63.entry.js} +1 -1
  217. package/dist/viewer/{p-dcb9804c.entry.js → p-569ed94a.entry.js} +2 -2
  218. package/dist/viewer/p-5809b400.js +1 -1
  219. package/dist/viewer/p-6072cf84.js +4 -0
  220. package/dist/viewer/{p-e4a26a32.entry.js → p-6406a70a.entry.js} +1 -1
  221. package/dist/viewer/p-6bf0594b.entry.js +4 -0
  222. package/dist/viewer/p-72c59115.entry.js +4 -0
  223. package/dist/viewer/{p-d71652b0.entry.js → p-8ac7290a.entry.js} +1 -1
  224. package/dist/viewer/{p-f184bcab.entry.js → p-8afcbd99.entry.js} +1 -1
  225. package/dist/viewer/p-92fe4417.js +1 -1
  226. package/dist/viewer/{p-5746931d.entry.js → p-952a217d.entry.js} +1 -1
  227. package/dist/viewer/p-98e6a50e.js +1 -1
  228. package/dist/viewer/{p-99fd27e0.entry.js → p-9cb99ea8.entry.js} +1 -1
  229. package/dist/viewer/p-a2e9e8a5.js +4 -0
  230. package/dist/viewer/p-a380f0c2.js +1 -1
  231. package/dist/viewer/{p-661b5234.js → p-acfc5c50.js} +2 -2
  232. package/dist/viewer/{p-82bd25e8.entry.js → p-b3540dce.entry.js} +1 -1
  233. package/dist/viewer/p-b5ca30cd.js +4 -0
  234. package/dist/viewer/p-b74242dc.js +1 -1
  235. package/dist/viewer/p-bc1160cf.entry.js +4 -0
  236. package/dist/viewer/{p-c5e67a1e.entry.js → p-bd5a302c.entry.js} +2 -2
  237. package/dist/viewer/p-c738296e.js +1 -1
  238. package/dist/viewer/p-c8c4343b.js +1 -1
  239. package/dist/viewer/p-cd9ccb9e.entry.js +4 -0
  240. package/dist/viewer/{p-9e1384c9.js → p-cf689bbd.js} +2 -2
  241. package/dist/viewer/{p-70e5e8a8.js → p-d216a866.js} +2 -2
  242. package/dist/viewer/p-d4ed7b8d.js +4 -0
  243. package/dist/viewer/p-d6d5d5de.entry.js +4 -0
  244. package/dist/viewer/p-d6fce4c1.js +1 -1
  245. package/dist/viewer/p-df8fbe56.js +1 -1
  246. package/dist/viewer/p-dfe5a97d.js +1 -1
  247. package/dist/viewer/{p-00ce31a0.js → p-e1896ce4.js} +2 -2
  248. package/dist/viewer/p-e23af70c.js +4 -0
  249. package/dist/viewer/p-e4aa9cdb.js +1 -1
  250. package/dist/viewer/p-e929dd63.entry.js +4 -0
  251. package/dist/viewer/{p-65af7a89.js → p-fc7d8c03.js} +3 -3
  252. package/dist/viewer/viewer.esm.js +2 -2
  253. package/package.json +9 -9
  254. package/readme.md +4 -4
  255. package/dist/viewer/p-096e60bd.js +0 -4
  256. package/dist/viewer/p-0cf4f05d.entry.js +0 -4
  257. package/dist/viewer/p-0fcafbf9.js +0 -4
  258. package/dist/viewer/p-10145045.js +0 -4
  259. package/dist/viewer/p-1abfe4bf.js +0 -4
  260. package/dist/viewer/p-1bba9ade.entry.js +0 -4
  261. package/dist/viewer/p-24cda14a.entry.js +0 -4
  262. package/dist/viewer/p-27dbc865.js +0 -4
  263. package/dist/viewer/p-2b58afc3.entry.js +0 -4
  264. package/dist/viewer/p-51966cef.entry.js +0 -4
  265. package/dist/viewer/p-608925c5.entry.js +0 -4
  266. package/dist/viewer/p-68e192b9.js +0 -4
  267. package/dist/viewer/p-69a3fce8.entry.js +0 -4
  268. package/dist/viewer/p-74c772bb.entry.js +0 -4
  269. package/dist/viewer/p-990f98c2.js +0 -4
  270. package/dist/viewer/p-9dfe0b43.entry.js +0 -4
  271. package/dist/viewer/p-bb425931.entry.js +0 -4
  272. package/dist/viewer/p-bfacbaa8.entry.js +0 -4
  273. package/dist/viewer/p-c72da0fb.entry.js +0 -4
@@ -1,4 +0,0 @@
1
- /**!
2
- * Copyright (c) 2022 Vertex Software LLC. All rights reserved.
3
- */
4
- import{_ as __extends,c as __awaiter,e as __generator,f as __assign,g as __spreadArray,v as vector3,h as angle,a as boundingSphere,p as point,r as ray,i as rectangle,l as line3,j as plane,m as matrix4,d as dimensions,b as boundingBox,k as clamp}from"./p-70e5e8a8.js";import{m as mapper,E as EventDispatcher,b as uuid,u as uri,o as objects,c as color}from"./p-65af7a89.js";import{E as EntityType}from"./p-df8fbe56.js";import{c as createCommonjsModule,a as commonjsGlobal$1}from"./p-dfe5a97d.js";const fromPbUuid=mapper.defineMapper(mapper.read(mapper.requiredProp("hex")),(([e])=>e));var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},indexMinimal$1={},minimal$1$1={},aspromise$1=asPromise$1;function asPromise$1(e,t){for(var r=new Array(arguments.length-1),n=0,o=2,i=!0;o<arguments.length;)r[n++]=arguments[o++];return new Promise((function(o,u){r[n]=function(e){if(i)if(i=!1,e)u(e);else{for(var t=new Array(arguments.length-1),r=0;r<t.length;)t[r++]=arguments[r];o.apply(null,t)}};try{e.apply(t||null,r)}catch(e){i&&(i=!1,u(e))}}))}var base64$1={};!function(){var e=base64$1;e.length=function(e){var t=e.length;if(!t)return 0;for(var r=0;--t%4>1&&"="===e.charAt(t);)++r;return Math.ceil(3*e.length)/4-r};for(var t=new Array(64),r=new Array(123),n=0;n<64;)r[t[n]=n<26?n+65:n<52?n+71:n<62?n-4:n-59|43]=n++;e.encode=function(e,r,n){for(var o,i=null,u=[],l=0,f=0;r<n;){var c=e[r++];switch(f){case 0:u[l++]=t[c>>2],o=(3&c)<<4,f=1;break;case 1:u[l++]=t[o|c>>4],o=(15&c)<<2,f=2;break;case 2:u[l++]=t[o|c>>6],u[l++]=t[63&c],f=0}l>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,u)),l=0)}return f&&(u[l++]=t[o],u[l++]=61,1===f&&(u[l++]=61)),i?(l&&i.push(String.fromCharCode.apply(String,u.slice(0,l))),i.join("")):String.fromCharCode.apply(String,u.slice(0,l))};var o="invalid encoding";e.decode=function(e,t,n){for(var i,u=n,l=0,f=0;f<e.length;){var c=e.charCodeAt(f++);if(61===c&&l>1)break;if(void 0===(c=r[c]))throw Error(o);switch(l){case 0:i=c,l=1;break;case 1:t[n++]=i<<2|(48&c)>>4,i=c,l=2;break;case 2:t[n++]=(15&i)<<4|(60&c)>>2,i=c,l=3;break;case 3:t[n++]=(3&i)<<6|c,l=0}}if(1===l)throw Error(o);return n-u},e.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}}();var eventemitter$1=EventEmitter$1;function EventEmitter$1(){this._listeners={}}EventEmitter$1.prototype.on=function(e,t,r){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:r||this}),this},EventEmitter$1.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var r=this._listeners[e],n=0;n<r.length;)r[n].fn===t?r.splice(n,1):++n;return this},EventEmitter$1.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var r=[],n=1;n<arguments.length;)r.push(arguments[n++]);for(n=0;n<t.length;)t[n].fn.apply(t[n++].ctx,r)}return this};var float=factory$1(factory$1);function factory$1(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=128===r[3];function o(e,n,o){t[0]=e,n[o]=r[0],n[o+1]=r[1],n[o+2]=r[2],n[o+3]=r[3]}function i(e,n,o){t[0]=e,n[o]=r[3],n[o+1]=r[2],n[o+2]=r[1],n[o+3]=r[0]}function u(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],t[0]}function l(e,n){return r[3]=e[n],r[2]=e[n+1],r[1]=e[n+2],r[0]=e[n+3],t[0]}e.writeFloatLE=n?o:i,e.writeFloatBE=n?i:o,e.readFloatLE=n?u:l,e.readFloatBE=n?l:u}():function(){function t(e,t,r,n){var o=t<0?1:0;if(o&&(t=-t),0===t)e(1/t>0?0:2147483648,r,n);else if(isNaN(t))e(2143289344,r,n);else if(t>34028234663852886e22)e((o<<31|2139095040)>>>0,r,n);else if(t<11754943508222875e-54)e((o<<31|Math.round(t/1401298464324817e-60))>>>0,r,n);else{var i=Math.floor(Math.log(t)/Math.LN2);e((o<<31|i+127<<23|8388607&Math.round(t*Math.pow(2,-i)*8388608))>>>0,r,n)}}function r(e,t,r){var n=e(t,r),o=2*(n>>31)+1,i=n>>>23&255,u=8388607&n;return 255===i?u?NaN:o*(1/0):0===i?1401298464324817e-60*o*u:o*Math.pow(2,i-150)*(u+8388608)}e.writeFloatLE=t.bind(null,writeUintLE$1),e.writeFloatBE=t.bind(null,writeUintBE$1),e.readFloatLE=r.bind(null,readUintLE$1),e.readFloatBE=r.bind(null,readUintBE$1)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=128===r[7];function o(e,n,o){t[0]=e,n[o]=r[0],n[o+1]=r[1],n[o+2]=r[2],n[o+3]=r[3],n[o+4]=r[4],n[o+5]=r[5],n[o+6]=r[6],n[o+7]=r[7]}function i(e,n,o){t[0]=e,n[o]=r[7],n[o+1]=r[6],n[o+2]=r[5],n[o+3]=r[4],n[o+4]=r[3],n[o+5]=r[2],n[o+6]=r[1],n[o+7]=r[0]}function u(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],r[4]=e[n+4],r[5]=e[n+5],r[6]=e[n+6],r[7]=e[n+7],t[0]}function l(e,n){return r[7]=e[n],r[6]=e[n+1],r[5]=e[n+2],r[4]=e[n+3],r[3]=e[n+4],r[2]=e[n+5],r[1]=e[n+6],r[0]=e[n+7],t[0]}e.writeDoubleLE=n?o:i,e.writeDoubleBE=n?i:o,e.readDoubleLE=n?u:l,e.readDoubleBE=n?l:u}():function(){function t(e,t,r,n,o,i){var u=n<0?1:0;if(u&&(n=-n),0===n)e(0,o,i+t),e(1/n>0?0:2147483648,o,i+r);else if(isNaN(n))e(0,o,i+t),e(2146959360,o,i+r);else if(n>17976931348623157e292)e(0,o,i+t),e((u<<31|2146435072)>>>0,o,i+r);else{var l;if(n<22250738585072014e-324)e((l=n/5e-324)>>>0,o,i+t),e((u<<31|l/4294967296)>>>0,o,i+r);else{var f=Math.floor(Math.log(n)/Math.LN2);1024===f&&(f=1023),e(4503599627370496*(l=n*Math.pow(2,-f))>>>0,o,i+t),e((u<<31|f+1023<<20|1048576*l&1048575)>>>0,o,i+r)}}}function r(e,t,r,n,o){var i=e(n,o+t),u=e(n,o+r),l=2*(u>>31)+1,f=u>>>20&2047,c=4294967296*(1048575&u)+i;return 2047===f?c?NaN:l*(1/0):0===f?5e-324*l*c:l*Math.pow(2,f-1075)*(c+4503599627370496)}e.writeDoubleLE=t.bind(null,writeUintLE$1,0,4),e.writeDoubleBE=t.bind(null,writeUintBE$1,4,0),e.readDoubleLE=r.bind(null,readUintLE$1,0,4),e.readDoubleBE=r.bind(null,readUintBE$1,4,0)}(),e}function writeUintLE$1(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function writeUintBE$1(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=255&e}function readUintLE$1(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function readUintBE$1(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}var inquire_1$1=inquire$1;function inquire$1(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}var utf8$2={};!function(){var e=utf8$2;e.length=function(e){for(var t=0,r=0,n=0;n<e.length;++n)(r=e.charCodeAt(n))<128?t+=1:r<2048?t+=2:55296==(64512&r)&&56320==(64512&e.charCodeAt(n+1))?(++n,t+=4):t+=3;return t},e.read=function(e,t,r){if(r-t<1)return"";for(var n,o=null,i=[],u=0;t<r;)(n=e[t++])<128?i[u++]=n:n>191&&n<224?i[u++]=(31&n)<<6|63&e[t++]:n>239&&n<365?(n=((7&n)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,i[u++]=55296+(n>>10),i[u++]=56320+(1023&n)):i[u++]=(15&n)<<12|(63&e[t++])<<6|63&e[t++],u>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),u=0);return o?(u&&o.push(String.fromCharCode.apply(String,i.slice(0,u))),o.join("")):String.fromCharCode.apply(String,i.slice(0,u))},e.write=function(e,t,r){for(var n,o,i=r,u=0;u<e.length;++u)(n=e.charCodeAt(u))<128?t[r++]=n:n<2048?(t[r++]=n>>6|192,t[r++]=63&n|128):55296==(64512&n)&&56320==(64512&(o=e.charCodeAt(u+1)))?(++u,t[r++]=(n=65536+((1023&n)<<10)+(1023&o))>>18|240,t[r++]=n>>12&63|128,t[r++]=n>>6&63|128,t[r++]=63&n|128):(t[r++]=n>>12|224,t[r++]=n>>6&63|128,t[r++]=63&n|128);return r-i}}();var pool_1$1=pool$1;function pool$1(e,t,r){var n=r||8192,o=n>>>1,i=null,u=n;return function(r){if(r<1||r>o)return e(r);u+r>n&&(i=e(n),u=0);var l=t.call(i,u,u+=r);return 7&u&&(u=1+(7|u)),l}}var longbits$1=LongBits$2$1,util$5=minimal$1$1;function LongBits$2$1(e,t){this.lo=e>>>0,this.hi=t>>>0}var zero$1=LongBits$2$1.zero=new LongBits$2$1(0,0);zero$1.toNumber=function(){return 0},zero$1.zzEncode=zero$1.zzDecode=function(){return this},zero$1.length=function(){return 1};var zeroHash$1=LongBits$2$1.zeroHash="\0\0\0\0\0\0\0\0";LongBits$2$1.fromNumber=function(e){if(0===e)return zero$1;var t=e<0;t&&(e=-e);var r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new LongBits$2$1(r,n)},LongBits$2$1.from=function(e){if("number"==typeof e)return LongBits$2$1.fromNumber(e);if(util$5.isString(e)){if(!util$5.Long)return LongBits$2$1.fromNumber(parseInt(e,10));e=util$5.Long.fromString(e)}return e.low||e.high?new LongBits$2$1(e.low>>>0,e.high>>>0):zero$1},LongBits$2$1.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,r=~this.hi>>>0;return t||(r=r+1>>>0),-(t+4294967296*r)}return this.lo+4294967296*this.hi},LongBits$2$1.prototype.toLong=function(e){return util$5.Long?new util$5.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var charCodeAt$1=String.prototype.charCodeAt;LongBits$2$1.fromHash=function(e){return e===zeroHash$1?zero$1:new LongBits$2$1((charCodeAt$1.call(e,0)|charCodeAt$1.call(e,1)<<8|charCodeAt$1.call(e,2)<<16|charCodeAt$1.call(e,3)<<24)>>>0,(charCodeAt$1.call(e,4)|charCodeAt$1.call(e,5)<<8|charCodeAt$1.call(e,6)<<16|charCodeAt$1.call(e,7)<<24)>>>0)},LongBits$2$1.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},LongBits$2$1.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},LongBits$2$1.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},LongBits$2$1.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,r=this.hi>>>24;return 0===r?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:r<128?9:10},function(){var e=minimal$1$1;function t(e,t,r){for(var n=Object.keys(t),o=0;o<n.length;++o)void 0!==e[n[o]]&&r||(e[n[o]]=t[n[o]]);return e}function r(e){function r(e,n){if(!(this instanceof r))return new r(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,r):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&t(this,n)}return(r.prototype=Object.create(Error.prototype)).constructor=r,Object.defineProperty(r.prototype,"name",{get:function(){return e}}),r.prototype.toString=function(){return this.name+": "+this.message},r}e.asPromise=aspromise$1,e.base64=base64$1,e.EventEmitter=eventemitter$1,e.float=float,e.inquire=inquire_1$1,e.utf8=utf8$2,e.pool=pool_1$1,e.LongBits=longbits$1,e.isNode=Boolean(void 0!==commonjsGlobal&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),e.global=e.isNode&&commonjsGlobal||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||commonjsGlobal,e.emptyArray=Object.freeze?Object.freeze([]):[],e.emptyObject=Object.freeze?Object.freeze({}):{},e.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},e.isString=function(e){return"string"==typeof e||e instanceof String},e.isObject=function(e){return e&&"object"==typeof e},e.isset=e.isSet=function(e,t){var r=e[t];return!(null==r||!e.hasOwnProperty(t))&&("object"!=typeof r||(Array.isArray(r)?r.length:Object.keys(r).length)>0)},e.Buffer=function(){try{var t=e.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch(e){return null}}(),e._Buffer_from=null,e._Buffer_allocUnsafe=null,e.newBuffer=function(t){return"number"==typeof t?e.Buffer?e._Buffer_allocUnsafe(t):new e.Array(t):e.Buffer?e._Buffer_from(t):"undefined"==typeof Uint8Array?t:new Uint8Array(t)},e.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,e.Long=e.global.dcodeIO&&e.global.dcodeIO.Long||e.global.Long||e.inquire("long"),e.key2Re=/^true|false|0|1$/,e.key32Re=/^-?(?:0|[1-9][0-9]*)$/,e.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,e.longToHash=function(t){return t?e.LongBits.from(t).toHash():e.LongBits.zeroHash},e.longFromHash=function(t,r){var n=e.LongBits.fromHash(t);return e.Long?e.Long.fromBits(n.lo,n.hi,r):n.toNumber(Boolean(r))},e.merge=t,e.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},e.newError=r,e.ProtocolError=r("ProtocolError"),e.oneOfGetter=function(e){for(var t={},r=0;r<e.length;++r)t[e[r]]=1;return function(){for(var e=Object.keys(this),r=e.length-1;r>-1;--r)if(1===t[e[r]]&&null!=this[e[r]])return e[r]}},e.oneOfSetter=function(e){return function(t){for(var r=0;r<e.length;++r)e[r]!==t&&delete this[e[r]]}},e.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},e._configure=function(){var t=e.Buffer;t?(e._Buffer_from=t.from!==Uint8Array.from&&t.from||function(e,r){return new t(e,r)},e._Buffer_allocUnsafe=t.allocUnsafe||function(e){return new t(e)}):e._Buffer_from=e._Buffer_allocUnsafe=null}}();var writer$1=Writer$1,util$4=minimal$1$1,BufferWriter$1$1,LongBits$1$1=util$4.LongBits,base64$2=util$4.base64,utf8$1$1=util$4.utf8;function Op$1(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function noop$1(){}function State$1(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function Writer$1(){this.len=0,this.head=new Op$1(noop$1,0,0),this.tail=this.head,this.states=null}var create$1$1=function(){return util$4.Buffer?function(){return(Writer$1.create=function(){return new BufferWriter$1$1})()}:function(){return new Writer$1}};function writeByte$1(e,t,r){t[r]=255&e}function writeVarint32$1(e,t,r){for(;e>127;)t[r++]=127&e|128,e>>>=7;t[r]=e}function VarintOp$1(e,t){this.len=e,this.next=void 0,this.val=t}function writeVarint64$1(e,t,r){for(;e.hi;)t[r++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=127&e.lo|128,e.lo=e.lo>>>7;t[r++]=e.lo}function writeFixed32$1(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}Writer$1.create=create$1$1(),Writer$1.alloc=function(e){return new util$4.Array(e)},util$4.Array!==Array&&(Writer$1.alloc=util$4.pool(Writer$1.alloc,util$4.Array.prototype.subarray)),Writer$1.prototype._push=function(e,t,r){return this.tail=this.tail.next=new Op$1(e,t,r),this.len+=t,this},VarintOp$1.prototype=Object.create(Op$1.prototype),VarintOp$1.prototype.fn=writeVarint32$1,Writer$1.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new VarintOp$1((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},Writer$1.prototype.int32=function(e){return e<0?this._push(writeVarint64$1,10,LongBits$1$1.fromNumber(e)):this.uint32(e)},Writer$1.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},Writer$1.prototype.uint64=function(e){var t=LongBits$1$1.from(e);return this._push(writeVarint64$1,t.length(),t)},Writer$1.prototype.int64=Writer$1.prototype.uint64,Writer$1.prototype.sint64=function(e){var t=LongBits$1$1.from(e).zzEncode();return this._push(writeVarint64$1,t.length(),t)},Writer$1.prototype.bool=function(e){return this._push(writeByte$1,1,e?1:0)},Writer$1.prototype.fixed32=function(e){return this._push(writeFixed32$1,4,e>>>0)},Writer$1.prototype.sfixed32=Writer$1.prototype.fixed32,Writer$1.prototype.fixed64=function(e){var t=LongBits$1$1.from(e);return this._push(writeFixed32$1,4,t.lo)._push(writeFixed32$1,4,t.hi)},Writer$1.prototype.sfixed64=Writer$1.prototype.fixed64,Writer$1.prototype.float=function(e){return this._push(util$4.float.writeFloatLE,4,e)},Writer$1.prototype.double=function(e){return this._push(util$4.float.writeDoubleLE,8,e)};var writeBytes$1=util$4.Array.prototype.set?function(e,t,r){t.set(e,r)}:function(e,t,r){for(var n=0;n<e.length;++n)t[r+n]=e[n]};Writer$1.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(writeByte$1,1,0);if(util$4.isString(e)){var r=Writer$1.alloc(t=base64$2.length(e));base64$2.decode(e,r,0),e=r}return this.uint32(t)._push(writeBytes$1,t,e)},Writer$1.prototype.string=function(e){var t=utf8$1$1.length(e);return t?this.uint32(t)._push(utf8$1$1.write,t,e):this._push(writeByte$1,1,0)},Writer$1.prototype.fork=function(){return this.states=new State$1(this),this.head=this.tail=new Op$1(noop$1,0,0),this.len=0,this},Writer$1.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Op$1(noop$1,0,0),this.len=0),this},Writer$1.prototype.ldelim=function(){var e=this.head,t=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=e.next,this.tail=t,this.len+=r),this},Writer$1.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),r=0;e;)e.fn(e.val,t,r),r+=e.len,e=e.next;return t},Writer$1._configure=function(e){BufferWriter$1$1=e,Writer$1.create=create$1$1(),BufferWriter$1$1._configure()};var writer_buffer$1=BufferWriter$2,Writer$2=writer$1;(BufferWriter$2.prototype=Object.create(Writer$2.prototype)).constructor=BufferWriter$2;var util$3=minimal$1$1;function BufferWriter$2(){Writer$2.call(this)}function writeStringBuffer$1(e,t,r){e.length<40?util$3.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}BufferWriter$2._configure=function(){BufferWriter$2.alloc=util$3._Buffer_allocUnsafe,BufferWriter$2.writeBytesBuffer=util$3.Buffer&&util$3.Buffer.prototype instanceof Uint8Array&&"set"===util$3.Buffer.prototype.set.name?function(e,t,r){t.set(e,r)}:function(e,t,r){if(e.copy)e.copy(t,r,0,e.length);else for(var n=0;n<e.length;)t[r++]=e[n++]}},BufferWriter$2.prototype.bytes=function(e){util$3.isString(e)&&(e=util$3._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(BufferWriter$2.writeBytesBuffer,t,e),this},BufferWriter$2.prototype.string=function(e){var t=util$3.Buffer.byteLength(e);return this.uint32(t),t&&this._push(writeStringBuffer$1,t,e),this},BufferWriter$2._configure();var reader$1=Reader$1,util$2=minimal$1$1,BufferReader$1$1,LongBits$3=util$2.LongBits,utf8$3=util$2.utf8;function indexOutOfRange$1(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function Reader$1(e){this.buf=e,this.pos=0,this.len=e.length}var create_array$1="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Reader$1(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Reader$1(e);throw Error("illegal buffer")},create$3=function(){return util$2.Buffer?function(e){return(Reader$1.create=function(e){return util$2.Buffer.isBuffer(e)?new BufferReader$1$1(e):create_array$1(e)})(e)}:create_array$1},value;function readLongVarint$1(){var e=new LongBits$3(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw indexOutOfRange$1(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw indexOutOfRange$1(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function readFixed32_end$1(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function readFixed64$1(){if(this.pos+8>this.len)throw indexOutOfRange$1(this,8);return new LongBits$3(readFixed32_end$1(this.buf,this.pos+=4),readFixed32_end$1(this.buf,this.pos+=4))}Reader$1.create=create$3(),Reader$1.prototype._slice=util$2.Array.prototype.subarray||util$2.Array.prototype.slice,Reader$1.prototype.uint32=(value=4294967295,function(){if(value=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return value;if(value=(value|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return value;if(value=(value|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return value;if(value=(value|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return value;if(value=(value|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return value;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange$1(this,10);return value}),Reader$1.prototype.int32=function(){return 0|this.uint32()},Reader$1.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},Reader$1.prototype.bool=function(){return 0!==this.uint32()},Reader$1.prototype.fixed32=function(){if(this.pos+4>this.len)throw indexOutOfRange$1(this,4);return readFixed32_end$1(this.buf,this.pos+=4)},Reader$1.prototype.sfixed32=function(){if(this.pos+4>this.len)throw indexOutOfRange$1(this,4);return 0|readFixed32_end$1(this.buf,this.pos+=4)},Reader$1.prototype.float=function(){if(this.pos+4>this.len)throw indexOutOfRange$1(this,4);var e=util$2.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},Reader$1.prototype.double=function(){if(this.pos+8>this.len)throw indexOutOfRange$1(this,4);var e=util$2.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},Reader$1.prototype.bytes=function(){var e=this.uint32(),t=this.pos,r=this.pos+e;if(r>this.len)throw indexOutOfRange$1(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,r):t===r?new this.buf.constructor(0):this._slice.call(this.buf,t,r)},Reader$1.prototype.string=function(){var e=this.bytes();return utf8$3.read(e,0,e.length)},Reader$1.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw indexOutOfRange$1(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw indexOutOfRange$1(this)}while(128&this.buf[this.pos++]);return this},Reader$1.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},Reader$1._configure=function(e){BufferReader$1$1=e,Reader$1.create=create$3(),BufferReader$1$1._configure();var t=util$2.Long?"toLong":"toNumber";util$2.merge(Reader$1.prototype,{int64:function(){return readLongVarint$1.call(this)[t](!1)},uint64:function(){return readLongVarint$1.call(this)[t](!0)},sint64:function(){return readLongVarint$1.call(this).zzDecode()[t](!1)},fixed64:function(){return readFixed64$1.call(this)[t](!0)},sfixed64:function(){return readFixed64$1.call(this)[t](!1)}})};var reader_buffer$1=BufferReader$2,Reader$2=reader$1;(BufferReader$2.prototype=Object.create(Reader$2.prototype)).constructor=BufferReader$2;var util$1=minimal$1$1;function BufferReader$2(e){Reader$2.call(this,e)}BufferReader$2._configure=function(){util$1.Buffer&&(BufferReader$2.prototype._slice=util$1.Buffer.prototype.slice)},BufferReader$2.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},BufferReader$2._configure();var rpc={},service$1=Service$1,util=minimal$1$1,exports;function Service$1(e,t,r){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");util.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(r)}(Service$1.prototype=Object.create(util.EventEmitter.prototype)).constructor=Service$1,Service$1.prototype.rpcCall=function e(t,r,n,o,i){if(!o)throw TypeError("request must be specified");var u=this;if(!i)return util.asPromise(e,u,t,r,n,o);if(u.rpcImpl)try{return u.rpcImpl(t,r[u.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(e,r){if(e)return u.emit("error",e,t),i(e);if(null!==r){if(!(r instanceof n))try{r=n[u.responseDelimited?"decodeDelimited":"decode"](r)}catch(e){return u.emit("error",e,t),i(e)}return u.emit("data",r,t),i(null,r)}u.end(!0)}))}catch(e){return u.emit("error",e,t),void setTimeout((function(){i(e)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},Service$1.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this},exports=rpc,exports.Service=service$1;var roots$1={};!function(){var e=indexMinimal$1;function t(){e.util._configure(),e.Writer._configure(e.BufferWriter),e.Reader._configure(e.BufferReader)}e.build="minimal",e.Writer=writer$1,e.BufferWriter=writer_buffer$1,e.Reader=reader$1,e.BufferReader=reader_buffer$1,e.util=minimal$1$1,e.rpc=rpc,e.roots=roots$1,e.configure=t,t()}();var minimal$2=indexMinimal$1;const $Reader$1=minimal$2.Reader,$Writer$1=minimal$2.Writer,$util$1=minimal$2.util,$root$1=minimal$2.roots.default||(minimal$2.roots.default={}),vertexvis$1=$root$1.vertexvis=(()=>{const e={};return e.protobuf=function(){const e={};return e.stream=function(){const e={};return e.PerspectiveCamera=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.position=null,e.prototype.lookAt=null,e.prototype.up=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.position,t.uint32(10).fork()).ldelim(),null!=e.lookAt&&Object.hasOwnProperty.call(e,"lookAt")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.lookAt,t.uint32(18).fork()).ldelim(),null!=e.up&&Object.hasOwnProperty.call(e,"up")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.up,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.PerspectiveCamera;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.position=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.lookAt=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 3:n.up=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.position&&e.hasOwnProperty("position")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.position);if(t)return"position."+t}if(null!=e.lookAt&&e.hasOwnProperty("lookAt")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.lookAt);if(t)return"lookAt."+t}if(null!=e.up&&e.hasOwnProperty("up")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.up);if(t)return"up."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.PerspectiveCamera)return e;let t=new $root$1.vertexvis.protobuf.stream.PerspectiveCamera;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".vertexvis.protobuf.stream.PerspectiveCamera.position: object expected");t.position=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.position)}if(null!=e.lookAt){if("object"!=typeof e.lookAt)throw TypeError(".vertexvis.protobuf.stream.PerspectiveCamera.lookAt: object expected");t.lookAt=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.lookAt)}if(null!=e.up){if("object"!=typeof e.up)throw TypeError(".vertexvis.protobuf.stream.PerspectiveCamera.up: object expected");t.up=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.up)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.position=null,r.lookAt=null,r.up=null),null!=e.position&&e.hasOwnProperty("position")&&(r.position=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.position,t)),null!=e.lookAt&&e.hasOwnProperty("lookAt")&&(r.lookAt=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.lookAt,t)),null!=e.up&&e.hasOwnProperty("up")&&(r.up=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.up,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.OrthographicCamera=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.viewVector=null,e.prototype.lookAt=null,e.prototype.up=null,e.prototype.fovHeight=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.viewVector&&Object.hasOwnProperty.call(e,"viewVector")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.viewVector,t.uint32(10).fork()).ldelim(),null!=e.lookAt&&Object.hasOwnProperty.call(e,"lookAt")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.lookAt,t.uint32(18).fork()).ldelim(),null!=e.up&&Object.hasOwnProperty.call(e,"up")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.up,t.uint32(26).fork()).ldelim(),null!=e.fovHeight&&Object.hasOwnProperty.call(e,"fovHeight")&&t.uint32(37).float(e.fovHeight),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.OrthographicCamera;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.viewVector=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.lookAt=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 3:n.up=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 4:n.fovHeight=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.viewVector&&e.hasOwnProperty("viewVector")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.viewVector);if(t)return"viewVector."+t}if(null!=e.lookAt&&e.hasOwnProperty("lookAt")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.lookAt);if(t)return"lookAt."+t}if(null!=e.up&&e.hasOwnProperty("up")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.up);if(t)return"up."+t}return null!=e.fovHeight&&e.hasOwnProperty("fovHeight")&&"number"!=typeof e.fovHeight?"fovHeight: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.OrthographicCamera)return e;let t=new $root$1.vertexvis.protobuf.stream.OrthographicCamera;if(null!=e.viewVector){if("object"!=typeof e.viewVector)throw TypeError(".vertexvis.protobuf.stream.OrthographicCamera.viewVector: object expected");t.viewVector=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.viewVector)}if(null!=e.lookAt){if("object"!=typeof e.lookAt)throw TypeError(".vertexvis.protobuf.stream.OrthographicCamera.lookAt: object expected");t.lookAt=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.lookAt)}if(null!=e.up){if("object"!=typeof e.up)throw TypeError(".vertexvis.protobuf.stream.OrthographicCamera.up: object expected");t.up=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.up)}return null!=e.fovHeight&&(t.fovHeight=Number(e.fovHeight)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.viewVector=null,r.lookAt=null,r.up=null,r.fovHeight=0),null!=e.viewVector&&e.hasOwnProperty("viewVector")&&(r.viewVector=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.viewVector,t)),null!=e.lookAt&&e.hasOwnProperty("lookAt")&&(r.lookAt=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.lookAt,t)),null!=e.up&&e.hasOwnProperty("up")&&(r.up=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.up,t)),null!=e.fovHeight&&e.hasOwnProperty("fovHeight")&&(r.fovHeight=t.json&&!isFinite(e.fovHeight)?String(e.fovHeight):e.fovHeight),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Camera=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.position=null,e.prototype.lookAt=null,e.prototype.up=null,e.prototype.perspective=null,e.prototype.orthographic=null,Object.defineProperty(e.prototype,"type",{get:$util$1.oneOfGetter(t=["perspective","orthographic"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.position,t.uint32(10).fork()).ldelim(),null!=e.lookAt&&Object.hasOwnProperty.call(e,"lookAt")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.lookAt,t.uint32(18).fork()).ldelim(),null!=e.up&&Object.hasOwnProperty.call(e,"up")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.up,t.uint32(26).fork()).ldelim(),null!=e.perspective&&Object.hasOwnProperty.call(e,"perspective")&&$root$1.vertexvis.protobuf.stream.PerspectiveCamera.encode(e.perspective,t.uint32(34).fork()).ldelim(),null!=e.orthographic&&Object.hasOwnProperty.call(e,"orthographic")&&$root$1.vertexvis.protobuf.stream.OrthographicCamera.encode(e.orthographic,t.uint32(42).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.Camera;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.position=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.lookAt=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 3:n.up=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 4:n.perspective=$root$1.vertexvis.protobuf.stream.PerspectiveCamera.decode(e,e.uint32());break;case 5:n.orthographic=$root$1.vertexvis.protobuf.stream.OrthographicCamera.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.position&&e.hasOwnProperty("position")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.position);if(t)return"position."+t}if(null!=e.lookAt&&e.hasOwnProperty("lookAt")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.lookAt);if(t)return"lookAt."+t}if(null!=e.up&&e.hasOwnProperty("up")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.up);if(t)return"up."+t}if(null!=e.perspective&&e.hasOwnProperty("perspective")){t.type=1;{let t=$root$1.vertexvis.protobuf.stream.PerspectiveCamera.verify(e.perspective);if(t)return"perspective."+t}}if(null!=e.orthographic&&e.hasOwnProperty("orthographic")){if(1===t.type)return"type: multiple values";t.type=1;{let t=$root$1.vertexvis.protobuf.stream.OrthographicCamera.verify(e.orthographic);if(t)return"orthographic."+t}}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.Camera)return e;let t=new $root$1.vertexvis.protobuf.stream.Camera;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".vertexvis.protobuf.stream.Camera.position: object expected");t.position=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.position)}if(null!=e.lookAt){if("object"!=typeof e.lookAt)throw TypeError(".vertexvis.protobuf.stream.Camera.lookAt: object expected");t.lookAt=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.lookAt)}if(null!=e.up){if("object"!=typeof e.up)throw TypeError(".vertexvis.protobuf.stream.Camera.up: object expected");t.up=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.up)}if(null!=e.perspective){if("object"!=typeof e.perspective)throw TypeError(".vertexvis.protobuf.stream.Camera.perspective: object expected");t.perspective=$root$1.vertexvis.protobuf.stream.PerspectiveCamera.fromObject(e.perspective)}if(null!=e.orthographic){if("object"!=typeof e.orthographic)throw TypeError(".vertexvis.protobuf.stream.Camera.orthographic: object expected");t.orthographic=$root$1.vertexvis.protobuf.stream.OrthographicCamera.fromObject(e.orthographic)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.position=null,r.lookAt=null,r.up=null),null!=e.position&&e.hasOwnProperty("position")&&(r.position=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.position,t)),null!=e.lookAt&&e.hasOwnProperty("lookAt")&&(r.lookAt=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.lookAt,t)),null!=e.up&&e.hasOwnProperty("up")&&(r.up=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.up,t)),null!=e.perspective&&e.hasOwnProperty("perspective")&&(r.perspective=$root$1.vertexvis.protobuf.stream.PerspectiveCamera.toObject(e.perspective,t),t.oneofs&&(r.type="perspective")),null!=e.orthographic&&e.hasOwnProperty("orthographic")&&(r.orthographic=$root$1.vertexvis.protobuf.stream.OrthographicCamera.toObject(e.orthographic,t),t.oneofs&&(r.type="orthographic")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ImageAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.frameDimensions=null,e.prototype.imageRect=null,e.prototype.scaleFactor=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.frameDimensions&&Object.hasOwnProperty.call(e,"frameDimensions")&&$root$1.vertexvis.protobuf.stream.Dimensions.encode(e.frameDimensions,t.uint32(10).fork()).ldelim(),null!=e.imageRect&&Object.hasOwnProperty.call(e,"imageRect")&&$root$1.vertexvis.protobuf.stream.Rectangle.encode(e.imageRect,t.uint32(18).fork()).ldelim(),null!=e.scaleFactor&&Object.hasOwnProperty.call(e,"scaleFactor")&&t.uint32(29).float(e.scaleFactor),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.ImageAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frameDimensions=$root$1.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;case 2:n.imageRect=$root$1.vertexvis.protobuf.stream.Rectangle.decode(e,e.uint32());break;case 3:n.scaleFactor=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.frameDimensions&&e.hasOwnProperty("frameDimensions")){let t=$root$1.vertexvis.protobuf.stream.Dimensions.verify(e.frameDimensions);if(t)return"frameDimensions."+t}if(null!=e.imageRect&&e.hasOwnProperty("imageRect")){let t=$root$1.vertexvis.protobuf.stream.Rectangle.verify(e.imageRect);if(t)return"imageRect."+t}return null!=e.scaleFactor&&e.hasOwnProperty("scaleFactor")&&"number"!=typeof e.scaleFactor?"scaleFactor: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.ImageAttributes)return e;let t=new $root$1.vertexvis.protobuf.stream.ImageAttributes;if(null!=e.frameDimensions){if("object"!=typeof e.frameDimensions)throw TypeError(".vertexvis.protobuf.stream.ImageAttributes.frameDimensions: object expected");t.frameDimensions=$root$1.vertexvis.protobuf.stream.Dimensions.fromObject(e.frameDimensions)}if(null!=e.imageRect){if("object"!=typeof e.imageRect)throw TypeError(".vertexvis.protobuf.stream.ImageAttributes.imageRect: object expected");t.imageRect=$root$1.vertexvis.protobuf.stream.Rectangle.fromObject(e.imageRect)}return null!=e.scaleFactor&&(t.scaleFactor=Number(e.scaleFactor)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.frameDimensions=null,r.imageRect=null,r.scaleFactor=0),null!=e.frameDimensions&&e.hasOwnProperty("frameDimensions")&&(r.frameDimensions=$root$1.vertexvis.protobuf.stream.Dimensions.toObject(e.frameDimensions,t)),null!=e.imageRect&&e.hasOwnProperty("imageRect")&&(r.imageRect=$root$1.vertexvis.protobuf.stream.Rectangle.toObject(e.imageRect,t)),null!=e.scaleFactor&&e.hasOwnProperty("scaleFactor")&&(r.scaleFactor=t.json&&!isFinite(e.scaleFactor)?String(e.scaleFactor):e.scaleFactor),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.SceneAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.camera=null,e.prototype.visibleBoundingBox=null,e.prototype.crossSectioning=null,e.prototype.hasChanged=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.camera&&Object.hasOwnProperty.call(e,"camera")&&$root$1.vertexvis.protobuf.stream.Camera.encode(e.camera,t.uint32(10).fork()).ldelim(),null!=e.visibleBoundingBox&&Object.hasOwnProperty.call(e,"visibleBoundingBox")&&$root$1.vertexvis.protobuf.core.BoundingBox3f.encode(e.visibleBoundingBox,t.uint32(18).fork()).ldelim(),null!=e.crossSectioning&&Object.hasOwnProperty.call(e,"crossSectioning")&&$root$1.vertexvis.protobuf.stream.CrossSectioning.encode(e.crossSectioning,t.uint32(26).fork()).ldelim(),null!=e.hasChanged&&Object.hasOwnProperty.call(e,"hasChanged")&&t.uint32(32).bool(e.hasChanged),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.SceneAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.camera=$root$1.vertexvis.protobuf.stream.Camera.decode(e,e.uint32());break;case 2:n.visibleBoundingBox=$root$1.vertexvis.protobuf.core.BoundingBox3f.decode(e,e.uint32());break;case 3:n.crossSectioning=$root$1.vertexvis.protobuf.stream.CrossSectioning.decode(e,e.uint32());break;case 4:n.hasChanged=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.camera&&e.hasOwnProperty("camera")){let t=$root$1.vertexvis.protobuf.stream.Camera.verify(e.camera);if(t)return"camera."+t}if(null!=e.visibleBoundingBox&&e.hasOwnProperty("visibleBoundingBox")){let t=$root$1.vertexvis.protobuf.core.BoundingBox3f.verify(e.visibleBoundingBox);if(t)return"visibleBoundingBox."+t}if(null!=e.crossSectioning&&e.hasOwnProperty("crossSectioning")){let t=$root$1.vertexvis.protobuf.stream.CrossSectioning.verify(e.crossSectioning);if(t)return"crossSectioning."+t}return null!=e.hasChanged&&e.hasOwnProperty("hasChanged")&&"boolean"!=typeof e.hasChanged?"hasChanged: boolean expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.SceneAttributes)return e;let t=new $root$1.vertexvis.protobuf.stream.SceneAttributes;if(null!=e.camera){if("object"!=typeof e.camera)throw TypeError(".vertexvis.protobuf.stream.SceneAttributes.camera: object expected");t.camera=$root$1.vertexvis.protobuf.stream.Camera.fromObject(e.camera)}if(null!=e.visibleBoundingBox){if("object"!=typeof e.visibleBoundingBox)throw TypeError(".vertexvis.protobuf.stream.SceneAttributes.visibleBoundingBox: object expected");t.visibleBoundingBox=$root$1.vertexvis.protobuf.core.BoundingBox3f.fromObject(e.visibleBoundingBox)}if(null!=e.crossSectioning){if("object"!=typeof e.crossSectioning)throw TypeError(".vertexvis.protobuf.stream.SceneAttributes.crossSectioning: object expected");t.crossSectioning=$root$1.vertexvis.protobuf.stream.CrossSectioning.fromObject(e.crossSectioning)}return null!=e.hasChanged&&(t.hasChanged=Boolean(e.hasChanged)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.camera=null,r.visibleBoundingBox=null,r.crossSectioning=null,r.hasChanged=!1),null!=e.camera&&e.hasOwnProperty("camera")&&(r.camera=$root$1.vertexvis.protobuf.stream.Camera.toObject(e.camera,t)),null!=e.visibleBoundingBox&&e.hasOwnProperty("visibleBoundingBox")&&(r.visibleBoundingBox=$root$1.vertexvis.protobuf.core.BoundingBox3f.toObject(e.visibleBoundingBox,t)),null!=e.crossSectioning&&e.hasOwnProperty("crossSectioning")&&(r.crossSectioning=$root$1.vertexvis.protobuf.stream.CrossSectioning.toObject(e.crossSectioning,t)),null!=e.hasChanged&&e.hasOwnProperty("hasChanged")&&(r.hasChanged=e.hasChanged),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.HitItemAncestor=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.itemId=null,e.prototype.itemOverride=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.itemId&&Object.hasOwnProperty.call(e,"itemId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.itemId,t.uint32(10).fork()).ldelim(),null!=e.itemOverride&&Object.hasOwnProperty.call(e,"itemOverride")&&$root$1.vertexvis.protobuf.stream.SceneItemOverride.encode(e.itemOverride,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.HitItemAncestor;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.itemId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.itemOverride=$root$1.vertexvis.protobuf.stream.SceneItemOverride.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.itemId&&e.hasOwnProperty("itemId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.itemId);if(t)return"itemId."+t}if(null!=e.itemOverride&&e.hasOwnProperty("itemOverride")){let t=$root$1.vertexvis.protobuf.stream.SceneItemOverride.verify(e.itemOverride);if(t)return"itemOverride."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.HitItemAncestor)return e;let t=new $root$1.vertexvis.protobuf.stream.HitItemAncestor;if(null!=e.itemId){if("object"!=typeof e.itemId)throw TypeError(".vertexvis.protobuf.stream.HitItemAncestor.itemId: object expected");t.itemId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.itemId)}if(null!=e.itemOverride){if("object"!=typeof e.itemOverride)throw TypeError(".vertexvis.protobuf.stream.HitItemAncestor.itemOverride: object expected");t.itemOverride=$root$1.vertexvis.protobuf.stream.SceneItemOverride.fromObject(e.itemOverride)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.itemId=null,r.itemOverride=null),null!=e.itemId&&e.hasOwnProperty("itemId")&&(r.itemId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.itemId,t)),null!=e.itemOverride&&e.hasOwnProperty("itemOverride")&&(r.itemOverride=$root$1.vertexvis.protobuf.stream.SceneItemOverride.toObject(e.itemOverride,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Hit=function(){function e(e){if(this.ancestors=[],this.metadataProperties=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.itemId=null,e.prototype.itemSuppliedId=null,e.prototype.hitNormal=null,e.prototype.hitPoint=null,e.prototype.partRevisionId=null,e.prototype.partId=null,e.prototype.suppliedPartRevisionId=null,e.prototype.ancestors=$util$1.emptyArray,e.prototype.metadataProperties=$util$1.emptyArray,e.prototype.modelEntity=null,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer$1.create()),null!=e.itemId&&Object.hasOwnProperty.call(e,"itemId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.itemId,t.uint32(10).fork()).ldelim(),null!=e.itemSuppliedId&&Object.hasOwnProperty.call(e,"itemSuppliedId")&&$root$1.google.protobuf.StringValue.encode(e.itemSuppliedId,t.uint32(18).fork()).ldelim(),null!=e.hitNormal&&Object.hasOwnProperty.call(e,"hitNormal")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.hitNormal,t.uint32(26).fork()).ldelim(),null!=e.hitPoint&&Object.hasOwnProperty.call(e,"hitPoint")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.hitPoint,t.uint32(34).fork()).ldelim(),null!=e.partRevisionId&&Object.hasOwnProperty.call(e,"partRevisionId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.partRevisionId,t.uint32(42).fork()).ldelim(),null!=e.partId&&Object.hasOwnProperty.call(e,"partId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.partId,t.uint32(50).fork()).ldelim(),null!=e.suppliedPartRevisionId&&Object.hasOwnProperty.call(e,"suppliedPartRevisionId")&&$root$1.google.protobuf.StringValue.encode(e.suppliedPartRevisionId,t.uint32(58).fork()).ldelim(),null!=e.ancestors&&e.ancestors.length)for(let r=0;r<e.ancestors.length;++r)$root$1.vertexvis.protobuf.stream.HitItemAncestor.encode(e.ancestors[r],t.uint32(74).fork()).ldelim();if(null!=e.metadataProperties&&e.metadataProperties.length)for(let r=0;r<e.metadataProperties.length;++r)$root$1.vertexvis.protobuf.stream.MetadataProperty.encode(e.metadataProperties[r],t.uint32(82).fork()).ldelim();return null!=e.modelEntity&&Object.hasOwnProperty.call(e,"modelEntity")&&$root$1.vertexvis.protobuf.core.ModelEntity.encode(e.modelEntity,t.uint32(90).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.Hit;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.itemId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.itemSuppliedId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 3:n.hitNormal=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 4:n.hitPoint=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 5:n.partRevisionId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 6:n.partId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 7:n.suppliedPartRevisionId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 9:n.ancestors&&n.ancestors.length||(n.ancestors=[]),n.ancestors.push($root$1.vertexvis.protobuf.stream.HitItemAncestor.decode(e,e.uint32()));break;case 10:n.metadataProperties&&n.metadataProperties.length||(n.metadataProperties=[]),n.metadataProperties.push($root$1.vertexvis.protobuf.stream.MetadataProperty.decode(e,e.uint32()));break;case 11:n.modelEntity=$root$1.vertexvis.protobuf.core.ModelEntity.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.itemId&&e.hasOwnProperty("itemId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.itemId);if(t)return"itemId."+t}if(null!=e.itemSuppliedId&&e.hasOwnProperty("itemSuppliedId")){let t=$root$1.google.protobuf.StringValue.verify(e.itemSuppliedId);if(t)return"itemSuppliedId."+t}if(null!=e.hitNormal&&e.hasOwnProperty("hitNormal")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.hitNormal);if(t)return"hitNormal."+t}if(null!=e.hitPoint&&e.hasOwnProperty("hitPoint")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.hitPoint);if(t)return"hitPoint."+t}if(null!=e.partRevisionId&&e.hasOwnProperty("partRevisionId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.partRevisionId);if(t)return"partRevisionId."+t}if(null!=e.partId&&e.hasOwnProperty("partId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.partId);if(t)return"partId."+t}if(null!=e.suppliedPartRevisionId&&e.hasOwnProperty("suppliedPartRevisionId")){let t=$root$1.google.protobuf.StringValue.verify(e.suppliedPartRevisionId);if(t)return"suppliedPartRevisionId."+t}if(null!=e.ancestors&&e.hasOwnProperty("ancestors")){if(!Array.isArray(e.ancestors))return"ancestors: array expected";for(let t=0;t<e.ancestors.length;++t){let r=$root$1.vertexvis.protobuf.stream.HitItemAncestor.verify(e.ancestors[t]);if(r)return"ancestors."+r}}if(null!=e.metadataProperties&&e.hasOwnProperty("metadataProperties")){if(!Array.isArray(e.metadataProperties))return"metadataProperties: array expected";for(let t=0;t<e.metadataProperties.length;++t){let r=$root$1.vertexvis.protobuf.stream.MetadataProperty.verify(e.metadataProperties[t]);if(r)return"metadataProperties."+r}}if(null!=e.modelEntity&&e.hasOwnProperty("modelEntity")){let t=$root$1.vertexvis.protobuf.core.ModelEntity.verify(e.modelEntity);if(t)return"modelEntity."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.Hit)return e;let t=new $root$1.vertexvis.protobuf.stream.Hit;if(null!=e.itemId){if("object"!=typeof e.itemId)throw TypeError(".vertexvis.protobuf.stream.Hit.itemId: object expected");t.itemId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.itemId)}if(null!=e.itemSuppliedId){if("object"!=typeof e.itemSuppliedId)throw TypeError(".vertexvis.protobuf.stream.Hit.itemSuppliedId: object expected");t.itemSuppliedId=$root$1.google.protobuf.StringValue.fromObject(e.itemSuppliedId)}if(null!=e.hitNormal){if("object"!=typeof e.hitNormal)throw TypeError(".vertexvis.protobuf.stream.Hit.hitNormal: object expected");t.hitNormal=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.hitNormal)}if(null!=e.hitPoint){if("object"!=typeof e.hitPoint)throw TypeError(".vertexvis.protobuf.stream.Hit.hitPoint: object expected");t.hitPoint=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.hitPoint)}if(null!=e.partRevisionId){if("object"!=typeof e.partRevisionId)throw TypeError(".vertexvis.protobuf.stream.Hit.partRevisionId: object expected");t.partRevisionId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.partRevisionId)}if(null!=e.partId){if("object"!=typeof e.partId)throw TypeError(".vertexvis.protobuf.stream.Hit.partId: object expected");t.partId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.partId)}if(null!=e.suppliedPartRevisionId){if("object"!=typeof e.suppliedPartRevisionId)throw TypeError(".vertexvis.protobuf.stream.Hit.suppliedPartRevisionId: object expected");t.suppliedPartRevisionId=$root$1.google.protobuf.StringValue.fromObject(e.suppliedPartRevisionId)}if(e.ancestors){if(!Array.isArray(e.ancestors))throw TypeError(".vertexvis.protobuf.stream.Hit.ancestors: array expected");t.ancestors=[];for(let r=0;r<e.ancestors.length;++r){if("object"!=typeof e.ancestors[r])throw TypeError(".vertexvis.protobuf.stream.Hit.ancestors: object expected");t.ancestors[r]=$root$1.vertexvis.protobuf.stream.HitItemAncestor.fromObject(e.ancestors[r])}}if(e.metadataProperties){if(!Array.isArray(e.metadataProperties))throw TypeError(".vertexvis.protobuf.stream.Hit.metadataProperties: array expected");t.metadataProperties=[];for(let r=0;r<e.metadataProperties.length;++r){if("object"!=typeof e.metadataProperties[r])throw TypeError(".vertexvis.protobuf.stream.Hit.metadataProperties: object expected");t.metadataProperties[r]=$root$1.vertexvis.protobuf.stream.MetadataProperty.fromObject(e.metadataProperties[r])}}if(null!=e.modelEntity){if("object"!=typeof e.modelEntity)throw TypeError(".vertexvis.protobuf.stream.Hit.modelEntity: object expected");t.modelEntity=$root$1.vertexvis.protobuf.core.ModelEntity.fromObject(e.modelEntity)}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.ancestors=[],r.metadataProperties=[]),t.defaults&&(r.itemId=null,r.itemSuppliedId=null,r.hitNormal=null,r.hitPoint=null,r.partRevisionId=null,r.partId=null,r.suppliedPartRevisionId=null,r.modelEntity=null),null!=e.itemId&&e.hasOwnProperty("itemId")&&(r.itemId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.itemId,t)),null!=e.itemSuppliedId&&e.hasOwnProperty("itemSuppliedId")&&(r.itemSuppliedId=$root$1.google.protobuf.StringValue.toObject(e.itemSuppliedId,t)),null!=e.hitNormal&&e.hasOwnProperty("hitNormal")&&(r.hitNormal=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.hitNormal,t)),null!=e.hitPoint&&e.hasOwnProperty("hitPoint")&&(r.hitPoint=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.hitPoint,t)),null!=e.partRevisionId&&e.hasOwnProperty("partRevisionId")&&(r.partRevisionId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.partRevisionId,t)),null!=e.partId&&e.hasOwnProperty("partId")&&(r.partId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.partId,t)),null!=e.suppliedPartRevisionId&&e.hasOwnProperty("suppliedPartRevisionId")&&(r.suppliedPartRevisionId=$root$1.google.protobuf.StringValue.toObject(e.suppliedPartRevisionId,t)),e.ancestors&&e.ancestors.length){r.ancestors=[];for(let n=0;n<e.ancestors.length;++n)r.ancestors[n]=$root$1.vertexvis.protobuf.stream.HitItemAncestor.toObject(e.ancestors[n],t)}if(e.metadataProperties&&e.metadataProperties.length){r.metadataProperties=[];for(let n=0;n<e.metadataProperties.length;++n)r.metadataProperties[n]=$root$1.vertexvis.protobuf.stream.MetadataProperty.toObject(e.metadataProperties[n],t)}return null!=e.modelEntity&&e.hasOwnProperty("modelEntity")&&(r.modelEntity=$root$1.vertexvis.protobuf.core.ModelEntity.toObject(e.modelEntity,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.SceneItemOverride=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.id=null,e.prototype.transform=null,e.prototype.isVisible=null,e.prototype.materialOverride=null,e.prototype.selected=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.id,t.uint32(10).fork()).ldelim(),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root$1.vertexvis.protobuf.core.Matrix4x4f.encode(e.transform,t.uint32(18).fork()).ldelim(),null!=e.isVisible&&Object.hasOwnProperty.call(e,"isVisible")&&$root$1.google.protobuf.BoolValue.encode(e.isVisible,t.uint32(26).fork()).ldelim(),null!=e.materialOverride&&Object.hasOwnProperty.call(e,"materialOverride")&&$root$1.vertexvis.protobuf.core.ColorMaterial.encode(e.materialOverride,t.uint32(34).fork()).ldelim(),null!=e.selected&&Object.hasOwnProperty.call(e,"selected")&&$root$1.vertexvis.protobuf.core.ColorMaterial.encode(e.selected,t.uint32(42).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.SceneItemOverride;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.id=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.transform=$root$1.vertexvis.protobuf.core.Matrix4x4f.decode(e,e.uint32());break;case 3:n.isVisible=$root$1.google.protobuf.BoolValue.decode(e,e.uint32());break;case 4:n.materialOverride=$root$1.vertexvis.protobuf.core.ColorMaterial.decode(e,e.uint32());break;case 5:n.selected=$root$1.vertexvis.protobuf.core.ColorMaterial.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.id);if(t)return"id."+t}if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root$1.vertexvis.protobuf.core.Matrix4x4f.verify(e.transform);if(t)return"transform."+t}if(null!=e.isVisible&&e.hasOwnProperty("isVisible")){let t=$root$1.google.protobuf.BoolValue.verify(e.isVisible);if(t)return"isVisible."+t}if(null!=e.materialOverride&&e.hasOwnProperty("materialOverride")){let t=$root$1.vertexvis.protobuf.core.ColorMaterial.verify(e.materialOverride);if(t)return"materialOverride."+t}if(null!=e.selected&&e.hasOwnProperty("selected")){let t=$root$1.vertexvis.protobuf.core.ColorMaterial.verify(e.selected);if(t)return"selected."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.SceneItemOverride)return e;let t=new $root$1.vertexvis.protobuf.stream.SceneItemOverride;if(null!=e.id){if("object"!=typeof e.id)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.id: object expected");t.id=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.id)}if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.transform: object expected");t.transform=$root$1.vertexvis.protobuf.core.Matrix4x4f.fromObject(e.transform)}if(null!=e.isVisible){if("object"!=typeof e.isVisible)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.isVisible: object expected");t.isVisible=$root$1.google.protobuf.BoolValue.fromObject(e.isVisible)}if(null!=e.materialOverride){if("object"!=typeof e.materialOverride)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.materialOverride: object expected");t.materialOverride=$root$1.vertexvis.protobuf.core.ColorMaterial.fromObject(e.materialOverride)}if(null!=e.selected){if("object"!=typeof e.selected)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.selected: object expected");t.selected=$root$1.vertexvis.protobuf.core.ColorMaterial.fromObject(e.selected)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.id=null,r.transform=null,r.isVisible=null,r.materialOverride=null,r.selected=null),null!=e.id&&e.hasOwnProperty("id")&&(r.id=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.id,t)),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root$1.vertexvis.protobuf.core.Matrix4x4f.toObject(e.transform,t)),null!=e.isVisible&&e.hasOwnProperty("isVisible")&&(r.isVisible=$root$1.google.protobuf.BoolValue.toObject(e.isVisible,t)),null!=e.materialOverride&&e.hasOwnProperty("materialOverride")&&(r.materialOverride=$root$1.vertexvis.protobuf.core.ColorMaterial.toObject(e.materialOverride,t)),null!=e.selected&&e.hasOwnProperty("selected")&&(r.selected=$root$1.vertexvis.protobuf.core.ColorMaterial.toObject(e.selected,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.SceneItemQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.id=null,e.prototype.suppliedId=null,Object.defineProperty(e.prototype,"itemQuery",{get:$util$1.oneOfGetter(t=["id","suppliedId"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.id,t.uint32(10).fork()).ldelim(),null!=e.suppliedId&&Object.hasOwnProperty.call(e,"suppliedId")&&t.uint32(18).string(e.suppliedId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.SceneItemQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.id=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.suppliedId=e.string();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.id&&e.hasOwnProperty("id")){t.itemQuery=1;{let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.id);if(t)return"id."+t}}if(null!=e.suppliedId&&e.hasOwnProperty("suppliedId")){if(1===t.itemQuery)return"itemQuery: multiple values";if(t.itemQuery=1,!$util$1.isString(e.suppliedId))return"suppliedId: string expected"}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.SceneItemQuery)return e;let t=new $root$1.vertexvis.protobuf.stream.SceneItemQuery;if(null!=e.id){if("object"!=typeof e.id)throw TypeError(".vertexvis.protobuf.stream.SceneItemQuery.id: object expected");t.id=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.id)}return null!=e.suppliedId&&(t.suppliedId=String(e.suppliedId)),t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.id&&e.hasOwnProperty("id")&&(r.id=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.id,t),t.oneofs&&(r.itemQuery="id")),null!=e.suppliedId&&e.hasOwnProperty("suppliedId")&&(r.suppliedId=e.suppliedId,t.oneofs&&(r.itemQuery="suppliedId")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.AllQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.AllQuery;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root$1.vertexvis.protobuf.stream.AllQuery?e:new $root$1.vertexvis.protobuf.stream.AllQuery},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.PointQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.point=null,e.prototype.viewport=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.point&&Object.hasOwnProperty.call(e,"point")&&$root$1.vertexvis.protobuf.stream.Point.encode(e.point,t.uint32(10).fork()).ldelim(),null!=e.viewport&&Object.hasOwnProperty.call(e,"viewport")&&$root$1.vertexvis.protobuf.stream.Dimensions.encode(e.viewport,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.PointQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.point=$root$1.vertexvis.protobuf.stream.Point.decode(e,e.uint32());break;case 2:n.viewport=$root$1.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.point&&e.hasOwnProperty("point")){let t=$root$1.vertexvis.protobuf.stream.Point.verify(e.point);if(t)return"point."+t}if(null!=e.viewport&&e.hasOwnProperty("viewport")){let t=$root$1.vertexvis.protobuf.stream.Dimensions.verify(e.viewport);if(t)return"viewport."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.PointQuery)return e;let t=new $root$1.vertexvis.protobuf.stream.PointQuery;if(null!=e.point){if("object"!=typeof e.point)throw TypeError(".vertexvis.protobuf.stream.PointQuery.point: object expected");t.point=$root$1.vertexvis.protobuf.stream.Point.fromObject(e.point)}if(null!=e.viewport){if("object"!=typeof e.viewport)throw TypeError(".vertexvis.protobuf.stream.PointQuery.viewport: object expected");t.viewport=$root$1.vertexvis.protobuf.stream.Dimensions.fromObject(e.viewport)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.point=null,r.viewport=null),null!=e.point&&e.hasOwnProperty("point")&&(r.point=$root$1.vertexvis.protobuf.stream.Point.toObject(e.point,t)),null!=e.viewport&&e.hasOwnProperty("viewport")&&(r.viewport=$root$1.vertexvis.protobuf.stream.Dimensions.toObject(e.viewport,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.FrustumByRectangle=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.rectangle=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.rectangle&&Object.hasOwnProperty.call(e,"rectangle")&&$root$1.vertexvis.protobuf.stream.Rectangle.encode(e.rectangle,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.FrustumByRectangle;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.rectangle=$root$1.vertexvis.protobuf.stream.Rectangle.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.rectangle&&e.hasOwnProperty("rectangle")){let t=$root$1.vertexvis.protobuf.stream.Rectangle.verify(e.rectangle);if(t)return"rectangle."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.FrustumByRectangle)return e;let t=new $root$1.vertexvis.protobuf.stream.FrustumByRectangle;if(null!=e.rectangle){if("object"!=typeof e.rectangle)throw TypeError(".vertexvis.protobuf.stream.FrustumByRectangle.rectangle: object expected");t.rectangle=$root$1.vertexvis.protobuf.stream.Rectangle.fromObject(e.rectangle)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.rectangle=null),null!=e.rectangle&&e.hasOwnProperty("rectangle")&&(r.rectangle=$root$1.vertexvis.protobuf.stream.Rectangle.toObject(e.rectangle,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.VolumeIntersectionQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.frustumByRectangle=null,e.prototype.exclusive=!1,e.prototype.viewport=null,Object.defineProperty(e.prototype,"volume",{get:$util$1.oneOfGetter(t=["frustumByRectangle"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.frustumByRectangle&&Object.hasOwnProperty.call(e,"frustumByRectangle")&&$root$1.vertexvis.protobuf.stream.FrustumByRectangle.encode(e.frustumByRectangle,t.uint32(10).fork()).ldelim(),null!=e.exclusive&&Object.hasOwnProperty.call(e,"exclusive")&&t.uint32(16).bool(e.exclusive),null!=e.viewport&&Object.hasOwnProperty.call(e,"viewport")&&$root$1.vertexvis.protobuf.stream.Dimensions.encode(e.viewport,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frustumByRectangle=$root$1.vertexvis.protobuf.stream.FrustumByRectangle.decode(e,e.uint32());break;case 2:n.exclusive=e.bool();break;case 3:n.viewport=$root$1.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.frustumByRectangle&&e.hasOwnProperty("frustumByRectangle")){let t=$root$1.vertexvis.protobuf.stream.FrustumByRectangle.verify(e.frustumByRectangle);if(t)return"frustumByRectangle."+t}if(null!=e.exclusive&&e.hasOwnProperty("exclusive")&&"boolean"!=typeof e.exclusive)return"exclusive: boolean expected";if(null!=e.viewport&&e.hasOwnProperty("viewport")){let t=$root$1.vertexvis.protobuf.stream.Dimensions.verify(e.viewport);if(t)return"viewport."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery)return e;let t=new $root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery;if(null!=e.frustumByRectangle){if("object"!=typeof e.frustumByRectangle)throw TypeError(".vertexvis.protobuf.stream.VolumeIntersectionQuery.frustumByRectangle: object expected");t.frustumByRectangle=$root$1.vertexvis.protobuf.stream.FrustumByRectangle.fromObject(e.frustumByRectangle)}if(null!=e.exclusive&&(t.exclusive=Boolean(e.exclusive)),null!=e.viewport){if("object"!=typeof e.viewport)throw TypeError(".vertexvis.protobuf.stream.VolumeIntersectionQuery.viewport: object expected");t.viewport=$root$1.vertexvis.protobuf.stream.Dimensions.fromObject(e.viewport)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.exclusive=!1,r.viewport=null),null!=e.frustumByRectangle&&e.hasOwnProperty("frustumByRectangle")&&(r.frustumByRectangle=$root$1.vertexvis.protobuf.stream.FrustumByRectangle.toObject(e.frustumByRectangle,t),t.oneofs&&(r.volume="frustumByRectangle")),null!=e.exclusive&&e.hasOwnProperty("exclusive")&&(r.exclusive=e.exclusive),null!=e.viewport&&e.hasOwnProperty("viewport")&&(r.viewport=$root$1.vertexvis.protobuf.stream.Dimensions.toObject(e.viewport,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.SceneTreeRangeQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.start=0,e.prototype.end=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.start&&Object.hasOwnProperty.call(e,"start")&&t.uint32(8).uint32(e.start),null!=e.end&&Object.hasOwnProperty.call(e,"end")&&t.uint32(16).uint32(e.end),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.SceneTreeRangeQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.start=e.uint32();break;case 2:n.end=e.uint32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.start&&e.hasOwnProperty("start")&&!$util$1.isInteger(e.start)?"start: integer expected":null!=e.end&&e.hasOwnProperty("end")&&!$util$1.isInteger(e.end)?"end: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.SceneTreeRangeQuery)return e;let t=new $root$1.vertexvis.protobuf.stream.SceneTreeRangeQuery;return null!=e.start&&(t.start=e.start>>>0),null!=e.end&&(t.end=e.end>>>0),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.start=0,r.end=0),null!=e.start&&e.hasOwnProperty("start")&&(r.start=e.start),null!=e.end&&e.hasOwnProperty("end")&&(r.end=e.end),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ItemQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.sceneItemQuery=null,Object.defineProperty(e.prototype,"value",{get:$util$1.oneOfGetter(t=["sceneItemQuery"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.sceneItemQuery&&Object.hasOwnProperty.call(e,"sceneItemQuery")&&$root$1.vertexvis.protobuf.stream.SceneItemQuery.encode(e.sceneItemQuery,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.ItemQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.sceneItemQuery=$root$1.vertexvis.protobuf.stream.SceneItemQuery.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sceneItemQuery&&e.hasOwnProperty("sceneItemQuery")){let t=$root$1.vertexvis.protobuf.stream.SceneItemQuery.verify(e.sceneItemQuery);if(t)return"sceneItemQuery."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.ItemQuery)return e;let t=new $root$1.vertexvis.protobuf.stream.ItemQuery;if(null!=e.sceneItemQuery){if("object"!=typeof e.sceneItemQuery)throw TypeError(".vertexvis.protobuf.stream.ItemQuery.sceneItemQuery: object expected");t.sceneItemQuery=$root$1.vertexvis.protobuf.stream.SceneItemQuery.fromObject(e.sceneItemQuery)}return t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.sceneItemQuery&&e.hasOwnProperty("sceneItemQuery")&&(r.sceneItemQuery=$root$1.vertexvis.protobuf.stream.SceneItemQuery.toObject(e.sceneItemQuery,t),t.oneofs&&(r.value="sceneItemQuery")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.MetadataFilterQuery=function(){function e(e){if(this.keys=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.valueFilter="",e.prototype.keys=$util$1.emptyArray,e.prototype.exactMatch=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer$1.create()),null!=e.valueFilter&&Object.hasOwnProperty.call(e,"valueFilter")&&t.uint32(18).string(e.valueFilter),null!=e.keys&&e.keys.length)for(let r=0;r<e.keys.length;++r)t.uint32(26).string(e.keys[r]);return null!=e.exactMatch&&Object.hasOwnProperty.call(e,"exactMatch")&&t.uint32(32).bool(e.exactMatch),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.MetadataFilterQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 2:n.valueFilter=e.string();break;case 3:n.keys&&n.keys.length||(n.keys=[]),n.keys.push(e.string());break;case 4:n.exactMatch=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.valueFilter&&e.hasOwnProperty("valueFilter")&&!$util$1.isString(e.valueFilter))return"valueFilter: string expected";if(null!=e.keys&&e.hasOwnProperty("keys")){if(!Array.isArray(e.keys))return"keys: array expected";for(let t=0;t<e.keys.length;++t)if(!$util$1.isString(e.keys[t]))return"keys: string[] expected"}return null!=e.exactMatch&&e.hasOwnProperty("exactMatch")&&"boolean"!=typeof e.exactMatch?"exactMatch: boolean expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.MetadataFilterQuery)return e;let t=new $root$1.vertexvis.protobuf.stream.MetadataFilterQuery;if(null!=e.valueFilter&&(t.valueFilter=String(e.valueFilter)),e.keys){if(!Array.isArray(e.keys))throw TypeError(".vertexvis.protobuf.stream.MetadataFilterQuery.keys: array expected");t.keys=[];for(let r=0;r<e.keys.length;++r)t.keys[r]=String(e.keys[r])}return null!=e.exactMatch&&(t.exactMatch=Boolean(e.exactMatch)),t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.keys=[]),t.defaults&&(r.valueFilter="",r.exactMatch=!1),null!=e.valueFilter&&e.hasOwnProperty("valueFilter")&&(r.valueFilter=e.valueFilter),e.keys&&e.keys.length){r.keys=[];for(let t=0;t<e.keys.length;++t)r.keys[t]=e.keys[t]}return null!=e.exactMatch&&e.hasOwnProperty("exactMatch")&&(r.exactMatch=e.exactMatch),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.QueryCollection=function(){function e(e){if(this.queries=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.queries=$util$1.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer$1.create()),null!=e.queries&&e.queries.length)for(let r=0;r<e.queries.length;++r)$root$1.vertexvis.protobuf.stream.ItemQuery.encode(e.queries[r],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.QueryCollection;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.queries&&n.queries.length||(n.queries=[]),n.queries.push($root$1.vertexvis.protobuf.stream.ItemQuery.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.queries&&e.hasOwnProperty("queries")){if(!Array.isArray(e.queries))return"queries: array expected";for(let t=0;t<e.queries.length;++t){let r=$root$1.vertexvis.protobuf.stream.ItemQuery.verify(e.queries[t]);if(r)return"queries."+r}}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.QueryCollection)return e;let t=new $root$1.vertexvis.protobuf.stream.QueryCollection;if(e.queries){if(!Array.isArray(e.queries))throw TypeError(".vertexvis.protobuf.stream.QueryCollection.queries: array expected");t.queries=[];for(let r=0;r<e.queries.length;++r){if("object"!=typeof e.queries[r])throw TypeError(".vertexvis.protobuf.stream.QueryCollection.queries: object expected");t.queries[r]=$root$1.vertexvis.protobuf.stream.ItemQuery.fromObject(e.queries[r])}}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.queries=[]),e.queries&&e.queries.length){r.queries=[];for(let n=0;n<e.queries.length;++n)r.queries[n]=$root$1.vertexvis.protobuf.stream.ItemQuery.toObject(e.queries[n],t)}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.SelectionQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.material=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.material&&Object.hasOwnProperty.call(e,"material")&&$root$1.vertexvis.protobuf.core.ColorMaterial.encode(e.material,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.SelectionQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.material=$root$1.vertexvis.protobuf.core.ColorMaterial.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.material&&e.hasOwnProperty("material")){let t=$root$1.vertexvis.protobuf.core.ColorMaterial.verify(e.material);if(t)return"material."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.SelectionQuery)return e;let t=new $root$1.vertexvis.protobuf.stream.SelectionQuery;if(null!=e.material){if("object"!=typeof e.material)throw TypeError(".vertexvis.protobuf.stream.SelectionQuery.material: object expected");t.material=$root$1.vertexvis.protobuf.core.ColorMaterial.fromObject(e.material)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.material=null),null!=e.material&&e.hasOwnProperty("material")&&(r.material=$root$1.vertexvis.protobuf.core.ColorMaterial.toObject(e.material,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.OverrideQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.selection=null,Object.defineProperty(e.prototype,"override",{get:$util$1.oneOfGetter(t=["selection"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.selection&&Object.hasOwnProperty.call(e,"selection")&&$root$1.vertexvis.protobuf.stream.SelectionQuery.encode(e.selection,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.OverrideQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.selection=$root$1.vertexvis.protobuf.stream.SelectionQuery.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.selection&&e.hasOwnProperty("selection")){let t=$root$1.vertexvis.protobuf.stream.SelectionQuery.verify(e.selection);if(t)return"selection."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.OverrideQuery)return e;let t=new $root$1.vertexvis.protobuf.stream.OverrideQuery;if(null!=e.selection){if("object"!=typeof e.selection)throw TypeError(".vertexvis.protobuf.stream.OverrideQuery.selection: object expected");t.selection=$root$1.vertexvis.protobuf.stream.SelectionQuery.fromObject(e.selection)}return t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.selection&&e.hasOwnProperty("selection")&&(r.selection=$root$1.vertexvis.protobuf.stream.SelectionQuery.toObject(e.selection,t),t.oneofs&&(r.override="selection")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ChangeMaterialOperation=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.material=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.material&&Object.hasOwnProperty.call(e,"material")&&$root$1.vertexvis.protobuf.core.ColorMaterial.encode(e.material,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.ChangeMaterialOperation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.material=$root$1.vertexvis.protobuf.core.ColorMaterial.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.material&&e.hasOwnProperty("material")){let t=$root$1.vertexvis.protobuf.core.ColorMaterial.verify(e.material);if(t)return"material."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.ChangeMaterialOperation)return e;let t=new $root$1.vertexvis.protobuf.stream.ChangeMaterialOperation;if(null!=e.material){if("object"!=typeof e.material)throw TypeError(".vertexvis.protobuf.stream.ChangeMaterialOperation.material: object expected");t.material=$root$1.vertexvis.protobuf.core.ColorMaterial.fromObject(e.material)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.material=null),null!=e.material&&e.hasOwnProperty("material")&&(r.material=$root$1.vertexvis.protobuf.core.ColorMaterial.toObject(e.material,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ChangeVisibilityOperation=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.visible=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.visible&&Object.hasOwnProperty.call(e,"visible")&&t.uint32(8).bool(e.visible),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.ChangeVisibilityOperation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.visible=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.visible&&e.hasOwnProperty("visible")&&"boolean"!=typeof e.visible?"visible: boolean expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.ChangeVisibilityOperation)return e;let t=new $root$1.vertexvis.protobuf.stream.ChangeVisibilityOperation;return null!=e.visible&&(t.visible=Boolean(e.visible)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.visible=!1),null!=e.visible&&e.hasOwnProperty("visible")&&(r.visible=e.visible),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ChangeTransformOperation=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.transform=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root$1.vertexvis.protobuf.core.Matrix4x4f.encode(e.transform,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.ChangeTransformOperation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.transform=$root$1.vertexvis.protobuf.core.Matrix4x4f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root$1.vertexvis.protobuf.core.Matrix4x4f.verify(e.transform);if(t)return"transform."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.ChangeTransformOperation)return e;let t=new $root$1.vertexvis.protobuf.stream.ChangeTransformOperation;if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.stream.ChangeTransformOperation.transform: object expected");t.transform=$root$1.vertexvis.protobuf.core.Matrix4x4f.fromObject(e.transform)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.transform=null),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root$1.vertexvis.protobuf.core.Matrix4x4f.toObject(e.transform,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ChangeSelectionOperation=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.material=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.material&&Object.hasOwnProperty.call(e,"material")&&$root$1.vertexvis.protobuf.core.ColorMaterial.encode(e.material,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.ChangeSelectionOperation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.material=$root$1.vertexvis.protobuf.core.ColorMaterial.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.material&&e.hasOwnProperty("material")){let t=$root$1.vertexvis.protobuf.core.ColorMaterial.verify(e.material);if(t)return"material."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.ChangeSelectionOperation)return e;let t=new $root$1.vertexvis.protobuf.stream.ChangeSelectionOperation;if(null!=e.material){if("object"!=typeof e.material)throw TypeError(".vertexvis.protobuf.stream.ChangeSelectionOperation.material: object expected");t.material=$root$1.vertexvis.protobuf.core.ColorMaterial.fromObject(e.material)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.material=null),null!=e.material&&e.hasOwnProperty("material")&&(r.material=$root$1.vertexvis.protobuf.core.ColorMaterial.toObject(e.material,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ClearTransformOperation=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.cascade=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.cascade&&Object.hasOwnProperty.call(e,"cascade")&&t.uint32(8).bool(e.cascade),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.ClearTransformOperation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.cascade=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.cascade&&e.hasOwnProperty("cascade")&&"boolean"!=typeof e.cascade?"cascade: boolean expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.ClearTransformOperation)return e;let t=new $root$1.vertexvis.protobuf.stream.ClearTransformOperation;return null!=e.cascade&&(t.cascade=Boolean(e.cascade)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.cascade=!1),null!=e.cascade&&e.hasOwnProperty("cascade")&&(r.cascade=e.cascade),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.OperationType=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.changeMaterial=null,e.prototype.changeVisibility=null,e.prototype.changeTransform=null,e.prototype.changeSelection=null,e.prototype.clearTransform=null,Object.defineProperty(e.prototype,"value",{get:$util$1.oneOfGetter(t=["changeMaterial","changeVisibility","changeTransform","changeSelection","clearTransform"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.changeMaterial&&Object.hasOwnProperty.call(e,"changeMaterial")&&$root$1.vertexvis.protobuf.stream.ChangeMaterialOperation.encode(e.changeMaterial,t.uint32(10).fork()).ldelim(),null!=e.changeVisibility&&Object.hasOwnProperty.call(e,"changeVisibility")&&$root$1.vertexvis.protobuf.stream.ChangeVisibilityOperation.encode(e.changeVisibility,t.uint32(18).fork()).ldelim(),null!=e.changeTransform&&Object.hasOwnProperty.call(e,"changeTransform")&&$root$1.vertexvis.protobuf.stream.ChangeTransformOperation.encode(e.changeTransform,t.uint32(26).fork()).ldelim(),null!=e.changeSelection&&Object.hasOwnProperty.call(e,"changeSelection")&&$root$1.vertexvis.protobuf.stream.ChangeSelectionOperation.encode(e.changeSelection,t.uint32(34).fork()).ldelim(),null!=e.clearTransform&&Object.hasOwnProperty.call(e,"clearTransform")&&$root$1.vertexvis.protobuf.stream.ClearTransformOperation.encode(e.clearTransform,t.uint32(42).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.OperationType;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.changeMaterial=$root$1.vertexvis.protobuf.stream.ChangeMaterialOperation.decode(e,e.uint32());break;case 2:n.changeVisibility=$root$1.vertexvis.protobuf.stream.ChangeVisibilityOperation.decode(e,e.uint32());break;case 3:n.changeTransform=$root$1.vertexvis.protobuf.stream.ChangeTransformOperation.decode(e,e.uint32());break;case 4:n.changeSelection=$root$1.vertexvis.protobuf.stream.ChangeSelectionOperation.decode(e,e.uint32());break;case 5:n.clearTransform=$root$1.vertexvis.protobuf.stream.ClearTransformOperation.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.changeMaterial&&e.hasOwnProperty("changeMaterial")){t.value=1;{let t=$root$1.vertexvis.protobuf.stream.ChangeMaterialOperation.verify(e.changeMaterial);if(t)return"changeMaterial."+t}}if(null!=e.changeVisibility&&e.hasOwnProperty("changeVisibility")){if(1===t.value)return"value: multiple values";t.value=1;{let t=$root$1.vertexvis.protobuf.stream.ChangeVisibilityOperation.verify(e.changeVisibility);if(t)return"changeVisibility."+t}}if(null!=e.changeTransform&&e.hasOwnProperty("changeTransform")){if(1===t.value)return"value: multiple values";t.value=1;{let t=$root$1.vertexvis.protobuf.stream.ChangeTransformOperation.verify(e.changeTransform);if(t)return"changeTransform."+t}}if(null!=e.changeSelection&&e.hasOwnProperty("changeSelection")){if(1===t.value)return"value: multiple values";t.value=1;{let t=$root$1.vertexvis.protobuf.stream.ChangeSelectionOperation.verify(e.changeSelection);if(t)return"changeSelection."+t}}if(null!=e.clearTransform&&e.hasOwnProperty("clearTransform")){if(1===t.value)return"value: multiple values";t.value=1;{let t=$root$1.vertexvis.protobuf.stream.ClearTransformOperation.verify(e.clearTransform);if(t)return"clearTransform."+t}}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.OperationType)return e;let t=new $root$1.vertexvis.protobuf.stream.OperationType;if(null!=e.changeMaterial){if("object"!=typeof e.changeMaterial)throw TypeError(".vertexvis.protobuf.stream.OperationType.changeMaterial: object expected");t.changeMaterial=$root$1.vertexvis.protobuf.stream.ChangeMaterialOperation.fromObject(e.changeMaterial)}if(null!=e.changeVisibility){if("object"!=typeof e.changeVisibility)throw TypeError(".vertexvis.protobuf.stream.OperationType.changeVisibility: object expected");t.changeVisibility=$root$1.vertexvis.protobuf.stream.ChangeVisibilityOperation.fromObject(e.changeVisibility)}if(null!=e.changeTransform){if("object"!=typeof e.changeTransform)throw TypeError(".vertexvis.protobuf.stream.OperationType.changeTransform: object expected");t.changeTransform=$root$1.vertexvis.protobuf.stream.ChangeTransformOperation.fromObject(e.changeTransform)}if(null!=e.changeSelection){if("object"!=typeof e.changeSelection)throw TypeError(".vertexvis.protobuf.stream.OperationType.changeSelection: object expected");t.changeSelection=$root$1.vertexvis.protobuf.stream.ChangeSelectionOperation.fromObject(e.changeSelection)}if(null!=e.clearTransform){if("object"!=typeof e.clearTransform)throw TypeError(".vertexvis.protobuf.stream.OperationType.clearTransform: object expected");t.clearTransform=$root$1.vertexvis.protobuf.stream.ClearTransformOperation.fromObject(e.clearTransform)}return t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.changeMaterial&&e.hasOwnProperty("changeMaterial")&&(r.changeMaterial=$root$1.vertexvis.protobuf.stream.ChangeMaterialOperation.toObject(e.changeMaterial,t),t.oneofs&&(r.value="changeMaterial")),null!=e.changeVisibility&&e.hasOwnProperty("changeVisibility")&&(r.changeVisibility=$root$1.vertexvis.protobuf.stream.ChangeVisibilityOperation.toObject(e.changeVisibility,t),t.oneofs&&(r.value="changeVisibility")),null!=e.changeTransform&&e.hasOwnProperty("changeTransform")&&(r.changeTransform=$root$1.vertexvis.protobuf.stream.ChangeTransformOperation.toObject(e.changeTransform,t),t.oneofs&&(r.value="changeTransform")),null!=e.changeSelection&&e.hasOwnProperty("changeSelection")&&(r.changeSelection=$root$1.vertexvis.protobuf.stream.ChangeSelectionOperation.toObject(e.changeSelection,t),t.oneofs&&(r.value="changeSelection")),null!=e.clearTransform&&e.hasOwnProperty("clearTransform")&&(r.clearTransform=$root$1.vertexvis.protobuf.stream.ClearTransformOperation.toObject(e.clearTransform,t),t.oneofs&&(r.value="clearTransform")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.SceneOperation=function(){function e(e){if(this.operationTypes=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.item=null,e.prototype.or=null,e.prototype.and=null,e.prototype.all=null,e.prototype.point=null,e.prototype.sceneTreeRange=null,e.prototype.metadata=null,e.prototype.override=null,e.prototype.volume=null,e.prototype.operationTypes=$util$1.emptyArray,Object.defineProperty(e.prototype,"query",{get:$util$1.oneOfGetter(t=["item","or","and","all","point","sceneTreeRange","metadata","override","volume"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer$1.create()),null!=e.item&&Object.hasOwnProperty.call(e,"item")&&$root$1.vertexvis.protobuf.stream.ItemQuery.encode(e.item,t.uint32(10).fork()).ldelim(),null!=e.or&&Object.hasOwnProperty.call(e,"or")&&$root$1.vertexvis.protobuf.stream.QueryCollection.encode(e.or,t.uint32(18).fork()).ldelim(),null!=e.and&&Object.hasOwnProperty.call(e,"and")&&$root$1.vertexvis.protobuf.stream.QueryCollection.encode(e.and,t.uint32(26).fork()).ldelim(),null!=e.operationTypes&&e.operationTypes.length)for(let r=0;r<e.operationTypes.length;++r)$root$1.vertexvis.protobuf.stream.OperationType.encode(e.operationTypes[r],t.uint32(34).fork()).ldelim();return null!=e.all&&Object.hasOwnProperty.call(e,"all")&&$root$1.vertexvis.protobuf.stream.AllQuery.encode(e.all,t.uint32(42).fork()).ldelim(),null!=e.point&&Object.hasOwnProperty.call(e,"point")&&$root$1.vertexvis.protobuf.stream.PointQuery.encode(e.point,t.uint32(50).fork()).ldelim(),null!=e.sceneTreeRange&&Object.hasOwnProperty.call(e,"sceneTreeRange")&&$root$1.vertexvis.protobuf.stream.SceneTreeRangeQuery.encode(e.sceneTreeRange,t.uint32(58).fork()).ldelim(),null!=e.metadata&&Object.hasOwnProperty.call(e,"metadata")&&$root$1.vertexvis.protobuf.stream.MetadataFilterQuery.encode(e.metadata,t.uint32(66).fork()).ldelim(),null!=e.override&&Object.hasOwnProperty.call(e,"override")&&$root$1.vertexvis.protobuf.stream.OverrideQuery.encode(e.override,t.uint32(74).fork()).ldelim(),null!=e.volume&&Object.hasOwnProperty.call(e,"volume")&&$root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery.encode(e.volume,t.uint32(82).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.SceneOperation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.item=$root$1.vertexvis.protobuf.stream.ItemQuery.decode(e,e.uint32());break;case 2:n.or=$root$1.vertexvis.protobuf.stream.QueryCollection.decode(e,e.uint32());break;case 3:n.and=$root$1.vertexvis.protobuf.stream.QueryCollection.decode(e,e.uint32());break;case 5:n.all=$root$1.vertexvis.protobuf.stream.AllQuery.decode(e,e.uint32());break;case 6:n.point=$root$1.vertexvis.protobuf.stream.PointQuery.decode(e,e.uint32());break;case 7:n.sceneTreeRange=$root$1.vertexvis.protobuf.stream.SceneTreeRangeQuery.decode(e,e.uint32());break;case 8:n.metadata=$root$1.vertexvis.protobuf.stream.MetadataFilterQuery.decode(e,e.uint32());break;case 9:n.override=$root$1.vertexvis.protobuf.stream.OverrideQuery.decode(e,e.uint32());break;case 10:n.volume=$root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery.decode(e,e.uint32());break;case 4:n.operationTypes&&n.operationTypes.length||(n.operationTypes=[]),n.operationTypes.push($root$1.vertexvis.protobuf.stream.OperationType.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.item&&e.hasOwnProperty("item")){t.query=1;{let t=$root$1.vertexvis.protobuf.stream.ItemQuery.verify(e.item);if(t)return"item."+t}}if(null!=e.or&&e.hasOwnProperty("or")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root$1.vertexvis.protobuf.stream.QueryCollection.verify(e.or);if(t)return"or."+t}}if(null!=e.and&&e.hasOwnProperty("and")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root$1.vertexvis.protobuf.stream.QueryCollection.verify(e.and);if(t)return"and."+t}}if(null!=e.all&&e.hasOwnProperty("all")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root$1.vertexvis.protobuf.stream.AllQuery.verify(e.all);if(t)return"all."+t}}if(null!=e.point&&e.hasOwnProperty("point")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root$1.vertexvis.protobuf.stream.PointQuery.verify(e.point);if(t)return"point."+t}}if(null!=e.sceneTreeRange&&e.hasOwnProperty("sceneTreeRange")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root$1.vertexvis.protobuf.stream.SceneTreeRangeQuery.verify(e.sceneTreeRange);if(t)return"sceneTreeRange."+t}}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root$1.vertexvis.protobuf.stream.MetadataFilterQuery.verify(e.metadata);if(t)return"metadata."+t}}if(null!=e.override&&e.hasOwnProperty("override")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root$1.vertexvis.protobuf.stream.OverrideQuery.verify(e.override);if(t)return"override."+t}}if(null!=e.volume&&e.hasOwnProperty("volume")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery.verify(e.volume);if(t)return"volume."+t}}if(null!=e.operationTypes&&e.hasOwnProperty("operationTypes")){if(!Array.isArray(e.operationTypes))return"operationTypes: array expected";for(let t=0;t<e.operationTypes.length;++t){let r=$root$1.vertexvis.protobuf.stream.OperationType.verify(e.operationTypes[t]);if(r)return"operationTypes."+r}}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.SceneOperation)return e;let t=new $root$1.vertexvis.protobuf.stream.SceneOperation;if(null!=e.item){if("object"!=typeof e.item)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.item: object expected");t.item=$root$1.vertexvis.protobuf.stream.ItemQuery.fromObject(e.item)}if(null!=e.or){if("object"!=typeof e.or)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.or: object expected");t.or=$root$1.vertexvis.protobuf.stream.QueryCollection.fromObject(e.or)}if(null!=e.and){if("object"!=typeof e.and)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.and: object expected");t.and=$root$1.vertexvis.protobuf.stream.QueryCollection.fromObject(e.and)}if(null!=e.all){if("object"!=typeof e.all)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.all: object expected");t.all=$root$1.vertexvis.protobuf.stream.AllQuery.fromObject(e.all)}if(null!=e.point){if("object"!=typeof e.point)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.point: object expected");t.point=$root$1.vertexvis.protobuf.stream.PointQuery.fromObject(e.point)}if(null!=e.sceneTreeRange){if("object"!=typeof e.sceneTreeRange)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.sceneTreeRange: object expected");t.sceneTreeRange=$root$1.vertexvis.protobuf.stream.SceneTreeRangeQuery.fromObject(e.sceneTreeRange)}if(null!=e.metadata){if("object"!=typeof e.metadata)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.metadata: object expected");t.metadata=$root$1.vertexvis.protobuf.stream.MetadataFilterQuery.fromObject(e.metadata)}if(null!=e.override){if("object"!=typeof e.override)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.override: object expected");t.override=$root$1.vertexvis.protobuf.stream.OverrideQuery.fromObject(e.override)}if(null!=e.volume){if("object"!=typeof e.volume)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.volume: object expected");t.volume=$root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery.fromObject(e.volume)}if(e.operationTypes){if(!Array.isArray(e.operationTypes))throw TypeError(".vertexvis.protobuf.stream.SceneOperation.operationTypes: array expected");t.operationTypes=[];for(let r=0;r<e.operationTypes.length;++r){if("object"!=typeof e.operationTypes[r])throw TypeError(".vertexvis.protobuf.stream.SceneOperation.operationTypes: object expected");t.operationTypes[r]=$root$1.vertexvis.protobuf.stream.OperationType.fromObject(e.operationTypes[r])}}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.operationTypes=[]),null!=e.item&&e.hasOwnProperty("item")&&(r.item=$root$1.vertexvis.protobuf.stream.ItemQuery.toObject(e.item,t),t.oneofs&&(r.query="item")),null!=e.or&&e.hasOwnProperty("or")&&(r.or=$root$1.vertexvis.protobuf.stream.QueryCollection.toObject(e.or,t),t.oneofs&&(r.query="or")),null!=e.and&&e.hasOwnProperty("and")&&(r.and=$root$1.vertexvis.protobuf.stream.QueryCollection.toObject(e.and,t),t.oneofs&&(r.query="and")),e.operationTypes&&e.operationTypes.length){r.operationTypes=[];for(let n=0;n<e.operationTypes.length;++n)r.operationTypes[n]=$root$1.vertexvis.protobuf.stream.OperationType.toObject(e.operationTypes[n],t)}return null!=e.all&&e.hasOwnProperty("all")&&(r.all=$root$1.vertexvis.protobuf.stream.AllQuery.toObject(e.all,t),t.oneofs&&(r.query="all")),null!=e.point&&e.hasOwnProperty("point")&&(r.point=$root$1.vertexvis.protobuf.stream.PointQuery.toObject(e.point,t),t.oneofs&&(r.query="point")),null!=e.sceneTreeRange&&e.hasOwnProperty("sceneTreeRange")&&(r.sceneTreeRange=$root$1.vertexvis.protobuf.stream.SceneTreeRangeQuery.toObject(e.sceneTreeRange,t),t.oneofs&&(r.query="sceneTreeRange")),null!=e.metadata&&e.hasOwnProperty("metadata")&&(r.metadata=$root$1.vertexvis.protobuf.stream.MetadataFilterQuery.toObject(e.metadata,t),t.oneofs&&(r.query="metadata")),null!=e.override&&e.hasOwnProperty("override")&&(r.override=$root$1.vertexvis.protobuf.stream.OverrideQuery.toObject(e.override,t),t.oneofs&&(r.query="override")),null!=e.volume&&e.hasOwnProperty("volume")&&(r.volume=$root$1.vertexvis.protobuf.stream.VolumeIntersectionQuery.toObject(e.volume,t),t.oneofs&&(r.query="volume")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.PerformanceTiming=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.receiveToPaintDuration=null,Object.defineProperty(e.prototype,"timing",{get:$util$1.oneOfGetter(t=["receiveToPaintDuration"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.receiveToPaintDuration&&Object.hasOwnProperty.call(e,"receiveToPaintDuration")&&$root$1.google.protobuf.Duration.encode(e.receiveToPaintDuration,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.PerformanceTiming;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.receiveToPaintDuration=$root$1.google.protobuf.Duration.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.receiveToPaintDuration&&e.hasOwnProperty("receiveToPaintDuration")){let t=$root$1.google.protobuf.Duration.verify(e.receiveToPaintDuration);if(t)return"receiveToPaintDuration."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.PerformanceTiming)return e;let t=new $root$1.vertexvis.protobuf.stream.PerformanceTiming;if(null!=e.receiveToPaintDuration){if("object"!=typeof e.receiveToPaintDuration)throw TypeError(".vertexvis.protobuf.stream.PerformanceTiming.receiveToPaintDuration: object expected");t.receiveToPaintDuration=$root$1.google.protobuf.Duration.fromObject(e.receiveToPaintDuration)}return t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.receiveToPaintDuration&&e.hasOwnProperty("receiveToPaintDuration")&&(r.receiveToPaintDuration=$root$1.google.protobuf.Duration.toObject(e.receiveToPaintDuration,t),t.oneofs&&(r.timing="receiveToPaintDuration")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.StreamAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.experimentalGhosting=null,e.prototype.depthBuffers=null,e.prototype.featureLines=null,e.prototype.featureHighlighting=null,e.prototype.featureMaps=null,e.prototype.noDefaultLights=!1,e.prototype.experimentalRenderingOptions="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.experimentalGhosting&&Object.hasOwnProperty.call(e,"experimentalGhosting")&&$root$1.vertexvis.protobuf.stream.GhostingAttributes.encode(e.experimentalGhosting,t.uint32(10).fork()).ldelim(),null!=e.depthBuffers&&Object.hasOwnProperty.call(e,"depthBuffers")&&$root$1.vertexvis.protobuf.stream.DepthBufferAttributes.encode(e.depthBuffers,t.uint32(18).fork()).ldelim(),null!=e.featureLines&&Object.hasOwnProperty.call(e,"featureLines")&&$root$1.vertexvis.protobuf.stream.FeatureLineAttributes.encode(e.featureLines,t.uint32(26).fork()).ldelim(),null!=e.featureHighlighting&&Object.hasOwnProperty.call(e,"featureHighlighting")&&$root$1.vertexvis.protobuf.stream.FeatureHighlightAttributes.encode(e.featureHighlighting,t.uint32(34).fork()).ldelim(),null!=e.featureMaps&&Object.hasOwnProperty.call(e,"featureMaps")&&$root$1.vertexvis.protobuf.stream.FeatureMapAttributes.encode(e.featureMaps,t.uint32(42).fork()).ldelim(),null!=e.noDefaultLights&&Object.hasOwnProperty.call(e,"noDefaultLights")&&t.uint32(48).bool(e.noDefaultLights),null!=e.experimentalRenderingOptions&&Object.hasOwnProperty.call(e,"experimentalRenderingOptions")&&t.uint32(58).string(e.experimentalRenderingOptions),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.StreamAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.experimentalGhosting=$root$1.vertexvis.protobuf.stream.GhostingAttributes.decode(e,e.uint32());break;case 2:n.depthBuffers=$root$1.vertexvis.protobuf.stream.DepthBufferAttributes.decode(e,e.uint32());break;case 3:n.featureLines=$root$1.vertexvis.protobuf.stream.FeatureLineAttributes.decode(e,e.uint32());break;case 4:n.featureHighlighting=$root$1.vertexvis.protobuf.stream.FeatureHighlightAttributes.decode(e,e.uint32());break;case 5:n.featureMaps=$root$1.vertexvis.protobuf.stream.FeatureMapAttributes.decode(e,e.uint32());break;case 6:n.noDefaultLights=e.bool();break;case 7:n.experimentalRenderingOptions=e.string();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.experimentalGhosting&&e.hasOwnProperty("experimentalGhosting")){let t=$root$1.vertexvis.protobuf.stream.GhostingAttributes.verify(e.experimentalGhosting);if(t)return"experimentalGhosting."+t}if(null!=e.depthBuffers&&e.hasOwnProperty("depthBuffers")){let t=$root$1.vertexvis.protobuf.stream.DepthBufferAttributes.verify(e.depthBuffers);if(t)return"depthBuffers."+t}if(null!=e.featureLines&&e.hasOwnProperty("featureLines")){let t=$root$1.vertexvis.protobuf.stream.FeatureLineAttributes.verify(e.featureLines);if(t)return"featureLines."+t}if(null!=e.featureHighlighting&&e.hasOwnProperty("featureHighlighting")){let t=$root$1.vertexvis.protobuf.stream.FeatureHighlightAttributes.verify(e.featureHighlighting);if(t)return"featureHighlighting."+t}if(null!=e.featureMaps&&e.hasOwnProperty("featureMaps")){let t=$root$1.vertexvis.protobuf.stream.FeatureMapAttributes.verify(e.featureMaps);if(t)return"featureMaps."+t}return null!=e.noDefaultLights&&e.hasOwnProperty("noDefaultLights")&&"boolean"!=typeof e.noDefaultLights?"noDefaultLights: boolean expected":null!=e.experimentalRenderingOptions&&e.hasOwnProperty("experimentalRenderingOptions")&&!$util$1.isString(e.experimentalRenderingOptions)?"experimentalRenderingOptions: string expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.StreamAttributes)return e;let t=new $root$1.vertexvis.protobuf.stream.StreamAttributes;if(null!=e.experimentalGhosting){if("object"!=typeof e.experimentalGhosting)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.experimentalGhosting: object expected");t.experimentalGhosting=$root$1.vertexvis.protobuf.stream.GhostingAttributes.fromObject(e.experimentalGhosting)}if(null!=e.depthBuffers){if("object"!=typeof e.depthBuffers)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.depthBuffers: object expected");t.depthBuffers=$root$1.vertexvis.protobuf.stream.DepthBufferAttributes.fromObject(e.depthBuffers)}if(null!=e.featureLines){if("object"!=typeof e.featureLines)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.featureLines: object expected");t.featureLines=$root$1.vertexvis.protobuf.stream.FeatureLineAttributes.fromObject(e.featureLines)}if(null!=e.featureHighlighting){if("object"!=typeof e.featureHighlighting)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.featureHighlighting: object expected");t.featureHighlighting=$root$1.vertexvis.protobuf.stream.FeatureHighlightAttributes.fromObject(e.featureHighlighting)}if(null!=e.featureMaps){if("object"!=typeof e.featureMaps)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.featureMaps: object expected");t.featureMaps=$root$1.vertexvis.protobuf.stream.FeatureMapAttributes.fromObject(e.featureMaps)}return null!=e.noDefaultLights&&(t.noDefaultLights=Boolean(e.noDefaultLights)),null!=e.experimentalRenderingOptions&&(t.experimentalRenderingOptions=String(e.experimentalRenderingOptions)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.experimentalGhosting=null,r.depthBuffers=null,r.featureLines=null,r.featureHighlighting=null,r.featureMaps=null,r.noDefaultLights=!1,r.experimentalRenderingOptions=""),null!=e.experimentalGhosting&&e.hasOwnProperty("experimentalGhosting")&&(r.experimentalGhosting=$root$1.vertexvis.protobuf.stream.GhostingAttributes.toObject(e.experimentalGhosting,t)),null!=e.depthBuffers&&e.hasOwnProperty("depthBuffers")&&(r.depthBuffers=$root$1.vertexvis.protobuf.stream.DepthBufferAttributes.toObject(e.depthBuffers,t)),null!=e.featureLines&&e.hasOwnProperty("featureLines")&&(r.featureLines=$root$1.vertexvis.protobuf.stream.FeatureLineAttributes.toObject(e.featureLines,t)),null!=e.featureHighlighting&&e.hasOwnProperty("featureHighlighting")&&(r.featureHighlighting=$root$1.vertexvis.protobuf.stream.FeatureHighlightAttributes.toObject(e.featureHighlighting,t)),null!=e.featureMaps&&e.hasOwnProperty("featureMaps")&&(r.featureMaps=$root$1.vertexvis.protobuf.stream.FeatureMapAttributes.toObject(e.featureMaps,t)),null!=e.noDefaultLights&&e.hasOwnProperty("noDefaultLights")&&(r.noDefaultLights=e.noDefaultLights),null!=e.experimentalRenderingOptions&&e.hasOwnProperty("experimentalRenderingOptions")&&(r.experimentalRenderingOptions=e.experimentalRenderingOptions),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.GhostingAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.enabled=null,e.prototype.opacity=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.enabled&&Object.hasOwnProperty.call(e,"enabled")&&$root$1.google.protobuf.BoolValue.encode(e.enabled,t.uint32(10).fork()).ldelim(),null!=e.opacity&&Object.hasOwnProperty.call(e,"opacity")&&$root$1.google.protobuf.FloatValue.encode(e.opacity,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.GhostingAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.enabled=$root$1.google.protobuf.BoolValue.decode(e,e.uint32());break;case 2:n.opacity=$root$1.google.protobuf.FloatValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.enabled&&e.hasOwnProperty("enabled")){let t=$root$1.google.protobuf.BoolValue.verify(e.enabled);if(t)return"enabled."+t}if(null!=e.opacity&&e.hasOwnProperty("opacity")){let t=$root$1.google.protobuf.FloatValue.verify(e.opacity);if(t)return"opacity."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.GhostingAttributes)return e;let t=new $root$1.vertexvis.protobuf.stream.GhostingAttributes;if(null!=e.enabled){if("object"!=typeof e.enabled)throw TypeError(".vertexvis.protobuf.stream.GhostingAttributes.enabled: object expected");t.enabled=$root$1.google.protobuf.BoolValue.fromObject(e.enabled)}if(null!=e.opacity){if("object"!=typeof e.opacity)throw TypeError(".vertexvis.protobuf.stream.GhostingAttributes.opacity: object expected");t.opacity=$root$1.google.protobuf.FloatValue.fromObject(e.opacity)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.enabled=null,r.opacity=null),null!=e.enabled&&e.hasOwnProperty("enabled")&&(r.enabled=$root$1.google.protobuf.BoolValue.toObject(e.enabled,t)),null!=e.opacity&&e.hasOwnProperty("opacity")&&(r.opacity=$root$1.google.protobuf.FloatValue.toObject(e.opacity,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.DepthBufferAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.enabled=null,e.prototype.frameType=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.enabled&&Object.hasOwnProperty.call(e,"enabled")&&$root$1.google.protobuf.BoolValue.encode(e.enabled,t.uint32(10).fork()).ldelim(),null!=e.frameType&&Object.hasOwnProperty.call(e,"frameType")&&t.uint32(16).int32(e.frameType),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.DepthBufferAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.enabled=$root$1.google.protobuf.BoolValue.decode(e,e.uint32());break;case 2:n.frameType=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.enabled&&e.hasOwnProperty("enabled")){let t=$root$1.google.protobuf.BoolValue.verify(e.enabled);if(t)return"enabled."+t}if(null!=e.frameType&&e.hasOwnProperty("frameType"))switch(e.frameType){default:return"frameType: enum value expected";case 0:case 1:case 2:case 3:}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.DepthBufferAttributes)return e;let t=new $root$1.vertexvis.protobuf.stream.DepthBufferAttributes;if(null!=e.enabled){if("object"!=typeof e.enabled)throw TypeError(".vertexvis.protobuf.stream.DepthBufferAttributes.enabled: object expected");t.enabled=$root$1.google.protobuf.BoolValue.fromObject(e.enabled)}switch(e.frameType){case"FRAME_TYPE_INVALID":case 0:t.frameType=0;break;case"FRAME_TYPE_ALL":case 1:t.frameType=1;break;case"FRAME_TYPE_TRANSITION":case 2:t.frameType=2;break;case"FRAME_TYPE_FINAL":case 3:t.frameType=3}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.enabled=null,r.frameType=t.enums===String?"FRAME_TYPE_INVALID":0),null!=e.enabled&&e.hasOwnProperty("enabled")&&(r.enabled=$root$1.google.protobuf.BoolValue.toObject(e.enabled,t)),null!=e.frameType&&e.hasOwnProperty("frameType")&&(r.frameType=t.enums===String?$root$1.vertexvis.protobuf.stream.FrameType[e.frameType]:e.frameType),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.FeatureMapAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.enabled=null,e.prototype.frameType=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.enabled&&Object.hasOwnProperty.call(e,"enabled")&&$root$1.google.protobuf.BoolValue.encode(e.enabled,t.uint32(10).fork()).ldelim(),null!=e.frameType&&Object.hasOwnProperty.call(e,"frameType")&&t.uint32(16).int32(e.frameType),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.FeatureMapAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.enabled=$root$1.google.protobuf.BoolValue.decode(e,e.uint32());break;case 2:n.frameType=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.enabled&&e.hasOwnProperty("enabled")){let t=$root$1.google.protobuf.BoolValue.verify(e.enabled);if(t)return"enabled."+t}if(null!=e.frameType&&e.hasOwnProperty("frameType"))switch(e.frameType){default:return"frameType: enum value expected";case 0:case 1:case 2:case 3:}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.FeatureMapAttributes)return e;let t=new $root$1.vertexvis.protobuf.stream.FeatureMapAttributes;if(null!=e.enabled){if("object"!=typeof e.enabled)throw TypeError(".vertexvis.protobuf.stream.FeatureMapAttributes.enabled: object expected");t.enabled=$root$1.google.protobuf.BoolValue.fromObject(e.enabled)}switch(e.frameType){case"FRAME_TYPE_INVALID":case 0:t.frameType=0;break;case"FRAME_TYPE_ALL":case 1:t.frameType=1;break;case"FRAME_TYPE_TRANSITION":case 2:t.frameType=2;break;case"FRAME_TYPE_FINAL":case 3:t.frameType=3}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.enabled=null,r.frameType=t.enums===String?"FRAME_TYPE_INVALID":0),null!=e.enabled&&e.hasOwnProperty("enabled")&&(r.enabled=$root$1.google.protobuf.BoolValue.toObject(e.enabled,t)),null!=e.frameType&&e.hasOwnProperty("frameType")&&(r.frameType=t.enums===String?$root$1.vertexvis.protobuf.stream.FrameType[e.frameType]:e.frameType),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.AnimationAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.duration=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.duration&&Object.hasOwnProperty.call(e,"duration")&&$root$1.google.protobuf.Duration.encode(e.duration,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.AnimationAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.duration=$root$1.google.protobuf.Duration.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.duration&&e.hasOwnProperty("duration")){let t=$root$1.google.protobuf.Duration.verify(e.duration);if(t)return"duration."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.AnimationAttributes)return e;let t=new $root$1.vertexvis.protobuf.stream.AnimationAttributes;if(null!=e.duration){if("object"!=typeof e.duration)throw TypeError(".vertexvis.protobuf.stream.AnimationAttributes.duration: object expected");t.duration=$root$1.google.protobuf.Duration.fromObject(e.duration)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.duration=null),null!=e.duration&&e.hasOwnProperty("duration")&&(r.duration=$root$1.google.protobuf.Duration.toObject(e.duration,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.FrameType=function(){const e={},t=Object.create(e);return t[e[0]="FRAME_TYPE_INVALID"]=0,t[e[1]="FRAME_TYPE_ALL"]=1,t[e[2]="FRAME_TYPE_TRANSITION"]=2,t[e[3]="FRAME_TYPE_FINAL"]=3,t}(),e.MetadataPropertyCategory=function(){const e={},t=Object.create(e);return t[e[0]="METADATA_PROPERTY_CATEGORY_INVALID"]=0,t[e[1]="METADATA_PROPERTY_CATEGORY_USER"]=1,t[e[2]="METADATA_PROPERTY_CATEGORY_VERTEX"]=2,t[e[3]="METADATA_PROPERTY_CATEGORY_VENDOR"]=3,t}(),e.MetadataProperty=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.category=0,e.prototype.key="",e.prototype.asString=null,e.prototype.asLong=null,e.prototype.asFloat=null,e.prototype.asDate=null,Object.defineProperty(e.prototype,"value",{get:$util$1.oneOfGetter(t=["asString","asLong","asFloat","asDate"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.category&&Object.hasOwnProperty.call(e,"category")&&t.uint32(8).int32(e.category),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(18).string(e.key),null!=e.asString&&Object.hasOwnProperty.call(e,"asString")&&t.uint32(26).string(e.asString),null!=e.asLong&&Object.hasOwnProperty.call(e,"asLong")&&t.uint32(32).sint64(e.asLong),null!=e.asFloat&&Object.hasOwnProperty.call(e,"asFloat")&&t.uint32(45).float(e.asFloat),null!=e.asDate&&Object.hasOwnProperty.call(e,"asDate")&&$root$1.vertexvis.protobuf.core.Instant.encode(e.asDate,t.uint32(50).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.MetadataProperty;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.category=e.int32();break;case 2:n.key=e.string();break;case 3:n.asString=e.string();break;case 4:n.asLong=e.sint64();break;case 5:n.asFloat=e.float();break;case 6:n.asDate=$root$1.vertexvis.protobuf.core.Instant.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.category&&e.hasOwnProperty("category"))switch(e.category){default:return"category: enum value expected";case 0:case 1:case 2:case 3:}if(null!=e.key&&e.hasOwnProperty("key")&&!$util$1.isString(e.key))return"key: string expected";if(null!=e.asString&&e.hasOwnProperty("asString")&&(t.value=1,!$util$1.isString(e.asString)))return"asString: string expected";if(null!=e.asLong&&e.hasOwnProperty("asLong")){if(1===t.value)return"value: multiple values";if(t.value=1,!($util$1.isInteger(e.asLong)||e.asLong&&$util$1.isInteger(e.asLong.low)&&$util$1.isInteger(e.asLong.high)))return"asLong: integer|Long expected"}if(null!=e.asFloat&&e.hasOwnProperty("asFloat")){if(1===t.value)return"value: multiple values";if(t.value=1,"number"!=typeof e.asFloat)return"asFloat: number expected"}if(null!=e.asDate&&e.hasOwnProperty("asDate")){if(1===t.value)return"value: multiple values";t.value=1;{let t=$root$1.vertexvis.protobuf.core.Instant.verify(e.asDate);if(t)return"asDate."+t}}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.MetadataProperty)return e;let t=new $root$1.vertexvis.protobuf.stream.MetadataProperty;switch(e.category){case"METADATA_PROPERTY_CATEGORY_INVALID":case 0:t.category=0;break;case"METADATA_PROPERTY_CATEGORY_USER":case 1:t.category=1;break;case"METADATA_PROPERTY_CATEGORY_VERTEX":case 2:t.category=2;break;case"METADATA_PROPERTY_CATEGORY_VENDOR":case 3:t.category=3}if(null!=e.key&&(t.key=String(e.key)),null!=e.asString&&(t.asString=String(e.asString)),null!=e.asLong&&($util$1.Long?(t.asLong=$util$1.Long.fromValue(e.asLong)).unsigned=!1:"string"==typeof e.asLong?t.asLong=parseInt(e.asLong,10):"number"==typeof e.asLong?t.asLong=e.asLong:"object"==typeof e.asLong&&(t.asLong=new $util$1.LongBits(e.asLong.low>>>0,e.asLong.high>>>0).toNumber())),null!=e.asFloat&&(t.asFloat=Number(e.asFloat)),null!=e.asDate){if("object"!=typeof e.asDate)throw TypeError(".vertexvis.protobuf.stream.MetadataProperty.asDate: object expected");t.asDate=$root$1.vertexvis.protobuf.core.Instant.fromObject(e.asDate)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.category=t.enums===String?"METADATA_PROPERTY_CATEGORY_INVALID":0,r.key=""),null!=e.category&&e.hasOwnProperty("category")&&(r.category=t.enums===String?$root$1.vertexvis.protobuf.stream.MetadataPropertyCategory[e.category]:e.category),null!=e.key&&e.hasOwnProperty("key")&&(r.key=e.key),null!=e.asString&&e.hasOwnProperty("asString")&&(r.asString=e.asString,t.oneofs&&(r.value="asString")),null!=e.asLong&&e.hasOwnProperty("asLong")&&(r.asLong="number"==typeof e.asLong?t.longs===String?String(e.asLong):e.asLong:t.longs===String?$util$1.Long.prototype.toString.call(e.asLong):t.longs===Number?new $util$1.LongBits(e.asLong.low>>>0,e.asLong.high>>>0).toNumber():e.asLong,t.oneofs&&(r.value="asLong")),null!=e.asFloat&&e.hasOwnProperty("asFloat")&&(r.asFloat=t.json&&!isFinite(e.asFloat)?String(e.asFloat):e.asFloat,t.oneofs&&(r.value="asFloat")),null!=e.asDate&&e.hasOwnProperty("asDate")&&(r.asDate=$root$1.vertexvis.protobuf.core.Instant.toObject(e.asDate,t),t.oneofs&&(r.value="asDate")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.SectionPlane=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.normal=null,e.prototype.offset=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.normal&&Object.hasOwnProperty.call(e,"normal")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.normal,t.uint32(10).fork()).ldelim(),null!=e.offset&&Object.hasOwnProperty.call(e,"offset")&&t.uint32(21).float(e.offset),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.SectionPlane;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.normal=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.offset=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.normal&&e.hasOwnProperty("normal")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.normal);if(t)return"normal."+t}return null!=e.offset&&e.hasOwnProperty("offset")&&"number"!=typeof e.offset?"offset: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.SectionPlane)return e;let t=new $root$1.vertexvis.protobuf.stream.SectionPlane;if(null!=e.normal){if("object"!=typeof e.normal)throw TypeError(".vertexvis.protobuf.stream.SectionPlane.normal: object expected");t.normal=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.normal)}return null!=e.offset&&(t.offset=Number(e.offset)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.normal=null,r.offset=0),null!=e.normal&&e.hasOwnProperty("normal")&&(r.normal=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.normal,t)),null!=e.offset&&e.hasOwnProperty("offset")&&(r.offset=t.json&&!isFinite(e.offset)?String(e.offset):e.offset),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.CrossSectioning=function(){function e(e){if(this.sectionPlanes=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.sectionPlanes=$util$1.emptyArray,e.prototype.highlightColor=null,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer$1.create()),null!=e.sectionPlanes&&e.sectionPlanes.length)for(let r=0;r<e.sectionPlanes.length;++r)$root$1.vertexvis.protobuf.stream.SectionPlane.encode(e.sectionPlanes[r],t.uint32(10).fork()).ldelim();return null!=e.highlightColor&&Object.hasOwnProperty.call(e,"highlightColor")&&$root$1.vertexvis.protobuf.core.RGBi.encode(e.highlightColor,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.CrossSectioning;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.sectionPlanes&&n.sectionPlanes.length||(n.sectionPlanes=[]),n.sectionPlanes.push($root$1.vertexvis.protobuf.stream.SectionPlane.decode(e,e.uint32()));break;case 2:n.highlightColor=$root$1.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sectionPlanes&&e.hasOwnProperty("sectionPlanes")){if(!Array.isArray(e.sectionPlanes))return"sectionPlanes: array expected";for(let t=0;t<e.sectionPlanes.length;++t){let r=$root$1.vertexvis.protobuf.stream.SectionPlane.verify(e.sectionPlanes[t]);if(r)return"sectionPlanes."+r}}if(null!=e.highlightColor&&e.hasOwnProperty("highlightColor")){let t=$root$1.vertexvis.protobuf.core.RGBi.verify(e.highlightColor);if(t)return"highlightColor."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.CrossSectioning)return e;let t=new $root$1.vertexvis.protobuf.stream.CrossSectioning;if(e.sectionPlanes){if(!Array.isArray(e.sectionPlanes))throw TypeError(".vertexvis.protobuf.stream.CrossSectioning.sectionPlanes: array expected");t.sectionPlanes=[];for(let r=0;r<e.sectionPlanes.length;++r){if("object"!=typeof e.sectionPlanes[r])throw TypeError(".vertexvis.protobuf.stream.CrossSectioning.sectionPlanes: object expected");t.sectionPlanes[r]=$root$1.vertexvis.protobuf.stream.SectionPlane.fromObject(e.sectionPlanes[r])}}if(null!=e.highlightColor){if("object"!=typeof e.highlightColor)throw TypeError(".vertexvis.protobuf.stream.CrossSectioning.highlightColor: object expected");t.highlightColor=$root$1.vertexvis.protobuf.core.RGBi.fromObject(e.highlightColor)}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.sectionPlanes=[]),t.defaults&&(r.highlightColor=null),e.sectionPlanes&&e.sectionPlanes.length){r.sectionPlanes=[];for(let n=0;n<e.sectionPlanes.length;++n)r.sectionPlanes[n]=$root$1.vertexvis.protobuf.stream.SectionPlane.toObject(e.sectionPlanes[n],t)}return null!=e.highlightColor&&e.hasOwnProperty("highlightColor")&&(r.highlightColor=$root$1.vertexvis.protobuf.core.RGBi.toObject(e.highlightColor,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Orientation=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.up=null,e.prototype.front=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.up&&Object.hasOwnProperty.call(e,"up")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.up,t.uint32(10).fork()).ldelim(),null!=e.front&&Object.hasOwnProperty.call(e,"front")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.front,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.Orientation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.up=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.front=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.up&&e.hasOwnProperty("up")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.up);if(t)return"up."+t}if(null!=e.front&&e.hasOwnProperty("front")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.front);if(t)return"front."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.Orientation)return e;let t=new $root$1.vertexvis.protobuf.stream.Orientation;if(null!=e.up){if("object"!=typeof e.up)throw TypeError(".vertexvis.protobuf.stream.Orientation.up: object expected");t.up=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.up)}if(null!=e.front){if("object"!=typeof e.front)throw TypeError(".vertexvis.protobuf.stream.Orientation.front: object expected");t.front=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.front)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.up=null,r.front=null),null!=e.up&&e.hasOwnProperty("up")&&(r.up=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.up,t)),null!=e.front&&e.hasOwnProperty("front")&&(r.front=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.front,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.FeatureLineAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.lineWidth=0,e.prototype.lineColor=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.lineWidth&&Object.hasOwnProperty.call(e,"lineWidth")&&t.uint32(13).float(e.lineWidth),null!=e.lineColor&&Object.hasOwnProperty.call(e,"lineColor")&&$root$1.vertexvis.protobuf.core.RGBi.encode(e.lineColor,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.FeatureLineAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.lineWidth=e.float();break;case 2:n.lineColor=$root$1.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.lineWidth&&e.hasOwnProperty("lineWidth")&&"number"!=typeof e.lineWidth)return"lineWidth: number expected";if(null!=e.lineColor&&e.hasOwnProperty("lineColor")){let t=$root$1.vertexvis.protobuf.core.RGBi.verify(e.lineColor);if(t)return"lineColor."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.FeatureLineAttributes)return e;let t=new $root$1.vertexvis.protobuf.stream.FeatureLineAttributes;if(null!=e.lineWidth&&(t.lineWidth=Number(e.lineWidth)),null!=e.lineColor){if("object"!=typeof e.lineColor)throw TypeError(".vertexvis.protobuf.stream.FeatureLineAttributes.lineColor: object expected");t.lineColor=$root$1.vertexvis.protobuf.core.RGBi.fromObject(e.lineColor)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.lineWidth=0,r.lineColor=null),null!=e.lineWidth&&e.hasOwnProperty("lineWidth")&&(r.lineWidth=t.json&&!isFinite(e.lineWidth)?String(e.lineWidth):e.lineWidth),null!=e.lineColor&&e.hasOwnProperty("lineColor")&&(r.lineColor=$root$1.vertexvis.protobuf.core.RGBi.toObject(e.lineColor,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.FeatureHighlightAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.highlightColor=null,e.prototype.occludedOpacity=null,e.prototype.outline=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.highlightColor&&Object.hasOwnProperty.call(e,"highlightColor")&&$root$1.vertexvis.protobuf.core.RGBi.encode(e.highlightColor,t.uint32(10).fork()).ldelim(),null!=e.occludedOpacity&&Object.hasOwnProperty.call(e,"occludedOpacity")&&$root$1.google.protobuf.FloatValue.encode(e.occludedOpacity,t.uint32(18).fork()).ldelim(),null!=e.outline&&Object.hasOwnProperty.call(e,"outline")&&$root$1.vertexvis.protobuf.stream.FeatureLineAttributes.encode(e.outline,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.FeatureHighlightAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.highlightColor=$root$1.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;case 2:n.occludedOpacity=$root$1.google.protobuf.FloatValue.decode(e,e.uint32());break;case 3:n.outline=$root$1.vertexvis.protobuf.stream.FeatureLineAttributes.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.highlightColor&&e.hasOwnProperty("highlightColor")){let t=$root$1.vertexvis.protobuf.core.RGBi.verify(e.highlightColor);if(t)return"highlightColor."+t}if(null!=e.occludedOpacity&&e.hasOwnProperty("occludedOpacity")){let t=$root$1.google.protobuf.FloatValue.verify(e.occludedOpacity);if(t)return"occludedOpacity."+t}if(null!=e.outline&&e.hasOwnProperty("outline")){let t=$root$1.vertexvis.protobuf.stream.FeatureLineAttributes.verify(e.outline);if(t)return"outline."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.FeatureHighlightAttributes)return e;let t=new $root$1.vertexvis.protobuf.stream.FeatureHighlightAttributes;if(null!=e.highlightColor){if("object"!=typeof e.highlightColor)throw TypeError(".vertexvis.protobuf.stream.FeatureHighlightAttributes.highlightColor: object expected");t.highlightColor=$root$1.vertexvis.protobuf.core.RGBi.fromObject(e.highlightColor)}if(null!=e.occludedOpacity){if("object"!=typeof e.occludedOpacity)throw TypeError(".vertexvis.protobuf.stream.FeatureHighlightAttributes.occludedOpacity: object expected");t.occludedOpacity=$root$1.google.protobuf.FloatValue.fromObject(e.occludedOpacity)}if(null!=e.outline){if("object"!=typeof e.outline)throw TypeError(".vertexvis.protobuf.stream.FeatureHighlightAttributes.outline: object expected");t.outline=$root$1.vertexvis.protobuf.stream.FeatureLineAttributes.fromObject(e.outline)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.highlightColor=null,r.occludedOpacity=null,r.outline=null),null!=e.highlightColor&&e.hasOwnProperty("highlightColor")&&(r.highlightColor=$root$1.vertexvis.protobuf.core.RGBi.toObject(e.highlightColor,t)),null!=e.occludedOpacity&&e.hasOwnProperty("occludedOpacity")&&(r.occludedOpacity=$root$1.google.protobuf.FloatValue.toObject(e.occludedOpacity,t)),null!=e.outline&&e.hasOwnProperty("outline")&&(r.outline=$root$1.vertexvis.protobuf.stream.FeatureLineAttributes.toObject(e.outline,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Token=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.token="",e.prototype.expiresIn=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.token&&Object.hasOwnProperty.call(e,"token")&&t.uint32(10).string(e.token),null!=e.expiresIn&&Object.hasOwnProperty.call(e,"expiresIn")&&t.uint32(16).uint32(e.expiresIn),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.Token;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.token=e.string();break;case 2:n.expiresIn=e.uint32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.token&&e.hasOwnProperty("token")&&!$util$1.isString(e.token)?"token: string expected":null!=e.expiresIn&&e.hasOwnProperty("expiresIn")&&!$util$1.isInteger(e.expiresIn)?"expiresIn: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.Token)return e;let t=new $root$1.vertexvis.protobuf.stream.Token;return null!=e.token&&(t.token=String(e.token)),null!=e.expiresIn&&(t.expiresIn=e.expiresIn>>>0),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.token="",r.expiresIn=0),null!=e.token&&e.hasOwnProperty("token")&&(r.token=e.token),null!=e.expiresIn&&e.hasOwnProperty("expiresIn")&&(r.expiresIn=e.expiresIn),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.TransformInteraction=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.delta=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.delta&&Object.hasOwnProperty.call(e,"delta")&&$root$1.vertexvis.protobuf.core.AffineMatrix4f.encode(e.delta,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.TransformInteraction;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.delta=$root$1.vertexvis.protobuf.core.AffineMatrix4f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.delta&&e.hasOwnProperty("delta")){let t=$root$1.vertexvis.protobuf.core.AffineMatrix4f.verify(e.delta);if(t)return"delta."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.TransformInteraction)return e;let t=new $root$1.vertexvis.protobuf.stream.TransformInteraction;if(null!=e.delta){if("object"!=typeof e.delta)throw TypeError(".vertexvis.protobuf.stream.TransformInteraction.delta: object expected");t.delta=$root$1.vertexvis.protobuf.core.AffineMatrix4f.fromObject(e.delta)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.delta=null),null!=e.delta&&e.hasOwnProperty("delta")&&(r.delta=$root$1.vertexvis.protobuf.core.AffineMatrix4f.toObject(e.delta,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Error=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.message=null,e.prototype.details=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.message&&Object.hasOwnProperty.call(e,"message")&&$root$1.google.protobuf.StringValue.encode(e.message,t.uint32(10).fork()).ldelim(),null!=e.details&&Object.hasOwnProperty.call(e,"details")&&$root$1.google.protobuf.StringValue.encode(e.details,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.Error;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.message=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.details=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.message&&e.hasOwnProperty("message")){let t=$root$1.google.protobuf.StringValue.verify(e.message);if(t)return"message."+t}if(null!=e.details&&e.hasOwnProperty("details")){let t=$root$1.google.protobuf.StringValue.verify(e.details);if(t)return"details."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.Error)return e;let t=new $root$1.vertexvis.protobuf.stream.Error;if(null!=e.message){if("object"!=typeof e.message)throw TypeError(".vertexvis.protobuf.stream.Error.message: object expected");t.message=$root$1.google.protobuf.StringValue.fromObject(e.message)}if(null!=e.details){if("object"!=typeof e.details)throw TypeError(".vertexvis.protobuf.stream.Error.details: object expected");t.details=$root$1.google.protobuf.StringValue.fromObject(e.details)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.message=null,r.details=null),null!=e.message&&e.hasOwnProperty("message")&&(r.message=$root$1.google.protobuf.StringValue.toObject(e.message,t)),null!=e.details&&e.hasOwnProperty("details")&&(r.details=$root$1.google.protobuf.StringValue.toObject(e.details,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Rectangle=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.prototype.width=0,e.prototype.height=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(8).int32(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(16).int32(e.y),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(24).int32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(32).int32(e.height),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.Rectangle;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.int32();break;case 2:n.y=e.int32();break;case 3:n.width=e.int32();break;case 4:n.height=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&!$util$1.isInteger(e.x)?"x: integer expected":null!=e.y&&e.hasOwnProperty("y")&&!$util$1.isInteger(e.y)?"y: integer expected":null!=e.width&&e.hasOwnProperty("width")&&!$util$1.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!$util$1.isInteger(e.height)?"height: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.Rectangle)return e;let t=new $root$1.vertexvis.protobuf.stream.Rectangle;return null!=e.x&&(t.x=0|e.x),null!=e.y&&(t.y=0|e.y),null!=e.width&&(t.width=0|e.width),null!=e.height&&(t.height=0|e.height),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0,r.width=0,r.height=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=e.y),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Dimensions=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.width=0,e.prototype.height=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).int32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).int32(e.height),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.Dimensions;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.width=e.int32();break;case 2:n.height=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.width&&e.hasOwnProperty("width")&&!$util$1.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!$util$1.isInteger(e.height)?"height: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.Dimensions)return e;let t=new $root$1.vertexvis.protobuf.stream.Dimensions;return null!=e.width&&(t.width=0|e.width),null!=e.height&&(t.height=0|e.height),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.width=0,r.height=0),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Point=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(8).int32(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(16).int32(e.y),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.Point;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.int32();break;case 2:n.y=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&!$util$1.isInteger(e.x)?"x: integer expected":null!=e.y&&e.hasOwnProperty("y")&&!$util$1.isInteger(e.y)?"y: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.Point)return e;let t=new $root$1.vertexvis.protobuf.stream.Point;return null!=e.x&&(t.x=0|e.x),null!=e.y&&(t.y=0|e.y),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=e.y),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.StreamMessage=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.request=null,e.prototype.response=null,e.prototype.event=null,e.prototype.sentAtTime=null,Object.defineProperty(e.prototype,"message",{get:$util$1.oneOfGetter(t=["request","response","event"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.request&&Object.hasOwnProperty.call(e,"request")&&$root$1.vertexvis.protobuf.stream.StreamRequest.encode(e.request,t.uint32(10).fork()).ldelim(),null!=e.response&&Object.hasOwnProperty.call(e,"response")&&$root$1.vertexvis.protobuf.stream.StreamResponse.encode(e.response,t.uint32(18).fork()).ldelim(),null!=e.sentAtTime&&Object.hasOwnProperty.call(e,"sentAtTime")&&$root$1.google.protobuf.Timestamp.encode(e.sentAtTime,t.uint32(26).fork()).ldelim(),null!=e.event&&Object.hasOwnProperty.call(e,"event")&&$root$1.vertexvis.protobuf.stream.StreamEvent.encode(e.event,t.uint32(34).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.StreamMessage;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.request=$root$1.vertexvis.protobuf.stream.StreamRequest.decode(e,e.uint32());break;case 2:n.response=$root$1.vertexvis.protobuf.stream.StreamResponse.decode(e,e.uint32());break;case 4:n.event=$root$1.vertexvis.protobuf.stream.StreamEvent.decode(e,e.uint32());break;case 3:n.sentAtTime=$root$1.google.protobuf.Timestamp.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.request&&e.hasOwnProperty("request")){t.message=1;{let t=$root$1.vertexvis.protobuf.stream.StreamRequest.verify(e.request);if(t)return"request."+t}}if(null!=e.response&&e.hasOwnProperty("response")){if(1===t.message)return"message: multiple values";t.message=1;{let t=$root$1.vertexvis.protobuf.stream.StreamResponse.verify(e.response);if(t)return"response."+t}}if(null!=e.event&&e.hasOwnProperty("event")){if(1===t.message)return"message: multiple values";t.message=1;{let t=$root$1.vertexvis.protobuf.stream.StreamEvent.verify(e.event);if(t)return"event."+t}}if(null!=e.sentAtTime&&e.hasOwnProperty("sentAtTime")){let t=$root$1.google.protobuf.Timestamp.verify(e.sentAtTime);if(t)return"sentAtTime."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.StreamMessage)return e;let t=new $root$1.vertexvis.protobuf.stream.StreamMessage;if(null!=e.request){if("object"!=typeof e.request)throw TypeError(".vertexvis.protobuf.stream.StreamMessage.request: object expected");t.request=$root$1.vertexvis.protobuf.stream.StreamRequest.fromObject(e.request)}if(null!=e.response){if("object"!=typeof e.response)throw TypeError(".vertexvis.protobuf.stream.StreamMessage.response: object expected");t.response=$root$1.vertexvis.protobuf.stream.StreamResponse.fromObject(e.response)}if(null!=e.event){if("object"!=typeof e.event)throw TypeError(".vertexvis.protobuf.stream.StreamMessage.event: object expected");t.event=$root$1.vertexvis.protobuf.stream.StreamEvent.fromObject(e.event)}if(null!=e.sentAtTime){if("object"!=typeof e.sentAtTime)throw TypeError(".vertexvis.protobuf.stream.StreamMessage.sentAtTime: object expected");t.sentAtTime=$root$1.google.protobuf.Timestamp.fromObject(e.sentAtTime)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.sentAtTime=null),null!=e.request&&e.hasOwnProperty("request")&&(r.request=$root$1.vertexvis.protobuf.stream.StreamRequest.toObject(e.request,t),t.oneofs&&(r.message="request")),null!=e.response&&e.hasOwnProperty("response")&&(r.response=$root$1.vertexvis.protobuf.stream.StreamResponse.toObject(e.response,t),t.oneofs&&(r.message="response")),null!=e.sentAtTime&&e.hasOwnProperty("sentAtTime")&&(r.sentAtTime=$root$1.google.protobuf.Timestamp.toObject(e.sentAtTime,t)),null!=e.event&&e.hasOwnProperty("event")&&(r.event=$root$1.vertexvis.protobuf.stream.StreamEvent.toObject(e.event,t),t.oneofs&&(r.message="event")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.StreamRequest=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.requestId=null,e.prototype.startStream=null,e.prototype.updateCamera=null,e.prototype.beginInteraction=null,e.prototype.endInteraction=null,e.prototype.gracefulReconnection=null,e.prototype.reconnect=null,e.prototype.hitItems=null,e.prototype.createSceneAlteration=null,e.prototype.drawFrame=null,e.prototype.syncTime=null,e.prototype.recordPerformance=null,e.prototype.updateDimensions=null,e.prototype.updateStream=null,e.prototype.flyTo=null,e.prototype.loadSceneViewState=null,e.prototype.updateCrossSectioning=null,e.prototype.getStencilBuffer=null,e.prototype.resetView=null,e.prototype.refreshToken=null,e.prototype.updateInteraction=null,Object.defineProperty(e.prototype,"payload",{get:$util$1.oneOfGetter(t=["startStream","updateCamera","beginInteraction","endInteraction","gracefulReconnection","reconnect","hitItems","createSceneAlteration","drawFrame","syncTime","recordPerformance","updateDimensions","updateStream","flyTo","loadSceneViewState","updateCrossSectioning","getStencilBuffer","resetView","refreshToken","updateInteraction"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&$root$1.google.protobuf.StringValue.encode(e.requestId,t.uint32(10).fork()).ldelim(),null!=e.startStream&&Object.hasOwnProperty.call(e,"startStream")&&$root$1.vertexvis.protobuf.stream.StartStreamPayload.encode(e.startStream,t.uint32(18).fork()).ldelim(),null!=e.updateCamera&&Object.hasOwnProperty.call(e,"updateCamera")&&$root$1.vertexvis.protobuf.stream.UpdateCameraPayload.encode(e.updateCamera,t.uint32(26).fork()).ldelim(),null!=e.beginInteraction&&Object.hasOwnProperty.call(e,"beginInteraction")&&$root$1.vertexvis.protobuf.stream.BeginInteractionPayload.encode(e.beginInteraction,t.uint32(34).fork()).ldelim(),null!=e.endInteraction&&Object.hasOwnProperty.call(e,"endInteraction")&&$root$1.vertexvis.protobuf.stream.EndInteractionPayload.encode(e.endInteraction,t.uint32(42).fork()).ldelim(),null!=e.gracefulReconnection&&Object.hasOwnProperty.call(e,"gracefulReconnection")&&$root$1.vertexvis.protobuf.stream.GracefulReconnectionPayload.encode(e.gracefulReconnection,t.uint32(50).fork()).ldelim(),null!=e.reconnect&&Object.hasOwnProperty.call(e,"reconnect")&&$root$1.vertexvis.protobuf.stream.ReconnectPayload.encode(e.reconnect,t.uint32(58).fork()).ldelim(),null!=e.hitItems&&Object.hasOwnProperty.call(e,"hitItems")&&$root$1.vertexvis.protobuf.stream.HitItemsPayload.encode(e.hitItems,t.uint32(66).fork()).ldelim(),null!=e.createSceneAlteration&&Object.hasOwnProperty.call(e,"createSceneAlteration")&&$root$1.vertexvis.protobuf.stream.CreateSceneAlterationPayload.encode(e.createSceneAlteration,t.uint32(74).fork()).ldelim(),null!=e.drawFrame&&Object.hasOwnProperty.call(e,"drawFrame")&&$root$1.vertexvis.protobuf.stream.DrawFramePayload.encode(e.drawFrame,t.uint32(82).fork()).ldelim(),null!=e.syncTime&&Object.hasOwnProperty.call(e,"syncTime")&&$root$1.vertexvis.protobuf.stream.SyncTimePayload.encode(e.syncTime,t.uint32(90).fork()).ldelim(),null!=e.recordPerformance&&Object.hasOwnProperty.call(e,"recordPerformance")&&$root$1.vertexvis.protobuf.stream.RecordPerformancePayload.encode(e.recordPerformance,t.uint32(98).fork()).ldelim(),null!=e.updateDimensions&&Object.hasOwnProperty.call(e,"updateDimensions")&&$root$1.vertexvis.protobuf.stream.UpdateDimensionsPayload.encode(e.updateDimensions,t.uint32(106).fork()).ldelim(),null!=e.updateStream&&Object.hasOwnProperty.call(e,"updateStream")&&$root$1.vertexvis.protobuf.stream.UpdateStreamPayload.encode(e.updateStream,t.uint32(114).fork()).ldelim(),null!=e.flyTo&&Object.hasOwnProperty.call(e,"flyTo")&&$root$1.vertexvis.protobuf.stream.FlyToPayload.encode(e.flyTo,t.uint32(122).fork()).ldelim(),null!=e.loadSceneViewState&&Object.hasOwnProperty.call(e,"loadSceneViewState")&&$root$1.vertexvis.protobuf.stream.LoadSceneViewStatePayload.encode(e.loadSceneViewState,t.uint32(130).fork()).ldelim(),null!=e.updateCrossSectioning&&Object.hasOwnProperty.call(e,"updateCrossSectioning")&&$root$1.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.encode(e.updateCrossSectioning,t.uint32(138).fork()).ldelim(),null!=e.getStencilBuffer&&Object.hasOwnProperty.call(e,"getStencilBuffer")&&$root$1.vertexvis.protobuf.stream.GetStencilBufferPayload.encode(e.getStencilBuffer,t.uint32(146).fork()).ldelim(),null!=e.resetView&&Object.hasOwnProperty.call(e,"resetView")&&$root$1.vertexvis.protobuf.stream.ResetViewPlayload.encode(e.resetView,t.uint32(154).fork()).ldelim(),null!=e.refreshToken&&Object.hasOwnProperty.call(e,"refreshToken")&&$root$1.vertexvis.protobuf.stream.RefreshTokenPayload.encode(e.refreshToken,t.uint32(162).fork()).ldelim(),null!=e.updateInteraction&&Object.hasOwnProperty.call(e,"updateInteraction")&&$root$1.vertexvis.protobuf.stream.UpdateInteractionPayload.encode(e.updateInteraction,t.uint32(170).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.StreamRequest;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.requestId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.startStream=$root$1.vertexvis.protobuf.stream.StartStreamPayload.decode(e,e.uint32());break;case 3:n.updateCamera=$root$1.vertexvis.protobuf.stream.UpdateCameraPayload.decode(e,e.uint32());break;case 4:n.beginInteraction=$root$1.vertexvis.protobuf.stream.BeginInteractionPayload.decode(e,e.uint32());break;case 5:n.endInteraction=$root$1.vertexvis.protobuf.stream.EndInteractionPayload.decode(e,e.uint32());break;case 6:n.gracefulReconnection=$root$1.vertexvis.protobuf.stream.GracefulReconnectionPayload.decode(e,e.uint32());break;case 7:n.reconnect=$root$1.vertexvis.protobuf.stream.ReconnectPayload.decode(e,e.uint32());break;case 8:n.hitItems=$root$1.vertexvis.protobuf.stream.HitItemsPayload.decode(e,e.uint32());break;case 9:n.createSceneAlteration=$root$1.vertexvis.protobuf.stream.CreateSceneAlterationPayload.decode(e,e.uint32());break;case 10:n.drawFrame=$root$1.vertexvis.protobuf.stream.DrawFramePayload.decode(e,e.uint32());break;case 11:n.syncTime=$root$1.vertexvis.protobuf.stream.SyncTimePayload.decode(e,e.uint32());break;case 12:n.recordPerformance=$root$1.vertexvis.protobuf.stream.RecordPerformancePayload.decode(e,e.uint32());break;case 13:n.updateDimensions=$root$1.vertexvis.protobuf.stream.UpdateDimensionsPayload.decode(e,e.uint32());break;case 14:n.updateStream=$root$1.vertexvis.protobuf.stream.UpdateStreamPayload.decode(e,e.uint32());break;case 15:n.flyTo=$root$1.vertexvis.protobuf.stream.FlyToPayload.decode(e,e.uint32());break;case 16:n.loadSceneViewState=$root$1.vertexvis.protobuf.stream.LoadSceneViewStatePayload.decode(e,e.uint32());break;case 17:n.updateCrossSectioning=$root$1.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.decode(e,e.uint32());break;case 18:n.getStencilBuffer=$root$1.vertexvis.protobuf.stream.GetStencilBufferPayload.decode(e,e.uint32());break;case 19:n.resetView=$root$1.vertexvis.protobuf.stream.ResetViewPlayload.decode(e,e.uint32());break;case 20:n.refreshToken=$root$1.vertexvis.protobuf.stream.RefreshTokenPayload.decode(e,e.uint32());break;case 21:n.updateInteraction=$root$1.vertexvis.protobuf.stream.UpdateInteractionPayload.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.requestId&&e.hasOwnProperty("requestId")){let t=$root$1.google.protobuf.StringValue.verify(e.requestId);if(t)return"requestId."+t}if(null!=e.startStream&&e.hasOwnProperty("startStream")){t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.StartStreamPayload.verify(e.startStream);if(t)return"startStream."+t}}if(null!=e.updateCamera&&e.hasOwnProperty("updateCamera")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.UpdateCameraPayload.verify(e.updateCamera);if(t)return"updateCamera."+t}}if(null!=e.beginInteraction&&e.hasOwnProperty("beginInteraction")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.BeginInteractionPayload.verify(e.beginInteraction);if(t)return"beginInteraction."+t}}if(null!=e.endInteraction&&e.hasOwnProperty("endInteraction")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.EndInteractionPayload.verify(e.endInteraction);if(t)return"endInteraction."+t}}if(null!=e.gracefulReconnection&&e.hasOwnProperty("gracefulReconnection")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.GracefulReconnectionPayload.verify(e.gracefulReconnection);if(t)return"gracefulReconnection."+t}}if(null!=e.reconnect&&e.hasOwnProperty("reconnect")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.ReconnectPayload.verify(e.reconnect);if(t)return"reconnect."+t}}if(null!=e.hitItems&&e.hasOwnProperty("hitItems")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.HitItemsPayload.verify(e.hitItems);if(t)return"hitItems."+t}}if(null!=e.createSceneAlteration&&e.hasOwnProperty("createSceneAlteration")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.CreateSceneAlterationPayload.verify(e.createSceneAlteration);if(t)return"createSceneAlteration."+t}}if(null!=e.drawFrame&&e.hasOwnProperty("drawFrame")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.DrawFramePayload.verify(e.drawFrame);if(t)return"drawFrame."+t}}if(null!=e.syncTime&&e.hasOwnProperty("syncTime")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.SyncTimePayload.verify(e.syncTime);if(t)return"syncTime."+t}}if(null!=e.recordPerformance&&e.hasOwnProperty("recordPerformance")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.RecordPerformancePayload.verify(e.recordPerformance);if(t)return"recordPerformance."+t}}if(null!=e.updateDimensions&&e.hasOwnProperty("updateDimensions")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.UpdateDimensionsPayload.verify(e.updateDimensions);if(t)return"updateDimensions."+t}}if(null!=e.updateStream&&e.hasOwnProperty("updateStream")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.UpdateStreamPayload.verify(e.updateStream);if(t)return"updateStream."+t}}if(null!=e.flyTo&&e.hasOwnProperty("flyTo")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.FlyToPayload.verify(e.flyTo);if(t)return"flyTo."+t}}if(null!=e.loadSceneViewState&&e.hasOwnProperty("loadSceneViewState")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.LoadSceneViewStatePayload.verify(e.loadSceneViewState);if(t)return"loadSceneViewState."+t}}if(null!=e.updateCrossSectioning&&e.hasOwnProperty("updateCrossSectioning")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.verify(e.updateCrossSectioning);if(t)return"updateCrossSectioning."+t}}if(null!=e.getStencilBuffer&&e.hasOwnProperty("getStencilBuffer")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.GetStencilBufferPayload.verify(e.getStencilBuffer);if(t)return"getStencilBuffer."+t}}if(null!=e.resetView&&e.hasOwnProperty("resetView")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.ResetViewPlayload.verify(e.resetView);if(t)return"resetView."+t}}if(null!=e.refreshToken&&e.hasOwnProperty("refreshToken")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.RefreshTokenPayload.verify(e.refreshToken);if(t)return"refreshToken."+t}}if(null!=e.updateInteraction&&e.hasOwnProperty("updateInteraction")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root$1.vertexvis.protobuf.stream.UpdateInteractionPayload.verify(e.updateInteraction);if(t)return"updateInteraction."+t}}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.StreamRequest)return e;let t=new $root$1.vertexvis.protobuf.stream.StreamRequest;if(null!=e.requestId){if("object"!=typeof e.requestId)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.requestId: object expected");t.requestId=$root$1.google.protobuf.StringValue.fromObject(e.requestId)}if(null!=e.startStream){if("object"!=typeof e.startStream)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.startStream: object expected");t.startStream=$root$1.vertexvis.protobuf.stream.StartStreamPayload.fromObject(e.startStream)}if(null!=e.updateCamera){if("object"!=typeof e.updateCamera)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateCamera: object expected");t.updateCamera=$root$1.vertexvis.protobuf.stream.UpdateCameraPayload.fromObject(e.updateCamera)}if(null!=e.beginInteraction){if("object"!=typeof e.beginInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.beginInteraction: object expected");t.beginInteraction=$root$1.vertexvis.protobuf.stream.BeginInteractionPayload.fromObject(e.beginInteraction)}if(null!=e.endInteraction){if("object"!=typeof e.endInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.endInteraction: object expected");t.endInteraction=$root$1.vertexvis.protobuf.stream.EndInteractionPayload.fromObject(e.endInteraction)}if(null!=e.gracefulReconnection){if("object"!=typeof e.gracefulReconnection)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.gracefulReconnection: object expected");t.gracefulReconnection=$root$1.vertexvis.protobuf.stream.GracefulReconnectionPayload.fromObject(e.gracefulReconnection)}if(null!=e.reconnect){if("object"!=typeof e.reconnect)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.reconnect: object expected");t.reconnect=$root$1.vertexvis.protobuf.stream.ReconnectPayload.fromObject(e.reconnect)}if(null!=e.hitItems){if("object"!=typeof e.hitItems)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.hitItems: object expected");t.hitItems=$root$1.vertexvis.protobuf.stream.HitItemsPayload.fromObject(e.hitItems)}if(null!=e.createSceneAlteration){if("object"!=typeof e.createSceneAlteration)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.createSceneAlteration: object expected");t.createSceneAlteration=$root$1.vertexvis.protobuf.stream.CreateSceneAlterationPayload.fromObject(e.createSceneAlteration)}if(null!=e.drawFrame){if("object"!=typeof e.drawFrame)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.drawFrame: object expected");t.drawFrame=$root$1.vertexvis.protobuf.stream.DrawFramePayload.fromObject(e.drawFrame)}if(null!=e.syncTime){if("object"!=typeof e.syncTime)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.syncTime: object expected");t.syncTime=$root$1.vertexvis.protobuf.stream.SyncTimePayload.fromObject(e.syncTime)}if(null!=e.recordPerformance){if("object"!=typeof e.recordPerformance)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.recordPerformance: object expected");t.recordPerformance=$root$1.vertexvis.protobuf.stream.RecordPerformancePayload.fromObject(e.recordPerformance)}if(null!=e.updateDimensions){if("object"!=typeof e.updateDimensions)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateDimensions: object expected");t.updateDimensions=$root$1.vertexvis.protobuf.stream.UpdateDimensionsPayload.fromObject(e.updateDimensions)}if(null!=e.updateStream){if("object"!=typeof e.updateStream)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateStream: object expected");t.updateStream=$root$1.vertexvis.protobuf.stream.UpdateStreamPayload.fromObject(e.updateStream)}if(null!=e.flyTo){if("object"!=typeof e.flyTo)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.flyTo: object expected");t.flyTo=$root$1.vertexvis.protobuf.stream.FlyToPayload.fromObject(e.flyTo)}if(null!=e.loadSceneViewState){if("object"!=typeof e.loadSceneViewState)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.loadSceneViewState: object expected");t.loadSceneViewState=$root$1.vertexvis.protobuf.stream.LoadSceneViewStatePayload.fromObject(e.loadSceneViewState)}if(null!=e.updateCrossSectioning){if("object"!=typeof e.updateCrossSectioning)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateCrossSectioning: object expected");t.updateCrossSectioning=$root$1.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.fromObject(e.updateCrossSectioning)}if(null!=e.getStencilBuffer){if("object"!=typeof e.getStencilBuffer)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.getStencilBuffer: object expected");t.getStencilBuffer=$root$1.vertexvis.protobuf.stream.GetStencilBufferPayload.fromObject(e.getStencilBuffer)}if(null!=e.resetView){if("object"!=typeof e.resetView)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.resetView: object expected");t.resetView=$root$1.vertexvis.protobuf.stream.ResetViewPlayload.fromObject(e.resetView)}if(null!=e.refreshToken){if("object"!=typeof e.refreshToken)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.refreshToken: object expected");t.refreshToken=$root$1.vertexvis.protobuf.stream.RefreshTokenPayload.fromObject(e.refreshToken)}if(null!=e.updateInteraction){if("object"!=typeof e.updateInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateInteraction: object expected");t.updateInteraction=$root$1.vertexvis.protobuf.stream.UpdateInteractionPayload.fromObject(e.updateInteraction)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.requestId=null),null!=e.requestId&&e.hasOwnProperty("requestId")&&(r.requestId=$root$1.google.protobuf.StringValue.toObject(e.requestId,t)),null!=e.startStream&&e.hasOwnProperty("startStream")&&(r.startStream=$root$1.vertexvis.protobuf.stream.StartStreamPayload.toObject(e.startStream,t),t.oneofs&&(r.payload="startStream")),null!=e.updateCamera&&e.hasOwnProperty("updateCamera")&&(r.updateCamera=$root$1.vertexvis.protobuf.stream.UpdateCameraPayload.toObject(e.updateCamera,t),t.oneofs&&(r.payload="updateCamera")),null!=e.beginInteraction&&e.hasOwnProperty("beginInteraction")&&(r.beginInteraction=$root$1.vertexvis.protobuf.stream.BeginInteractionPayload.toObject(e.beginInteraction,t),t.oneofs&&(r.payload="beginInteraction")),null!=e.endInteraction&&e.hasOwnProperty("endInteraction")&&(r.endInteraction=$root$1.vertexvis.protobuf.stream.EndInteractionPayload.toObject(e.endInteraction,t),t.oneofs&&(r.payload="endInteraction")),null!=e.gracefulReconnection&&e.hasOwnProperty("gracefulReconnection")&&(r.gracefulReconnection=$root$1.vertexvis.protobuf.stream.GracefulReconnectionPayload.toObject(e.gracefulReconnection,t),t.oneofs&&(r.payload="gracefulReconnection")),null!=e.reconnect&&e.hasOwnProperty("reconnect")&&(r.reconnect=$root$1.vertexvis.protobuf.stream.ReconnectPayload.toObject(e.reconnect,t),t.oneofs&&(r.payload="reconnect")),null!=e.hitItems&&e.hasOwnProperty("hitItems")&&(r.hitItems=$root$1.vertexvis.protobuf.stream.HitItemsPayload.toObject(e.hitItems,t),t.oneofs&&(r.payload="hitItems")),null!=e.createSceneAlteration&&e.hasOwnProperty("createSceneAlteration")&&(r.createSceneAlteration=$root$1.vertexvis.protobuf.stream.CreateSceneAlterationPayload.toObject(e.createSceneAlteration,t),t.oneofs&&(r.payload="createSceneAlteration")),null!=e.drawFrame&&e.hasOwnProperty("drawFrame")&&(r.drawFrame=$root$1.vertexvis.protobuf.stream.DrawFramePayload.toObject(e.drawFrame,t),t.oneofs&&(r.payload="drawFrame")),null!=e.syncTime&&e.hasOwnProperty("syncTime")&&(r.syncTime=$root$1.vertexvis.protobuf.stream.SyncTimePayload.toObject(e.syncTime,t),t.oneofs&&(r.payload="syncTime")),null!=e.recordPerformance&&e.hasOwnProperty("recordPerformance")&&(r.recordPerformance=$root$1.vertexvis.protobuf.stream.RecordPerformancePayload.toObject(e.recordPerformance,t),t.oneofs&&(r.payload="recordPerformance")),null!=e.updateDimensions&&e.hasOwnProperty("updateDimensions")&&(r.updateDimensions=$root$1.vertexvis.protobuf.stream.UpdateDimensionsPayload.toObject(e.updateDimensions,t),t.oneofs&&(r.payload="updateDimensions")),null!=e.updateStream&&e.hasOwnProperty("updateStream")&&(r.updateStream=$root$1.vertexvis.protobuf.stream.UpdateStreamPayload.toObject(e.updateStream,t),t.oneofs&&(r.payload="updateStream")),null!=e.flyTo&&e.hasOwnProperty("flyTo")&&(r.flyTo=$root$1.vertexvis.protobuf.stream.FlyToPayload.toObject(e.flyTo,t),t.oneofs&&(r.payload="flyTo")),null!=e.loadSceneViewState&&e.hasOwnProperty("loadSceneViewState")&&(r.loadSceneViewState=$root$1.vertexvis.protobuf.stream.LoadSceneViewStatePayload.toObject(e.loadSceneViewState,t),t.oneofs&&(r.payload="loadSceneViewState")),null!=e.updateCrossSectioning&&e.hasOwnProperty("updateCrossSectioning")&&(r.updateCrossSectioning=$root$1.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.toObject(e.updateCrossSectioning,t),t.oneofs&&(r.payload="updateCrossSectioning")),null!=e.getStencilBuffer&&e.hasOwnProperty("getStencilBuffer")&&(r.getStencilBuffer=$root$1.vertexvis.protobuf.stream.GetStencilBufferPayload.toObject(e.getStencilBuffer,t),t.oneofs&&(r.payload="getStencilBuffer")),null!=e.resetView&&e.hasOwnProperty("resetView")&&(r.resetView=$root$1.vertexvis.protobuf.stream.ResetViewPlayload.toObject(e.resetView,t),t.oneofs&&(r.payload="resetView")),null!=e.refreshToken&&e.hasOwnProperty("refreshToken")&&(r.refreshToken=$root$1.vertexvis.protobuf.stream.RefreshTokenPayload.toObject(e.refreshToken,t),t.oneofs&&(r.payload="refreshToken")),null!=e.updateInteraction&&e.hasOwnProperty("updateInteraction")&&(r.updateInteraction=$root$1.vertexvis.protobuf.stream.UpdateInteractionPayload.toObject(e.updateInteraction,t),t.oneofs&&(r.payload="updateInteraction")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.GracefulReconnectionPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.streamId=null,e.prototype.timeToReconnectDuration=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.streamId,t.uint32(10).fork()).ldelim(),null!=e.timeToReconnectDuration&&Object.hasOwnProperty.call(e,"timeToReconnectDuration")&&$root$1.google.protobuf.Duration.encode(e.timeToReconnectDuration,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.GracefulReconnectionPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.streamId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.timeToReconnectDuration=$root$1.google.protobuf.Duration.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streamId&&e.hasOwnProperty("streamId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.streamId);if(t)return"streamId."+t}if(null!=e.timeToReconnectDuration&&e.hasOwnProperty("timeToReconnectDuration")){let t=$root$1.google.protobuf.Duration.verify(e.timeToReconnectDuration);if(t)return"timeToReconnectDuration."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.GracefulReconnectionPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.GracefulReconnectionPayload;if(null!=e.streamId){if("object"!=typeof e.streamId)throw TypeError(".vertexvis.protobuf.stream.GracefulReconnectionPayload.streamId: object expected");t.streamId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.streamId)}if(null!=e.timeToReconnectDuration){if("object"!=typeof e.timeToReconnectDuration)throw TypeError(".vertexvis.protobuf.stream.GracefulReconnectionPayload.timeToReconnectDuration: object expected");t.timeToReconnectDuration=$root$1.google.protobuf.Duration.fromObject(e.timeToReconnectDuration)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.streamId=null,r.timeToReconnectDuration=null),null!=e.streamId&&e.hasOwnProperty("streamId")&&(r.streamId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.streamId,t)),null!=e.timeToReconnectDuration&&e.hasOwnProperty("timeToReconnectDuration")&&(r.timeToReconnectDuration=$root$1.google.protobuf.Duration.toObject(e.timeToReconnectDuration,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.StartStreamPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.dimensions=null,e.prototype.frameCorrelationId=null,e.prototype.frameBackgroundColor=null,e.prototype.streamAttributes=null,e.prototype.streamKey=null,e.prototype.sceneViewStateId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.dimensions&&Object.hasOwnProperty.call(e,"dimensions")&&$root$1.vertexvis.protobuf.stream.Dimensions.encode(e.dimensions,t.uint32(10).fork()).ldelim(),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root$1.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(18).fork()).ldelim(),null!=e.frameBackgroundColor&&Object.hasOwnProperty.call(e,"frameBackgroundColor")&&$root$1.vertexvis.protobuf.core.RGBi.encode(e.frameBackgroundColor,t.uint32(26).fork()).ldelim(),null!=e.streamAttributes&&Object.hasOwnProperty.call(e,"streamAttributes")&&$root$1.vertexvis.protobuf.stream.StreamAttributes.encode(e.streamAttributes,t.uint32(34).fork()).ldelim(),null!=e.streamKey&&Object.hasOwnProperty.call(e,"streamKey")&&$root$1.google.protobuf.StringValue.encode(e.streamKey,t.uint32(42).fork()).ldelim(),null!=e.sceneViewStateId&&Object.hasOwnProperty.call(e,"sceneViewStateId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.sceneViewStateId,t.uint32(50).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.StartStreamPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.dimensions=$root$1.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;case 2:n.frameCorrelationId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 3:n.frameBackgroundColor=$root$1.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;case 4:n.streamAttributes=$root$1.vertexvis.protobuf.stream.StreamAttributes.decode(e,e.uint32());break;case 5:n.streamKey=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 6:n.sceneViewStateId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.dimensions&&e.hasOwnProperty("dimensions")){let t=$root$1.vertexvis.protobuf.stream.Dimensions.verify(e.dimensions);if(t)return"dimensions."+t}if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root$1.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}if(null!=e.frameBackgroundColor&&e.hasOwnProperty("frameBackgroundColor")){let t=$root$1.vertexvis.protobuf.core.RGBi.verify(e.frameBackgroundColor);if(t)return"frameBackgroundColor."+t}if(null!=e.streamAttributes&&e.hasOwnProperty("streamAttributes")){let t=$root$1.vertexvis.protobuf.stream.StreamAttributes.verify(e.streamAttributes);if(t)return"streamAttributes."+t}if(null!=e.streamKey&&e.hasOwnProperty("streamKey")){let t=$root$1.google.protobuf.StringValue.verify(e.streamKey);if(t)return"streamKey."+t}if(null!=e.sceneViewStateId&&e.hasOwnProperty("sceneViewStateId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.sceneViewStateId);if(t)return"sceneViewStateId."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.StartStreamPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.StartStreamPayload;if(null!=e.dimensions){if("object"!=typeof e.dimensions)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.dimensions: object expected");t.dimensions=$root$1.vertexvis.protobuf.stream.Dimensions.fromObject(e.dimensions)}if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root$1.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}if(null!=e.frameBackgroundColor){if("object"!=typeof e.frameBackgroundColor)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.frameBackgroundColor: object expected");t.frameBackgroundColor=$root$1.vertexvis.protobuf.core.RGBi.fromObject(e.frameBackgroundColor)}if(null!=e.streamAttributes){if("object"!=typeof e.streamAttributes)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.streamAttributes: object expected");t.streamAttributes=$root$1.vertexvis.protobuf.stream.StreamAttributes.fromObject(e.streamAttributes)}if(null!=e.streamKey){if("object"!=typeof e.streamKey)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.streamKey: object expected");t.streamKey=$root$1.google.protobuf.StringValue.fromObject(e.streamKey)}if(null!=e.sceneViewStateId){if("object"!=typeof e.sceneViewStateId)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.sceneViewStateId: object expected");t.sceneViewStateId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.sceneViewStateId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.dimensions=null,r.frameCorrelationId=null,r.frameBackgroundColor=null,r.streamAttributes=null,r.streamKey=null,r.sceneViewStateId=null),null!=e.dimensions&&e.hasOwnProperty("dimensions")&&(r.dimensions=$root$1.vertexvis.protobuf.stream.Dimensions.toObject(e.dimensions,t)),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root$1.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.frameBackgroundColor&&e.hasOwnProperty("frameBackgroundColor")&&(r.frameBackgroundColor=$root$1.vertexvis.protobuf.core.RGBi.toObject(e.frameBackgroundColor,t)),null!=e.streamAttributes&&e.hasOwnProperty("streamAttributes")&&(r.streamAttributes=$root$1.vertexvis.protobuf.stream.StreamAttributes.toObject(e.streamAttributes,t)),null!=e.streamKey&&e.hasOwnProperty("streamKey")&&(r.streamKey=$root$1.google.protobuf.StringValue.toObject(e.streamKey,t)),null!=e.sceneViewStateId&&e.hasOwnProperty("sceneViewStateId")&&(r.sceneViewStateId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.sceneViewStateId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.BeginInteractionPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.transform=null,Object.defineProperty(e.prototype,"interaction",{get:$util$1.oneOfGetter(t=["transform"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root$1.vertexvis.protobuf.stream.TransformInteraction.encode(e.transform,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.BeginInteractionPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.transform=$root$1.vertexvis.protobuf.stream.TransformInteraction.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root$1.vertexvis.protobuf.stream.TransformInteraction.verify(e.transform);if(t)return"transform."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.BeginInteractionPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.BeginInteractionPayload;if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.stream.BeginInteractionPayload.transform: object expected");t.transform=$root$1.vertexvis.protobuf.stream.TransformInteraction.fromObject(e.transform)}return t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root$1.vertexvis.protobuf.stream.TransformInteraction.toObject(e.transform,t),t.oneofs&&(r.interaction="transform")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.UpdateInteractionPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.frameCorrelationId=null,e.prototype.transform=null,Object.defineProperty(e.prototype,"interaction",{get:$util$1.oneOfGetter(t=["transform"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root$1.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(10).fork()).ldelim(),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root$1.vertexvis.protobuf.stream.TransformInteraction.encode(e.transform,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.UpdateInteractionPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frameCorrelationId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.transform=$root$1.vertexvis.protobuf.stream.TransformInteraction.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root$1.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root$1.vertexvis.protobuf.stream.TransformInteraction.verify(e.transform);if(t)return"transform."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.UpdateInteractionPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.UpdateInteractionPayload;if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateInteractionPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root$1.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.stream.UpdateInteractionPayload.transform: object expected");t.transform=$root$1.vertexvis.protobuf.stream.TransformInteraction.fromObject(e.transform)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.frameCorrelationId=null),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root$1.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root$1.vertexvis.protobuf.stream.TransformInteraction.toObject(e.transform,t),t.oneofs&&(r.interaction="transform")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.EndInteractionPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.frameCorrelationId=null,e.prototype.transform=null,Object.defineProperty(e.prototype,"interaction",{get:$util$1.oneOfGetter(t=["transform"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root$1.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(10).fork()).ldelim(),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root$1.vertexvis.protobuf.stream.TransformInteraction.encode(e.transform,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.EndInteractionPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frameCorrelationId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.transform=$root$1.vertexvis.protobuf.stream.TransformInteraction.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root$1.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root$1.vertexvis.protobuf.stream.TransformInteraction.verify(e.transform);if(t)return"transform."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.EndInteractionPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.EndInteractionPayload;if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.EndInteractionPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root$1.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.stream.EndInteractionPayload.transform: object expected");t.transform=$root$1.vertexvis.protobuf.stream.TransformInteraction.fromObject(e.transform)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.frameCorrelationId=null),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root$1.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root$1.vertexvis.protobuf.stream.TransformInteraction.toObject(e.transform,t),t.oneofs&&(r.interaction="transform")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.UpdateCameraPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.camera=null,e.prototype.frameCorrelationId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.camera&&Object.hasOwnProperty.call(e,"camera")&&$root$1.vertexvis.protobuf.stream.Camera.encode(e.camera,t.uint32(10).fork()).ldelim(),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root$1.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.UpdateCameraPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.camera=$root$1.vertexvis.protobuf.stream.Camera.decode(e,e.uint32());break;case 2:n.frameCorrelationId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.camera&&e.hasOwnProperty("camera")){let t=$root$1.vertexvis.protobuf.stream.Camera.verify(e.camera);if(t)return"camera."+t}if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root$1.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.UpdateCameraPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.UpdateCameraPayload;if(null!=e.camera){if("object"!=typeof e.camera)throw TypeError(".vertexvis.protobuf.stream.UpdateCameraPayload.camera: object expected");t.camera=$root$1.vertexvis.protobuf.stream.Camera.fromObject(e.camera)}if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateCameraPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root$1.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.camera=null,r.frameCorrelationId=null),null!=e.camera&&e.hasOwnProperty("camera")&&(r.camera=$root$1.vertexvis.protobuf.stream.Camera.toObject(e.camera,t)),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root$1.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ReconnectPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.streamId=null,e.prototype.dimensions=null,e.prototype.frameCorrelationId=null,e.prototype.frameBackgroundColor=null,e.prototype.streamAttributes=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.streamId,t.uint32(10).fork()).ldelim(),null!=e.dimensions&&Object.hasOwnProperty.call(e,"dimensions")&&$root$1.vertexvis.protobuf.stream.Dimensions.encode(e.dimensions,t.uint32(18).fork()).ldelim(),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root$1.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(26).fork()).ldelim(),null!=e.frameBackgroundColor&&Object.hasOwnProperty.call(e,"frameBackgroundColor")&&$root$1.vertexvis.protobuf.core.RGBi.encode(e.frameBackgroundColor,t.uint32(34).fork()).ldelim(),null!=e.streamAttributes&&Object.hasOwnProperty.call(e,"streamAttributes")&&$root$1.vertexvis.protobuf.stream.StreamAttributes.encode(e.streamAttributes,t.uint32(42).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.ReconnectPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.streamId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.dimensions=$root$1.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;case 3:n.frameCorrelationId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 4:n.frameBackgroundColor=$root$1.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;case 5:n.streamAttributes=$root$1.vertexvis.protobuf.stream.StreamAttributes.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streamId&&e.hasOwnProperty("streamId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.streamId);if(t)return"streamId."+t}if(null!=e.dimensions&&e.hasOwnProperty("dimensions")){let t=$root$1.vertexvis.protobuf.stream.Dimensions.verify(e.dimensions);if(t)return"dimensions."+t}if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root$1.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}if(null!=e.frameBackgroundColor&&e.hasOwnProperty("frameBackgroundColor")){let t=$root$1.vertexvis.protobuf.core.RGBi.verify(e.frameBackgroundColor);if(t)return"frameBackgroundColor."+t}if(null!=e.streamAttributes&&e.hasOwnProperty("streamAttributes")){let t=$root$1.vertexvis.protobuf.stream.StreamAttributes.verify(e.streamAttributes);if(t)return"streamAttributes."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.ReconnectPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.ReconnectPayload;if(null!=e.streamId){if("object"!=typeof e.streamId)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.streamId: object expected");t.streamId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.streamId)}if(null!=e.dimensions){if("object"!=typeof e.dimensions)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.dimensions: object expected");t.dimensions=$root$1.vertexvis.protobuf.stream.Dimensions.fromObject(e.dimensions)}if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root$1.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}if(null!=e.frameBackgroundColor){if("object"!=typeof e.frameBackgroundColor)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.frameBackgroundColor: object expected");t.frameBackgroundColor=$root$1.vertexvis.protobuf.core.RGBi.fromObject(e.frameBackgroundColor)}if(null!=e.streamAttributes){if("object"!=typeof e.streamAttributes)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.streamAttributes: object expected");t.streamAttributes=$root$1.vertexvis.protobuf.stream.StreamAttributes.fromObject(e.streamAttributes)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.streamId=null,r.dimensions=null,r.frameCorrelationId=null,r.frameBackgroundColor=null,r.streamAttributes=null),null!=e.streamId&&e.hasOwnProperty("streamId")&&(r.streamId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.streamId,t)),null!=e.dimensions&&e.hasOwnProperty("dimensions")&&(r.dimensions=$root$1.vertexvis.protobuf.stream.Dimensions.toObject(e.dimensions,t)),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root$1.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.frameBackgroundColor&&e.hasOwnProperty("frameBackgroundColor")&&(r.frameBackgroundColor=$root$1.vertexvis.protobuf.core.RGBi.toObject(e.frameBackgroundColor,t)),null!=e.streamAttributes&&e.hasOwnProperty("streamAttributes")&&(r.streamAttributes=$root$1.vertexvis.protobuf.stream.StreamAttributes.toObject(e.streamAttributes,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.UpdateDimensionsPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.dimensions=null,e.prototype.frameCorrelationId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.dimensions&&Object.hasOwnProperty.call(e,"dimensions")&&$root$1.vertexvis.protobuf.stream.Dimensions.encode(e.dimensions,t.uint32(10).fork()).ldelim(),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root$1.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.UpdateDimensionsPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.dimensions=$root$1.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;case 2:n.frameCorrelationId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.dimensions&&e.hasOwnProperty("dimensions")){let t=$root$1.vertexvis.protobuf.stream.Dimensions.verify(e.dimensions);if(t)return"dimensions."+t}if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root$1.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.UpdateDimensionsPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.UpdateDimensionsPayload;if(null!=e.dimensions){if("object"!=typeof e.dimensions)throw TypeError(".vertexvis.protobuf.stream.UpdateDimensionsPayload.dimensions: object expected");t.dimensions=$root$1.vertexvis.protobuf.stream.Dimensions.fromObject(e.dimensions)}if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateDimensionsPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root$1.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.dimensions=null,r.frameCorrelationId=null),null!=e.dimensions&&e.hasOwnProperty("dimensions")&&(r.dimensions=$root$1.vertexvis.protobuf.stream.Dimensions.toObject(e.dimensions,t)),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root$1.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.HitItemsPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.point=null,e.prototype.includeMetadata=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.point&&Object.hasOwnProperty.call(e,"point")&&$root$1.vertexvis.protobuf.stream.Point.encode(e.point,t.uint32(10).fork()).ldelim(),null!=e.includeMetadata&&Object.hasOwnProperty.call(e,"includeMetadata")&&t.uint32(16).bool(e.includeMetadata),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.HitItemsPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.point=$root$1.vertexvis.protobuf.stream.Point.decode(e,e.uint32());break;case 2:n.includeMetadata=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.point&&e.hasOwnProperty("point")){let t=$root$1.vertexvis.protobuf.stream.Point.verify(e.point);if(t)return"point."+t}return null!=e.includeMetadata&&e.hasOwnProperty("includeMetadata")&&"boolean"!=typeof e.includeMetadata?"includeMetadata: boolean expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.HitItemsPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.HitItemsPayload;if(null!=e.point){if("object"!=typeof e.point)throw TypeError(".vertexvis.protobuf.stream.HitItemsPayload.point: object expected");t.point=$root$1.vertexvis.protobuf.stream.Point.fromObject(e.point)}return null!=e.includeMetadata&&(t.includeMetadata=Boolean(e.includeMetadata)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.point=null,r.includeMetadata=!1),null!=e.point&&e.hasOwnProperty("point")&&(r.point=$root$1.vertexvis.protobuf.stream.Point.toObject(e.point,t)),null!=e.includeMetadata&&e.hasOwnProperty("includeMetadata")&&(r.includeMetadata=e.includeMetadata),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.CreateSceneAlterationPayload=function(){function e(e){if(this.operations=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.sceneViewId=null,e.prototype.operations=$util$1.emptyArray,e.prototype.suppliedCorrelationId=null,Object.defineProperty(e.prototype,"id",{get:$util$1.oneOfGetter(t=["sceneViewId"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer$1.create()),null!=e.sceneViewId&&Object.hasOwnProperty.call(e,"sceneViewId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.sceneViewId,t.uint32(10).fork()).ldelim(),null!=e.operations&&e.operations.length)for(let r=0;r<e.operations.length;++r)$root$1.vertexvis.protobuf.stream.SceneOperation.encode(e.operations[r],t.uint32(18).fork()).ldelim();return null!=e.suppliedCorrelationId&&Object.hasOwnProperty.call(e,"suppliedCorrelationId")&&$root$1.google.protobuf.StringValue.encode(e.suppliedCorrelationId,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.CreateSceneAlterationPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.sceneViewId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.operations&&n.operations.length||(n.operations=[]),n.operations.push($root$1.vertexvis.protobuf.stream.SceneOperation.decode(e,e.uint32()));break;case 3:n.suppliedCorrelationId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sceneViewId&&e.hasOwnProperty("sceneViewId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.sceneViewId);if(t)return"sceneViewId."+t}if(null!=e.operations&&e.hasOwnProperty("operations")){if(!Array.isArray(e.operations))return"operations: array expected";for(let t=0;t<e.operations.length;++t){let r=$root$1.vertexvis.protobuf.stream.SceneOperation.verify(e.operations[t]);if(r)return"operations."+r}}if(null!=e.suppliedCorrelationId&&e.hasOwnProperty("suppliedCorrelationId")){let t=$root$1.google.protobuf.StringValue.verify(e.suppliedCorrelationId);if(t)return"suppliedCorrelationId."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.CreateSceneAlterationPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.CreateSceneAlterationPayload;if(null!=e.sceneViewId){if("object"!=typeof e.sceneViewId)throw TypeError(".vertexvis.protobuf.stream.CreateSceneAlterationPayload.sceneViewId: object expected");t.sceneViewId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.sceneViewId)}if(e.operations){if(!Array.isArray(e.operations))throw TypeError(".vertexvis.protobuf.stream.CreateSceneAlterationPayload.operations: array expected");t.operations=[];for(let r=0;r<e.operations.length;++r){if("object"!=typeof e.operations[r])throw TypeError(".vertexvis.protobuf.stream.CreateSceneAlterationPayload.operations: object expected");t.operations[r]=$root$1.vertexvis.protobuf.stream.SceneOperation.fromObject(e.operations[r])}}if(null!=e.suppliedCorrelationId){if("object"!=typeof e.suppliedCorrelationId)throw TypeError(".vertexvis.protobuf.stream.CreateSceneAlterationPayload.suppliedCorrelationId: object expected");t.suppliedCorrelationId=$root$1.google.protobuf.StringValue.fromObject(e.suppliedCorrelationId)}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.operations=[]),t.defaults&&(r.suppliedCorrelationId=null),null!=e.sceneViewId&&e.hasOwnProperty("sceneViewId")&&(r.sceneViewId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.sceneViewId,t),t.oneofs&&(r.id="sceneViewId")),e.operations&&e.operations.length){r.operations=[];for(let n=0;n<e.operations.length;++n)r.operations[n]=$root$1.vertexvis.protobuf.stream.SceneOperation.toObject(e.operations[n],t)}return null!=e.suppliedCorrelationId&&e.hasOwnProperty("suppliedCorrelationId")&&(r.suppliedCorrelationId=$root$1.google.protobuf.StringValue.toObject(e.suppliedCorrelationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.DrawFramePayload=function(){function e(e){if(this.frameCorrelationIds=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.sequenceNumber=0,e.prototype.sceneAttributes=null,e.prototype.imageAttributes=null,e.prototype.image=$util$1.newBuffer([]),e.prototype.frameCorrelationIds=$util$1.emptyArray,e.prototype.depthBuffer=null,e.prototype.featureMap=null,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer$1.create()),null!=e.sequenceNumber&&Object.hasOwnProperty.call(e,"sequenceNumber")&&t.uint32(8).uint32(e.sequenceNumber),null!=e.sceneAttributes&&Object.hasOwnProperty.call(e,"sceneAttributes")&&$root$1.vertexvis.protobuf.stream.SceneAttributes.encode(e.sceneAttributes,t.uint32(18).fork()).ldelim(),null!=e.imageAttributes&&Object.hasOwnProperty.call(e,"imageAttributes")&&$root$1.vertexvis.protobuf.stream.ImageAttributes.encode(e.imageAttributes,t.uint32(26).fork()).ldelim(),null!=e.image&&Object.hasOwnProperty.call(e,"image")&&t.uint32(34).bytes(e.image),null!=e.frameCorrelationIds&&e.frameCorrelationIds.length)for(let r=0;r<e.frameCorrelationIds.length;++r)t.uint32(42).string(e.frameCorrelationIds[r]);return null!=e.depthBuffer&&Object.hasOwnProperty.call(e,"depthBuffer")&&$root$1.google.protobuf.BytesValue.encode(e.depthBuffer,t.uint32(50).fork()).ldelim(),null!=e.featureMap&&Object.hasOwnProperty.call(e,"featureMap")&&$root$1.google.protobuf.BytesValue.encode(e.featureMap,t.uint32(58).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.DrawFramePayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.sequenceNumber=e.uint32();break;case 2:n.sceneAttributes=$root$1.vertexvis.protobuf.stream.SceneAttributes.decode(e,e.uint32());break;case 3:n.imageAttributes=$root$1.vertexvis.protobuf.stream.ImageAttributes.decode(e,e.uint32());break;case 4:n.image=e.bytes();break;case 5:n.frameCorrelationIds&&n.frameCorrelationIds.length||(n.frameCorrelationIds=[]),n.frameCorrelationIds.push(e.string());break;case 6:n.depthBuffer=$root$1.google.protobuf.BytesValue.decode(e,e.uint32());break;case 7:n.featureMap=$root$1.google.protobuf.BytesValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sequenceNumber&&e.hasOwnProperty("sequenceNumber")&&!$util$1.isInteger(e.sequenceNumber))return"sequenceNumber: integer expected";if(null!=e.sceneAttributes&&e.hasOwnProperty("sceneAttributes")){let t=$root$1.vertexvis.protobuf.stream.SceneAttributes.verify(e.sceneAttributes);if(t)return"sceneAttributes."+t}if(null!=e.imageAttributes&&e.hasOwnProperty("imageAttributes")){let t=$root$1.vertexvis.protobuf.stream.ImageAttributes.verify(e.imageAttributes);if(t)return"imageAttributes."+t}if(null!=e.image&&e.hasOwnProperty("image")&&!(e.image&&"number"==typeof e.image.length||$util$1.isString(e.image)))return"image: buffer expected";if(null!=e.frameCorrelationIds&&e.hasOwnProperty("frameCorrelationIds")){if(!Array.isArray(e.frameCorrelationIds))return"frameCorrelationIds: array expected";for(let t=0;t<e.frameCorrelationIds.length;++t)if(!$util$1.isString(e.frameCorrelationIds[t]))return"frameCorrelationIds: string[] expected"}if(null!=e.depthBuffer&&e.hasOwnProperty("depthBuffer")){let t=$root$1.google.protobuf.BytesValue.verify(e.depthBuffer);if(t)return"depthBuffer."+t}if(null!=e.featureMap&&e.hasOwnProperty("featureMap")){let t=$root$1.google.protobuf.BytesValue.verify(e.featureMap);if(t)return"featureMap."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.DrawFramePayload)return e;let t=new $root$1.vertexvis.protobuf.stream.DrawFramePayload;if(null!=e.sequenceNumber&&(t.sequenceNumber=e.sequenceNumber>>>0),null!=e.sceneAttributes){if("object"!=typeof e.sceneAttributes)throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.sceneAttributes: object expected");t.sceneAttributes=$root$1.vertexvis.protobuf.stream.SceneAttributes.fromObject(e.sceneAttributes)}if(null!=e.imageAttributes){if("object"!=typeof e.imageAttributes)throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.imageAttributes: object expected");t.imageAttributes=$root$1.vertexvis.protobuf.stream.ImageAttributes.fromObject(e.imageAttributes)}if(null!=e.image&&("string"==typeof e.image?$util$1.base64.decode(e.image,t.image=$util$1.newBuffer($util$1.base64.length(e.image)),0):e.image.length&&(t.image=e.image)),e.frameCorrelationIds){if(!Array.isArray(e.frameCorrelationIds))throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.frameCorrelationIds: array expected");t.frameCorrelationIds=[];for(let r=0;r<e.frameCorrelationIds.length;++r)t.frameCorrelationIds[r]=String(e.frameCorrelationIds[r])}if(null!=e.depthBuffer){if("object"!=typeof e.depthBuffer)throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.depthBuffer: object expected");t.depthBuffer=$root$1.google.protobuf.BytesValue.fromObject(e.depthBuffer)}if(null!=e.featureMap){if("object"!=typeof e.featureMap)throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.featureMap: object expected");t.featureMap=$root$1.google.protobuf.BytesValue.fromObject(e.featureMap)}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.frameCorrelationIds=[]),t.defaults&&(r.sequenceNumber=0,r.sceneAttributes=null,r.imageAttributes=null,t.bytes===String?r.image="":(r.image=[],t.bytes!==Array&&(r.image=$util$1.newBuffer(r.image))),r.depthBuffer=null,r.featureMap=null),null!=e.sequenceNumber&&e.hasOwnProperty("sequenceNumber")&&(r.sequenceNumber=e.sequenceNumber),null!=e.sceneAttributes&&e.hasOwnProperty("sceneAttributes")&&(r.sceneAttributes=$root$1.vertexvis.protobuf.stream.SceneAttributes.toObject(e.sceneAttributes,t)),null!=e.imageAttributes&&e.hasOwnProperty("imageAttributes")&&(r.imageAttributes=$root$1.vertexvis.protobuf.stream.ImageAttributes.toObject(e.imageAttributes,t)),null!=e.image&&e.hasOwnProperty("image")&&(r.image=t.bytes===String?$util$1.base64.encode(e.image,0,e.image.length):t.bytes===Array?Array.prototype.slice.call(e.image):e.image),e.frameCorrelationIds&&e.frameCorrelationIds.length){r.frameCorrelationIds=[];for(let t=0;t<e.frameCorrelationIds.length;++t)r.frameCorrelationIds[t]=e.frameCorrelationIds[t]}return null!=e.depthBuffer&&e.hasOwnProperty("depthBuffer")&&(r.depthBuffer=$root$1.google.protobuf.BytesValue.toObject(e.depthBuffer,t)),null!=e.featureMap&&e.hasOwnProperty("featureMap")&&(r.featureMap=$root$1.google.protobuf.BytesValue.toObject(e.featureMap,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.SyncTimePayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.requestTime=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.requestTime&&Object.hasOwnProperty.call(e,"requestTime")&&$root$1.google.protobuf.Timestamp.encode(e.requestTime,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.SyncTimePayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.requestTime=$root$1.google.protobuf.Timestamp.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.requestTime&&e.hasOwnProperty("requestTime")){let t=$root$1.google.protobuf.Timestamp.verify(e.requestTime);if(t)return"requestTime."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.SyncTimePayload)return e;let t=new $root$1.vertexvis.protobuf.stream.SyncTimePayload;if(null!=e.requestTime){if("object"!=typeof e.requestTime)throw TypeError(".vertexvis.protobuf.stream.SyncTimePayload.requestTime: object expected");t.requestTime=$root$1.google.protobuf.Timestamp.fromObject(e.requestTime)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.requestTime=null),null!=e.requestTime&&e.hasOwnProperty("requestTime")&&(r.requestTime=$root$1.google.protobuf.Timestamp.toObject(e.requestTime,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.RecordPerformancePayload=function(){function e(e){if(this.timings=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.timings=$util$1.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer$1.create()),null!=e.timings&&e.timings.length)for(let r=0;r<e.timings.length;++r)$root$1.vertexvis.protobuf.stream.PerformanceTiming.encode(e.timings[r],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.RecordPerformancePayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.timings&&n.timings.length||(n.timings=[]),n.timings.push($root$1.vertexvis.protobuf.stream.PerformanceTiming.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.timings&&e.hasOwnProperty("timings")){if(!Array.isArray(e.timings))return"timings: array expected";for(let t=0;t<e.timings.length;++t){let r=$root$1.vertexvis.protobuf.stream.PerformanceTiming.verify(e.timings[t]);if(r)return"timings."+r}}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.RecordPerformancePayload)return e;let t=new $root$1.vertexvis.protobuf.stream.RecordPerformancePayload;if(e.timings){if(!Array.isArray(e.timings))throw TypeError(".vertexvis.protobuf.stream.RecordPerformancePayload.timings: array expected");t.timings=[];for(let r=0;r<e.timings.length;++r){if("object"!=typeof e.timings[r])throw TypeError(".vertexvis.protobuf.stream.RecordPerformancePayload.timings: object expected");t.timings[r]=$root$1.vertexvis.protobuf.stream.PerformanceTiming.fromObject(e.timings[r])}}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.timings=[]),e.timings&&e.timings.length){r.timings=[];for(let n=0;n<e.timings.length;++n)r.timings[n]=$root$1.vertexvis.protobuf.stream.PerformanceTiming.toObject(e.timings[n],t)}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.UpdateStreamPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.frameCorrelationId=null,e.prototype.streamAttributes=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root$1.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(10).fork()).ldelim(),null!=e.streamAttributes&&Object.hasOwnProperty.call(e,"streamAttributes")&&$root$1.vertexvis.protobuf.stream.StreamAttributes.encode(e.streamAttributes,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.UpdateStreamPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frameCorrelationId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.streamAttributes=$root$1.vertexvis.protobuf.stream.StreamAttributes.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root$1.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}if(null!=e.streamAttributes&&e.hasOwnProperty("streamAttributes")){let t=$root$1.vertexvis.protobuf.stream.StreamAttributes.verify(e.streamAttributes);if(t)return"streamAttributes."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.UpdateStreamPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.UpdateStreamPayload;if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateStreamPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root$1.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}if(null!=e.streamAttributes){if("object"!=typeof e.streamAttributes)throw TypeError(".vertexvis.protobuf.stream.UpdateStreamPayload.streamAttributes: object expected");t.streamAttributes=$root$1.vertexvis.protobuf.stream.StreamAttributes.fromObject(e.streamAttributes)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.frameCorrelationId=null,r.streamAttributes=null),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root$1.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.streamAttributes&&e.hasOwnProperty("streamAttributes")&&(r.streamAttributes=$root$1.vertexvis.protobuf.stream.StreamAttributes.toObject(e.streamAttributes,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.FlyToPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.frameCorrelationId=null,e.prototype.animation=null,e.prototype.itemId=null,e.prototype.itemSuppliedId=null,e.prototype.boundingBox=null,e.prototype.camera=null,Object.defineProperty(e.prototype,"flyToType",{get:$util$1.oneOfGetter(t=["itemId","itemSuppliedId","boundingBox","camera"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root$1.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(10).fork()).ldelim(),null!=e.animation&&Object.hasOwnProperty.call(e,"animation")&&$root$1.vertexvis.protobuf.stream.AnimationAttributes.encode(e.animation,t.uint32(18).fork()).ldelim(),null!=e.itemId&&Object.hasOwnProperty.call(e,"itemId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.itemId,t.uint32(26).fork()).ldelim(),null!=e.itemSuppliedId&&Object.hasOwnProperty.call(e,"itemSuppliedId")&&t.uint32(34).string(e.itemSuppliedId),null!=e.boundingBox&&Object.hasOwnProperty.call(e,"boundingBox")&&$root$1.vertexvis.protobuf.core.BoundingBox3f.encode(e.boundingBox,t.uint32(42).fork()).ldelim(),null!=e.camera&&Object.hasOwnProperty.call(e,"camera")&&$root$1.vertexvis.protobuf.stream.Camera.encode(e.camera,t.uint32(50).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.FlyToPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frameCorrelationId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.animation=$root$1.vertexvis.protobuf.stream.AnimationAttributes.decode(e,e.uint32());break;case 3:n.itemId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 4:n.itemSuppliedId=e.string();break;case 5:n.boundingBox=$root$1.vertexvis.protobuf.core.BoundingBox3f.decode(e,e.uint32());break;case 6:n.camera=$root$1.vertexvis.protobuf.stream.Camera.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root$1.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}if(null!=e.animation&&e.hasOwnProperty("animation")){let t=$root$1.vertexvis.protobuf.stream.AnimationAttributes.verify(e.animation);if(t)return"animation."+t}if(null!=e.itemId&&e.hasOwnProperty("itemId")){t.flyToType=1;{let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.itemId);if(t)return"itemId."+t}}if(null!=e.itemSuppliedId&&e.hasOwnProperty("itemSuppliedId")){if(1===t.flyToType)return"flyToType: multiple values";if(t.flyToType=1,!$util$1.isString(e.itemSuppliedId))return"itemSuppliedId: string expected"}if(null!=e.boundingBox&&e.hasOwnProperty("boundingBox")){if(1===t.flyToType)return"flyToType: multiple values";t.flyToType=1;{let t=$root$1.vertexvis.protobuf.core.BoundingBox3f.verify(e.boundingBox);if(t)return"boundingBox."+t}}if(null!=e.camera&&e.hasOwnProperty("camera")){if(1===t.flyToType)return"flyToType: multiple values";t.flyToType=1;{let t=$root$1.vertexvis.protobuf.stream.Camera.verify(e.camera);if(t)return"camera."+t}}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.FlyToPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.FlyToPayload;if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root$1.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}if(null!=e.animation){if("object"!=typeof e.animation)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.animation: object expected");t.animation=$root$1.vertexvis.protobuf.stream.AnimationAttributes.fromObject(e.animation)}if(null!=e.itemId){if("object"!=typeof e.itemId)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.itemId: object expected");t.itemId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.itemId)}if(null!=e.itemSuppliedId&&(t.itemSuppliedId=String(e.itemSuppliedId)),null!=e.boundingBox){if("object"!=typeof e.boundingBox)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.boundingBox: object expected");t.boundingBox=$root$1.vertexvis.protobuf.core.BoundingBox3f.fromObject(e.boundingBox)}if(null!=e.camera){if("object"!=typeof e.camera)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.camera: object expected");t.camera=$root$1.vertexvis.protobuf.stream.Camera.fromObject(e.camera)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.frameCorrelationId=null,r.animation=null),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root$1.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.animation&&e.hasOwnProperty("animation")&&(r.animation=$root$1.vertexvis.protobuf.stream.AnimationAttributes.toObject(e.animation,t)),null!=e.itemId&&e.hasOwnProperty("itemId")&&(r.itemId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.itemId,t),t.oneofs&&(r.flyToType="itemId")),null!=e.itemSuppliedId&&e.hasOwnProperty("itemSuppliedId")&&(r.itemSuppliedId=e.itemSuppliedId,t.oneofs&&(r.flyToType="itemSuppliedId")),null!=e.boundingBox&&e.hasOwnProperty("boundingBox")&&(r.boundingBox=$root$1.vertexvis.protobuf.core.BoundingBox3f.toObject(e.boundingBox,t),t.oneofs&&(r.flyToType="boundingBox")),null!=e.camera&&e.hasOwnProperty("camera")&&(r.camera=$root$1.vertexvis.protobuf.stream.Camera.toObject(e.camera,t),t.oneofs&&(r.flyToType="camera")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.LoadSceneViewStatePayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.sceneViewStateId=null,e.prototype.frameCorrelationId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.sceneViewStateId&&Object.hasOwnProperty.call(e,"sceneViewStateId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.sceneViewStateId,t.uint32(10).fork()).ldelim(),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root$1.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.LoadSceneViewStatePayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.sceneViewStateId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.frameCorrelationId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sceneViewStateId&&e.hasOwnProperty("sceneViewStateId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.sceneViewStateId);if(t)return"sceneViewStateId."+t}if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root$1.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.LoadSceneViewStatePayload)return e;let t=new $root$1.vertexvis.protobuf.stream.LoadSceneViewStatePayload;if(null!=e.sceneViewStateId){if("object"!=typeof e.sceneViewStateId)throw TypeError(".vertexvis.protobuf.stream.LoadSceneViewStatePayload.sceneViewStateId: object expected");t.sceneViewStateId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.sceneViewStateId)}if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.LoadSceneViewStatePayload.frameCorrelationId: object expected");t.frameCorrelationId=$root$1.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.sceneViewStateId=null,r.frameCorrelationId=null),null!=e.sceneViewStateId&&e.hasOwnProperty("sceneViewStateId")&&(r.sceneViewStateId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.sceneViewStateId,t)),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root$1.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ResetViewPlayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.frameCorrelationId=null,e.prototype.includeCamera=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root$1.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(10).fork()).ldelim(),null!=e.includeCamera&&Object.hasOwnProperty.call(e,"includeCamera")&&t.uint32(16).bool(e.includeCamera),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.ResetViewPlayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frameCorrelationId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.includeCamera=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root$1.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}return null!=e.includeCamera&&e.hasOwnProperty("includeCamera")&&"boolean"!=typeof e.includeCamera?"includeCamera: boolean expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.ResetViewPlayload)return e;let t=new $root$1.vertexvis.protobuf.stream.ResetViewPlayload;if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.ResetViewPlayload.frameCorrelationId: object expected");t.frameCorrelationId=$root$1.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}return null!=e.includeCamera&&(t.includeCamera=Boolean(e.includeCamera)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.frameCorrelationId=null,r.includeCamera=!1),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root$1.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.includeCamera&&e.hasOwnProperty("includeCamera")&&(r.includeCamera=e.includeCamera),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.UpdateCrossSectioningPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.crossSectioning=null,e.prototype.frameCorrelationId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.crossSectioning&&Object.hasOwnProperty.call(e,"crossSectioning")&&$root$1.vertexvis.protobuf.stream.CrossSectioning.encode(e.crossSectioning,t.uint32(10).fork()).ldelim(),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root$1.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.UpdateCrossSectioningPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.crossSectioning=$root$1.vertexvis.protobuf.stream.CrossSectioning.decode(e,e.uint32());break;case 2:n.frameCorrelationId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.crossSectioning&&e.hasOwnProperty("crossSectioning")){let t=$root$1.vertexvis.protobuf.stream.CrossSectioning.verify(e.crossSectioning);if(t)return"crossSectioning."+t}if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root$1.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.UpdateCrossSectioningPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.UpdateCrossSectioningPayload;if(null!=e.crossSectioning){if("object"!=typeof e.crossSectioning)throw TypeError(".vertexvis.protobuf.stream.UpdateCrossSectioningPayload.crossSectioning: object expected");t.crossSectioning=$root$1.vertexvis.protobuf.stream.CrossSectioning.fromObject(e.crossSectioning)}if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateCrossSectioningPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root$1.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.crossSectioning=null,r.frameCorrelationId=null),null!=e.crossSectioning&&e.hasOwnProperty("crossSectioning")&&(r.crossSectioning=$root$1.vertexvis.protobuf.stream.CrossSectioning.toObject(e.crossSectioning,t)),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root$1.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.GetStencilBufferPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.includeDepthBuffer=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.includeDepthBuffer&&Object.hasOwnProperty.call(e,"includeDepthBuffer")&&t.uint32(8).bool(e.includeDepthBuffer),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.GetStencilBufferPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.includeDepthBuffer=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.includeDepthBuffer&&e.hasOwnProperty("includeDepthBuffer")&&"boolean"!=typeof e.includeDepthBuffer?"includeDepthBuffer: boolean expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.GetStencilBufferPayload)return e;let t=new $root$1.vertexvis.protobuf.stream.GetStencilBufferPayload;return null!=e.includeDepthBuffer&&(t.includeDepthBuffer=Boolean(e.includeDepthBuffer)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.includeDepthBuffer=!1),null!=e.includeDepthBuffer&&e.hasOwnProperty("includeDepthBuffer")&&(r.includeDepthBuffer=e.includeDepthBuffer),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.RefreshTokenPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.RefreshTokenPayload;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root$1.vertexvis.protobuf.stream.RefreshTokenPayload?e:new $root$1.vertexvis.protobuf.stream.RefreshTokenPayload},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.StreamResponse=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.requestId=null,e.prototype.error=null,e.prototype.startStream=null,e.prototype.updateCamera=null,e.prototype.beginInteraction=null,e.prototype.endInteraction=null,e.prototype.gracefulReconnection=null,e.prototype.reconnect=null,e.prototype.hitItems=null,e.prototype.drawFrame=null,e.prototype.syncTime=null,e.prototype.recordPerformance=null,e.prototype.updateDimensions=null,e.prototype.updateStream=null,e.prototype.flyTo=null,e.prototype.loadSceneViewState=null,e.prototype.updateCrossSectioning=null,e.prototype.stencilBuffer=null,e.prototype.resetView=null,e.prototype.refreshToken=null,e.prototype.updateInteraction=null,Object.defineProperty(e.prototype,"result",{get:$util$1.oneOfGetter(t=["startStream","updateCamera","beginInteraction","endInteraction","gracefulReconnection","reconnect","hitItems","drawFrame","syncTime","recordPerformance","updateDimensions","updateStream","flyTo","loadSceneViewState","updateCrossSectioning","stencilBuffer","resetView","refreshToken","updateInteraction"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&$root$1.google.protobuf.StringValue.encode(e.requestId,t.uint32(10).fork()).ldelim(),null!=e.error&&Object.hasOwnProperty.call(e,"error")&&$root$1.vertexvis.protobuf.stream.Error.encode(e.error,t.uint32(18).fork()).ldelim(),null!=e.startStream&&Object.hasOwnProperty.call(e,"startStream")&&$root$1.vertexvis.protobuf.stream.StartStreamResult.encode(e.startStream,t.uint32(26).fork()).ldelim(),null!=e.updateCamera&&Object.hasOwnProperty.call(e,"updateCamera")&&$root$1.vertexvis.protobuf.stream.UpdateCameraResult.encode(e.updateCamera,t.uint32(34).fork()).ldelim(),null!=e.beginInteraction&&Object.hasOwnProperty.call(e,"beginInteraction")&&$root$1.vertexvis.protobuf.stream.BeginInteractionResult.encode(e.beginInteraction,t.uint32(42).fork()).ldelim(),null!=e.endInteraction&&Object.hasOwnProperty.call(e,"endInteraction")&&$root$1.vertexvis.protobuf.stream.EndInteractionResult.encode(e.endInteraction,t.uint32(50).fork()).ldelim(),null!=e.reconnect&&Object.hasOwnProperty.call(e,"reconnect")&&$root$1.vertexvis.protobuf.stream.ReconnectResult.encode(e.reconnect,t.uint32(58).fork()).ldelim(),null!=e.hitItems&&Object.hasOwnProperty.call(e,"hitItems")&&$root$1.vertexvis.protobuf.stream.HitItemsResult.encode(e.hitItems,t.uint32(66).fork()).ldelim(),null!=e.drawFrame&&Object.hasOwnProperty.call(e,"drawFrame")&&$root$1.vertexvis.protobuf.stream.DrawFrameResult.encode(e.drawFrame,t.uint32(74).fork()).ldelim(),null!=e.syncTime&&Object.hasOwnProperty.call(e,"syncTime")&&$root$1.vertexvis.protobuf.stream.SyncTimeResult.encode(e.syncTime,t.uint32(82).fork()).ldelim(),null!=e.recordPerformance&&Object.hasOwnProperty.call(e,"recordPerformance")&&$root$1.vertexvis.protobuf.stream.RecordPerformanceResult.encode(e.recordPerformance,t.uint32(90).fork()).ldelim(),null!=e.updateDimensions&&Object.hasOwnProperty.call(e,"updateDimensions")&&$root$1.vertexvis.protobuf.stream.UpdateDimensionsResult.encode(e.updateDimensions,t.uint32(98).fork()).ldelim(),null!=e.updateStream&&Object.hasOwnProperty.call(e,"updateStream")&&$root$1.vertexvis.protobuf.stream.UpdateStreamResult.encode(e.updateStream,t.uint32(106).fork()).ldelim(),null!=e.flyTo&&Object.hasOwnProperty.call(e,"flyTo")&&$root$1.vertexvis.protobuf.stream.FlyToResult.encode(e.flyTo,t.uint32(114).fork()).ldelim(),null!=e.loadSceneViewState&&Object.hasOwnProperty.call(e,"loadSceneViewState")&&$root$1.vertexvis.protobuf.stream.LoadSceneViewStateResult.encode(e.loadSceneViewState,t.uint32(122).fork()).ldelim(),null!=e.updateCrossSectioning&&Object.hasOwnProperty.call(e,"updateCrossSectioning")&&$root$1.vertexvis.protobuf.stream.UpdateCrossSectioningResult.encode(e.updateCrossSectioning,t.uint32(130).fork()).ldelim(),null!=e.stencilBuffer&&Object.hasOwnProperty.call(e,"stencilBuffer")&&$root$1.vertexvis.protobuf.stream.GetStencilBufferResult.encode(e.stencilBuffer,t.uint32(138).fork()).ldelim(),null!=e.resetView&&Object.hasOwnProperty.call(e,"resetView")&&$root$1.vertexvis.protobuf.stream.ResetViewResult.encode(e.resetView,t.uint32(146).fork()).ldelim(),null!=e.refreshToken&&Object.hasOwnProperty.call(e,"refreshToken")&&$root$1.vertexvis.protobuf.stream.RefreshTokenResult.encode(e.refreshToken,t.uint32(154).fork()).ldelim(),null!=e.gracefulReconnection&&Object.hasOwnProperty.call(e,"gracefulReconnection")&&$root$1.vertexvis.protobuf.stream.GracefulReconnectionResult.encode(e.gracefulReconnection,t.uint32(162).fork()).ldelim(),null!=e.updateInteraction&&Object.hasOwnProperty.call(e,"updateInteraction")&&$root$1.vertexvis.protobuf.stream.UpdateInteractionResult.encode(e.updateInteraction,t.uint32(170).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.StreamResponse;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.requestId=$root$1.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.error=$root$1.vertexvis.protobuf.stream.Error.decode(e,e.uint32());break;case 3:n.startStream=$root$1.vertexvis.protobuf.stream.StartStreamResult.decode(e,e.uint32());break;case 4:n.updateCamera=$root$1.vertexvis.protobuf.stream.UpdateCameraResult.decode(e,e.uint32());break;case 5:n.beginInteraction=$root$1.vertexvis.protobuf.stream.BeginInteractionResult.decode(e,e.uint32());break;case 6:n.endInteraction=$root$1.vertexvis.protobuf.stream.EndInteractionResult.decode(e,e.uint32());break;case 20:n.gracefulReconnection=$root$1.vertexvis.protobuf.stream.GracefulReconnectionResult.decode(e,e.uint32());break;case 7:n.reconnect=$root$1.vertexvis.protobuf.stream.ReconnectResult.decode(e,e.uint32());break;case 8:n.hitItems=$root$1.vertexvis.protobuf.stream.HitItemsResult.decode(e,e.uint32());break;case 9:n.drawFrame=$root$1.vertexvis.protobuf.stream.DrawFrameResult.decode(e,e.uint32());break;case 10:n.syncTime=$root$1.vertexvis.protobuf.stream.SyncTimeResult.decode(e,e.uint32());break;case 11:n.recordPerformance=$root$1.vertexvis.protobuf.stream.RecordPerformanceResult.decode(e,e.uint32());break;case 12:n.updateDimensions=$root$1.vertexvis.protobuf.stream.UpdateDimensionsResult.decode(e,e.uint32());break;case 13:n.updateStream=$root$1.vertexvis.protobuf.stream.UpdateStreamResult.decode(e,e.uint32());break;case 14:n.flyTo=$root$1.vertexvis.protobuf.stream.FlyToResult.decode(e,e.uint32());break;case 15:n.loadSceneViewState=$root$1.vertexvis.protobuf.stream.LoadSceneViewStateResult.decode(e,e.uint32());break;case 16:n.updateCrossSectioning=$root$1.vertexvis.protobuf.stream.UpdateCrossSectioningResult.decode(e,e.uint32());break;case 17:n.stencilBuffer=$root$1.vertexvis.protobuf.stream.GetStencilBufferResult.decode(e,e.uint32());break;case 18:n.resetView=$root$1.vertexvis.protobuf.stream.ResetViewResult.decode(e,e.uint32());break;case 19:n.refreshToken=$root$1.vertexvis.protobuf.stream.RefreshTokenResult.decode(e,e.uint32());break;case 21:n.updateInteraction=$root$1.vertexvis.protobuf.stream.UpdateInteractionResult.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.requestId&&e.hasOwnProperty("requestId")){let t=$root$1.google.protobuf.StringValue.verify(e.requestId);if(t)return"requestId."+t}if(null!=e.error&&e.hasOwnProperty("error")){let t=$root$1.vertexvis.protobuf.stream.Error.verify(e.error);if(t)return"error."+t}if(null!=e.startStream&&e.hasOwnProperty("startStream")){t.result=1;{let t=$root$1.vertexvis.protobuf.stream.StartStreamResult.verify(e.startStream);if(t)return"startStream."+t}}if(null!=e.updateCamera&&e.hasOwnProperty("updateCamera")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.UpdateCameraResult.verify(e.updateCamera);if(t)return"updateCamera."+t}}if(null!=e.beginInteraction&&e.hasOwnProperty("beginInteraction")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.BeginInteractionResult.verify(e.beginInteraction);if(t)return"beginInteraction."+t}}if(null!=e.endInteraction&&e.hasOwnProperty("endInteraction")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.EndInteractionResult.verify(e.endInteraction);if(t)return"endInteraction."+t}}if(null!=e.gracefulReconnection&&e.hasOwnProperty("gracefulReconnection")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.GracefulReconnectionResult.verify(e.gracefulReconnection);if(t)return"gracefulReconnection."+t}}if(null!=e.reconnect&&e.hasOwnProperty("reconnect")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.ReconnectResult.verify(e.reconnect);if(t)return"reconnect."+t}}if(null!=e.hitItems&&e.hasOwnProperty("hitItems")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.HitItemsResult.verify(e.hitItems);if(t)return"hitItems."+t}}if(null!=e.drawFrame&&e.hasOwnProperty("drawFrame")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.DrawFrameResult.verify(e.drawFrame);if(t)return"drawFrame."+t}}if(null!=e.syncTime&&e.hasOwnProperty("syncTime")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.SyncTimeResult.verify(e.syncTime);if(t)return"syncTime."+t}}if(null!=e.recordPerformance&&e.hasOwnProperty("recordPerformance")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.RecordPerformanceResult.verify(e.recordPerformance);if(t)return"recordPerformance."+t}}if(null!=e.updateDimensions&&e.hasOwnProperty("updateDimensions")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.UpdateDimensionsResult.verify(e.updateDimensions);if(t)return"updateDimensions."+t}}if(null!=e.updateStream&&e.hasOwnProperty("updateStream")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.UpdateStreamResult.verify(e.updateStream);if(t)return"updateStream."+t}}if(null!=e.flyTo&&e.hasOwnProperty("flyTo")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.FlyToResult.verify(e.flyTo);if(t)return"flyTo."+t}}if(null!=e.loadSceneViewState&&e.hasOwnProperty("loadSceneViewState")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.LoadSceneViewStateResult.verify(e.loadSceneViewState);if(t)return"loadSceneViewState."+t}}if(null!=e.updateCrossSectioning&&e.hasOwnProperty("updateCrossSectioning")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.UpdateCrossSectioningResult.verify(e.updateCrossSectioning);if(t)return"updateCrossSectioning."+t}}if(null!=e.stencilBuffer&&e.hasOwnProperty("stencilBuffer")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.GetStencilBufferResult.verify(e.stencilBuffer);if(t)return"stencilBuffer."+t}}if(null!=e.resetView&&e.hasOwnProperty("resetView")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.ResetViewResult.verify(e.resetView);if(t)return"resetView."+t}}if(null!=e.refreshToken&&e.hasOwnProperty("refreshToken")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.RefreshTokenResult.verify(e.refreshToken);if(t)return"refreshToken."+t}}if(null!=e.updateInteraction&&e.hasOwnProperty("updateInteraction")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root$1.vertexvis.protobuf.stream.UpdateInteractionResult.verify(e.updateInteraction);if(t)return"updateInteraction."+t}}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.StreamResponse)return e;let t=new $root$1.vertexvis.protobuf.stream.StreamResponse;if(null!=e.requestId){if("object"!=typeof e.requestId)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.requestId: object expected");t.requestId=$root$1.google.protobuf.StringValue.fromObject(e.requestId)}if(null!=e.error){if("object"!=typeof e.error)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.error: object expected");t.error=$root$1.vertexvis.protobuf.stream.Error.fromObject(e.error)}if(null!=e.startStream){if("object"!=typeof e.startStream)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.startStream: object expected");t.startStream=$root$1.vertexvis.protobuf.stream.StartStreamResult.fromObject(e.startStream)}if(null!=e.updateCamera){if("object"!=typeof e.updateCamera)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateCamera: object expected");t.updateCamera=$root$1.vertexvis.protobuf.stream.UpdateCameraResult.fromObject(e.updateCamera)}if(null!=e.beginInteraction){if("object"!=typeof e.beginInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.beginInteraction: object expected");t.beginInteraction=$root$1.vertexvis.protobuf.stream.BeginInteractionResult.fromObject(e.beginInteraction)}if(null!=e.endInteraction){if("object"!=typeof e.endInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.endInteraction: object expected");t.endInteraction=$root$1.vertexvis.protobuf.stream.EndInteractionResult.fromObject(e.endInteraction)}if(null!=e.gracefulReconnection){if("object"!=typeof e.gracefulReconnection)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.gracefulReconnection: object expected");t.gracefulReconnection=$root$1.vertexvis.protobuf.stream.GracefulReconnectionResult.fromObject(e.gracefulReconnection)}if(null!=e.reconnect){if("object"!=typeof e.reconnect)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.reconnect: object expected");t.reconnect=$root$1.vertexvis.protobuf.stream.ReconnectResult.fromObject(e.reconnect)}if(null!=e.hitItems){if("object"!=typeof e.hitItems)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.hitItems: object expected");t.hitItems=$root$1.vertexvis.protobuf.stream.HitItemsResult.fromObject(e.hitItems)}if(null!=e.drawFrame){if("object"!=typeof e.drawFrame)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.drawFrame: object expected");t.drawFrame=$root$1.vertexvis.protobuf.stream.DrawFrameResult.fromObject(e.drawFrame)}if(null!=e.syncTime){if("object"!=typeof e.syncTime)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.syncTime: object expected");t.syncTime=$root$1.vertexvis.protobuf.stream.SyncTimeResult.fromObject(e.syncTime)}if(null!=e.recordPerformance){if("object"!=typeof e.recordPerformance)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.recordPerformance: object expected");t.recordPerformance=$root$1.vertexvis.protobuf.stream.RecordPerformanceResult.fromObject(e.recordPerformance)}if(null!=e.updateDimensions){if("object"!=typeof e.updateDimensions)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateDimensions: object expected");t.updateDimensions=$root$1.vertexvis.protobuf.stream.UpdateDimensionsResult.fromObject(e.updateDimensions)}if(null!=e.updateStream){if("object"!=typeof e.updateStream)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateStream: object expected");t.updateStream=$root$1.vertexvis.protobuf.stream.UpdateStreamResult.fromObject(e.updateStream)}if(null!=e.flyTo){if("object"!=typeof e.flyTo)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.flyTo: object expected");t.flyTo=$root$1.vertexvis.protobuf.stream.FlyToResult.fromObject(e.flyTo)}if(null!=e.loadSceneViewState){if("object"!=typeof e.loadSceneViewState)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.loadSceneViewState: object expected");t.loadSceneViewState=$root$1.vertexvis.protobuf.stream.LoadSceneViewStateResult.fromObject(e.loadSceneViewState)}if(null!=e.updateCrossSectioning){if("object"!=typeof e.updateCrossSectioning)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateCrossSectioning: object expected");t.updateCrossSectioning=$root$1.vertexvis.protobuf.stream.UpdateCrossSectioningResult.fromObject(e.updateCrossSectioning)}if(null!=e.stencilBuffer){if("object"!=typeof e.stencilBuffer)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.stencilBuffer: object expected");t.stencilBuffer=$root$1.vertexvis.protobuf.stream.GetStencilBufferResult.fromObject(e.stencilBuffer)}if(null!=e.resetView){if("object"!=typeof e.resetView)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.resetView: object expected");t.resetView=$root$1.vertexvis.protobuf.stream.ResetViewResult.fromObject(e.resetView)}if(null!=e.refreshToken){if("object"!=typeof e.refreshToken)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.refreshToken: object expected");t.refreshToken=$root$1.vertexvis.protobuf.stream.RefreshTokenResult.fromObject(e.refreshToken)}if(null!=e.updateInteraction){if("object"!=typeof e.updateInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateInteraction: object expected");t.updateInteraction=$root$1.vertexvis.protobuf.stream.UpdateInteractionResult.fromObject(e.updateInteraction)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.requestId=null,r.error=null),null!=e.requestId&&e.hasOwnProperty("requestId")&&(r.requestId=$root$1.google.protobuf.StringValue.toObject(e.requestId,t)),null!=e.error&&e.hasOwnProperty("error")&&(r.error=$root$1.vertexvis.protobuf.stream.Error.toObject(e.error,t)),null!=e.startStream&&e.hasOwnProperty("startStream")&&(r.startStream=$root$1.vertexvis.protobuf.stream.StartStreamResult.toObject(e.startStream,t),t.oneofs&&(r.result="startStream")),null!=e.updateCamera&&e.hasOwnProperty("updateCamera")&&(r.updateCamera=$root$1.vertexvis.protobuf.stream.UpdateCameraResult.toObject(e.updateCamera,t),t.oneofs&&(r.result="updateCamera")),null!=e.beginInteraction&&e.hasOwnProperty("beginInteraction")&&(r.beginInteraction=$root$1.vertexvis.protobuf.stream.BeginInteractionResult.toObject(e.beginInteraction,t),t.oneofs&&(r.result="beginInteraction")),null!=e.endInteraction&&e.hasOwnProperty("endInteraction")&&(r.endInteraction=$root$1.vertexvis.protobuf.stream.EndInteractionResult.toObject(e.endInteraction,t),t.oneofs&&(r.result="endInteraction")),null!=e.reconnect&&e.hasOwnProperty("reconnect")&&(r.reconnect=$root$1.vertexvis.protobuf.stream.ReconnectResult.toObject(e.reconnect,t),t.oneofs&&(r.result="reconnect")),null!=e.hitItems&&e.hasOwnProperty("hitItems")&&(r.hitItems=$root$1.vertexvis.protobuf.stream.HitItemsResult.toObject(e.hitItems,t),t.oneofs&&(r.result="hitItems")),null!=e.drawFrame&&e.hasOwnProperty("drawFrame")&&(r.drawFrame=$root$1.vertexvis.protobuf.stream.DrawFrameResult.toObject(e.drawFrame,t),t.oneofs&&(r.result="drawFrame")),null!=e.syncTime&&e.hasOwnProperty("syncTime")&&(r.syncTime=$root$1.vertexvis.protobuf.stream.SyncTimeResult.toObject(e.syncTime,t),t.oneofs&&(r.result="syncTime")),null!=e.recordPerformance&&e.hasOwnProperty("recordPerformance")&&(r.recordPerformance=$root$1.vertexvis.protobuf.stream.RecordPerformanceResult.toObject(e.recordPerformance,t),t.oneofs&&(r.result="recordPerformance")),null!=e.updateDimensions&&e.hasOwnProperty("updateDimensions")&&(r.updateDimensions=$root$1.vertexvis.protobuf.stream.UpdateDimensionsResult.toObject(e.updateDimensions,t),t.oneofs&&(r.result="updateDimensions")),null!=e.updateStream&&e.hasOwnProperty("updateStream")&&(r.updateStream=$root$1.vertexvis.protobuf.stream.UpdateStreamResult.toObject(e.updateStream,t),t.oneofs&&(r.result="updateStream")),null!=e.flyTo&&e.hasOwnProperty("flyTo")&&(r.flyTo=$root$1.vertexvis.protobuf.stream.FlyToResult.toObject(e.flyTo,t),t.oneofs&&(r.result="flyTo")),null!=e.loadSceneViewState&&e.hasOwnProperty("loadSceneViewState")&&(r.loadSceneViewState=$root$1.vertexvis.protobuf.stream.LoadSceneViewStateResult.toObject(e.loadSceneViewState,t),t.oneofs&&(r.result="loadSceneViewState")),null!=e.updateCrossSectioning&&e.hasOwnProperty("updateCrossSectioning")&&(r.updateCrossSectioning=$root$1.vertexvis.protobuf.stream.UpdateCrossSectioningResult.toObject(e.updateCrossSectioning,t),t.oneofs&&(r.result="updateCrossSectioning")),null!=e.stencilBuffer&&e.hasOwnProperty("stencilBuffer")&&(r.stencilBuffer=$root$1.vertexvis.protobuf.stream.GetStencilBufferResult.toObject(e.stencilBuffer,t),t.oneofs&&(r.result="stencilBuffer")),null!=e.resetView&&e.hasOwnProperty("resetView")&&(r.resetView=$root$1.vertexvis.protobuf.stream.ResetViewResult.toObject(e.resetView,t),t.oneofs&&(r.result="resetView")),null!=e.refreshToken&&e.hasOwnProperty("refreshToken")&&(r.refreshToken=$root$1.vertexvis.protobuf.stream.RefreshTokenResult.toObject(e.refreshToken,t),t.oneofs&&(r.result="refreshToken")),null!=e.gracefulReconnection&&e.hasOwnProperty("gracefulReconnection")&&(r.gracefulReconnection=$root$1.vertexvis.protobuf.stream.GracefulReconnectionResult.toObject(e.gracefulReconnection,t),t.oneofs&&(r.result="gracefulReconnection")),null!=e.updateInteraction&&e.hasOwnProperty("updateInteraction")&&(r.updateInteraction=$root$1.vertexvis.protobuf.stream.UpdateInteractionResult.toObject(e.updateInteraction,t),t.oneofs&&(r.result="updateInteraction")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.StartStreamResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.streamId=null,e.prototype.sceneViewId=null,e.prototype.sessionId=null,e.prototype.jwt="",e.prototype.worldOrientation=null,e.prototype.token=null,e.prototype.sceneId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.streamId,t.uint32(10).fork()).ldelim(),null!=e.sceneViewId&&Object.hasOwnProperty.call(e,"sceneViewId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.sceneViewId,t.uint32(18).fork()).ldelim(),null!=e.sessionId&&Object.hasOwnProperty.call(e,"sessionId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.sessionId,t.uint32(26).fork()).ldelim(),null!=e.jwt&&Object.hasOwnProperty.call(e,"jwt")&&t.uint32(34).string(e.jwt),null!=e.worldOrientation&&Object.hasOwnProperty.call(e,"worldOrientation")&&$root$1.vertexvis.protobuf.stream.Orientation.encode(e.worldOrientation,t.uint32(42).fork()).ldelim(),null!=e.token&&Object.hasOwnProperty.call(e,"token")&&$root$1.vertexvis.protobuf.stream.Token.encode(e.token,t.uint32(50).fork()).ldelim(),null!=e.sceneId&&Object.hasOwnProperty.call(e,"sceneId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.sceneId,t.uint32(58).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.StartStreamResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.streamId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.sceneViewId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 3:n.sessionId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 4:n.jwt=e.string();break;case 5:n.worldOrientation=$root$1.vertexvis.protobuf.stream.Orientation.decode(e,e.uint32());break;case 6:n.token=$root$1.vertexvis.protobuf.stream.Token.decode(e,e.uint32());break;case 7:n.sceneId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streamId&&e.hasOwnProperty("streamId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.streamId);if(t)return"streamId."+t}if(null!=e.sceneViewId&&e.hasOwnProperty("sceneViewId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.sceneViewId);if(t)return"sceneViewId."+t}if(null!=e.sessionId&&e.hasOwnProperty("sessionId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.sessionId);if(t)return"sessionId."+t}if(null!=e.jwt&&e.hasOwnProperty("jwt")&&!$util$1.isString(e.jwt))return"jwt: string expected";if(null!=e.worldOrientation&&e.hasOwnProperty("worldOrientation")){let t=$root$1.vertexvis.protobuf.stream.Orientation.verify(e.worldOrientation);if(t)return"worldOrientation."+t}if(null!=e.token&&e.hasOwnProperty("token")){let t=$root$1.vertexvis.protobuf.stream.Token.verify(e.token);if(t)return"token."+t}if(null!=e.sceneId&&e.hasOwnProperty("sceneId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.sceneId);if(t)return"sceneId."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.StartStreamResult)return e;let t=new $root$1.vertexvis.protobuf.stream.StartStreamResult;if(null!=e.streamId){if("object"!=typeof e.streamId)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.streamId: object expected");t.streamId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.streamId)}if(null!=e.sceneViewId){if("object"!=typeof e.sceneViewId)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.sceneViewId: object expected");t.sceneViewId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.sceneViewId)}if(null!=e.sessionId){if("object"!=typeof e.sessionId)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.sessionId: object expected");t.sessionId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.sessionId)}if(null!=e.jwt&&(t.jwt=String(e.jwt)),null!=e.worldOrientation){if("object"!=typeof e.worldOrientation)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.worldOrientation: object expected");t.worldOrientation=$root$1.vertexvis.protobuf.stream.Orientation.fromObject(e.worldOrientation)}if(null!=e.token){if("object"!=typeof e.token)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.token: object expected");t.token=$root$1.vertexvis.protobuf.stream.Token.fromObject(e.token)}if(null!=e.sceneId){if("object"!=typeof e.sceneId)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.sceneId: object expected");t.sceneId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.sceneId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.streamId=null,r.sceneViewId=null,r.sessionId=null,r.jwt="",r.worldOrientation=null,r.token=null,r.sceneId=null),null!=e.streamId&&e.hasOwnProperty("streamId")&&(r.streamId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.streamId,t)),null!=e.sceneViewId&&e.hasOwnProperty("sceneViewId")&&(r.sceneViewId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.sceneViewId,t)),null!=e.sessionId&&e.hasOwnProperty("sessionId")&&(r.sessionId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.sessionId,t)),null!=e.jwt&&e.hasOwnProperty("jwt")&&(r.jwt=e.jwt),null!=e.worldOrientation&&e.hasOwnProperty("worldOrientation")&&(r.worldOrientation=$root$1.vertexvis.protobuf.stream.Orientation.toObject(e.worldOrientation,t)),null!=e.token&&e.hasOwnProperty("token")&&(r.token=$root$1.vertexvis.protobuf.stream.Token.toObject(e.token,t)),null!=e.sceneId&&e.hasOwnProperty("sceneId")&&(r.sceneId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.sceneId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.UpdateCameraResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.camera=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.camera&&Object.hasOwnProperty.call(e,"camera")&&$root$1.vertexvis.protobuf.stream.Camera.encode(e.camera,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.UpdateCameraResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.camera=$root$1.vertexvis.protobuf.stream.Camera.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.camera&&e.hasOwnProperty("camera")){let t=$root$1.vertexvis.protobuf.stream.Camera.verify(e.camera);if(t)return"camera."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.UpdateCameraResult)return e;let t=new $root$1.vertexvis.protobuf.stream.UpdateCameraResult;if(null!=e.camera){if("object"!=typeof e.camera)throw TypeError(".vertexvis.protobuf.stream.UpdateCameraResult.camera: object expected");t.camera=$root$1.vertexvis.protobuf.stream.Camera.fromObject(e.camera)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.camera=null),null!=e.camera&&e.hasOwnProperty("camera")&&(r.camera=$root$1.vertexvis.protobuf.stream.Camera.toObject(e.camera,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.UpdateDimensionsResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.dimensions=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.dimensions&&Object.hasOwnProperty.call(e,"dimensions")&&$root$1.vertexvis.protobuf.stream.Dimensions.encode(e.dimensions,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.UpdateDimensionsResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.dimensions=$root$1.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.dimensions&&e.hasOwnProperty("dimensions")){let t=$root$1.vertexvis.protobuf.stream.Dimensions.verify(e.dimensions);if(t)return"dimensions."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.UpdateDimensionsResult)return e;let t=new $root$1.vertexvis.protobuf.stream.UpdateDimensionsResult;if(null!=e.dimensions){if("object"!=typeof e.dimensions)throw TypeError(".vertexvis.protobuf.stream.UpdateDimensionsResult.dimensions: object expected");t.dimensions=$root$1.vertexvis.protobuf.stream.Dimensions.fromObject(e.dimensions)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.dimensions=null),null!=e.dimensions&&e.hasOwnProperty("dimensions")&&(r.dimensions=$root$1.vertexvis.protobuf.stream.Dimensions.toObject(e.dimensions,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.BeginInteractionResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.BeginInteractionResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root$1.vertexvis.protobuf.stream.BeginInteractionResult?e:new $root$1.vertexvis.protobuf.stream.BeginInteractionResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.UpdateInteractionResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.UpdateInteractionResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root$1.vertexvis.protobuf.stream.UpdateInteractionResult?e:new $root$1.vertexvis.protobuf.stream.UpdateInteractionResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.EndInteractionResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.EndInteractionResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root$1.vertexvis.protobuf.stream.EndInteractionResult?e:new $root$1.vertexvis.protobuf.stream.EndInteractionResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ReconnectResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.jwt="",e.prototype.token=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.jwt&&Object.hasOwnProperty.call(e,"jwt")&&t.uint32(10).string(e.jwt),null!=e.token&&Object.hasOwnProperty.call(e,"token")&&$root$1.vertexvis.protobuf.stream.Token.encode(e.token,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.ReconnectResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.jwt=e.string();break;case 2:n.token=$root$1.vertexvis.protobuf.stream.Token.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.jwt&&e.hasOwnProperty("jwt")&&!$util$1.isString(e.jwt))return"jwt: string expected";if(null!=e.token&&e.hasOwnProperty("token")){let t=$root$1.vertexvis.protobuf.stream.Token.verify(e.token);if(t)return"token."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.ReconnectResult)return e;let t=new $root$1.vertexvis.protobuf.stream.ReconnectResult;if(null!=e.jwt&&(t.jwt=String(e.jwt)),null!=e.token){if("object"!=typeof e.token)throw TypeError(".vertexvis.protobuf.stream.ReconnectResult.token: object expected");t.token=$root$1.vertexvis.protobuf.stream.Token.fromObject(e.token)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.jwt="",r.token=null),null!=e.jwt&&e.hasOwnProperty("jwt")&&(r.jwt=e.jwt),null!=e.token&&e.hasOwnProperty("token")&&(r.token=$root$1.vertexvis.protobuf.stream.Token.toObject(e.token,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.HitItemsResult=function(){function e(e){if(this.hits=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.hits=$util$1.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer$1.create()),null!=e.hits&&e.hits.length)for(let r=0;r<e.hits.length;++r)$root$1.vertexvis.protobuf.stream.Hit.encode(e.hits[r],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.HitItemsResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.hits&&n.hits.length||(n.hits=[]),n.hits.push($root$1.vertexvis.protobuf.stream.Hit.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.hits&&e.hasOwnProperty("hits")){if(!Array.isArray(e.hits))return"hits: array expected";for(let t=0;t<e.hits.length;++t){let r=$root$1.vertexvis.protobuf.stream.Hit.verify(e.hits[t]);if(r)return"hits."+r}}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.HitItemsResult)return e;let t=new $root$1.vertexvis.protobuf.stream.HitItemsResult;if(e.hits){if(!Array.isArray(e.hits))throw TypeError(".vertexvis.protobuf.stream.HitItemsResult.hits: array expected");t.hits=[];for(let r=0;r<e.hits.length;++r){if("object"!=typeof e.hits[r])throw TypeError(".vertexvis.protobuf.stream.HitItemsResult.hits: object expected");t.hits[r]=$root$1.vertexvis.protobuf.stream.Hit.fromObject(e.hits[r])}}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.hits=[]),e.hits&&e.hits.length){r.hits=[];for(let n=0;n<e.hits.length;++n)r.hits[n]=$root$1.vertexvis.protobuf.stream.Hit.toObject(e.hits[n],t)}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.SyncTimeResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.replyTime=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.replyTime&&Object.hasOwnProperty.call(e,"replyTime")&&$root$1.google.protobuf.Timestamp.encode(e.replyTime,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.SyncTimeResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.replyTime=$root$1.google.protobuf.Timestamp.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.replyTime&&e.hasOwnProperty("replyTime")){let t=$root$1.google.protobuf.Timestamp.verify(e.replyTime);if(t)return"replyTime."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.SyncTimeResult)return e;let t=new $root$1.vertexvis.protobuf.stream.SyncTimeResult;if(null!=e.replyTime){if("object"!=typeof e.replyTime)throw TypeError(".vertexvis.protobuf.stream.SyncTimeResult.replyTime: object expected");t.replyTime=$root$1.google.protobuf.Timestamp.fromObject(e.replyTime)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.replyTime=null),null!=e.replyTime&&e.hasOwnProperty("replyTime")&&(r.replyTime=$root$1.google.protobuf.Timestamp.toObject(e.replyTime,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.DrawFrameResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.sendToReceiveDuration=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.sendToReceiveDuration&&Object.hasOwnProperty.call(e,"sendToReceiveDuration")&&$root$1.google.protobuf.Duration.encode(e.sendToReceiveDuration,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.DrawFrameResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.sendToReceiveDuration=$root$1.google.protobuf.Duration.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sendToReceiveDuration&&e.hasOwnProperty("sendToReceiveDuration")){let t=$root$1.google.protobuf.Duration.verify(e.sendToReceiveDuration);if(t)return"sendToReceiveDuration."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.DrawFrameResult)return e;let t=new $root$1.vertexvis.protobuf.stream.DrawFrameResult;if(null!=e.sendToReceiveDuration){if("object"!=typeof e.sendToReceiveDuration)throw TypeError(".vertexvis.protobuf.stream.DrawFrameResult.sendToReceiveDuration: object expected");t.sendToReceiveDuration=$root$1.google.protobuf.Duration.fromObject(e.sendToReceiveDuration)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.sendToReceiveDuration=null),null!=e.sendToReceiveDuration&&e.hasOwnProperty("sendToReceiveDuration")&&(r.sendToReceiveDuration=$root$1.google.protobuf.Duration.toObject(e.sendToReceiveDuration,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.RecordPerformanceResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.RecordPerformanceResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root$1.vertexvis.protobuf.stream.RecordPerformanceResult?e:new $root$1.vertexvis.protobuf.stream.RecordPerformanceResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.UpdateStreamResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.UpdateStreamResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root$1.vertexvis.protobuf.stream.UpdateStreamResult?e:new $root$1.vertexvis.protobuf.stream.UpdateStreamResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.FlyToResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.animationId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.animationId&&Object.hasOwnProperty.call(e,"animationId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.animationId,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.FlyToResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.animationId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.animationId&&e.hasOwnProperty("animationId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.animationId);if(t)return"animationId."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.FlyToResult)return e;let t=new $root$1.vertexvis.protobuf.stream.FlyToResult;if(null!=e.animationId){if("object"!=typeof e.animationId)throw TypeError(".vertexvis.protobuf.stream.FlyToResult.animationId: object expected");t.animationId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.animationId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.animationId=null),null!=e.animationId&&e.hasOwnProperty("animationId")&&(r.animationId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.animationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.LoadSceneViewStateResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.LoadSceneViewStateResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root$1.vertexvis.protobuf.stream.LoadSceneViewStateResult?e:new $root$1.vertexvis.protobuf.stream.LoadSceneViewStateResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ResetViewResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.ResetViewResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root$1.vertexvis.protobuf.stream.ResetViewResult?e:new $root$1.vertexvis.protobuf.stream.ResetViewResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.GetStencilBufferResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.stencilBuffer=$util$1.newBuffer([]),e.prototype.imageAttributes=null,e.prototype.depthBuffer=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.stencilBuffer&&Object.hasOwnProperty.call(e,"stencilBuffer")&&t.uint32(10).bytes(e.stencilBuffer),null!=e.imageAttributes&&Object.hasOwnProperty.call(e,"imageAttributes")&&$root$1.vertexvis.protobuf.stream.ImageAttributes.encode(e.imageAttributes,t.uint32(18).fork()).ldelim(),null!=e.depthBuffer&&Object.hasOwnProperty.call(e,"depthBuffer")&&$root$1.google.protobuf.BytesValue.encode(e.depthBuffer,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.GetStencilBufferResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.stencilBuffer=e.bytes();break;case 2:n.imageAttributes=$root$1.vertexvis.protobuf.stream.ImageAttributes.decode(e,e.uint32());break;case 3:n.depthBuffer=$root$1.google.protobuf.BytesValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.stencilBuffer&&e.hasOwnProperty("stencilBuffer")&&!(e.stencilBuffer&&"number"==typeof e.stencilBuffer.length||$util$1.isString(e.stencilBuffer)))return"stencilBuffer: buffer expected";if(null!=e.imageAttributes&&e.hasOwnProperty("imageAttributes")){let t=$root$1.vertexvis.protobuf.stream.ImageAttributes.verify(e.imageAttributes);if(t)return"imageAttributes."+t}if(null!=e.depthBuffer&&e.hasOwnProperty("depthBuffer")){let t=$root$1.google.protobuf.BytesValue.verify(e.depthBuffer);if(t)return"depthBuffer."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.GetStencilBufferResult)return e;let t=new $root$1.vertexvis.protobuf.stream.GetStencilBufferResult;if(null!=e.stencilBuffer&&("string"==typeof e.stencilBuffer?$util$1.base64.decode(e.stencilBuffer,t.stencilBuffer=$util$1.newBuffer($util$1.base64.length(e.stencilBuffer)),0):e.stencilBuffer.length&&(t.stencilBuffer=e.stencilBuffer)),null!=e.imageAttributes){if("object"!=typeof e.imageAttributes)throw TypeError(".vertexvis.protobuf.stream.GetStencilBufferResult.imageAttributes: object expected");t.imageAttributes=$root$1.vertexvis.protobuf.stream.ImageAttributes.fromObject(e.imageAttributes)}if(null!=e.depthBuffer){if("object"!=typeof e.depthBuffer)throw TypeError(".vertexvis.protobuf.stream.GetStencilBufferResult.depthBuffer: object expected");t.depthBuffer=$root$1.google.protobuf.BytesValue.fromObject(e.depthBuffer)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(t.bytes===String?r.stencilBuffer="":(r.stencilBuffer=[],t.bytes!==Array&&(r.stencilBuffer=$util$1.newBuffer(r.stencilBuffer))),r.imageAttributes=null,r.depthBuffer=null),null!=e.stencilBuffer&&e.hasOwnProperty("stencilBuffer")&&(r.stencilBuffer=t.bytes===String?$util$1.base64.encode(e.stencilBuffer,0,e.stencilBuffer.length):t.bytes===Array?Array.prototype.slice.call(e.stencilBuffer):e.stencilBuffer),null!=e.imageAttributes&&e.hasOwnProperty("imageAttributes")&&(r.imageAttributes=$root$1.vertexvis.protobuf.stream.ImageAttributes.toObject(e.imageAttributes,t)),null!=e.depthBuffer&&e.hasOwnProperty("depthBuffer")&&(r.depthBuffer=$root$1.google.protobuf.BytesValue.toObject(e.depthBuffer,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.RefreshTokenResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.token=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.token&&Object.hasOwnProperty.call(e,"token")&&$root$1.vertexvis.protobuf.stream.Token.encode(e.token,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.RefreshTokenResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.token=$root$1.vertexvis.protobuf.stream.Token.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.token&&e.hasOwnProperty("token")){let t=$root$1.vertexvis.protobuf.stream.Token.verify(e.token);if(t)return"token."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.RefreshTokenResult)return e;let t=new $root$1.vertexvis.protobuf.stream.RefreshTokenResult;if(null!=e.token){if("object"!=typeof e.token)throw TypeError(".vertexvis.protobuf.stream.RefreshTokenResult.token: object expected");t.token=$root$1.vertexvis.protobuf.stream.Token.fromObject(e.token)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.token=null),null!=e.token&&e.hasOwnProperty("token")&&(r.token=$root$1.vertexvis.protobuf.stream.Token.toObject(e.token,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.StreamEvent=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.animationCompleted=null,Object.defineProperty(e.prototype,"event",{get:$util$1.oneOfGetter(t=["animationCompleted"]),set:$util$1.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.animationCompleted&&Object.hasOwnProperty.call(e,"animationCompleted")&&$root$1.vertexvis.protobuf.stream.AnimationCompletedEvent.encode(e.animationCompleted,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.StreamEvent;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.animationCompleted=$root$1.vertexvis.protobuf.stream.AnimationCompletedEvent.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.animationCompleted&&e.hasOwnProperty("animationCompleted")){let t=$root$1.vertexvis.protobuf.stream.AnimationCompletedEvent.verify(e.animationCompleted);if(t)return"animationCompleted."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.StreamEvent)return e;let t=new $root$1.vertexvis.protobuf.stream.StreamEvent;if(null!=e.animationCompleted){if("object"!=typeof e.animationCompleted)throw TypeError(".vertexvis.protobuf.stream.StreamEvent.animationCompleted: object expected");t.animationCompleted=$root$1.vertexvis.protobuf.stream.AnimationCompletedEvent.fromObject(e.animationCompleted)}return t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.animationCompleted&&e.hasOwnProperty("animationCompleted")&&(r.animationCompleted=$root$1.vertexvis.protobuf.stream.AnimationCompletedEvent.toObject(e.animationCompleted,t),t.oneofs&&(r.event="animationCompleted")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.AnimationCompletedEvent=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.animationId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.animationId&&Object.hasOwnProperty.call(e,"animationId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.animationId,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.AnimationCompletedEvent;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.animationId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.animationId&&e.hasOwnProperty("animationId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.animationId);if(t)return"animationId."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.AnimationCompletedEvent)return e;let t=new $root$1.vertexvis.protobuf.stream.AnimationCompletedEvent;if(null!=e.animationId){if("object"!=typeof e.animationId)throw TypeError(".vertexvis.protobuf.stream.AnimationCompletedEvent.animationId: object expected");t.animationId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.animationId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.animationId=null),null!=e.animationId&&e.hasOwnProperty("animationId")&&(r.animationId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.animationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.UpdateCrossSectioningResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.crossSectioning=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.crossSectioning&&Object.hasOwnProperty.call(e,"crossSectioning")&&$root$1.vertexvis.protobuf.stream.CrossSectioning.encode(e.crossSectioning,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.UpdateCrossSectioningResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.crossSectioning=$root$1.vertexvis.protobuf.stream.CrossSectioning.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.crossSectioning&&e.hasOwnProperty("crossSectioning")){let t=$root$1.vertexvis.protobuf.stream.CrossSectioning.verify(e.crossSectioning);if(t)return"crossSectioning."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.stream.UpdateCrossSectioningResult)return e;let t=new $root$1.vertexvis.protobuf.stream.UpdateCrossSectioningResult;if(null!=e.crossSectioning){if("object"!=typeof e.crossSectioning)throw TypeError(".vertexvis.protobuf.stream.UpdateCrossSectioningResult.crossSectioning: object expected");t.crossSectioning=$root$1.vertexvis.protobuf.stream.CrossSectioning.fromObject(e.crossSectioning)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.crossSectioning=null),null!=e.crossSectioning&&e.hasOwnProperty("crossSectioning")&&(r.crossSectioning=$root$1.vertexvis.protobuf.stream.CrossSectioning.toObject(e.crossSectioning,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.GracefulReconnectionResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.stream.GracefulReconnectionResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root$1.vertexvis.protobuf.stream.GracefulReconnectionResult?e:new $root$1.vertexvis.protobuf.stream.GracefulReconnectionResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e}(),e.core=function(){const e={};return e.Vector2f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(13).float(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(21).float(e.y),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Vector2f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.float();break;case 2:n.y=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&"number"!=typeof e.x?"x: number expected":null!=e.y&&e.hasOwnProperty("y")&&"number"!=typeof e.y?"y: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Vector2f)return e;let t=new $root$1.vertexvis.protobuf.core.Vector2f;return null!=e.x&&(t.x=Number(e.x)),null!=e.y&&(t.y=Number(e.y)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=t.json&&!isFinite(e.x)?String(e.x):e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=t.json&&!isFinite(e.y)?String(e.y):e.y),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Vector2d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(9).double(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(17).double(e.y),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Vector2d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.double();break;case 2:n.y=e.double();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&"number"!=typeof e.x?"x: number expected":null!=e.y&&e.hasOwnProperty("y")&&"number"!=typeof e.y?"y: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Vector2d)return e;let t=new $root$1.vertexvis.protobuf.core.Vector2d;return null!=e.x&&(t.x=Number(e.x)),null!=e.y&&(t.y=Number(e.y)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=t.json&&!isFinite(e.x)?String(e.x):e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=t.json&&!isFinite(e.y)?String(e.y):e.y),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Vector3f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.prototype.z=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(13).float(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(21).float(e.y),null!=e.z&&Object.hasOwnProperty.call(e,"z")&&t.uint32(29).float(e.z),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Vector3f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.float();break;case 2:n.y=e.float();break;case 3:n.z=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&"number"!=typeof e.x?"x: number expected":null!=e.y&&e.hasOwnProperty("y")&&"number"!=typeof e.y?"y: number expected":null!=e.z&&e.hasOwnProperty("z")&&"number"!=typeof e.z?"z: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Vector3f)return e;let t=new $root$1.vertexvis.protobuf.core.Vector3f;return null!=e.x&&(t.x=Number(e.x)),null!=e.y&&(t.y=Number(e.y)),null!=e.z&&(t.z=Number(e.z)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0,r.z=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=t.json&&!isFinite(e.x)?String(e.x):e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=t.json&&!isFinite(e.y)?String(e.y):e.y),null!=e.z&&e.hasOwnProperty("z")&&(r.z=t.json&&!isFinite(e.z)?String(e.z):e.z),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Vector3d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.prototype.z=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(9).double(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(17).double(e.y),null!=e.z&&Object.hasOwnProperty.call(e,"z")&&t.uint32(25).double(e.z),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Vector3d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.double();break;case 2:n.y=e.double();break;case 3:n.z=e.double();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&"number"!=typeof e.x?"x: number expected":null!=e.y&&e.hasOwnProperty("y")&&"number"!=typeof e.y?"y: number expected":null!=e.z&&e.hasOwnProperty("z")&&"number"!=typeof e.z?"z: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Vector3d)return e;let t=new $root$1.vertexvis.protobuf.core.Vector3d;return null!=e.x&&(t.x=Number(e.x)),null!=e.y&&(t.y=Number(e.y)),null!=e.z&&(t.z=Number(e.z)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0,r.z=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=t.json&&!isFinite(e.x)?String(e.x):e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=t.json&&!isFinite(e.y)?String(e.y):e.y),null!=e.z&&e.hasOwnProperty("z")&&(r.z=t.json&&!isFinite(e.z)?String(e.z):e.z),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Vector4f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.prototype.z=0,e.prototype.w=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(13).float(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(21).float(e.y),null!=e.z&&Object.hasOwnProperty.call(e,"z")&&t.uint32(29).float(e.z),null!=e.w&&Object.hasOwnProperty.call(e,"w")&&t.uint32(37).float(e.w),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Vector4f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.float();break;case 2:n.y=e.float();break;case 3:n.z=e.float();break;case 4:n.w=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&"number"!=typeof e.x?"x: number expected":null!=e.y&&e.hasOwnProperty("y")&&"number"!=typeof e.y?"y: number expected":null!=e.z&&e.hasOwnProperty("z")&&"number"!=typeof e.z?"z: number expected":null!=e.w&&e.hasOwnProperty("w")&&"number"!=typeof e.w?"w: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Vector4f)return e;let t=new $root$1.vertexvis.protobuf.core.Vector4f;return null!=e.x&&(t.x=Number(e.x)),null!=e.y&&(t.y=Number(e.y)),null!=e.z&&(t.z=Number(e.z)),null!=e.w&&(t.w=Number(e.w)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0,r.z=0,r.w=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=t.json&&!isFinite(e.x)?String(e.x):e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=t.json&&!isFinite(e.y)?String(e.y):e.y),null!=e.z&&e.hasOwnProperty("z")&&(r.z=t.json&&!isFinite(e.z)?String(e.z):e.z),null!=e.w&&e.hasOwnProperty("w")&&(r.w=t.json&&!isFinite(e.w)?String(e.w):e.w),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Vector4d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.prototype.z=0,e.prototype.w=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(9).double(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(17).double(e.y),null!=e.z&&Object.hasOwnProperty.call(e,"z")&&t.uint32(25).double(e.z),null!=e.w&&Object.hasOwnProperty.call(e,"w")&&t.uint32(33).double(e.w),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Vector4d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.double();break;case 2:n.y=e.double();break;case 3:n.z=e.double();break;case 4:n.w=e.double();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&"number"!=typeof e.x?"x: number expected":null!=e.y&&e.hasOwnProperty("y")&&"number"!=typeof e.y?"y: number expected":null!=e.z&&e.hasOwnProperty("z")&&"number"!=typeof e.z?"z: number expected":null!=e.w&&e.hasOwnProperty("w")&&"number"!=typeof e.w?"w: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Vector4d)return e;let t=new $root$1.vertexvis.protobuf.core.Vector4d;return null!=e.x&&(t.x=Number(e.x)),null!=e.y&&(t.y=Number(e.y)),null!=e.z&&(t.z=Number(e.z)),null!=e.w&&(t.w=Number(e.w)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0,r.z=0,r.w=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=t.json&&!isFinite(e.x)?String(e.x):e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=t.json&&!isFinite(e.y)?String(e.y):e.y),null!=e.z&&e.hasOwnProperty("z")&&(r.z=t.json&&!isFinite(e.z)?String(e.z):e.z),null!=e.w&&e.hasOwnProperty("w")&&(r.w=t.json&&!isFinite(e.w)?String(e.w):e.w),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.BoundingBox3f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.xmin=0,e.prototype.xmax=0,e.prototype.ymin=0,e.prototype.ymax=0,e.prototype.zmin=0,e.prototype.zmax=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.xmin&&Object.hasOwnProperty.call(e,"xmin")&&t.uint32(13).float(e.xmin),null!=e.xmax&&Object.hasOwnProperty.call(e,"xmax")&&t.uint32(21).float(e.xmax),null!=e.ymin&&Object.hasOwnProperty.call(e,"ymin")&&t.uint32(29).float(e.ymin),null!=e.ymax&&Object.hasOwnProperty.call(e,"ymax")&&t.uint32(37).float(e.ymax),null!=e.zmin&&Object.hasOwnProperty.call(e,"zmin")&&t.uint32(45).float(e.zmin),null!=e.zmax&&Object.hasOwnProperty.call(e,"zmax")&&t.uint32(53).float(e.zmax),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.BoundingBox3f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.xmin=e.float();break;case 2:n.xmax=e.float();break;case 3:n.ymin=e.float();break;case 4:n.ymax=e.float();break;case 5:n.zmin=e.float();break;case 6:n.zmax=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.xmin&&e.hasOwnProperty("xmin")&&"number"!=typeof e.xmin?"xmin: number expected":null!=e.xmax&&e.hasOwnProperty("xmax")&&"number"!=typeof e.xmax?"xmax: number expected":null!=e.ymin&&e.hasOwnProperty("ymin")&&"number"!=typeof e.ymin?"ymin: number expected":null!=e.ymax&&e.hasOwnProperty("ymax")&&"number"!=typeof e.ymax?"ymax: number expected":null!=e.zmin&&e.hasOwnProperty("zmin")&&"number"!=typeof e.zmin?"zmin: number expected":null!=e.zmax&&e.hasOwnProperty("zmax")&&"number"!=typeof e.zmax?"zmax: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.BoundingBox3f)return e;let t=new $root$1.vertexvis.protobuf.core.BoundingBox3f;return null!=e.xmin&&(t.xmin=Number(e.xmin)),null!=e.xmax&&(t.xmax=Number(e.xmax)),null!=e.ymin&&(t.ymin=Number(e.ymin)),null!=e.ymax&&(t.ymax=Number(e.ymax)),null!=e.zmin&&(t.zmin=Number(e.zmin)),null!=e.zmax&&(t.zmax=Number(e.zmax)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.xmin=0,r.xmax=0,r.ymin=0,r.ymax=0,r.zmin=0,r.zmax=0),null!=e.xmin&&e.hasOwnProperty("xmin")&&(r.xmin=t.json&&!isFinite(e.xmin)?String(e.xmin):e.xmin),null!=e.xmax&&e.hasOwnProperty("xmax")&&(r.xmax=t.json&&!isFinite(e.xmax)?String(e.xmax):e.xmax),null!=e.ymin&&e.hasOwnProperty("ymin")&&(r.ymin=t.json&&!isFinite(e.ymin)?String(e.ymin):e.ymin),null!=e.ymax&&e.hasOwnProperty("ymax")&&(r.ymax=t.json&&!isFinite(e.ymax)?String(e.ymax):e.ymax),null!=e.zmin&&e.hasOwnProperty("zmin")&&(r.zmin=t.json&&!isFinite(e.zmin)?String(e.zmin):e.zmin),null!=e.zmax&&e.hasOwnProperty("zmax")&&(r.zmax=t.json&&!isFinite(e.zmax)?String(e.zmax):e.zmax),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.AffineMatrix4f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.basisX=null,e.prototype.basisY=null,e.prototype.xlate=null,e.prototype.scale=0,e.prototype.basisZ=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.basisX&&Object.hasOwnProperty.call(e,"basisX")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.basisX,t.uint32(10).fork()).ldelim(),null!=e.basisY&&Object.hasOwnProperty.call(e,"basisY")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.basisY,t.uint32(18).fork()).ldelim(),null!=e.xlate&&Object.hasOwnProperty.call(e,"xlate")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.xlate,t.uint32(26).fork()).ldelim(),null!=e.scale&&Object.hasOwnProperty.call(e,"scale")&&t.uint32(37).float(e.scale),null!=e.basisZ&&Object.hasOwnProperty.call(e,"basisZ")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.basisZ,t.uint32(42).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.AffineMatrix4f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.basisX=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.basisY=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 3:n.xlate=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 4:n.scale=e.float();break;case 5:n.basisZ=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.basisX&&e.hasOwnProperty("basisX")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.basisX);if(t)return"basisX."+t}if(null!=e.basisY&&e.hasOwnProperty("basisY")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.basisY);if(t)return"basisY."+t}if(null!=e.xlate&&e.hasOwnProperty("xlate")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.xlate);if(t)return"xlate."+t}if(null!=e.scale&&e.hasOwnProperty("scale")&&"number"!=typeof e.scale)return"scale: number expected";if(null!=e.basisZ&&e.hasOwnProperty("basisZ")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.basisZ);if(t)return"basisZ."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.AffineMatrix4f)return e;let t=new $root$1.vertexvis.protobuf.core.AffineMatrix4f;if(null!=e.basisX){if("object"!=typeof e.basisX)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4f.basisX: object expected");t.basisX=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.basisX)}if(null!=e.basisY){if("object"!=typeof e.basisY)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4f.basisY: object expected");t.basisY=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.basisY)}if(null!=e.xlate){if("object"!=typeof e.xlate)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4f.xlate: object expected");t.xlate=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.xlate)}if(null!=e.scale&&(t.scale=Number(e.scale)),null!=e.basisZ){if("object"!=typeof e.basisZ)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4f.basisZ: object expected");t.basisZ=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.basisZ)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.basisX=null,r.basisY=null,r.xlate=null,r.scale=0,r.basisZ=null),null!=e.basisX&&e.hasOwnProperty("basisX")&&(r.basisX=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.basisX,t)),null!=e.basisY&&e.hasOwnProperty("basisY")&&(r.basisY=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.basisY,t)),null!=e.xlate&&e.hasOwnProperty("xlate")&&(r.xlate=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.xlate,t)),null!=e.scale&&e.hasOwnProperty("scale")&&(r.scale=t.json&&!isFinite(e.scale)?String(e.scale):e.scale),null!=e.basisZ&&e.hasOwnProperty("basisZ")&&(r.basisZ=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.basisZ,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.AffineMatrix4d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.basisX=null,e.prototype.basisY=null,e.prototype.xlate=null,e.prototype.scale=0,e.prototype.basisZ=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.basisX&&Object.hasOwnProperty.call(e,"basisX")&&$root$1.vertexvis.protobuf.core.Vector3d.encode(e.basisX,t.uint32(10).fork()).ldelim(),null!=e.basisY&&Object.hasOwnProperty.call(e,"basisY")&&$root$1.vertexvis.protobuf.core.Vector3d.encode(e.basisY,t.uint32(18).fork()).ldelim(),null!=e.xlate&&Object.hasOwnProperty.call(e,"xlate")&&$root$1.vertexvis.protobuf.core.Vector3d.encode(e.xlate,t.uint32(26).fork()).ldelim(),null!=e.scale&&Object.hasOwnProperty.call(e,"scale")&&t.uint32(33).double(e.scale),null!=e.basisZ&&Object.hasOwnProperty.call(e,"basisZ")&&$root$1.vertexvis.protobuf.core.Vector3d.encode(e.basisZ,t.uint32(42).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.AffineMatrix4d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.basisX=$root$1.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 2:n.basisY=$root$1.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 3:n.xlate=$root$1.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 4:n.scale=e.double();break;case 5:n.basisZ=$root$1.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.basisX&&e.hasOwnProperty("basisX")){let t=$root$1.vertexvis.protobuf.core.Vector3d.verify(e.basisX);if(t)return"basisX."+t}if(null!=e.basisY&&e.hasOwnProperty("basisY")){let t=$root$1.vertexvis.protobuf.core.Vector3d.verify(e.basisY);if(t)return"basisY."+t}if(null!=e.xlate&&e.hasOwnProperty("xlate")){let t=$root$1.vertexvis.protobuf.core.Vector3d.verify(e.xlate);if(t)return"xlate."+t}if(null!=e.scale&&e.hasOwnProperty("scale")&&"number"!=typeof e.scale)return"scale: number expected";if(null!=e.basisZ&&e.hasOwnProperty("basisZ")){let t=$root$1.vertexvis.protobuf.core.Vector3d.verify(e.basisZ);if(t)return"basisZ."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.AffineMatrix4d)return e;let t=new $root$1.vertexvis.protobuf.core.AffineMatrix4d;if(null!=e.basisX){if("object"!=typeof e.basisX)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4d.basisX: object expected");t.basisX=$root$1.vertexvis.protobuf.core.Vector3d.fromObject(e.basisX)}if(null!=e.basisY){if("object"!=typeof e.basisY)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4d.basisY: object expected");t.basisY=$root$1.vertexvis.protobuf.core.Vector3d.fromObject(e.basisY)}if(null!=e.xlate){if("object"!=typeof e.xlate)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4d.xlate: object expected");t.xlate=$root$1.vertexvis.protobuf.core.Vector3d.fromObject(e.xlate)}if(null!=e.scale&&(t.scale=Number(e.scale)),null!=e.basisZ){if("object"!=typeof e.basisZ)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4d.basisZ: object expected");t.basisZ=$root$1.vertexvis.protobuf.core.Vector3d.fromObject(e.basisZ)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.basisX=null,r.basisY=null,r.xlate=null,r.scale=0,r.basisZ=null),null!=e.basisX&&e.hasOwnProperty("basisX")&&(r.basisX=$root$1.vertexvis.protobuf.core.Vector3d.toObject(e.basisX,t)),null!=e.basisY&&e.hasOwnProperty("basisY")&&(r.basisY=$root$1.vertexvis.protobuf.core.Vector3d.toObject(e.basisY,t)),null!=e.xlate&&e.hasOwnProperty("xlate")&&(r.xlate=$root$1.vertexvis.protobuf.core.Vector3d.toObject(e.xlate,t)),null!=e.scale&&e.hasOwnProperty("scale")&&(r.scale=t.json&&!isFinite(e.scale)?String(e.scale):e.scale),null!=e.basisZ&&e.hasOwnProperty("basisZ")&&(r.basisZ=$root$1.vertexvis.protobuf.core.Vector3d.toObject(e.basisZ,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.IndexedVector3fArray=function(){function e(e){if(this.values=[],this.indices=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.values=$util$1.emptyArray,e.prototype.indices=$util$1.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer$1.create()),null!=e.values&&e.values.length)for(let r=0;r<e.values.length;++r)$root$1.vertexvis.protobuf.core.Vector3f.encode(e.values[r],t.uint32(10).fork()).ldelim();if(null!=e.indices&&e.indices.length){t.uint32(18).fork();for(let r=0;r<e.indices.length;++r)t.uint32(e.indices[r]);t.ldelim()}return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.IndexedVector3fArray;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.values&&n.values.length||(n.values=[]),n.values.push($root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32()));break;case 2:if(n.indices&&n.indices.length||(n.indices=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.indices.push(e.uint32())}else n.indices.push(e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.values&&e.hasOwnProperty("values")){if(!Array.isArray(e.values))return"values: array expected";for(let t=0;t<e.values.length;++t){let r=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.values[t]);if(r)return"values."+r}}if(null!=e.indices&&e.hasOwnProperty("indices")){if(!Array.isArray(e.indices))return"indices: array expected";for(let t=0;t<e.indices.length;++t)if(!$util$1.isInteger(e.indices[t]))return"indices: integer[] expected"}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.IndexedVector3fArray)return e;let t=new $root$1.vertexvis.protobuf.core.IndexedVector3fArray;if(e.values){if(!Array.isArray(e.values))throw TypeError(".vertexvis.protobuf.core.IndexedVector3fArray.values: array expected");t.values=[];for(let r=0;r<e.values.length;++r){if("object"!=typeof e.values[r])throw TypeError(".vertexvis.protobuf.core.IndexedVector3fArray.values: object expected");t.values[r]=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.values[r])}}if(e.indices){if(!Array.isArray(e.indices))throw TypeError(".vertexvis.protobuf.core.IndexedVector3fArray.indices: array expected");t.indices=[];for(let r=0;r<e.indices.length;++r)t.indices[r]=e.indices[r]>>>0}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.values=[],r.indices=[]),e.values&&e.values.length){r.values=[];for(let n=0;n<e.values.length;++n)r.values[n]=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.values[n],t)}if(e.indices&&e.indices.length){r.indices=[];for(let t=0;t<e.indices.length;++t)r.indices[t]=e.indices[t]}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Indexed3DTriangleSet=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.vertices=null,e.prototype.normals=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.vertices&&Object.hasOwnProperty.call(e,"vertices")&&$root$1.vertexvis.protobuf.core.IndexedVector3fArray.encode(e.vertices,t.uint32(10).fork()).ldelim(),null!=e.normals&&Object.hasOwnProperty.call(e,"normals")&&$root$1.vertexvis.protobuf.core.IndexedVector3fArray.encode(e.normals,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Indexed3DTriangleSet;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.vertices=$root$1.vertexvis.protobuf.core.IndexedVector3fArray.decode(e,e.uint32());break;case 2:n.normals=$root$1.vertexvis.protobuf.core.IndexedVector3fArray.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.vertices&&e.hasOwnProperty("vertices")){let t=$root$1.vertexvis.protobuf.core.IndexedVector3fArray.verify(e.vertices);if(t)return"vertices."+t}if(null!=e.normals&&e.hasOwnProperty("normals")){let t=$root$1.vertexvis.protobuf.core.IndexedVector3fArray.verify(e.normals);if(t)return"normals."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Indexed3DTriangleSet)return e;let t=new $root$1.vertexvis.protobuf.core.Indexed3DTriangleSet;if(null!=e.vertices){if("object"!=typeof e.vertices)throw TypeError(".vertexvis.protobuf.core.Indexed3DTriangleSet.vertices: object expected");t.vertices=$root$1.vertexvis.protobuf.core.IndexedVector3fArray.fromObject(e.vertices)}if(null!=e.normals){if("object"!=typeof e.normals)throw TypeError(".vertexvis.protobuf.core.Indexed3DTriangleSet.normals: object expected");t.normals=$root$1.vertexvis.protobuf.core.IndexedVector3fArray.fromObject(e.normals)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.vertices=null,r.normals=null),null!=e.vertices&&e.hasOwnProperty("vertices")&&(r.vertices=$root$1.vertexvis.protobuf.core.IndexedVector3fArray.toObject(e.vertices,t)),null!=e.normals&&e.hasOwnProperty("normals")&&(r.normals=$root$1.vertexvis.protobuf.core.IndexedVector3fArray.toObject(e.normals,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Matrix4x4f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.r0=null,e.prototype.r1=null,e.prototype.r2=null,e.prototype.r3=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.r0&&Object.hasOwnProperty.call(e,"r0")&&$root$1.vertexvis.protobuf.core.Vector4f.encode(e.r0,t.uint32(10).fork()).ldelim(),null!=e.r1&&Object.hasOwnProperty.call(e,"r1")&&$root$1.vertexvis.protobuf.core.Vector4f.encode(e.r1,t.uint32(18).fork()).ldelim(),null!=e.r2&&Object.hasOwnProperty.call(e,"r2")&&$root$1.vertexvis.protobuf.core.Vector4f.encode(e.r2,t.uint32(26).fork()).ldelim(),null!=e.r3&&Object.hasOwnProperty.call(e,"r3")&&$root$1.vertexvis.protobuf.core.Vector4f.encode(e.r3,t.uint32(34).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Matrix4x4f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.r0=$root$1.vertexvis.protobuf.core.Vector4f.decode(e,e.uint32());break;case 2:n.r1=$root$1.vertexvis.protobuf.core.Vector4f.decode(e,e.uint32());break;case 3:n.r2=$root$1.vertexvis.protobuf.core.Vector4f.decode(e,e.uint32());break;case 4:n.r3=$root$1.vertexvis.protobuf.core.Vector4f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.r0&&e.hasOwnProperty("r0")){let t=$root$1.vertexvis.protobuf.core.Vector4f.verify(e.r0);if(t)return"r0."+t}if(null!=e.r1&&e.hasOwnProperty("r1")){let t=$root$1.vertexvis.protobuf.core.Vector4f.verify(e.r1);if(t)return"r1."+t}if(null!=e.r2&&e.hasOwnProperty("r2")){let t=$root$1.vertexvis.protobuf.core.Vector4f.verify(e.r2);if(t)return"r2."+t}if(null!=e.r3&&e.hasOwnProperty("r3")){let t=$root$1.vertexvis.protobuf.core.Vector4f.verify(e.r3);if(t)return"r3."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Matrix4x4f)return e;let t=new $root$1.vertexvis.protobuf.core.Matrix4x4f;if(null!=e.r0){if("object"!=typeof e.r0)throw TypeError(".vertexvis.protobuf.core.Matrix4x4f.r0: object expected");t.r0=$root$1.vertexvis.protobuf.core.Vector4f.fromObject(e.r0)}if(null!=e.r1){if("object"!=typeof e.r1)throw TypeError(".vertexvis.protobuf.core.Matrix4x4f.r1: object expected");t.r1=$root$1.vertexvis.protobuf.core.Vector4f.fromObject(e.r1)}if(null!=e.r2){if("object"!=typeof e.r2)throw TypeError(".vertexvis.protobuf.core.Matrix4x4f.r2: object expected");t.r2=$root$1.vertexvis.protobuf.core.Vector4f.fromObject(e.r2)}if(null!=e.r3){if("object"!=typeof e.r3)throw TypeError(".vertexvis.protobuf.core.Matrix4x4f.r3: object expected");t.r3=$root$1.vertexvis.protobuf.core.Vector4f.fromObject(e.r3)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.r0=null,r.r1=null,r.r2=null,r.r3=null),null!=e.r0&&e.hasOwnProperty("r0")&&(r.r0=$root$1.vertexvis.protobuf.core.Vector4f.toObject(e.r0,t)),null!=e.r1&&e.hasOwnProperty("r1")&&(r.r1=$root$1.vertexvis.protobuf.core.Vector4f.toObject(e.r1,t)),null!=e.r2&&e.hasOwnProperty("r2")&&(r.r2=$root$1.vertexvis.protobuf.core.Vector4f.toObject(e.r2,t)),null!=e.r3&&e.hasOwnProperty("r3")&&(r.r3=$root$1.vertexvis.protobuf.core.Vector4f.toObject(e.r3,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Matrix4x4d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.r0=null,e.prototype.r1=null,e.prototype.r2=null,e.prototype.r3=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.r0&&Object.hasOwnProperty.call(e,"r0")&&$root$1.vertexvis.protobuf.core.Vector4d.encode(e.r0,t.uint32(10).fork()).ldelim(),null!=e.r1&&Object.hasOwnProperty.call(e,"r1")&&$root$1.vertexvis.protobuf.core.Vector4d.encode(e.r1,t.uint32(18).fork()).ldelim(),null!=e.r2&&Object.hasOwnProperty.call(e,"r2")&&$root$1.vertexvis.protobuf.core.Vector4d.encode(e.r2,t.uint32(26).fork()).ldelim(),null!=e.r3&&Object.hasOwnProperty.call(e,"r3")&&$root$1.vertexvis.protobuf.core.Vector4d.encode(e.r3,t.uint32(34).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Matrix4x4d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.r0=$root$1.vertexvis.protobuf.core.Vector4d.decode(e,e.uint32());break;case 2:n.r1=$root$1.vertexvis.protobuf.core.Vector4d.decode(e,e.uint32());break;case 3:n.r2=$root$1.vertexvis.protobuf.core.Vector4d.decode(e,e.uint32());break;case 4:n.r3=$root$1.vertexvis.protobuf.core.Vector4d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.r0&&e.hasOwnProperty("r0")){let t=$root$1.vertexvis.protobuf.core.Vector4d.verify(e.r0);if(t)return"r0."+t}if(null!=e.r1&&e.hasOwnProperty("r1")){let t=$root$1.vertexvis.protobuf.core.Vector4d.verify(e.r1);if(t)return"r1."+t}if(null!=e.r2&&e.hasOwnProperty("r2")){let t=$root$1.vertexvis.protobuf.core.Vector4d.verify(e.r2);if(t)return"r2."+t}if(null!=e.r3&&e.hasOwnProperty("r3")){let t=$root$1.vertexvis.protobuf.core.Vector4d.verify(e.r3);if(t)return"r3."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Matrix4x4d)return e;let t=new $root$1.vertexvis.protobuf.core.Matrix4x4d;if(null!=e.r0){if("object"!=typeof e.r0)throw TypeError(".vertexvis.protobuf.core.Matrix4x4d.r0: object expected");t.r0=$root$1.vertexvis.protobuf.core.Vector4d.fromObject(e.r0)}if(null!=e.r1){if("object"!=typeof e.r1)throw TypeError(".vertexvis.protobuf.core.Matrix4x4d.r1: object expected");t.r1=$root$1.vertexvis.protobuf.core.Vector4d.fromObject(e.r1)}if(null!=e.r2){if("object"!=typeof e.r2)throw TypeError(".vertexvis.protobuf.core.Matrix4x4d.r2: object expected");t.r2=$root$1.vertexvis.protobuf.core.Vector4d.fromObject(e.r2)}if(null!=e.r3){if("object"!=typeof e.r3)throw TypeError(".vertexvis.protobuf.core.Matrix4x4d.r3: object expected");t.r3=$root$1.vertexvis.protobuf.core.Vector4d.fromObject(e.r3)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.r0=null,r.r1=null,r.r2=null,r.r3=null),null!=e.r0&&e.hasOwnProperty("r0")&&(r.r0=$root$1.vertexvis.protobuf.core.Vector4d.toObject(e.r0,t)),null!=e.r1&&e.hasOwnProperty("r1")&&(r.r1=$root$1.vertexvis.protobuf.core.Vector4d.toObject(e.r1,t)),null!=e.r2&&e.hasOwnProperty("r2")&&(r.r2=$root$1.vertexvis.protobuf.core.Vector4d.toObject(e.r2,t)),null!=e.r3&&e.hasOwnProperty("r3")&&(r.r3=$root$1.vertexvis.protobuf.core.Vector4d.toObject(e.r3,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Dimension2i=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.width=0,e.prototype.height=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).int32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).int32(e.height),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Dimension2i;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.width=e.int32();break;case 2:n.height=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.width&&e.hasOwnProperty("width")&&!$util$1.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!$util$1.isInteger(e.height)?"height: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Dimension2i)return e;let t=new $root$1.vertexvis.protobuf.core.Dimension2i;return null!=e.width&&(t.width=0|e.width),null!=e.height&&(t.height=0|e.height),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.width=0,r.height=0),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Point2i=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.dx=0,e.prototype.dy=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.dx&&Object.hasOwnProperty.call(e,"dx")&&t.uint32(8).int32(e.dx),null!=e.dy&&Object.hasOwnProperty.call(e,"dy")&&t.uint32(16).int32(e.dy),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Point2i;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.dx=e.int32();break;case 2:n.dy=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.dx&&e.hasOwnProperty("dx")&&!$util$1.isInteger(e.dx)?"dx: integer expected":null!=e.dy&&e.hasOwnProperty("dy")&&!$util$1.isInteger(e.dy)?"dy: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Point2i)return e;let t=new $root$1.vertexvis.protobuf.core.Point2i;return null!=e.dx&&(t.dx=0|e.dx),null!=e.dy&&(t.dy=0|e.dy),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.dx=0,r.dy=0),null!=e.dx&&e.hasOwnProperty("dx")&&(r.dx=e.dx),null!=e.dy&&e.hasOwnProperty("dy")&&(r.dy=e.dy),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.BBox2f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.min=null,e.prototype.max=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.min&&Object.hasOwnProperty.call(e,"min")&&$root$1.vertexvis.protobuf.core.Vector2f.encode(e.min,t.uint32(10).fork()).ldelim(),null!=e.max&&Object.hasOwnProperty.call(e,"max")&&$root$1.vertexvis.protobuf.core.Vector2f.encode(e.max,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.BBox2f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.min=$root$1.vertexvis.protobuf.core.Vector2f.decode(e,e.uint32());break;case 2:n.max=$root$1.vertexvis.protobuf.core.Vector2f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.min&&e.hasOwnProperty("min")){let t=$root$1.vertexvis.protobuf.core.Vector2f.verify(e.min);if(t)return"min."+t}if(null!=e.max&&e.hasOwnProperty("max")){let t=$root$1.vertexvis.protobuf.core.Vector2f.verify(e.max);if(t)return"max."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.BBox2f)return e;let t=new $root$1.vertexvis.protobuf.core.BBox2f;if(null!=e.min){if("object"!=typeof e.min)throw TypeError(".vertexvis.protobuf.core.BBox2f.min: object expected");t.min=$root$1.vertexvis.protobuf.core.Vector2f.fromObject(e.min)}if(null!=e.max){if("object"!=typeof e.max)throw TypeError(".vertexvis.protobuf.core.BBox2f.max: object expected");t.max=$root$1.vertexvis.protobuf.core.Vector2f.fromObject(e.max)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.min=null,r.max=null),null!=e.min&&e.hasOwnProperty("min")&&(r.min=$root$1.vertexvis.protobuf.core.Vector2f.toObject(e.min,t)),null!=e.max&&e.hasOwnProperty("max")&&(r.max=$root$1.vertexvis.protobuf.core.Vector2f.toObject(e.max,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.BBox2d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.min=null,e.prototype.max=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.min&&Object.hasOwnProperty.call(e,"min")&&$root$1.vertexvis.protobuf.core.Vector2d.encode(e.min,t.uint32(10).fork()).ldelim(),null!=e.max&&Object.hasOwnProperty.call(e,"max")&&$root$1.vertexvis.protobuf.core.Vector2d.encode(e.max,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.BBox2d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.min=$root$1.vertexvis.protobuf.core.Vector2d.decode(e,e.uint32());break;case 2:n.max=$root$1.vertexvis.protobuf.core.Vector2d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.min&&e.hasOwnProperty("min")){let t=$root$1.vertexvis.protobuf.core.Vector2d.verify(e.min);if(t)return"min."+t}if(null!=e.max&&e.hasOwnProperty("max")){let t=$root$1.vertexvis.protobuf.core.Vector2d.verify(e.max);if(t)return"max."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.BBox2d)return e;let t=new $root$1.vertexvis.protobuf.core.BBox2d;if(null!=e.min){if("object"!=typeof e.min)throw TypeError(".vertexvis.protobuf.core.BBox2d.min: object expected");t.min=$root$1.vertexvis.protobuf.core.Vector2d.fromObject(e.min)}if(null!=e.max){if("object"!=typeof e.max)throw TypeError(".vertexvis.protobuf.core.BBox2d.max: object expected");t.max=$root$1.vertexvis.protobuf.core.Vector2d.fromObject(e.max)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.min=null,r.max=null),null!=e.min&&e.hasOwnProperty("min")&&(r.min=$root$1.vertexvis.protobuf.core.Vector2d.toObject(e.min,t)),null!=e.max&&e.hasOwnProperty("max")&&(r.max=$root$1.vertexvis.protobuf.core.Vector2d.toObject(e.max,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.BBox3f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.min=null,e.prototype.max=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.min&&Object.hasOwnProperty.call(e,"min")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.min,t.uint32(10).fork()).ldelim(),null!=e.max&&Object.hasOwnProperty.call(e,"max")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.max,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.BBox3f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.min=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.max=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.min&&e.hasOwnProperty("min")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.min);if(t)return"min."+t}if(null!=e.max&&e.hasOwnProperty("max")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.max);if(t)return"max."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.BBox3f)return e;let t=new $root$1.vertexvis.protobuf.core.BBox3f;if(null!=e.min){if("object"!=typeof e.min)throw TypeError(".vertexvis.protobuf.core.BBox3f.min: object expected");t.min=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.min)}if(null!=e.max){if("object"!=typeof e.max)throw TypeError(".vertexvis.protobuf.core.BBox3f.max: object expected");t.max=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.max)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.min=null,r.max=null),null!=e.min&&e.hasOwnProperty("min")&&(r.min=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.min,t)),null!=e.max&&e.hasOwnProperty("max")&&(r.max=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.max,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.BBox3d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.min=null,e.prototype.max=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.min&&Object.hasOwnProperty.call(e,"min")&&$root$1.vertexvis.protobuf.core.Vector3d.encode(e.min,t.uint32(10).fork()).ldelim(),null!=e.max&&Object.hasOwnProperty.call(e,"max")&&$root$1.vertexvis.protobuf.core.Vector3d.encode(e.max,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.BBox3d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.min=$root$1.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 2:n.max=$root$1.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.min&&e.hasOwnProperty("min")){let t=$root$1.vertexvis.protobuf.core.Vector3d.verify(e.min);if(t)return"min."+t}if(null!=e.max&&e.hasOwnProperty("max")){let t=$root$1.vertexvis.protobuf.core.Vector3d.verify(e.max);if(t)return"max."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.BBox3d)return e;let t=new $root$1.vertexvis.protobuf.core.BBox3d;if(null!=e.min){if("object"!=typeof e.min)throw TypeError(".vertexvis.protobuf.core.BBox3d.min: object expected");t.min=$root$1.vertexvis.protobuf.core.Vector3d.fromObject(e.min)}if(null!=e.max){if("object"!=typeof e.max)throw TypeError(".vertexvis.protobuf.core.BBox3d.max: object expected");t.max=$root$1.vertexvis.protobuf.core.Vector3d.fromObject(e.max)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.min=null,r.max=null),null!=e.min&&e.hasOwnProperty("min")&&(r.min=$root$1.vertexvis.protobuf.core.Vector3d.toObject(e.min,t)),null!=e.max&&e.hasOwnProperty("max")&&(r.max=$root$1.vertexvis.protobuf.core.Vector3d.toObject(e.max,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.LinearTransform2f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.basisX=null,e.prototype.basisY=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.basisX&&Object.hasOwnProperty.call(e,"basisX")&&$root$1.vertexvis.protobuf.core.Vector2f.encode(e.basisX,t.uint32(10).fork()).ldelim(),null!=e.basisY&&Object.hasOwnProperty.call(e,"basisY")&&$root$1.vertexvis.protobuf.core.Vector2f.encode(e.basisY,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.LinearTransform2f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.basisX=$root$1.vertexvis.protobuf.core.Vector2f.decode(e,e.uint32());break;case 2:n.basisY=$root$1.vertexvis.protobuf.core.Vector2f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.basisX&&e.hasOwnProperty("basisX")){let t=$root$1.vertexvis.protobuf.core.Vector2f.verify(e.basisX);if(t)return"basisX."+t}if(null!=e.basisY&&e.hasOwnProperty("basisY")){let t=$root$1.vertexvis.protobuf.core.Vector2f.verify(e.basisY);if(t)return"basisY."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.LinearTransform2f)return e;let t=new $root$1.vertexvis.protobuf.core.LinearTransform2f;if(null!=e.basisX){if("object"!=typeof e.basisX)throw TypeError(".vertexvis.protobuf.core.LinearTransform2f.basisX: object expected");t.basisX=$root$1.vertexvis.protobuf.core.Vector2f.fromObject(e.basisX)}if(null!=e.basisY){if("object"!=typeof e.basisY)throw TypeError(".vertexvis.protobuf.core.LinearTransform2f.basisY: object expected");t.basisY=$root$1.vertexvis.protobuf.core.Vector2f.fromObject(e.basisY)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.basisX=null,r.basisY=null),null!=e.basisX&&e.hasOwnProperty("basisX")&&(r.basisX=$root$1.vertexvis.protobuf.core.Vector2f.toObject(e.basisX,t)),null!=e.basisY&&e.hasOwnProperty("basisY")&&(r.basisY=$root$1.vertexvis.protobuf.core.Vector2f.toObject(e.basisY,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.LinearTransform2d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.basisX=null,e.prototype.basisY=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.basisX&&Object.hasOwnProperty.call(e,"basisX")&&$root$1.vertexvis.protobuf.core.Vector2d.encode(e.basisX,t.uint32(10).fork()).ldelim(),null!=e.basisY&&Object.hasOwnProperty.call(e,"basisY")&&$root$1.vertexvis.protobuf.core.Vector2d.encode(e.basisY,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.LinearTransform2d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.basisX=$root$1.vertexvis.protobuf.core.Vector2d.decode(e,e.uint32());break;case 2:n.basisY=$root$1.vertexvis.protobuf.core.Vector2d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.basisX&&e.hasOwnProperty("basisX")){let t=$root$1.vertexvis.protobuf.core.Vector2d.verify(e.basisX);if(t)return"basisX."+t}if(null!=e.basisY&&e.hasOwnProperty("basisY")){let t=$root$1.vertexvis.protobuf.core.Vector2d.verify(e.basisY);if(t)return"basisY."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.LinearTransform2d)return e;let t=new $root$1.vertexvis.protobuf.core.LinearTransform2d;if(null!=e.basisX){if("object"!=typeof e.basisX)throw TypeError(".vertexvis.protobuf.core.LinearTransform2d.basisX: object expected");t.basisX=$root$1.vertexvis.protobuf.core.Vector2d.fromObject(e.basisX)}if(null!=e.basisY){if("object"!=typeof e.basisY)throw TypeError(".vertexvis.protobuf.core.LinearTransform2d.basisY: object expected");t.basisY=$root$1.vertexvis.protobuf.core.Vector2d.fromObject(e.basisY)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.basisX=null,r.basisY=null),null!=e.basisX&&e.hasOwnProperty("basisX")&&(r.basisX=$root$1.vertexvis.protobuf.core.Vector2d.toObject(e.basisX,t)),null!=e.basisY&&e.hasOwnProperty("basisY")&&(r.basisY=$root$1.vertexvis.protobuf.core.Vector2d.toObject(e.basisY,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.LinearTransform3f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.basisX=null,e.prototype.basisY=null,e.prototype.basisZ=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.basisX&&Object.hasOwnProperty.call(e,"basisX")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.basisX,t.uint32(10).fork()).ldelim(),null!=e.basisY&&Object.hasOwnProperty.call(e,"basisY")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.basisY,t.uint32(18).fork()).ldelim(),null!=e.basisZ&&Object.hasOwnProperty.call(e,"basisZ")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.basisZ,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.LinearTransform3f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.basisX=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.basisY=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 3:n.basisZ=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.basisX&&e.hasOwnProperty("basisX")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.basisX);if(t)return"basisX."+t}if(null!=e.basisY&&e.hasOwnProperty("basisY")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.basisY);if(t)return"basisY."+t}if(null!=e.basisZ&&e.hasOwnProperty("basisZ")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.basisZ);if(t)return"basisZ."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.LinearTransform3f)return e;let t=new $root$1.vertexvis.protobuf.core.LinearTransform3f;if(null!=e.basisX){if("object"!=typeof e.basisX)throw TypeError(".vertexvis.protobuf.core.LinearTransform3f.basisX: object expected");t.basisX=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.basisX)}if(null!=e.basisY){if("object"!=typeof e.basisY)throw TypeError(".vertexvis.protobuf.core.LinearTransform3f.basisY: object expected");t.basisY=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.basisY)}if(null!=e.basisZ){if("object"!=typeof e.basisZ)throw TypeError(".vertexvis.protobuf.core.LinearTransform3f.basisZ: object expected");t.basisZ=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.basisZ)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.basisX=null,r.basisY=null,r.basisZ=null),null!=e.basisX&&e.hasOwnProperty("basisX")&&(r.basisX=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.basisX,t)),null!=e.basisY&&e.hasOwnProperty("basisY")&&(r.basisY=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.basisY,t)),null!=e.basisZ&&e.hasOwnProperty("basisZ")&&(r.basisZ=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.basisZ,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.LinearTransform3d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.basisX=null,e.prototype.basisY=null,e.prototype.basisZ=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.basisX&&Object.hasOwnProperty.call(e,"basisX")&&$root$1.vertexvis.protobuf.core.Vector3d.encode(e.basisX,t.uint32(10).fork()).ldelim(),null!=e.basisY&&Object.hasOwnProperty.call(e,"basisY")&&$root$1.vertexvis.protobuf.core.Vector3d.encode(e.basisY,t.uint32(18).fork()).ldelim(),null!=e.basisZ&&Object.hasOwnProperty.call(e,"basisZ")&&$root$1.vertexvis.protobuf.core.Vector3d.encode(e.basisZ,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.LinearTransform3d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.basisX=$root$1.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 2:n.basisY=$root$1.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 3:n.basisZ=$root$1.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.basisX&&e.hasOwnProperty("basisX")){let t=$root$1.vertexvis.protobuf.core.Vector3d.verify(e.basisX);if(t)return"basisX."+t}if(null!=e.basisY&&e.hasOwnProperty("basisY")){let t=$root$1.vertexvis.protobuf.core.Vector3d.verify(e.basisY);if(t)return"basisY."+t}if(null!=e.basisZ&&e.hasOwnProperty("basisZ")){let t=$root$1.vertexvis.protobuf.core.Vector3d.verify(e.basisZ);if(t)return"basisZ."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.LinearTransform3d)return e;let t=new $root$1.vertexvis.protobuf.core.LinearTransform3d;if(null!=e.basisX){if("object"!=typeof e.basisX)throw TypeError(".vertexvis.protobuf.core.LinearTransform3d.basisX: object expected");t.basisX=$root$1.vertexvis.protobuf.core.Vector3d.fromObject(e.basisX)}if(null!=e.basisY){if("object"!=typeof e.basisY)throw TypeError(".vertexvis.protobuf.core.LinearTransform3d.basisY: object expected");t.basisY=$root$1.vertexvis.protobuf.core.Vector3d.fromObject(e.basisY)}if(null!=e.basisZ){if("object"!=typeof e.basisZ)throw TypeError(".vertexvis.protobuf.core.LinearTransform3d.basisZ: object expected");t.basisZ=$root$1.vertexvis.protobuf.core.Vector3d.fromObject(e.basisZ)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.basisX=null,r.basisY=null,r.basisZ=null),null!=e.basisX&&e.hasOwnProperty("basisX")&&(r.basisX=$root$1.vertexvis.protobuf.core.Vector3d.toObject(e.basisX,t)),null!=e.basisY&&e.hasOwnProperty("basisY")&&(r.basisY=$root$1.vertexvis.protobuf.core.Vector3d.toObject(e.basisY,t)),null!=e.basisZ&&e.hasOwnProperty("basisZ")&&(r.basisZ=$root$1.vertexvis.protobuf.core.Vector3d.toObject(e.basisZ,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.AffineTransform2f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.transform=null,e.prototype.pos=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root$1.vertexvis.protobuf.core.LinearTransform2f.encode(e.transform,t.uint32(10).fork()).ldelim(),null!=e.pos&&Object.hasOwnProperty.call(e,"pos")&&$root$1.vertexvis.protobuf.core.Vector2f.encode(e.pos,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.AffineTransform2f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.transform=$root$1.vertexvis.protobuf.core.LinearTransform2f.decode(e,e.uint32());break;case 2:n.pos=$root$1.vertexvis.protobuf.core.Vector2f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root$1.vertexvis.protobuf.core.LinearTransform2f.verify(e.transform);if(t)return"transform."+t}if(null!=e.pos&&e.hasOwnProperty("pos")){let t=$root$1.vertexvis.protobuf.core.Vector2f.verify(e.pos);if(t)return"pos."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.AffineTransform2f)return e;let t=new $root$1.vertexvis.protobuf.core.AffineTransform2f;if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.core.AffineTransform2f.transform: object expected");t.transform=$root$1.vertexvis.protobuf.core.LinearTransform2f.fromObject(e.transform)}if(null!=e.pos){if("object"!=typeof e.pos)throw TypeError(".vertexvis.protobuf.core.AffineTransform2f.pos: object expected");t.pos=$root$1.vertexvis.protobuf.core.Vector2f.fromObject(e.pos)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.transform=null,r.pos=null),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root$1.vertexvis.protobuf.core.LinearTransform2f.toObject(e.transform,t)),null!=e.pos&&e.hasOwnProperty("pos")&&(r.pos=$root$1.vertexvis.protobuf.core.Vector2f.toObject(e.pos,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.AffineTransform2d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.transform=null,e.prototype.pos=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root$1.vertexvis.protobuf.core.LinearTransform2d.encode(e.transform,t.uint32(10).fork()).ldelim(),null!=e.pos&&Object.hasOwnProperty.call(e,"pos")&&$root$1.vertexvis.protobuf.core.Vector2d.encode(e.pos,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.AffineTransform2d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.transform=$root$1.vertexvis.protobuf.core.LinearTransform2d.decode(e,e.uint32());break;case 2:n.pos=$root$1.vertexvis.protobuf.core.Vector2d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root$1.vertexvis.protobuf.core.LinearTransform2d.verify(e.transform);if(t)return"transform."+t}if(null!=e.pos&&e.hasOwnProperty("pos")){let t=$root$1.vertexvis.protobuf.core.Vector2d.verify(e.pos);if(t)return"pos."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.AffineTransform2d)return e;let t=new $root$1.vertexvis.protobuf.core.AffineTransform2d;if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.core.AffineTransform2d.transform: object expected");t.transform=$root$1.vertexvis.protobuf.core.LinearTransform2d.fromObject(e.transform)}if(null!=e.pos){if("object"!=typeof e.pos)throw TypeError(".vertexvis.protobuf.core.AffineTransform2d.pos: object expected");t.pos=$root$1.vertexvis.protobuf.core.Vector2d.fromObject(e.pos)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.transform=null,r.pos=null),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root$1.vertexvis.protobuf.core.LinearTransform2d.toObject(e.transform,t)),null!=e.pos&&e.hasOwnProperty("pos")&&(r.pos=$root$1.vertexvis.protobuf.core.Vector2d.toObject(e.pos,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.AffineTransform3f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.transform=null,e.prototype.pos=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root$1.vertexvis.protobuf.core.LinearTransform3f.encode(e.transform,t.uint32(10).fork()).ldelim(),null!=e.pos&&Object.hasOwnProperty.call(e,"pos")&&$root$1.vertexvis.protobuf.core.Vector3f.encode(e.pos,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.AffineTransform3f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.transform=$root$1.vertexvis.protobuf.core.LinearTransform3f.decode(e,e.uint32());break;case 2:n.pos=$root$1.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root$1.vertexvis.protobuf.core.LinearTransform3f.verify(e.transform);if(t)return"transform."+t}if(null!=e.pos&&e.hasOwnProperty("pos")){let t=$root$1.vertexvis.protobuf.core.Vector3f.verify(e.pos);if(t)return"pos."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.AffineTransform3f)return e;let t=new $root$1.vertexvis.protobuf.core.AffineTransform3f;if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.core.AffineTransform3f.transform: object expected");t.transform=$root$1.vertexvis.protobuf.core.LinearTransform3f.fromObject(e.transform)}if(null!=e.pos){if("object"!=typeof e.pos)throw TypeError(".vertexvis.protobuf.core.AffineTransform3f.pos: object expected");t.pos=$root$1.vertexvis.protobuf.core.Vector3f.fromObject(e.pos)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.transform=null,r.pos=null),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root$1.vertexvis.protobuf.core.LinearTransform3f.toObject(e.transform,t)),null!=e.pos&&e.hasOwnProperty("pos")&&(r.pos=$root$1.vertexvis.protobuf.core.Vector3f.toObject(e.pos,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.AffineTransform3d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.transform=null,e.prototype.pos=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root$1.vertexvis.protobuf.core.LinearTransform3d.encode(e.transform,t.uint32(10).fork()).ldelim(),null!=e.pos&&Object.hasOwnProperty.call(e,"pos")&&$root$1.vertexvis.protobuf.core.Vector3d.encode(e.pos,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.AffineTransform3d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.transform=$root$1.vertexvis.protobuf.core.LinearTransform3d.decode(e,e.uint32());break;case 2:n.pos=$root$1.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root$1.vertexvis.protobuf.core.LinearTransform3d.verify(e.transform);if(t)return"transform."+t}if(null!=e.pos&&e.hasOwnProperty("pos")){let t=$root$1.vertexvis.protobuf.core.Vector3d.verify(e.pos);if(t)return"pos."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.AffineTransform3d)return e;let t=new $root$1.vertexvis.protobuf.core.AffineTransform3d;if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.core.AffineTransform3d.transform: object expected");t.transform=$root$1.vertexvis.protobuf.core.LinearTransform3d.fromObject(e.transform)}if(null!=e.pos){if("object"!=typeof e.pos)throw TypeError(".vertexvis.protobuf.core.AffineTransform3d.pos: object expected");t.pos=$root$1.vertexvis.protobuf.core.Vector3d.fromObject(e.pos)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.transform=null,r.pos=null),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root$1.vertexvis.protobuf.core.LinearTransform3d.toObject(e.transform,t)),null!=e.pos&&e.hasOwnProperty("pos")&&(r.pos=$root$1.vertexvis.protobuf.core.Vector3d.toObject(e.pos,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Plane=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.normal=null,e.prototype.d=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.normal&&Object.hasOwnProperty.call(e,"normal")&&$root$1.vertexvis.protobuf.core.Vector3d.encode(e.normal,t.uint32(10).fork()).ldelim(),null!=e.d&&Object.hasOwnProperty.call(e,"d")&&t.uint32(17).double(e.d),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Plane;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.normal=$root$1.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 2:n.d=e.double();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.normal&&e.hasOwnProperty("normal")){let t=$root$1.vertexvis.protobuf.core.Vector3d.verify(e.normal);if(t)return"normal."+t}return null!=e.d&&e.hasOwnProperty("d")&&"number"!=typeof e.d?"d: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Plane)return e;let t=new $root$1.vertexvis.protobuf.core.Plane;if(null!=e.normal){if("object"!=typeof e.normal)throw TypeError(".vertexvis.protobuf.core.Plane.normal: object expected");t.normal=$root$1.vertexvis.protobuf.core.Vector3d.fromObject(e.normal)}return null!=e.d&&(t.d=Number(e.d)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.normal=null,r.d=0),null!=e.normal&&e.hasOwnProperty("normal")&&(r.normal=$root$1.vertexvis.protobuf.core.Vector3d.toObject(e.normal,t)),null!=e.d&&e.hasOwnProperty("d")&&(r.d=t.json&&!isFinite(e.d)?String(e.d):e.d),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Uuid=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.hex="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.hex&&Object.hasOwnProperty.call(e,"hex")&&t.uint32(10).string(e.hex),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Uuid;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.hex=e.string();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.hex&&e.hasOwnProperty("hex")&&!$util$1.isString(e.hex)?"hex: string expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Uuid)return e;let t=new $root$1.vertexvis.protobuf.core.Uuid;return null!=e.hex&&(t.hex=String(e.hex)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.hex=""),null!=e.hex&&e.hasOwnProperty("hex")&&(r.hex=e.hex),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Uuid2l=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.msb=$util$1.Long?$util$1.Long.fromBits(0,0,!1):0,e.prototype.lsb=$util$1.Long?$util$1.Long.fromBits(0,0,!1):0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.msb&&Object.hasOwnProperty.call(e,"msb")&&t.uint32(9).sfixed64(e.msb),null!=e.lsb&&Object.hasOwnProperty.call(e,"lsb")&&t.uint32(17).sfixed64(e.lsb),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Uuid2l;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.msb=e.sfixed64();break;case 2:n.lsb=e.sfixed64();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.msb&&e.hasOwnProperty("msb")&&!($util$1.isInteger(e.msb)||e.msb&&$util$1.isInteger(e.msb.low)&&$util$1.isInteger(e.msb.high))?"msb: integer|Long expected":null!=e.lsb&&e.hasOwnProperty("lsb")&&!($util$1.isInteger(e.lsb)||e.lsb&&$util$1.isInteger(e.lsb.low)&&$util$1.isInteger(e.lsb.high))?"lsb: integer|Long expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Uuid2l)return e;let t=new $root$1.vertexvis.protobuf.core.Uuid2l;return null!=e.msb&&($util$1.Long?(t.msb=$util$1.Long.fromValue(e.msb)).unsigned=!1:"string"==typeof e.msb?t.msb=parseInt(e.msb,10):"number"==typeof e.msb?t.msb=e.msb:"object"==typeof e.msb&&(t.msb=new $util$1.LongBits(e.msb.low>>>0,e.msb.high>>>0).toNumber())),null!=e.lsb&&($util$1.Long?(t.lsb=$util$1.Long.fromValue(e.lsb)).unsigned=!1:"string"==typeof e.lsb?t.lsb=parseInt(e.lsb,10):"number"==typeof e.lsb?t.lsb=e.lsb:"object"==typeof e.lsb&&(t.lsb=new $util$1.LongBits(e.lsb.low>>>0,e.lsb.high>>>0).toNumber())),t},e.toObject=function(e,t){t||(t={});let r={};if(t.defaults){if($util$1.Long){let e=new $util$1.Long(0,0,!1);r.msb=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.msb=t.longs===String?"0":0;if($util$1.Long){let e=new $util$1.Long(0,0,!1);r.lsb=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.lsb=t.longs===String?"0":0}return null!=e.msb&&e.hasOwnProperty("msb")&&(r.msb="number"==typeof e.msb?t.longs===String?String(e.msb):e.msb:t.longs===String?$util$1.Long.prototype.toString.call(e.msb):t.longs===Number?new $util$1.LongBits(e.msb.low>>>0,e.msb.high>>>0).toNumber():e.msb),null!=e.lsb&&e.hasOwnProperty("lsb")&&(r.lsb="number"==typeof e.lsb?t.longs===String?String(e.lsb):e.lsb:t.longs===String?$util$1.Long.prototype.toString.call(e.lsb):t.longs===Number?new $util$1.LongBits(e.lsb.low>>>0,e.lsb.high>>>0).toNumber():e.lsb),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.RGBAi=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.r=0,e.prototype.g=0,e.prototype.b=0,e.prototype.a=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.r&&Object.hasOwnProperty.call(e,"r")&&t.uint32(8).uint32(e.r),null!=e.g&&Object.hasOwnProperty.call(e,"g")&&t.uint32(16).uint32(e.g),null!=e.b&&Object.hasOwnProperty.call(e,"b")&&t.uint32(24).uint32(e.b),null!=e.a&&Object.hasOwnProperty.call(e,"a")&&t.uint32(32).uint32(e.a),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.RGBAi;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.r=e.uint32();break;case 2:n.g=e.uint32();break;case 3:n.b=e.uint32();break;case 4:n.a=e.uint32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.r&&e.hasOwnProperty("r")&&!$util$1.isInteger(e.r)?"r: integer expected":null!=e.g&&e.hasOwnProperty("g")&&!$util$1.isInteger(e.g)?"g: integer expected":null!=e.b&&e.hasOwnProperty("b")&&!$util$1.isInteger(e.b)?"b: integer expected":null!=e.a&&e.hasOwnProperty("a")&&!$util$1.isInteger(e.a)?"a: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.RGBAi)return e;let t=new $root$1.vertexvis.protobuf.core.RGBAi;return null!=e.r&&(t.r=e.r>>>0),null!=e.g&&(t.g=e.g>>>0),null!=e.b&&(t.b=e.b>>>0),null!=e.a&&(t.a=e.a>>>0),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.r=0,r.g=0,r.b=0,r.a=0),null!=e.r&&e.hasOwnProperty("r")&&(r.r=e.r),null!=e.g&&e.hasOwnProperty("g")&&(r.g=e.g),null!=e.b&&e.hasOwnProperty("b")&&(r.b=e.b),null!=e.a&&e.hasOwnProperty("a")&&(r.a=e.a),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.RGBi=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.r=0,e.prototype.g=0,e.prototype.b=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.r&&Object.hasOwnProperty.call(e,"r")&&t.uint32(8).uint32(e.r),null!=e.g&&Object.hasOwnProperty.call(e,"g")&&t.uint32(16).uint32(e.g),null!=e.b&&Object.hasOwnProperty.call(e,"b")&&t.uint32(24).uint32(e.b),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.RGBi;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.r=e.uint32();break;case 2:n.g=e.uint32();break;case 3:n.b=e.uint32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.r&&e.hasOwnProperty("r")&&!$util$1.isInteger(e.r)?"r: integer expected":null!=e.g&&e.hasOwnProperty("g")&&!$util$1.isInteger(e.g)?"g: integer expected":null!=e.b&&e.hasOwnProperty("b")&&!$util$1.isInteger(e.b)?"b: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.RGBi)return e;let t=new $root$1.vertexvis.protobuf.core.RGBi;return null!=e.r&&(t.r=e.r>>>0),null!=e.g&&(t.g=e.g>>>0),null!=e.b&&(t.b=e.b>>>0),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.r=0,r.g=0,r.b=0),null!=e.r&&e.hasOwnProperty("r")&&(r.r=e.r),null!=e.g&&e.hasOwnProperty("g")&&(r.g=e.g),null!=e.b&&e.hasOwnProperty("b")&&(r.b=e.b),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ColorMaterial=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.d=0,e.prototype.ns=0,e.prototype.ka=null,e.prototype.kd=null,e.prototype.ks=null,e.prototype.ke=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.d&&Object.hasOwnProperty.call(e,"d")&&t.uint32(8).uint32(e.d),null!=e.ns&&Object.hasOwnProperty.call(e,"ns")&&t.uint32(16).uint32(e.ns),null!=e.ka&&Object.hasOwnProperty.call(e,"ka")&&$root$1.vertexvis.protobuf.core.RGBi.encode(e.ka,t.uint32(26).fork()).ldelim(),null!=e.kd&&Object.hasOwnProperty.call(e,"kd")&&$root$1.vertexvis.protobuf.core.RGBi.encode(e.kd,t.uint32(34).fork()).ldelim(),null!=e.ks&&Object.hasOwnProperty.call(e,"ks")&&$root$1.vertexvis.protobuf.core.RGBi.encode(e.ks,t.uint32(42).fork()).ldelim(),null!=e.ke&&Object.hasOwnProperty.call(e,"ke")&&$root$1.vertexvis.protobuf.core.RGBi.encode(e.ke,t.uint32(50).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.ColorMaterial;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.d=e.uint32();break;case 2:n.ns=e.uint32();break;case 3:n.ka=$root$1.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;case 4:n.kd=$root$1.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;case 5:n.ks=$root$1.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;case 6:n.ke=$root$1.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.d&&e.hasOwnProperty("d")&&!$util$1.isInteger(e.d))return"d: integer expected";if(null!=e.ns&&e.hasOwnProperty("ns")&&!$util$1.isInteger(e.ns))return"ns: integer expected";if(null!=e.ka&&e.hasOwnProperty("ka")){let t=$root$1.vertexvis.protobuf.core.RGBi.verify(e.ka);if(t)return"ka."+t}if(null!=e.kd&&e.hasOwnProperty("kd")){let t=$root$1.vertexvis.protobuf.core.RGBi.verify(e.kd);if(t)return"kd."+t}if(null!=e.ks&&e.hasOwnProperty("ks")){let t=$root$1.vertexvis.protobuf.core.RGBi.verify(e.ks);if(t)return"ks."+t}if(null!=e.ke&&e.hasOwnProperty("ke")){let t=$root$1.vertexvis.protobuf.core.RGBi.verify(e.ke);if(t)return"ke."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.ColorMaterial)return e;let t=new $root$1.vertexvis.protobuf.core.ColorMaterial;if(null!=e.d&&(t.d=e.d>>>0),null!=e.ns&&(t.ns=e.ns>>>0),null!=e.ka){if("object"!=typeof e.ka)throw TypeError(".vertexvis.protobuf.core.ColorMaterial.ka: object expected");t.ka=$root$1.vertexvis.protobuf.core.RGBi.fromObject(e.ka)}if(null!=e.kd){if("object"!=typeof e.kd)throw TypeError(".vertexvis.protobuf.core.ColorMaterial.kd: object expected");t.kd=$root$1.vertexvis.protobuf.core.RGBi.fromObject(e.kd)}if(null!=e.ks){if("object"!=typeof e.ks)throw TypeError(".vertexvis.protobuf.core.ColorMaterial.ks: object expected");t.ks=$root$1.vertexvis.protobuf.core.RGBi.fromObject(e.ks)}if(null!=e.ke){if("object"!=typeof e.ke)throw TypeError(".vertexvis.protobuf.core.ColorMaterial.ke: object expected");t.ke=$root$1.vertexvis.protobuf.core.RGBi.fromObject(e.ke)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.d=0,r.ns=0,r.ka=null,r.kd=null,r.ks=null,r.ke=null),null!=e.d&&e.hasOwnProperty("d")&&(r.d=e.d),null!=e.ns&&e.hasOwnProperty("ns")&&(r.ns=e.ns),null!=e.ka&&e.hasOwnProperty("ka")&&(r.ka=$root$1.vertexvis.protobuf.core.RGBi.toObject(e.ka,t)),null!=e.kd&&e.hasOwnProperty("kd")&&(r.kd=$root$1.vertexvis.protobuf.core.RGBi.toObject(e.kd,t)),null!=e.ks&&e.hasOwnProperty("ks")&&(r.ks=$root$1.vertexvis.protobuf.core.RGBi.toObject(e.ks,t)),null!=e.ke&&e.hasOwnProperty("ke")&&(r.ke=$root$1.vertexvis.protobuf.core.RGBi.toObject(e.ke,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.RGBf=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.r=0,e.prototype.g=0,e.prototype.b=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.r&&Object.hasOwnProperty.call(e,"r")&&t.uint32(13).float(e.r),null!=e.g&&Object.hasOwnProperty.call(e,"g")&&t.uint32(21).float(e.g),null!=e.b&&Object.hasOwnProperty.call(e,"b")&&t.uint32(29).float(e.b),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.RGBf;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.r=e.float();break;case 2:n.g=e.float();break;case 3:n.b=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.r&&e.hasOwnProperty("r")&&"number"!=typeof e.r?"r: number expected":null!=e.g&&e.hasOwnProperty("g")&&"number"!=typeof e.g?"g: number expected":null!=e.b&&e.hasOwnProperty("b")&&"number"!=typeof e.b?"b: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.RGBf)return e;let t=new $root$1.vertexvis.protobuf.core.RGBf;return null!=e.r&&(t.r=Number(e.r)),null!=e.g&&(t.g=Number(e.g)),null!=e.b&&(t.b=Number(e.b)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.r=0,r.g=0,r.b=0),null!=e.r&&e.hasOwnProperty("r")&&(r.r=t.json&&!isFinite(e.r)?String(e.r):e.r),null!=e.g&&e.hasOwnProperty("g")&&(r.g=t.json&&!isFinite(e.g)?String(e.g):e.g),null!=e.b&&e.hasOwnProperty("b")&&(r.b=t.json&&!isFinite(e.b)?String(e.b):e.b),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ColorMaterialf=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.d=0,e.prototype.ns=0,e.prototype.ka=null,e.prototype.kd=null,e.prototype.ks=null,e.prototype.ke=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.d&&Object.hasOwnProperty.call(e,"d")&&t.uint32(13).float(e.d),null!=e.ns&&Object.hasOwnProperty.call(e,"ns")&&t.uint32(21).float(e.ns),null!=e.ka&&Object.hasOwnProperty.call(e,"ka")&&$root$1.vertexvis.protobuf.core.RGBf.encode(e.ka,t.uint32(26).fork()).ldelim(),null!=e.kd&&Object.hasOwnProperty.call(e,"kd")&&$root$1.vertexvis.protobuf.core.RGBf.encode(e.kd,t.uint32(34).fork()).ldelim(),null!=e.ks&&Object.hasOwnProperty.call(e,"ks")&&$root$1.vertexvis.protobuf.core.RGBf.encode(e.ks,t.uint32(42).fork()).ldelim(),null!=e.ke&&Object.hasOwnProperty.call(e,"ke")&&$root$1.vertexvis.protobuf.core.RGBf.encode(e.ke,t.uint32(50).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.ColorMaterialf;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.d=e.float();break;case 2:n.ns=e.float();break;case 3:n.ka=$root$1.vertexvis.protobuf.core.RGBf.decode(e,e.uint32());break;case 4:n.kd=$root$1.vertexvis.protobuf.core.RGBf.decode(e,e.uint32());break;case 5:n.ks=$root$1.vertexvis.protobuf.core.RGBf.decode(e,e.uint32());break;case 6:n.ke=$root$1.vertexvis.protobuf.core.RGBf.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.d&&e.hasOwnProperty("d")&&"number"!=typeof e.d)return"d: number expected";if(null!=e.ns&&e.hasOwnProperty("ns")&&"number"!=typeof e.ns)return"ns: number expected";if(null!=e.ka&&e.hasOwnProperty("ka")){let t=$root$1.vertexvis.protobuf.core.RGBf.verify(e.ka);if(t)return"ka."+t}if(null!=e.kd&&e.hasOwnProperty("kd")){let t=$root$1.vertexvis.protobuf.core.RGBf.verify(e.kd);if(t)return"kd."+t}if(null!=e.ks&&e.hasOwnProperty("ks")){let t=$root$1.vertexvis.protobuf.core.RGBf.verify(e.ks);if(t)return"ks."+t}if(null!=e.ke&&e.hasOwnProperty("ke")){let t=$root$1.vertexvis.protobuf.core.RGBf.verify(e.ke);if(t)return"ke."+t}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.ColorMaterialf)return e;let t=new $root$1.vertexvis.protobuf.core.ColorMaterialf;if(null!=e.d&&(t.d=Number(e.d)),null!=e.ns&&(t.ns=Number(e.ns)),null!=e.ka){if("object"!=typeof e.ka)throw TypeError(".vertexvis.protobuf.core.ColorMaterialf.ka: object expected");t.ka=$root$1.vertexvis.protobuf.core.RGBf.fromObject(e.ka)}if(null!=e.kd){if("object"!=typeof e.kd)throw TypeError(".vertexvis.protobuf.core.ColorMaterialf.kd: object expected");t.kd=$root$1.vertexvis.protobuf.core.RGBf.fromObject(e.kd)}if(null!=e.ks){if("object"!=typeof e.ks)throw TypeError(".vertexvis.protobuf.core.ColorMaterialf.ks: object expected");t.ks=$root$1.vertexvis.protobuf.core.RGBf.fromObject(e.ks)}if(null!=e.ke){if("object"!=typeof e.ke)throw TypeError(".vertexvis.protobuf.core.ColorMaterialf.ke: object expected");t.ke=$root$1.vertexvis.protobuf.core.RGBf.fromObject(e.ke)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.d=0,r.ns=0,r.ka=null,r.kd=null,r.ks=null,r.ke=null),null!=e.d&&e.hasOwnProperty("d")&&(r.d=t.json&&!isFinite(e.d)?String(e.d):e.d),null!=e.ns&&e.hasOwnProperty("ns")&&(r.ns=t.json&&!isFinite(e.ns)?String(e.ns):e.ns),null!=e.ka&&e.hasOwnProperty("ka")&&(r.ka=$root$1.vertexvis.protobuf.core.RGBf.toObject(e.ka,t)),null!=e.kd&&e.hasOwnProperty("kd")&&(r.kd=$root$1.vertexvis.protobuf.core.RGBf.toObject(e.kd,t)),null!=e.ks&&e.hasOwnProperty("ks")&&(r.ks=$root$1.vertexvis.protobuf.core.RGBf.toObject(e.ks,t)),null!=e.ke&&e.hasOwnProperty("ke")&&(r.ke=$root$1.vertexvis.protobuf.core.RGBf.toObject(e.ke,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.ModelEntity=function(){function e(e){if(this.details=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.entityId=$util$1.Long?$util$1.Long.fromBits(0,0,!1):0,e.prototype.sceneItemId=null,e.prototype.details=$util$1.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer$1.create()),null!=e.entityId&&Object.hasOwnProperty.call(e,"entityId")&&t.uint32(8).int64(e.entityId),null!=e.sceneItemId&&Object.hasOwnProperty.call(e,"sceneItemId")&&$root$1.vertexvis.protobuf.core.Uuid.encode(e.sceneItemId,t.uint32(18).fork()).ldelim(),null!=e.details&&e.details.length)for(let r=0;r<e.details.length;++r)$root$1.google.protobuf.Any.encode(e.details[r],t.uint32(26).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.ModelEntity;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.entityId=e.int64();break;case 2:n.sceneItemId=$root$1.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 3:n.details&&n.details.length||(n.details=[]),n.details.push($root$1.google.protobuf.Any.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.entityId&&e.hasOwnProperty("entityId")&&!($util$1.isInteger(e.entityId)||e.entityId&&$util$1.isInteger(e.entityId.low)&&$util$1.isInteger(e.entityId.high)))return"entityId: integer|Long expected";if(null!=e.sceneItemId&&e.hasOwnProperty("sceneItemId")){let t=$root$1.vertexvis.protobuf.core.Uuid.verify(e.sceneItemId);if(t)return"sceneItemId."+t}if(null!=e.details&&e.hasOwnProperty("details")){if(!Array.isArray(e.details))return"details: array expected";for(let t=0;t<e.details.length;++t){let r=$root$1.google.protobuf.Any.verify(e.details[t]);if(r)return"details."+r}}return null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.ModelEntity)return e;let t=new $root$1.vertexvis.protobuf.core.ModelEntity;if(null!=e.entityId&&($util$1.Long?(t.entityId=$util$1.Long.fromValue(e.entityId)).unsigned=!1:"string"==typeof e.entityId?t.entityId=parseInt(e.entityId,10):"number"==typeof e.entityId?t.entityId=e.entityId:"object"==typeof e.entityId&&(t.entityId=new $util$1.LongBits(e.entityId.low>>>0,e.entityId.high>>>0).toNumber())),null!=e.sceneItemId){if("object"!=typeof e.sceneItemId)throw TypeError(".vertexvis.protobuf.core.ModelEntity.sceneItemId: object expected");t.sceneItemId=$root$1.vertexvis.protobuf.core.Uuid.fromObject(e.sceneItemId)}if(e.details){if(!Array.isArray(e.details))throw TypeError(".vertexvis.protobuf.core.ModelEntity.details: array expected");t.details=[];for(let r=0;r<e.details.length;++r){if("object"!=typeof e.details[r])throw TypeError(".vertexvis.protobuf.core.ModelEntity.details: object expected");t.details[r]=$root$1.google.protobuf.Any.fromObject(e.details[r])}}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.details=[]),t.defaults){if($util$1.Long){let e=new $util$1.Long(0,0,!1);r.entityId=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.entityId=t.longs===String?"0":0;r.sceneItemId=null}if(null!=e.entityId&&e.hasOwnProperty("entityId")&&(r.entityId="number"==typeof e.entityId?t.longs===String?String(e.entityId):e.entityId:t.longs===String?$util$1.Long.prototype.toString.call(e.entityId):t.longs===Number?new $util$1.LongBits(e.entityId.low>>>0,e.entityId.high>>>0).toNumber():e.entityId),null!=e.sceneItemId&&e.hasOwnProperty("sceneItemId")&&(r.sceneItemId=$root$1.vertexvis.protobuf.core.Uuid.toObject(e.sceneItemId,t)),e.details&&e.details.length){r.details=[];for(let n=0;n<e.details.length;++n)r.details[n]=$root$1.google.protobuf.Any.toObject(e.details[n],t)}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Instant=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.iso="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.iso&&Object.hasOwnProperty.call(e,"iso")&&t.uint32(10).string(e.iso),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.vertexvis.protobuf.core.Instant;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.iso=e.string();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.iso&&e.hasOwnProperty("iso")&&!$util$1.isString(e.iso)?"iso: string expected":null},e.fromObject=function(e){if(e instanceof $root$1.vertexvis.protobuf.core.Instant)return e;let t=new $root$1.vertexvis.protobuf.core.Instant;return null!=e.iso&&(t.iso=String(e.iso)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.iso=""),null!=e.iso&&e.hasOwnProperty("iso")&&(r.iso=e.iso),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e}(),e}(),e})(),google=$root$1.google=(()=>{const e={};return e.protobuf=function(){const e={};return e.Any=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.type_url="",e.prototype.value=$util$1.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.type_url&&Object.hasOwnProperty.call(e,"type_url")&&t.uint32(10).string(e.type_url),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(18).bytes(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.google.protobuf.Any;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.type_url=e.string();break;case 2:n.value=e.bytes();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type_url&&e.hasOwnProperty("type_url")&&!$util$1.isString(e.type_url)?"type_url: string expected":null!=e.value&&e.hasOwnProperty("value")&&!(e.value&&"number"==typeof e.value.length||$util$1.isString(e.value))?"value: buffer expected":null},e.fromObject=function(e){if(e instanceof $root$1.google.protobuf.Any)return e;let t=new $root$1.google.protobuf.Any;return null!=e.type_url&&(t.type_url=String(e.type_url)),null!=e.value&&("string"==typeof e.value?$util$1.base64.decode(e.value,t.value=$util$1.newBuffer($util$1.base64.length(e.value)),0):e.value.length&&(t.value=e.value)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.type_url="",t.bytes===String?r.value="":(r.value=[],t.bytes!==Array&&(r.value=$util$1.newBuffer(r.value)))),null!=e.type_url&&e.hasOwnProperty("type_url")&&(r.type_url=e.type_url),null!=e.value&&e.hasOwnProperty("value")&&(r.value=t.bytes===String?$util$1.base64.encode(e.value,0,e.value.length):t.bytes===Array?Array.prototype.slice.call(e.value):e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Duration=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.seconds=$util$1.Long?$util$1.Long.fromBits(0,0,!1):0,e.prototype.nanos=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.seconds&&Object.hasOwnProperty.call(e,"seconds")&&t.uint32(8).int64(e.seconds),null!=e.nanos&&Object.hasOwnProperty.call(e,"nanos")&&t.uint32(16).int32(e.nanos),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.google.protobuf.Duration;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.seconds=e.int64();break;case 2:n.nanos=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.seconds&&e.hasOwnProperty("seconds")&&!($util$1.isInteger(e.seconds)||e.seconds&&$util$1.isInteger(e.seconds.low)&&$util$1.isInteger(e.seconds.high))?"seconds: integer|Long expected":null!=e.nanos&&e.hasOwnProperty("nanos")&&!$util$1.isInteger(e.nanos)?"nanos: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.google.protobuf.Duration)return e;let t=new $root$1.google.protobuf.Duration;return null!=e.seconds&&($util$1.Long?(t.seconds=$util$1.Long.fromValue(e.seconds)).unsigned=!1:"string"==typeof e.seconds?t.seconds=parseInt(e.seconds,10):"number"==typeof e.seconds?t.seconds=e.seconds:"object"==typeof e.seconds&&(t.seconds=new $util$1.LongBits(e.seconds.low>>>0,e.seconds.high>>>0).toNumber())),null!=e.nanos&&(t.nanos=0|e.nanos),t},e.toObject=function(e,t){t||(t={});let r={};if(t.defaults){if($util$1.Long){let e=new $util$1.Long(0,0,!1);r.seconds=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.seconds=t.longs===String?"0":0;r.nanos=0}return null!=e.seconds&&e.hasOwnProperty("seconds")&&(r.seconds="number"==typeof e.seconds?t.longs===String?String(e.seconds):e.seconds:t.longs===String?$util$1.Long.prototype.toString.call(e.seconds):t.longs===Number?new $util$1.LongBits(e.seconds.low>>>0,e.seconds.high>>>0).toNumber():e.seconds),null!=e.nanos&&e.hasOwnProperty("nanos")&&(r.nanos=e.nanos),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.DoubleValue=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(9).double(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.google.protobuf.DoubleValue;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.double();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&"number"!=typeof e.value?"value: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.google.protobuf.DoubleValue)return e;let t=new $root$1.google.protobuf.DoubleValue;return null!=e.value&&(t.value=Number(e.value)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.value=0),null!=e.value&&e.hasOwnProperty("value")&&(r.value=t.json&&!isFinite(e.value)?String(e.value):e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.FloatValue=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(13).float(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.google.protobuf.FloatValue;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&"number"!=typeof e.value?"value: number expected":null},e.fromObject=function(e){if(e instanceof $root$1.google.protobuf.FloatValue)return e;let t=new $root$1.google.protobuf.FloatValue;return null!=e.value&&(t.value=Number(e.value)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.value=0),null!=e.value&&e.hasOwnProperty("value")&&(r.value=t.json&&!isFinite(e.value)?String(e.value):e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Int64Value=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=$util$1.Long?$util$1.Long.fromBits(0,0,!1):0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(8).int64(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.google.protobuf.Int64Value;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.int64();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!($util$1.isInteger(e.value)||e.value&&$util$1.isInteger(e.value.low)&&$util$1.isInteger(e.value.high))?"value: integer|Long expected":null},e.fromObject=function(e){if(e instanceof $root$1.google.protobuf.Int64Value)return e;let t=new $root$1.google.protobuf.Int64Value;return null!=e.value&&($util$1.Long?(t.value=$util$1.Long.fromValue(e.value)).unsigned=!1:"string"==typeof e.value?t.value=parseInt(e.value,10):"number"==typeof e.value?t.value=e.value:"object"==typeof e.value&&(t.value=new $util$1.LongBits(e.value.low>>>0,e.value.high>>>0).toNumber())),t},e.toObject=function(e,t){t||(t={});let r={};if(t.defaults)if($util$1.Long){let e=new $util$1.Long(0,0,!1);r.value=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.value=t.longs===String?"0":0;return null!=e.value&&e.hasOwnProperty("value")&&(r.value="number"==typeof e.value?t.longs===String?String(e.value):e.value:t.longs===String?$util$1.Long.prototype.toString.call(e.value):t.longs===Number?new $util$1.LongBits(e.value.low>>>0,e.value.high>>>0).toNumber():e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.UInt64Value=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=$util$1.Long?$util$1.Long.fromBits(0,0,!0):0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(8).uint64(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.google.protobuf.UInt64Value;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.uint64();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!($util$1.isInteger(e.value)||e.value&&$util$1.isInteger(e.value.low)&&$util$1.isInteger(e.value.high))?"value: integer|Long expected":null},e.fromObject=function(e){if(e instanceof $root$1.google.protobuf.UInt64Value)return e;let t=new $root$1.google.protobuf.UInt64Value;return null!=e.value&&($util$1.Long?(t.value=$util$1.Long.fromValue(e.value)).unsigned=!0:"string"==typeof e.value?t.value=parseInt(e.value,10):"number"==typeof e.value?t.value=e.value:"object"==typeof e.value&&(t.value=new $util$1.LongBits(e.value.low>>>0,e.value.high>>>0).toNumber(!0))),t},e.toObject=function(e,t){t||(t={});let r={};if(t.defaults)if($util$1.Long){let e=new $util$1.Long(0,0,!0);r.value=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.value=t.longs===String?"0":0;return null!=e.value&&e.hasOwnProperty("value")&&(r.value="number"==typeof e.value?t.longs===String?String(e.value):e.value:t.longs===String?$util$1.Long.prototype.toString.call(e.value):t.longs===Number?new $util$1.LongBits(e.value.low>>>0,e.value.high>>>0).toNumber(!0):e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Int32Value=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(8).int32(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.google.protobuf.Int32Value;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!$util$1.isInteger(e.value)?"value: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.google.protobuf.Int32Value)return e;let t=new $root$1.google.protobuf.Int32Value;return null!=e.value&&(t.value=0|e.value),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.value=0),null!=e.value&&e.hasOwnProperty("value")&&(r.value=e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.UInt32Value=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(8).uint32(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.google.protobuf.UInt32Value;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.uint32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!$util$1.isInteger(e.value)?"value: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.google.protobuf.UInt32Value)return e;let t=new $root$1.google.protobuf.UInt32Value;return null!=e.value&&(t.value=e.value>>>0),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.value=0),null!=e.value&&e.hasOwnProperty("value")&&(r.value=e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.BoolValue=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(8).bool(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.google.protobuf.BoolValue;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&"boolean"!=typeof e.value?"value: boolean expected":null},e.fromObject=function(e){if(e instanceof $root$1.google.protobuf.BoolValue)return e;let t=new $root$1.google.protobuf.BoolValue;return null!=e.value&&(t.value=Boolean(e.value)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.value=!1),null!=e.value&&e.hasOwnProperty("value")&&(r.value=e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.StringValue=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(10).string(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.google.protobuf.StringValue;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.string();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!$util$1.isString(e.value)?"value: string expected":null},e.fromObject=function(e){if(e instanceof $root$1.google.protobuf.StringValue)return e;let t=new $root$1.google.protobuf.StringValue;return null!=e.value&&(t.value=String(e.value)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.value=""),null!=e.value&&e.hasOwnProperty("value")&&(r.value=e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.BytesValue=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=$util$1.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(10).bytes(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.google.protobuf.BytesValue;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.bytes();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!(e.value&&"number"==typeof e.value.length||$util$1.isString(e.value))?"value: buffer expected":null},e.fromObject=function(e){if(e instanceof $root$1.google.protobuf.BytesValue)return e;let t=new $root$1.google.protobuf.BytesValue;return null!=e.value&&("string"==typeof e.value?$util$1.base64.decode(e.value,t.value=$util$1.newBuffer($util$1.base64.length(e.value)),0):e.value.length&&(t.value=e.value)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(t.bytes===String?r.value="":(r.value=[],t.bytes!==Array&&(r.value=$util$1.newBuffer(r.value)))),null!=e.value&&e.hasOwnProperty("value")&&(r.value=t.bytes===String?$util$1.base64.encode(e.value,0,e.value.length):t.bytes===Array?Array.prototype.slice.call(e.value):e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e.Timestamp=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.seconds=$util$1.Long?$util$1.Long.fromBits(0,0,!1):0,e.prototype.nanos=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer$1.create()),null!=e.seconds&&Object.hasOwnProperty.call(e,"seconds")&&t.uint32(8).int64(e.seconds),null!=e.nanos&&Object.hasOwnProperty.call(e,"nanos")&&t.uint32(16).int32(e.nanos),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader$1||(e=$Reader$1.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root$1.google.protobuf.Timestamp;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.seconds=e.int64();break;case 2:n.nanos=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader$1||(e=new $Reader$1(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.seconds&&e.hasOwnProperty("seconds")&&!($util$1.isInteger(e.seconds)||e.seconds&&$util$1.isInteger(e.seconds.low)&&$util$1.isInteger(e.seconds.high))?"seconds: integer|Long expected":null!=e.nanos&&e.hasOwnProperty("nanos")&&!$util$1.isInteger(e.nanos)?"nanos: integer expected":null},e.fromObject=function(e){if(e instanceof $root$1.google.protobuf.Timestamp)return e;let t=new $root$1.google.protobuf.Timestamp;return null!=e.seconds&&($util$1.Long?(t.seconds=$util$1.Long.fromValue(e.seconds)).unsigned=!1:"string"==typeof e.seconds?t.seconds=parseInt(e.seconds,10):"number"==typeof e.seconds?t.seconds=e.seconds:"object"==typeof e.seconds&&(t.seconds=new $util$1.LongBits(e.seconds.low>>>0,e.seconds.high>>>0).toNumber())),null!=e.nanos&&(t.nanos=0|e.nanos),t},e.toObject=function(e,t){t||(t={});let r={};if(t.defaults){if($util$1.Long){let e=new $util$1.Long(0,0,!1);r.seconds=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.seconds=t.longs===String?"0":0;r.nanos=0}return null!=e.seconds&&e.hasOwnProperty("seconds")&&(r.seconds="number"==typeof e.seconds?t.longs===String?String(e.seconds):e.seconds:t.longs===String?$util$1.Long.prototype.toString.call(e.seconds):t.longs===Number?new $util$1.LongBits(e.seconds.low>>>0,e.seconds.high>>>0).toNumber():e.seconds),null!=e.nanos&&e.hasOwnProperty("nanos")&&(r.nanos=e.nanos),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal$2.util.toJSONOptions)},e}(),e}(),e})();function encode(e){return vertexvis$1.protobuf.stream.StreamMessage.encode(e).finish()}function decode(e){var t=e instanceof ArrayBuffer?new Uint8Array(e):e,r=vertexvis$1.protobuf.stream.StreamMessage.decode(t);return vertexvis$1.protobuf.stream.StreamMessage.toObject(r,{defaults:!0})}var StreamRequestError=function(e){function t(r,n,o,i){var u=e.call(this,null!=o&&o.length>0?"Stream request failed (".concat(o,")"):"Stream request failed")||this;return u.requestId=r,u.requestPayload=n,u.summary=o,u.details=i,Object.setPrototypeOf(u,t.prototype),u}return __extends(t,e),t}(Error);function defineParams(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){return e.reduce((function(e,r){return __assign(__assign({},e),r(t))}),{})}}function defineBoolean(e,t){return defineValue(e,t,(function(e){return"boolean"==typeof e?e?"on":"off":void 0}))}function defineNumber(e,t){return defineValue(e,t,(function(e){return"number"==typeof e?e.toString():void 0}))}function defineString(e,t){return defineValue(e,t,(function(e){return"string"==typeof e?e:void 0}))}function defineValue(e,t,r){return function(n){var o,i=r(n[t]);return null!=i?((o={})[e]=i,o):{}}}function appendSettingsToUrl(e,t){var r={},n=uri.parse(e),o=defineParams(toFrameDeliverySettingsParams(r.EXPERIMENTAL_frameDelivery),toAdaptiveRenderingSettingsParams(r.EXPERIMENTAL_adaptiveRendering),toQualityOfServiceSettingsParams(r.EXPERIMENTAL_qualityOfService))(t);return uri.toString(uri.addQueryParams(o,n))}function toFrameDeliverySettingsParams(e){return defineSettings((function(e){return e.EXPERIMENTAL_frameDelivery}),e,defineParams(defineBoolean("frame-delivery.rate-limit-enabled","rateLimitingEnabled"),defineNumber("frame-delivery.packet-loss-threshold","packetLossThreshold"),defineNumber("frame-delivery.history-max-size","historyMaxSize"),defineString("frame-delivery.timeout","timeout"),defineNumber("frame-delivery.timeout-ratio-threshold","timeoutRatioThreshold")))}function toAdaptiveRenderingSettingsParams(e){return defineSettings((function(e){return e.EXPERIMENTAL_adaptiveRendering}),e,defineParams(defineBoolean("adaptive-rendering.enabled","enabled"),defineString("adaptive-rendering.method","method"),defineNumber("adaptive-rendering.jpeg-quality-min","jpegMinQuality"),defineNumber("adaptive-rendering.jpeg-quality-max","jpegMaxQuality"),defineNumber("adaptive-rendering.image-scale-min","imageMinScale"),defineNumber("adaptive-rendering.image-scale-max","imageMaxScale"),defineNumber("adaptive-rendering.window-size","windowSize")))}function toQualityOfServiceSettingsParams(e){return defineSettings((function(e){return e.EXPERIMENTAL_qualityOfService}),e,defineParams(defineNumber("qos.history-max-size","historyMaxSize")))}function defineSettings(e,t,r){return function(n){var o=objects.defaults(e(n)||{},t);return r(o)}}function toProtoTimestamp(e){var t=e.getTime();return google.protobuf.Timestamp.create(parseEpochMillis(t))}function currentDateAsProtoTimestamp(){return toProtoTimestamp(new Date)}function toProtoDuration(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(2===e.length){var r=e[0],n=e[1],o=n.getTime()-r.getTime();return google.protobuf.Duration.create(parseEpochMillis(o))}if(1===e.length)return google.protobuf.Duration.create(parseEpochMillis(o=e[0]));throw new Error("Expected input to be a number or start and end date.")}function protoToDate(e){if(null!=e.seconds&&null!=e.nanos){var t="number"==typeof e.seconds?e.seconds:e.seconds.toNumber();return new Date(1e3*t+e.nanos/1e6)}}function parseEpochMillis(e){return{seconds:Math.floor(Math.abs(e)/1e3)*(e<0?-1:1),nanos:e%1e3*1e6}}var WebSocketClientImpl=function(){function e(){var e=this;this.listeners={},this.onMessageDispatcher=new EventDispatcher,this.onCloseDispatcher=new EventDispatcher,this.addWebSocketListeners=function(t,r,n,o){var i=function(){return e.onOpen(n)},u=function(){return o()},l=function(t){return e.handleClose(t,r)};return t.addEventListener("message",e.handleMessage),t.addEventListener("open",i),t.addEventListener("error",u),t.addEventListener("close",l),{dispose:function(){t.removeEventListener("message",e.handleMessage),t.removeEventListener("open",i),t.removeEventListener("error",u),t.removeEventListener("close",l)}}},this.handleMessage=function(t){e.onMessageDispatcher.emit(t)},this.handleClose=function(t,r){e.onCloseDispatcher.emit(t),e.removeWebSocketListeners(r)}}return e.prototype.close=function(){null!=this.webSocket&&this.webSocket.close()},e.prototype.connect=function(e){return __awaiter(this,void 0,void 0,(function(){var t,r=this;return __generator(this,(function(){return t=uuid.create(),this.webSocket=new WebSocket(e.url,e.protocols),this.webSocket.binaryType="arraybuffer",[2,new Promise((function(e,n){null!=r.webSocket&&(r.listeners[t]=r.addWebSocketListeners(r.webSocket,t,e,n))}))]}))}))},e.prototype.onMessage=function(e){return this.onMessageDispatcher.on(e)},e.prototype.onClose=function(e){return this.onCloseDispatcher.on(e)},e.prototype.send=function(e){null!=this.webSocket&&this.webSocket.send(e)},e.prototype.removeWebSocketListeners=function(e){var t;null===(t=this.listeners[e])||void 0===t||t.dispose()},e.prototype.onOpen=function(e){e()},e}(),StreamApi=function(){function e(e,t){var r;void 0===e&&(e=new WebSocketClientImpl),void 0===t&&(t={}),this.websocket=e,this.onResponseDispatcher=new EventDispatcher,this.onRequestDispatcher=new EventDispatcher,this.onEventDispatcher=new EventDispatcher,this.opts={loggingEnabled:null!==(r=t.loggingEnabled)&&void 0!==r&&r}}return e.prototype.connect=function(e,t){return void 0===t&&(t={}),__awaiter(this,void 0,void 0,(function(){var r,n=this;return __generator(this,(function(o){switch(o.label){case 0:return r=__assign(__assign({},e),{url:appendSettingsToUrl(e.url,t)}),[4,this.websocket.connect(r)];case 1:return o.sent(),this.messageSubscription=this.websocket.onMessage((function(e){n.handleMessage(e)})),[2,{dispose:function(){return n.dispose()}}]}}))}))},e.prototype.dispose=function(){var e;this.websocket.close(),null===(e=this.messageSubscription)||void 0===e||e.dispose()},e.prototype.onRequest=function(e){return this.onRequestDispatcher.on(e)},e.prototype.onEvent=function(e){return this.onEventDispatcher.on(e)},e.prototype.onClose=function(e){return this.websocket.onClose(e)},e.prototype.startStream=function(e,t){return void 0===t&&(t=!0),this.sendRequest({startStream:e},t)},e.prototype.reconnect=function(e,t){return void 0===t&&(t=!0),__awaiter(this,void 0,void 0,(function(){return __generator(this,(function(){return[2,this.sendRequest({reconnect:e},t)]}))}))},e.prototype.updateStream=function(e,t){return void 0===t&&(t=!1),__awaiter(this,void 0,void 0,(function(){return __generator(this,(function(){return[2,this.sendRequest({updateStream:e},t)]}))}))},e.prototype.beginInteraction=function(e,t){return void 0===e&&(e={}),void 0===t&&(t=!0),this.sendRequest({beginInteraction:e},t)},e.prototype.replaceCamera=function(e,t){return void 0===t&&(t=!0),this.sendRequest({updateCamera:e},t)},e.prototype.flyTo=function(e,t){return void 0===t&&(t=!0),this.sendRequest({flyTo:e},t)},e.prototype.updateInteraction=function(e,t){return void 0===t&&(t=!0),this.sendRequest({updateInteraction:e},t)},e.prototype.updateDimensions=function(e,t){return void 0===t&&(t=!0),this.sendRequest({updateDimensions:e},t)},e.prototype.updateCrossSectioning=function(e,t){return void 0===t&&(t=!0),this.sendRequest({updateCrossSectioning:e},t)},e.prototype.hitItems=function(e,t){return void 0===t&&(t=!0),this.sendRequest({hitItems:e},t)},e.prototype.createSceneAlteration=function(e,t){return void 0===t&&(t=!0),this.sendRequest({createSceneAlteration:e},t)},e.prototype.resetSceneView=function(e,t){return void 0===t&&(t=!0),this.sendRequest({resetView:e},t)},e.prototype.endInteraction=function(e,t){return void 0===e&&(e={}),void 0===t&&(t=!0),this.sendRequest({endInteraction:e},t)},e.prototype.syncTime=function(e,t){return void 0===t&&(t=!0),this.sendRequest({syncTime:e},t)},e.prototype.recordPerformance=function(e,t){return void 0===t&&(t=!0),this.sendRequest({recordPerformance:e},t)},e.prototype.loadSceneViewState=function(e,t){return void 0===t&&(t=!0),this.sendRequest({loadSceneViewState:e},t)},e.prototype.getStencilBuffer=function(e,t){return void 0===t&&(t=!0),this.sendRequest({getStencilBuffer:e},t)},e.prototype.refreshToken=function(e){return void 0===e&&(e=!0),this.sendRequest({refreshToken:{}},e)},e.prototype.replyResult=function(e,t){this.sendResponse(__assign({requestId:{value:e}},t))},e.prototype.replyError=function(e,t){this.sendResponse({requestId:{value:e},error:t})},e.prototype.handleMessage=function(e){var t=decode(e.data);this.log("WS message received",t),null!=(null==t?void 0:t.sentAtTime)&&(null!=t.response&&this.onResponseDispatcher.emit({sentAtTime:t.sentAtTime,response:t.response}),null!=t.request&&this.onRequestDispatcher.emit({sentAtTime:t.sentAtTime,request:t.request}),null!=t.event&&this.onEventDispatcher.emit({sentAtTime:t.sentAtTime,event:t.event}))},e.prototype.onResponse=function(e){return this.onResponseDispatcher.on(e)},e.prototype.log=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.opts.loggingEnabled&&console.debug.apply(console,__spreadArray([e],t,!1))},e.prototype.sendRequest=function(e,t){var r=this,n=currentDateAsProtoTimestamp();if(t){var o=uuid.create(),i=__assign(__assign({},e),{requestId:{value:o}});return new Promise((function(t,u){var l=r.onResponse((function(r){var n;if(o===(null===(n=r.response.requestId)||void 0===n?void 0:n.value)){if(null==r.response.error)t(r.response);else{var i=r.response.error,f=i.message,c=i.details;u(new StreamRequestError(o,e,null==f?void 0:f.value,null==c?void 0:c.value))}l.dispose()}}));r.sendMessage({sentAtTime:n,request:i})}))}return this.sendMessage({sentAtTime:n,request:e}),Promise.resolve({})},e.prototype.sendMessage=function(e){this.websocket.send(encode(e)),this.log("WS message sent",e)},e.prototype.sendResponse=function(e){var t=currentDateAsProtoTimestamp();this.websocket.send(encode({sentAtTime:t,response:e}))},e}();function toInteger(e){if(null===e||!0===e||!1===e)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function requiredArgs(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}function toDate(e){requiredArgs(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new Date(e.getTime()):"number"==typeof e||"[object Number]"===t?new Date(e):("string"!=typeof e&&"[object String]"!==t||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn((new Error).stack)),new Date(NaN))}function addDays(e,t){requiredArgs(2,arguments);var r=toDate(e),n=toInteger(t);return isNaN(n)?new Date(NaN):n?(r.setDate(r.getDate()+n),r):r}function addMonths(e,t){requiredArgs(2,arguments);var r=toDate(e),n=toInteger(t);if(isNaN(n))return new Date(NaN);if(!n)return r;var o=r.getDate(),i=new Date(r.getTime());i.setMonth(r.getMonth()+n+1,0);var u=i.getDate();return o>=u?i:(r.setFullYear(i.getFullYear(),i.getMonth(),o),r)}function add(e,t){if(requiredArgs(2,arguments),!t||"object"!=typeof t)return new Date(NaN);var r=t.years?toInteger(t.years):0,n=t.months?toInteger(t.months):0,o=t.weeks?toInteger(t.weeks):0,i=t.days?toInteger(t.days):0,u=t.hours?toInteger(t.hours):0,l=t.minutes?toInteger(t.minutes):0,f=t.seconds?toInteger(t.seconds):0,c=toDate(e),a=n||r?addMonths(c,n+12*r):c,s=i||o?addDays(a,i+7*o):a,$=l+60*u,b=f+60*$,d=1e3*b,p=new Date(s.getTime()+d);return p}function differenceInMilliseconds(e,t){return requiredArgs(2,arguments),toDate(e).getTime()-toDate(t).getTime()}function isAfter(e,t){requiredArgs(2,arguments);var r=toDate(e),n=toDate(t);return r.getTime()>n.getTime()}function subDays(e,t){requiredArgs(2,arguments);var r=toInteger(t);return addDays(e,-r)}function subMonths(e,t){requiredArgs(2,arguments);var r=toInteger(t);return addMonths(e,-r)}function sub(e,t){if(requiredArgs(2,arguments),!t||"object"!=typeof t)return new Date(NaN);var r=t.years?toInteger(t.years):0,n=t.months?toInteger(t.months):0,o=t.weeks?toInteger(t.weeks):0,i=t.days?toInteger(t.days):0,u=t.hours?toInteger(t.hours):0,l=t.minutes?toInteger(t.minutes):0,f=t.seconds?toInteger(t.seconds):0,c=subMonths(e,n+12*r),a=subDays(c,i+7*o),s=l+60*u,$=f+60*s,b=1e3*$,d=new Date(a.getTime()-b);return d}class Token{constructor(e,t,r){this.token=e,this.expiresIn=t,this.expiresAt=r}static create(e,t){const r=add(new Date,{seconds:t});return new Token(e,t,r)}hasExpired(){return isAfter(new Date,this.expiresAt)}remainingTimeInMs(e){return differenceInMilliseconds(sub(this.expiresAt,{seconds:e}),new Date)}}function isPerspectiveFrameCamera(e){return null!=e.position&&null==e.fovHeight}function isOrthographicFrameCamera(e){return null!=e.viewVector&&null!=e.fovHeight}function withPositionAndViewVector(e){return isOrthographicFrameCamera(e)?Object.assign(Object.assign({},e),{position:vector3.add(e.lookAt,vector3.negate(e.viewVector))}):Object.assign(Object.assign({},e),{viewVector:vector3.subtract(e.lookAt,e.position)})}function toOrthographic(e,t){var r;const n=vector3.subtract(e.lookAt,e.position),o=boundingSphere.create(t).radius/vector3.magnitude(n);return{viewVector:vector3.scale(o,n),up:e.up,lookAt:e.lookAt,fovHeight:2*vector3.magnitude(n)*Math.tan(angle.toRadians((null!==(r=e.fovY)&&void 0!==r?r:45)/2))}}function toPerspective(e,t=45){const r=e.fovHeight/(2*Math.tan(angle.toRadians(t/2))),n=vector3.magnitude(e.viewVector);return{position:vector3.add(e.lookAt,vector3.negate(vector3.scale(r/n,e.viewVector))),up:e.up,lookAt:e.lookAt,fovY:t}}function toProtobuf(e){return isOrthographicFrameCamera(e)?{orthographic:{viewVector:Object.assign({},e.viewVector),lookAt:Object.assign({},e.lookAt),up:Object.assign({},e.up),fovHeight:e.fovHeight}}:isPerspectiveFrameCamera(e)?{perspective:{position:Object.assign({},e.position),lookAt:Object.assign({},e.lookAt),up:Object.assign({},e.up)},position:Object.assign({},e.position),lookAt:Object.assign({},e.lookAt),up:Object.assign({},e.up)}:Object.assign({},e)}function fromBoundingBoxAndLookAtCamera(e,t){return isOrthographicFrameCamera(t)?fromBoundingBoxAndOrthographicCamera(e):fromBoundingBoxAndPerspectiveCamera(e,t)}function fromBoundingBoxAndPerspectiveCamera(e,t){const r=boundingSphere.create(e),n=100*r.epsilon,o=vector3.dot(vector3.subtract(r.center,t.position),vector3.normalize(vector3.subtract(t.lookAt,t.position))),i=Math.max(r.radius,n);let u=i+o<n?3*i:i+o,l=u-2*i<n?Math.min(n,u):u-2*i;return u-l<n?(l=Math.max(l,n),u+=l+n):l/u<1e-4&&(l=1e-4*u),l>u-2*i&&l>1e3+n&&(u-=l-1e3,l=1e3),{near:l,far:u}}function fromBoundingBoxAndOrthographicCamera(e){const t=boundingSphere.create(e),r=Math.max(t.radius,100*t.epsilon);return{near:-r,far:r}}function create$2(e={}){return{sectionPlanes:e.sectionPlanes||[],highlightColor:e.highlightColor}}class DepthBuffer{constructor(e,t,r){this.camera=e,this.imageAttr=t,this.pixels=r}static fromPng(e,t,r){if(e.data instanceof Uint16Array)return new DepthBuffer(t,r,e.data);throw new Error("Expected depth PNG to have depth of 16-bit")}getLinearDepthAtPoint(e,t){const{near:r,far:n}=this.camera;return this.getNormalizedDepthAtPoint(e,t)*(n-r)+r}getOrthographicDepthAtPoint(e,t){const{near:r,far:n}=this.camera;return this.getNormalizedDepthAtPoint(e,t)*(n-r)}getNormalizedDepthAtPoint(e,t){const{width:r,height:n}=this.imageAttr.imageRect,o=point.subtract(e,this.imageAttr.imageRect),i=1/this.imageAttr.imageScale,u=point.scale(o,i,i);if(u.x>=0&&u.y>=0&&u.x<r&&u.y<n){const e=Math.floor(u.x)+Math.floor(u.y)*r,n=this.pixels[e],o=n===DepthBuffer.MAX_DEPTH_VALUE&&null!=t?t:n;return(null!=o?o:DepthBuffer.MAX_DEPTH_VALUE)/DepthBuffer.MAX_DEPTH_VALUE}return null!=t?t:1}hitTest(e){return this.getNormalizedDepthAtPoint(e)<1}getWorldPoint(e,t,r){const{position:n,viewVector:o,far:i}=this.camera,u=this.getLinearDepthAtPoint(e,r),l=ray.at(t,i),f=vector3.subtract(l,n),c=vector3.dot(o,f)/(vector3.magnitude(o)*vector3.magnitude(f));return ray.at(t,u/c)}getOrthographicWorldPoint(e,t,r){const n=this.getOrthographicDepthAtPoint(e,r);return ray.at(t,n)}isOccluded(e,t){const{position:r,direction:n,projectionViewMatrix:o}=this.camera,i=vector3.subtract(e,r),u=vector3.project(i,n),l=vector3.magnitude(u),f=vector3.transformMatrix(e,o),c=t.transformVectorToViewport(f),a=t.transformPointToFrame(c,this);return l>this.getLinearDepthAtPoint(a)}}DepthBuffer.MAX_DEPTH_VALUE=65535;class FeatureMap{constructor(e,t){this.pixels=e,this.imageAttr=t}static fromPng(e,t){if(e.data instanceof Uint8Array){if(4!==e.channels)throw new Error("Cannot create FeatureMap. Missing alpha channel.");return new FeatureMap(e.data,Object.assign(Object.assign({},t),{imageRect:rectangle.fromPointAndDimensions(t.imageRect,e)}))}throw new Error("Cannot create FeatureMap. Expected decoded PNG to be a Uint8Array.")}getEntityType(e){const t=this.getColor(e);return(null==t?void 0:t.a)===EntityType.CROSS_SECTION?EntityType.CROSS_SECTION:(null==t?void 0:t.a)===EntityType.GENERIC_GEOMETRY?EntityType.GENERIC_GEOMETRY:(null==t?void 0:t.a)===EntityType.IMPRECISE_EDGE?EntityType.IMPRECISE_EDGE:(null==t?void 0:t.a)===EntityType.IMPRECISE_SURFACE?EntityType.IMPRECISE_SURFACE:(null==t?void 0:t.a)===EntityType.PRECISE_EDGE?EntityType.PRECISE_EDGE:(null==t?void 0:t.a)===EntityType.PRECISE_SURFACE?EntityType.PRECISE_SURFACE:EntityType.NO_GEOMETRY}getColor(e){const{width:t,height:r}=this.imageAttr.imageRect,n=point.subtract(e,this.imageAttr.imageRect),o=1/this.imageAttr.imageScale,i=point.scale(n,o,o);if(i.x>=0&&i.y>=0&&i.x<t&&i.y<r){const e=4*Math.floor(i.x)+4*Math.floor(i.y)*t;return color.create(this.pixels[e],this.pixels[e+1],this.pixels[e+2],this.pixels[e+3])}}}async function loadWorker(){return __sc_import_viewer("./p-990f98c2.js")}let workerLoader,poolLoader;const DEFAULT_POOL_SIZE=1;function loadWorkerModule(){return null==workerLoader&&(console.debug("Loading PNG worker module"),workerLoader=loadWorker()),workerLoader}function getPoolSize(){var e;if("undefined"!=typeof window){const t=null!==(e=window.navigator.hardwareConcurrency)&&void 0!==e?e:8;return Math.ceil(t/4)}return DEFAULT_POOL_SIZE}async function getPool(){return null==poolLoader&&(poolLoader=loadWorkerModule().then((async({spawnPool:e})=>{const t=getPoolSize();return console.debug(`Spawning PNG worker pool [size=${t}]`),e({size:t})}))),poolLoader}const decodePng=async e=>(await getPool()).queue((t=>t(e)));function constrainViewVector(e,t){const r=vector3.magnitude(e);return vector3.scale(t.radius/r,e)}getPool();class Frame{constructor(e,t,r,n,o,i,u){this.correlationIds=e,this.sequenceNumber=t,this.dimensions=r,this.image=n,this.scene=o,this.depthBufferBytes=i,this.featureMapBytes=u}async depthBuffer(){return null==this.cachedDepthBuffer&&(this.cachedDepthBuffer=null!=this.depthBufferBytes?this.decodeDepthBuffer(new Uint8Array(this.depthBufferBytes)):Promise.resolve(void 0)),this.cachedDepthBuffer}async decodeDepthBuffer(e){const t=await decodePng(e);return DepthBuffer.fromPng(t,this.scene.camera,this.image.imageAttr)}async featureMap(){return null==this.cachedFeatureMap&&(this.cachedFeatureMap=null!=this.featureMapBytes?this.decodeFeatureMap(new Uint8Array(this.featureMapBytes)):Promise.resolve(void 0)),this.cachedFeatureMap}async decodeFeatureMap(e){const t=await decodePng(e);return FeatureMap.fromPng(t,this.image.imageAttr)}}class FrameImage{constructor(e,t){this.imageAttr=e,this.imageBytes=t}}class FrameScene{constructor(e,t,r,n,o){this.camera=e,this.boundingBox=t,this.crossSection=r,this.worldOrientation=n,this.hasChanged=o}}class FrameCameraBase{constructor(e,t,r,n,o,i){this.position=e,this.lookAt=t,this.up=r,this.near=n,this.far=o,this.aspectRatio=i}get direction(){return vector3.normalize(this.viewVector)}get viewVector(){return vector3.subtract(this.lookAt,this.position)}get worldMatrix(){return this.computeCameraMatrices().worldMatrix}get viewMatrix(){return this.computeCameraMatrices().viewMatrix}get projectionMatrix(){return this.computeCameraMatrices().projectionMatrix}get projectionMatrixInverse(){return this.computeCameraMatrices().projectionMatrixInverse}get projectionViewMatrix(){return this.computeCameraMatrices().projectionViewMatrix}get frustumProjectionViewMatrix(){return this.computeCameraMatrices().projectionViewMatrix}static fromBoundingBox(e,t,r){const{near:n,far:o}=fromBoundingBoxAndLookAtCamera(t,e);return isOrthographicFrameCamera(e)?new FrameOrthographicCamera(constrainViewVector(e.viewVector,boundingSphere.create(t)),e.lookAt,e.up,n,o,r,e.fovHeight):new FramePerspectiveCamera(e.position,e.lookAt,e.up,n,o,r,45)}isOrthographic(){return!1}isPerspective(){return!1}isPointBehindNear(e){const{position:t,direction:r,near:n}=this;return vector3.dot(vector3.subtract(e,t),r)<n}intersectLineWithNear(e){const{position:t,direction:r,near:n}=this,o=vector3.subtract(e.start,t),i=vector3.subtract(e.end,t),u=line3.create({start:o,end:i}),l=plane.create({normal:r,constant:-n}),f=plane.intersectLine(l,u);return null!=f?vector3.add(f,t):void 0}computeCameraMatrices(){return null==this.cameraMatrices?{viewMatrix:matrix4.makeIdentity(),worldMatrix:matrix4.makeIdentity(),projectionMatrix:matrix4.makeIdentity(),projectionMatrixInverse:matrix4.makeIdentity(),projectionViewMatrix:matrix4.makeIdentity()}:this.cameraMatrices}updateCameraMatrices(e){return this.cameraMatrices=e,this.cameraMatrices}}class FramePerspectiveCamera extends FrameCameraBase{constructor(e,t,r,n,o,i,u=45){super(e,t,r,n,o,i),this.position=e,this.lookAt=t,this.up=r,this.near=n,this.far=o,this.aspectRatio=i,this.fovY=u}toOrthographic(e){return FrameCameraBase.fromBoundingBox(toOrthographic(this,e),e,this.aspectRatio)}isPerspective(){return!0}computeCameraMatrices(){if(null==this.cameraMatrices){const e=matrix4.makeLookAtView(this.position,this.lookAt,this.up),t=matrix4.invert(e),r=matrix4.makePerspective(this.near,this.far,this.fovY,this.aspectRatio),n=matrix4.invert(r),o=matrix4.multiply(r,e);return super.updateCameraMatrices({viewMatrix:e,worldMatrix:t,projectionMatrix:r,projectionMatrixInverse:n,projectionViewMatrix:o})}return this.cameraMatrices}}class FrameOrthographicCamera extends FrameCameraBase{constructor(e,t,r,n,o,i,u){super(vector3.add(t,vector3.negate(e)),t,r,n,o,i),this.lookAt=t,this.up=r,this.near=n,this.far=o,this.aspectRatio=i,this.fovHeight=u,this.top=.5*u,this.bottom=-this.top,this.right=this.top*i,this.left=-this.right}toPerspective(e){return FrameCameraBase.fromBoundingBox(toPerspective(this),e,this.aspectRatio)}isOrthographic(){return!0}get frustumProjectionViewMatrix(){const e=matrix4.makeFrustum(this.left,this.right,this.top,this.bottom,this.near,this.far);return matrix4.multiply(e,this.computeCameraMatrices().viewMatrix)}computeCameraMatrices(){if(null==this.cameraMatrices){const e=matrix4.makeLookAtView(this.position,this.lookAt,this.up),t=matrix4.invert(e),r=matrix4.makeOrthographic(this.left,this.right,this.bottom,this.top,this.near,this.far),n=matrix4.invert(r),o=matrix4.multiply(r,e);return super.updateCameraMatrices({viewMatrix:e,worldMatrix:t,projectionMatrix:r,projectionMatrixInverse:n,projectionViewMatrix:o})}return this.cameraMatrices}}class ScaledUnitConverter{constructor(e){this.scale=e}convertTo(e){return e*this.scale}convertFrom(e){return e/this.scale}}class MillimeterUnitConverter extends ScaledUnitConverter{constructor(){super(1)}}class CentimeterUnitConverter extends ScaledUnitConverter{constructor(e=1){super(1/Math.pow(10,e))}}class MeterUnitConverter extends ScaledUnitConverter{constructor(e=1){super(1/Math.pow(1e3,e))}}class InchesUnitConverter extends ScaledUnitConverter{constructor(e=1){super(1/Math.pow(25.4,e))}}class FeetUnitConverter extends ScaledUnitConverter{constructor(e=1){super(1/Math.pow(25.4*12,e))}}class YardUnitConverter extends ScaledUnitConverter{constructor(e=1){super(1/Math.pow(25.4*12*3,e))}}class DistanceUnits{constructor(e){this.unitType=e,this.unit=DistanceUnits.units[e]}convertWorldValueToReal(e){return this.unit.converter.convertTo(e)}convertRealValueToWorld(e){return this.unit.converter.convertFrom(e)}convertWorldPointToReal(e){return{x:this.unit.converter.convertTo(e.x),y:this.unit.converter.convertTo(e.y),z:this.unit.converter.convertTo(e.z)}}convertRealPointToWorld(e){return{x:this.unit.converter.convertFrom(e.x),y:this.unit.converter.convertFrom(e.y),z:this.unit.converter.convertFrom(e.z)}}}DistanceUnits.units={millimeters:{name:"Millimeters",abbreviatedName:"mm",converter:new MillimeterUnitConverter},centimeters:{name:"Centimeters",abbreviatedName:"cm",converter:new CentimeterUnitConverter},meters:{name:"Meters",abbreviatedName:"m",converter:new MeterUnitConverter},inches:{name:"Inches",abbreviatedName:"in",converter:new InchesUnitConverter},feet:{name:"Feet",abbreviatedName:"ft",converter:new FeetUnitConverter},yards:{name:"Yards",abbreviatedName:"yd",converter:new YardUnitConverter}};class RadiansToDegreesUnitConverter{convertTo(e){return angle.toDegrees(e)}convertFrom(e){return angle.toRadians(e)}}class AngleUnits{constructor(e){this.unitType=e,this.unit=AngleUnits.units[e]}convertTo(e){return this.unit.converter.convertTo(e)}convertFrom(e){return this.unit.converter.convertFrom(e)}}AngleUnits.units={radians:{name:"Radians",abbreviatedName:"rad",converter:new ScaledUnitConverter(1)},degrees:{name:"Degrees",abbreviatedName:"deg",converter:new RadiansToDegreesUnitConverter}};class AreaUnits{constructor(e){this.unitType=e,this.unit=AreaUnits.units[e]}convertWorldValueToReal(e){return this.unit.converter.convertTo(e)}convertRealValueToWorld(e){return this.unit.converter.convertFrom(e)}}AreaUnits.units={millimeters:{name:"Square Millimeters",abbreviatedName:"mm²",converter:new MillimeterUnitConverter},centimeters:{name:"Square Centimeters",abbreviatedName:"cm²",converter:new CentimeterUnitConverter(2)},meters:{name:"Square Meters",abbreviatedName:"m²",converter:new MeterUnitConverter(2)},inches:{name:"Square Inches",abbreviatedName:"in²",converter:new InchesUnitConverter(2)},feet:{name:"Square Feet",abbreviatedName:"ft²",converter:new FeetUnitConverter(2)},yards:{name:"Square Yards",abbreviatedName:"yd²",converter:new YardUnitConverter(2)}};class Orientation{constructor(e,t){this.y=e,this.z=t}get matrix(){const e=this.z,t=this.y,r=vector3.cross(t,e);return matrix4.makeBasis(r,t,e)}}Orientation.DEFAULT=new Orientation(vector3.up(),vector3.back());class StandardView{constructor(e,t){this.position=e,this.up=t}transformMatrix(e){const t=vector3.transformMatrix(this.position,e),r=vector3.transformMatrix(this.up,e);return new StandardView(t,r)}}StandardView.FRONT=new StandardView(vector3.back(),vector3.up()),StandardView.RIGHT=new StandardView(vector3.left(),vector3.up()),StandardView.LEFT=new StandardView(vector3.right(),vector3.up()),StandardView.BACK=new StandardView(vector3.forward(),vector3.up()),StandardView.TOP=new StandardView(vector3.up(),vector3.forward()),StandardView.BOTTOM=new StandardView(vector3.down(),vector3.back()),StandardView.TOP_FRONT_RIGHT=new StandardView(vector3.add(vector3.back(),vector3.up(),vector3.left()),vector3.up()),StandardView.TOP_FRONT_LEFT=new StandardView(vector3.add(vector3.back(),vector3.up(),vector3.right()),vector3.up()),StandardView.BOTTOM_FRONT_RIGHT=new StandardView(vector3.add(vector3.back(),vector3.down(),vector3.left()),vector3.up()),StandardView.BOTTOM_FRONT_LEFT=new StandardView(vector3.add(vector3.back(),vector3.down(),vector3.right()),vector3.up()),StandardView.TOP_BACK_LEFT=new StandardView(vector3.add(vector3.forward(),vector3.up(),vector3.right()),vector3.up()),StandardView.TOP_BACK_RIGHT=new StandardView(vector3.add(vector3.forward(),vector3.up(),vector3.left()),vector3.up()),StandardView.BOTTOM_BACK_LEFT=new StandardView(vector3.add(vector3.forward(),vector3.down(),vector3.right()),vector3.up()),StandardView.BOTTOM_BACK_RIGHT=new StandardView(vector3.add(vector3.forward(),vector3.down(),vector3.left()),vector3.up()),StandardView.TOP_FRONT=new StandardView(vector3.add(vector3.back(),vector3.up()),vector3.up()),StandardView.BOTTOM_FRONT=new StandardView(vector3.add(vector3.back(),vector3.down()),vector3.up()),StandardView.FRONT_RIGHT=new StandardView(vector3.add(vector3.back(),vector3.left()),vector3.up()),StandardView.FRONT_LEFT=new StandardView(vector3.add(vector3.back(),vector3.right()),vector3.up()),StandardView.TOP_BACK=new StandardView(vector3.add(vector3.forward(),vector3.up()),vector3.up()),StandardView.BOTTOM_BACK=new StandardView(vector3.add(vector3.forward(),vector3.down()),vector3.up()),StandardView.BACK_LEFT=new StandardView(vector3.add(vector3.forward(),vector3.right()),vector3.up()),StandardView.BACK_RIGHT=new StandardView(vector3.add(vector3.forward(),vector3.left()),vector3.up()),StandardView.TOP_LEFT=new StandardView(vector3.add(vector3.up(),vector3.right()),vector3.up()),StandardView.TOP_RIGHT=new StandardView(vector3.add(vector3.up(),vector3.left()),vector3.up()),StandardView.BOTTOM_LEFT=new StandardView(vector3.add(vector3.down(),vector3.right()),vector3.up()),StandardView.BOTTOM_RIGHT=new StandardView(vector3.add(vector3.down(),vector3.left()),vector3.up());const fromPbDim=mapper.defineMapper(mapper.read(mapper.requiredProp("width"),mapper.requiredProp("height")),(([e,t])=>dimensions.create(e,t))),fromPbRect=mapper.defineMapper(mapper.read(mapper.requiredProp("x"),mapper.requiredProp("y"),mapper.requiredProp("width"),mapper.requiredProp("height")),(([e,t,r,n])=>rectangle.create(e,t,r,n))),fromPbVector3f=mapper.defineMapper(mapper.read(mapper.requiredProp("x"),mapper.requiredProp("y"),mapper.requiredProp("z")),(([e,t,r])=>vector3.create(e,t,r))),fromPbBoundingBox3f=mapper.defineMapper(mapper.read(mapper.requiredProp("xmin"),mapper.requiredProp("ymin"),mapper.requiredProp("zmin"),mapper.requiredProp("xmax"),mapper.requiredProp("ymax"),mapper.requiredProp("zmax")),(([e,t,r,n,o,i])=>boundingBox.create(vector3.create(e,t,r),vector3.create(n,o,i)))),fromPbPlane=mapper.defineMapper(mapper.read(mapper.requiredProp("d"),mapper.mapRequiredProp("normal",fromPbVector3f)),(([e,t])=>plane.create({normal:t,constant:e}))),fromPbRGBi=mapper.defineMapper(mapper.read(mapper.requiredProp("r"),mapper.requiredProp("g"),mapper.requiredProp("b")),(([e,t,r])=>color.create(e,t,r))),toPbRGBi=mapper.defineMapper((e=>{function t(e){return{r:e.r,g:e.g,b:e.b}}if("string"==typeof e){const r=color.fromHexString(e);return null!=r?t(r):{errors:["String is not a valid color."]}}return t("number"==typeof e?color.fromNumber(e):e)}),(e=>e));toPbScalarWrapper();const toPbFloatValue=toPbScalarWrapper();toPbScalarWrapper();const fromPbBytesValue=fromPbScalarWrapper();function toPbScalarWrapper(){return mapper.defineMapper((e=>null!=e?{value:e}:void 0),(e=>e))}function fromPbScalarWrapper(){return mapper.defineMapper((e=>(null==e?void 0:e.value)||void 0),(e=>e))}const fromPbPerspectiveCamera=mapper.defineMapper(mapper.read(mapper.mapProp("position",mapper.compose(mapper.required("position"),fromPbVector3f)),mapper.mapProp("lookAt",mapper.compose(mapper.required("lookAt"),fromPbVector3f)),mapper.mapProp("up",mapper.compose(mapper.required("up"),fromPbVector3f))),(([e,t,r])=>({position:e,lookAt:t,up:r,fovY:45}))),fromPbOrthographicCamera=mapper.defineMapper(mapper.read(mapper.mapProp("viewVector",mapper.compose(mapper.required("viewVector"),fromPbVector3f)),mapper.mapProp("lookAt",mapper.compose(mapper.required("lookAt"),fromPbVector3f)),mapper.mapProp("up",mapper.compose(mapper.required("up"),fromPbVector3f)),mapper.mapProp("fovHeight",mapper.required("fovHeight"))),(([e,t,r,n])=>({viewVector:e,lookAt:t,up:r,fovHeight:n}))),fromPbCamera=mapper.defineMapper(mapper.read(mapper.mapProp("position",mapper.ifDefined(fromPbVector3f)),mapper.mapProp("lookAt",mapper.ifDefined(fromPbVector3f)),mapper.mapProp("up",mapper.ifDefined(fromPbVector3f)),mapper.mapProp("perspective",mapper.ifDefined(fromPbPerspectiveCamera)),mapper.mapProp("orthographic",mapper.ifDefined(fromPbOrthographicCamera))),(([e,t,r,n,o])=>{var i;return null!==(i=null!=n?n:o)&&void 0!==i?i:{position:null!=e?e:vector3.back(),lookAt:null!=t?t:vector3.origin(),up:null!=r?r:vector3.up(),fovY:45}})),fromPbSectionPlane=mapper.defineMapper(mapper.read(mapper.mapProp("normal",mapper.compose(mapper.required("normal"),fromPbVector3f)),mapper.requiredProp("offset")),(([e,t])=>({normal:e,offset:t}))),fromPbImageAttributes=mapper.defineMapper(mapper.read(mapper.mapProp("frameDimensions",mapper.compose(mapper.required("frameDimensions"),fromPbDim)),mapper.mapProp("imageRect",mapper.compose(mapper.required("imageRect"),fromPbRect)),mapper.mapProp("scaleFactor",mapper.required("scaleFactor"))),(([e,t,r])=>({frameDimensions:e,imageRect:t,imageScale:r}))),fromPbCrossSectioning=mapper.defineMapper(mapper.read(mapper.mapProp("sectionPlanes",mapper.compose(mapper.required("sectionPlanes"),mapper.mapArray(fromPbSectionPlane))),mapper.mapProp("highlightColor",mapper.ifDefined(fromPbRGBi))),(([e,t])=>create$2({sectionPlanes:e,highlightColor:t||void 0}))),fromPbFrameImageAttributes=mapper.defineMapper(mapper.read(mapper.mapProp("imageAttributes",mapper.compose(mapper.required("imageAttributes"),fromPbImageAttributes))),(([e])=>e)),fromPbFrameImage=mapper.defineMapper(mapper.read(fromPbFrameImageAttributes,mapper.mapProp("image",mapper.required("image"))),(([e,t])=>new FrameImage(e,t))),fromPbSceneAttributes=mapper.defineMapper(mapper.read(mapper.mapProp("camera",mapper.compose(mapper.required("camera"),fromPbCamera)),mapper.mapProp("visibleBoundingBox",mapper.compose(mapper.required("visibleBoundingBox"),fromPbBoundingBox3f)),mapper.mapProp("crossSectioning",mapper.compose(mapper.required("crossSectioning"),fromPbCrossSectioning)),mapper.requiredProp("hasChanged")),(([e,t,r,n])=>({camera:e,boundingBox:t,crossSectioning:r,hasChanged:n}))),fromPbFrameSceneAttributes=mapper.defineMapper(mapper.read(mapper.mapProp("sceneAttributes",mapper.compose(mapper.required("sceneAttributes"),fromPbSceneAttributes))),(([e])=>e)),fromPbFrameCamera=mapper.defineMapper(mapper.read(fromPbFrameSceneAttributes,fromPbFrameImageAttributes),(([e,t])=>FrameCameraBase.fromBoundingBox(e.camera,e.boundingBox,dimensions.aspectRatio(t.frameDimensions))));function fromPbFrameScene(e){return mapper.defineMapper(mapper.read(fromPbFrameSceneAttributes,fromPbFrameCamera),(([t,r])=>new FrameScene(r,t.boundingBox,t.crossSectioning,e,t.hasChanged)))}function fromPbFrame(e){return mapper.defineMapper(mapper.read(mapper.mapProp("frameCorrelationIds",(e=>null!=e?e:[])),mapper.requiredProp("sequenceNumber"),mapper.compose(fromPbFrameImageAttributes,mapper.getProp("frameDimensions")),fromPbFrameScene(e),fromPbFrameImage,mapper.mapProp("depthBuffer",fromPbBytesValue),mapper.mapProp("featureMap",fromPbBytesValue)),(([e,t,r,n,o,i,u])=>new Frame(e,t,r,o,n,i,u)))}function fromPbFrameOrThrow(e){return mapper.ifInvalidThrow(fromPbFrame(e))}const fromPbWorldOrientation=mapper.defineMapper(mapper.compose(mapper.required("orientation"),mapper.read(mapper.mapProp("up",mapper.compose(mapper.required("up"),fromPbVector3f)),mapper.mapProp("front",mapper.compose(mapper.required("front"),fromPbVector3f)))),(([e,t])=>new Orientation(e,t)));mapper.ifInvalidThrow(fromPbWorldOrientation);const fromPbStencilBufferResult=mapper.defineMapper(mapper.read(mapper.mapRequiredProp("imageAttributes",fromPbImageAttributes),mapper.requiredProp("stencilBuffer"),mapper.mapRequiredProp("depthBuffer",mapper.compose(fromPbBytesValue,mapper.required("depthBuffer")))),(([e,t,r])=>({imageAttributes:e,stencilBuffer:t,depthBuffer:r}))),fromPbStencilBuffer=fromPbStreamResponse("stencilBuffer",fromPbStencilBufferResult),fromPbStencilBufferOrThrow=mapper.ifInvalidThrow(fromPbStencilBuffer);function fromPbStreamResponse(e,t){return mapper.mapRequiredProp(e,t)}const fromPbToken=mapper.defineMapper(mapper.read(mapper.requiredProp("token"),mapper.requiredProp("expiresIn")),(([e,t])=>Token.create(e,t))),fromPbStartStreamResponse=mapper.defineMapper(mapper.read(mapper.compose(mapper.requiredProp("startStream"),mapper.mapRequiredProp("streamId",fromPbUuid)),mapper.compose(mapper.requiredProp("startStream"),mapper.mapRequiredProp("sceneId",fromPbUuid)),mapper.compose(mapper.requiredProp("startStream"),mapper.mapRequiredProp("sceneViewId",fromPbUuid)),mapper.compose(mapper.requiredProp("startStream"),mapper.mapRequiredProp("sessionId",fromPbUuid)),mapper.compose(mapper.requiredProp("startStream"),mapper.mapRequiredProp("worldOrientation",fromPbWorldOrientation)),mapper.compose(mapper.requiredProp("startStream"),mapper.mapRequiredProp("token",fromPbToken))),(([e,t,r,n,o,i])=>({streamId:e,sceneId:t,sceneViewId:r,sessionId:n,worldOrientation:o,token:i}))),fromPbStartStreamResponseOrThrow=mapper.ifInvalidThrow(fromPbStartStreamResponse),fromPbReconnectResponse=mapper.defineMapper(mapper.read(mapper.compose(mapper.requiredProp("reconnect"),mapper.mapRequiredProp("token",fromPbToken))),(([e])=>({token:e}))),fromPbReconnectResponseOrThrow=mapper.ifInvalidThrow(fromPbReconnectResponse),fromPbRefreshTokenResponse=mapper.defineMapper(mapper.compose(mapper.requiredProp("refreshToken"),mapper.requiredProp("token"),fromPbToken),(e=>e)),fromPbRefreshTokenResponseOrThrow=mapper.ifInvalidThrow(fromPbRefreshTokenResponse),fromPbSyncTimeResponse=mapper.defineMapper(mapper.compose(mapper.requiredProp("syncTime"),mapper.requiredProp("replyTime"),mapper.read(mapper.requiredProp("seconds"),mapper.requiredProp("nanos"))),(([e,t])=>protoToDate({seconds:e,nanos:t}))),fromPbSyncTimeResponseOrThrow=mapper.ifInvalidThrow(fromPbSyncTimeResponse);var aspromise=asPromise;function asPromise(e,t){for(var r=new Array(arguments.length-1),n=0,o=2,i=!0;o<arguments.length;)r[n++]=arguments[o++];return new Promise((function(o,u){r[n]=function(e){if(i)if(i=!1,e)u(e);else{for(var t=new Array(arguments.length-1),r=0;r<t.length;)t[r++]=arguments[r];o.apply(null,t)}};try{e.apply(t||null,r)}catch(e){i&&(i=!1,u(e))}}))}var base64_1=createCommonjsModule((function(e,t){var r=t;r.length=function(e){var t=e.length;if(!t)return 0;for(var r=0;--t%4>1&&"="===e.charAt(t);)++r;return Math.ceil(3*e.length)/4-r};for(var n=new Array(64),o=new Array(123),i=0;i<64;)o[n[i]=i<26?i+65:i<52?i+71:i<62?i-4:i-59|43]=i++;r.encode=function(e,t,r){for(var o,i=null,u=[],l=0,f=0;t<r;){var c=e[t++];switch(f){case 0:u[l++]=n[c>>2],o=(3&c)<<4,f=1;break;case 1:u[l++]=n[o|c>>4],o=(15&c)<<2,f=2;break;case 2:u[l++]=n[o|c>>6],u[l++]=n[63&c],f=0}l>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,u)),l=0)}return f&&(u[l++]=n[o],u[l++]=61,1===f&&(u[l++]=61)),i?(l&&i.push(String.fromCharCode.apply(String,u.slice(0,l))),i.join("")):String.fromCharCode.apply(String,u.slice(0,l))};var u="invalid encoding";r.decode=function(e,t,r){for(var n,i=r,l=0,f=0;f<e.length;){var c=e.charCodeAt(f++);if(61===c&&l>1)break;if(void 0===(c=o[c]))throw Error(u);switch(l){case 0:n=c,l=1;break;case 1:t[r++]=n<<2|(48&c)>>4,n=c,l=2;break;case 2:t[r++]=(15&n)<<4|(60&c)>>2,n=c,l=3;break;case 3:t[r++]=(3&n)<<6|c,l=0}}if(1===l)throw Error(u);return r-i},r.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}})),eventemitter=EventEmitter;function EventEmitter(){this._listeners={}}EventEmitter.prototype.on=function(e,t,r){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:r||this}),this},EventEmitter.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var r=this._listeners[e],n=0;n<r.length;)r[n].fn===t?r.splice(n,1):++n;return this},EventEmitter.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var r=[],n=1;n<arguments.length;)r.push(arguments[n++]);for(n=0;n<t.length;)t[n].fn.apply(t[n++].ctx,r)}return this};var float_1=factory(factory);function factory(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=128===r[3];function o(e,n,o){t[0]=e,n[o]=r[0],n[o+1]=r[1],n[o+2]=r[2],n[o+3]=r[3]}function i(e,n,o){t[0]=e,n[o]=r[3],n[o+1]=r[2],n[o+2]=r[1],n[o+3]=r[0]}function u(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],t[0]}function l(e,n){return r[3]=e[n],r[2]=e[n+1],r[1]=e[n+2],r[0]=e[n+3],t[0]}e.writeFloatLE=n?o:i,e.writeFloatBE=n?i:o,e.readFloatLE=n?u:l,e.readFloatBE=n?l:u}():function(){function t(e,t,r,n){var o=t<0?1:0;if(o&&(t=-t),0===t)e(1/t>0?0:2147483648,r,n);else if(isNaN(t))e(2143289344,r,n);else if(t>34028234663852886e22)e((o<<31|2139095040)>>>0,r,n);else if(t<11754943508222875e-54)e((o<<31|Math.round(t/1401298464324817e-60))>>>0,r,n);else{var i=Math.floor(Math.log(t)/Math.LN2);e((o<<31|i+127<<23|8388607&Math.round(t*Math.pow(2,-i)*8388608))>>>0,r,n)}}function r(e,t,r){var n=e(t,r),o=2*(n>>31)+1,i=n>>>23&255,u=8388607&n;return 255===i?u?NaN:o*(1/0):0===i?1401298464324817e-60*o*u:o*Math.pow(2,i-150)*(u+8388608)}e.writeFloatLE=t.bind(null,writeUintLE),e.writeFloatBE=t.bind(null,writeUintBE),e.readFloatLE=r.bind(null,readUintLE),e.readFloatBE=r.bind(null,readUintBE)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=128===r[7];function o(e,n,o){t[0]=e,n[o]=r[0],n[o+1]=r[1],n[o+2]=r[2],n[o+3]=r[3],n[o+4]=r[4],n[o+5]=r[5],n[o+6]=r[6],n[o+7]=r[7]}function i(e,n,o){t[0]=e,n[o]=r[7],n[o+1]=r[6],n[o+2]=r[5],n[o+3]=r[4],n[o+4]=r[3],n[o+5]=r[2],n[o+6]=r[1],n[o+7]=r[0]}function u(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],r[4]=e[n+4],r[5]=e[n+5],r[6]=e[n+6],r[7]=e[n+7],t[0]}function l(e,n){return r[7]=e[n],r[6]=e[n+1],r[5]=e[n+2],r[4]=e[n+3],r[3]=e[n+4],r[2]=e[n+5],r[1]=e[n+6],r[0]=e[n+7],t[0]}e.writeDoubleLE=n?o:i,e.writeDoubleBE=n?i:o,e.readDoubleLE=n?u:l,e.readDoubleBE=n?l:u}():function(){function t(e,t,r,n,o,i){var u=n<0?1:0;if(u&&(n=-n),0===n)e(0,o,i+t),e(1/n>0?0:2147483648,o,i+r);else if(isNaN(n))e(0,o,i+t),e(2146959360,o,i+r);else if(n>17976931348623157e292)e(0,o,i+t),e((u<<31|2146435072)>>>0,o,i+r);else{var l;if(n<22250738585072014e-324)e((l=n/5e-324)>>>0,o,i+t),e((u<<31|l/4294967296)>>>0,o,i+r);else{var f=Math.floor(Math.log(n)/Math.LN2);1024===f&&(f=1023),e(4503599627370496*(l=n*Math.pow(2,-f))>>>0,o,i+t),e((u<<31|f+1023<<20|1048576*l&1048575)>>>0,o,i+r)}}}function r(e,t,r,n,o){var i=e(n,o+t),u=e(n,o+r),l=2*(u>>31)+1,f=u>>>20&2047,c=4294967296*(1048575&u)+i;return 2047===f?c?NaN:l*(1/0):0===f?5e-324*l*c:l*Math.pow(2,f-1075)*(c+4503599627370496)}e.writeDoubleLE=t.bind(null,writeUintLE,0,4),e.writeDoubleBE=t.bind(null,writeUintBE,4,0),e.readDoubleLE=r.bind(null,readUintLE,0,4),e.readDoubleBE=r.bind(null,readUintBE,4,0)}(),e}function writeUintLE(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function writeUintBE(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=255&e}function readUintLE(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function readUintBE(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}var inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}var utf8_1=createCommonjsModule((function(e,t){var r=t;r.length=function(e){for(var t=0,r=0,n=0;n<e.length;++n)(r=e.charCodeAt(n))<128?t+=1:r<2048?t+=2:55296==(64512&r)&&56320==(64512&e.charCodeAt(n+1))?(++n,t+=4):t+=3;return t},r.read=function(e,t,r){if(r-t<1)return"";for(var n,o=null,i=[],u=0;t<r;)(n=e[t++])<128?i[u++]=n:n>191&&n<224?i[u++]=(31&n)<<6|63&e[t++]:n>239&&n<365?(n=((7&n)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,i[u++]=55296+(n>>10),i[u++]=56320+(1023&n)):i[u++]=(15&n)<<12|(63&e[t++])<<6|63&e[t++],u>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),u=0);return o?(u&&o.push(String.fromCharCode.apply(String,i.slice(0,u))),o.join("")):String.fromCharCode.apply(String,i.slice(0,u))},r.write=function(e,t,r){for(var n,o,i=r,u=0;u<e.length;++u)(n=e.charCodeAt(u))<128?t[r++]=n:n<2048?(t[r++]=n>>6|192,t[r++]=63&n|128):55296==(64512&n)&&56320==(64512&(o=e.charCodeAt(u+1)))?(++u,t[r++]=(n=65536+((1023&n)<<10)+(1023&o))>>18|240,t[r++]=n>>12&63|128,t[r++]=n>>6&63|128,t[r++]=63&n|128):(t[r++]=n>>12|224,t[r++]=n>>6&63|128,t[r++]=63&n|128);return r-i}})),pool_1=pool;function pool(e,t,r){var n=r||8192,o=n>>>1,i=null,u=n;return function(r){if(r<1||r>o)return e(r);u+r>n&&(i=e(n),u=0);var l=t.call(i,u,u+=r);return 7&u&&(u=1+(7|u)),l}}var longbits=LongBits$2;function LongBits$2(e,t){this.lo=e>>>0,this.hi=t>>>0}var zero=LongBits$2.zero=new LongBits$2(0,0);zero.toNumber=function(){return 0},zero.zzEncode=zero.zzDecode=function(){return this},zero.length=function(){return 1};var zeroHash=LongBits$2.zeroHash="\0\0\0\0\0\0\0\0";LongBits$2.fromNumber=function(e){if(0===e)return zero;var t=e<0;t&&(e=-e);var r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new LongBits$2(r,n)},LongBits$2.from=function(e){if("number"==typeof e)return LongBits$2.fromNumber(e);if(minimal$1.isString(e)){if(!minimal$1.Long)return LongBits$2.fromNumber(parseInt(e,10));e=minimal$1.Long.fromString(e)}return e.low||e.high?new LongBits$2(e.low>>>0,e.high>>>0):zero},LongBits$2.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,r=~this.hi>>>0;return t||(r=r+1>>>0),-(t+4294967296*r)}return this.lo+4294967296*this.hi},LongBits$2.prototype.toLong=function(e){return minimal$1.Long?new minimal$1.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var charCodeAt=String.prototype.charCodeAt;LongBits$2.fromHash=function(e){return e===zeroHash?zero:new LongBits$2((charCodeAt.call(e,0)|charCodeAt.call(e,1)<<8|charCodeAt.call(e,2)<<16|charCodeAt.call(e,3)<<24)>>>0,(charCodeAt.call(e,4)|charCodeAt.call(e,5)<<8|charCodeAt.call(e,6)<<16|charCodeAt.call(e,7)<<24)>>>0)},LongBits$2.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},LongBits$2.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},LongBits$2.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},LongBits$2.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,r=this.hi>>>24;return 0===r?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:r<128?9:10};var minimal$1=createCommonjsModule((function(e,t){var r=t;function n(e,t,r){for(var n=Object.keys(t),o=0;o<n.length;++o)void 0!==e[n[o]]&&r||(e[n[o]]=t[n[o]]);return e}function o(e){function t(e,r){if(!(this instanceof t))return new t(e,r);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),r&&n(this,r)}return(t.prototype=Object.create(Error.prototype)).constructor=t,Object.defineProperty(t.prototype,"name",{get:function(){return e}}),t.prototype.toString=function(){return this.name+": "+this.message},t}r.asPromise=aspromise,r.base64=base64_1,r.EventEmitter=eventemitter,r.float=float_1,r.inquire=inquire_1,r.utf8=utf8_1,r.pool=pool_1,r.LongBits=longbits,r.isNode=Boolean(void 0!==commonjsGlobal$1&&commonjsGlobal$1&&commonjsGlobal$1.process&&commonjsGlobal$1.process.versions&&commonjsGlobal$1.process.versions.node),r.global=r.isNode&&commonjsGlobal$1||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||commonjsGlobal$1,r.emptyArray=Object.freeze?Object.freeze([]):[],r.emptyObject=Object.freeze?Object.freeze({}):{},r.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},r.isString=function(e){return"string"==typeof e||e instanceof String},r.isObject=function(e){return e&&"object"==typeof e},r.isset=r.isSet=function(e,t){var r=e[t];return!(null==r||!e.hasOwnProperty(t))&&("object"!=typeof r||(Array.isArray(r)?r.length:Object.keys(r).length)>0)},r.Buffer=function(){try{var e=r.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(e){return"number"==typeof e?r.Buffer?r._Buffer_allocUnsafe(e):new r.Array(e):r.Buffer?r._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||r.inquire("long"),r.key2Re=/^true|false|0|1$/,r.key32Re=/^-?(?:0|[1-9][0-9]*)$/,r.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,r.longToHash=function(e){return e?r.LongBits.from(e).toHash():r.LongBits.zeroHash},r.longFromHash=function(e,t){var n=r.LongBits.fromHash(e);return r.Long?r.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},r.merge=n,r.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},r.newError=o,r.ProtocolError=o("ProtocolError"),r.oneOfGetter=function(e){for(var t={},r=0;r<e.length;++r)t[e[r]]=1;return function(){for(var e=Object.keys(this),r=e.length-1;r>-1;--r)if(1===t[e[r]]&&null!=this[e[r]])return e[r]}},r.oneOfSetter=function(e){return function(t){for(var r=0;r<e.length;++r)e[r]!==t&&delete this[e[r]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var e=r.Buffer;e?(r._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,r){return new e(t,r)},r._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):r._Buffer_from=r._Buffer_allocUnsafe=null}})),writer=Writer,BufferWriter$1,LongBits$1=minimal$1.LongBits,base64=minimal$1.base64,utf8$1=minimal$1.utf8;function Op(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function noop(){}function State(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function Writer(){this.len=0,this.head=new Op(noop,0,0),this.tail=this.head,this.states=null}var create$1=function(){return minimal$1.Buffer?function(){return(Writer.create=function(){return new BufferWriter$1})()}:function(){return new Writer}};function writeByte(e,t,r){t[r]=255&e}function writeVarint32(e,t,r){for(;e>127;)t[r++]=127&e|128,e>>>=7;t[r]=e}function VarintOp(e,t){this.len=e,this.next=void 0,this.val=t}function writeVarint64(e,t,r){for(;e.hi;)t[r++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=127&e.lo|128,e.lo=e.lo>>>7;t[r++]=e.lo}function writeFixed32(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}Writer.create=create$1(),Writer.alloc=function(e){return new minimal$1.Array(e)},minimal$1.Array!==Array&&(Writer.alloc=minimal$1.pool(Writer.alloc,minimal$1.Array.prototype.subarray)),Writer.prototype._push=function(e,t,r){return this.tail=this.tail.next=new Op(e,t,r),this.len+=t,this},VarintOp.prototype=Object.create(Op.prototype),VarintOp.prototype.fn=writeVarint32,Writer.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new VarintOp((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},Writer.prototype.int32=function(e){return e<0?this._push(writeVarint64,10,LongBits$1.fromNumber(e)):this.uint32(e)},Writer.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},Writer.prototype.uint64=function(e){var t=LongBits$1.from(e);return this._push(writeVarint64,t.length(),t)},Writer.prototype.int64=Writer.prototype.uint64,Writer.prototype.sint64=function(e){var t=LongBits$1.from(e).zzEncode();return this._push(writeVarint64,t.length(),t)},Writer.prototype.bool=function(e){return this._push(writeByte,1,e?1:0)},Writer.prototype.fixed32=function(e){return this._push(writeFixed32,4,e>>>0)},Writer.prototype.sfixed32=Writer.prototype.fixed32,Writer.prototype.fixed64=function(e){var t=LongBits$1.from(e);return this._push(writeFixed32,4,t.lo)._push(writeFixed32,4,t.hi)},Writer.prototype.sfixed64=Writer.prototype.fixed64,Writer.prototype.float=function(e){return this._push(minimal$1.float.writeFloatLE,4,e)},Writer.prototype.double=function(e){return this._push(minimal$1.float.writeDoubleLE,8,e)};var writeBytes=minimal$1.Array.prototype.set?function(e,t,r){t.set(e,r)}:function(e,t,r){for(var n=0;n<e.length;++n)t[r+n]=e[n]};Writer.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(writeByte,1,0);if(minimal$1.isString(e)){var r=Writer.alloc(t=base64.length(e));base64.decode(e,r,0),e=r}return this.uint32(t)._push(writeBytes,t,e)},Writer.prototype.string=function(e){var t=utf8$1.length(e);return t?this.uint32(t)._push(utf8$1.write,t,e):this._push(writeByte,1,0)},Writer.prototype.fork=function(){return this.states=new State(this),this.head=this.tail=new Op(noop,0,0),this.len=0,this},Writer.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Op(noop,0,0),this.len=0),this},Writer.prototype.ldelim=function(){var e=this.head,t=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=e.next,this.tail=t,this.len+=r),this},Writer.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),r=0;e;)e.fn(e.val,t,r),r+=e.len,e=e.next;return t},Writer._configure=function(e){BufferWriter$1=e,Writer.create=create$1(),BufferWriter$1._configure()};var writer_buffer=BufferWriter;function BufferWriter(){writer.call(this)}function writeStringBuffer(e,t,r){e.length<40?minimal$1.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}(BufferWriter.prototype=Object.create(writer.prototype)).constructor=BufferWriter,BufferWriter._configure=function(){BufferWriter.alloc=minimal$1._Buffer_allocUnsafe,BufferWriter.writeBytesBuffer=minimal$1.Buffer&&minimal$1.Buffer.prototype instanceof Uint8Array&&"set"===minimal$1.Buffer.prototype.set.name?function(e,t,r){t.set(e,r)}:function(e,t,r){if(e.copy)e.copy(t,r,0,e.length);else for(var n=0;n<e.length;)t[r++]=e[n++]}},BufferWriter.prototype.bytes=function(e){minimal$1.isString(e)&&(e=minimal$1._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(BufferWriter.writeBytesBuffer,t,e),this},BufferWriter.prototype.string=function(e){var t=minimal$1.Buffer.byteLength(e);return this.uint32(t),t&&this._push(writeStringBuffer,t,e),this},BufferWriter._configure();var reader=Reader,BufferReader$1,LongBits=minimal$1.LongBits,utf8=minimal$1.utf8;function indexOutOfRange(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function Reader(e){this.buf=e,this.pos=0,this.len=e.length}var create_array="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Reader(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Reader(e);throw Error("illegal buffer")},create=function(){return minimal$1.Buffer?function(e){return(Reader.create=function(e){return minimal$1.Buffer.isBuffer(e)?new BufferReader$1(e):create_array(e)})(e)}:create_array};function readLongVarint(){var e=new LongBits(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw indexOutOfRange(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function readFixed32_end(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function readFixed64(){if(this.pos+8>this.len)throw indexOutOfRange(this,8);return new LongBits(readFixed32_end(this.buf,this.pos+=4),readFixed32_end(this.buf,this.pos+=4))}Reader.create=create(),Reader.prototype._slice=minimal$1.Array.prototype.subarray||minimal$1.Array.prototype.slice,Reader.prototype.uint32=function(){var e=4294967295;return function(){if(e=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return e;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange(this,10);return e}}(),Reader.prototype.int32=function(){return 0|this.uint32()},Reader.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},Reader.prototype.bool=function(){return 0!==this.uint32()},Reader.prototype.fixed32=function(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)},Reader.prototype.sfixed32=function(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return 0|readFixed32_end(this.buf,this.pos+=4)},Reader.prototype.float=function(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);var e=minimal$1.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},Reader.prototype.double=function(){if(this.pos+8>this.len)throw indexOutOfRange(this,4);var e=minimal$1.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},Reader.prototype.bytes=function(){var e=this.uint32(),t=this.pos,r=this.pos+e;if(r>this.len)throw indexOutOfRange(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,r):t===r?new this.buf.constructor(0):this._slice.call(this.buf,t,r)},Reader.prototype.string=function(){var e=this.bytes();return utf8.read(e,0,e.length)},Reader.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw indexOutOfRange(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw indexOutOfRange(this)}while(128&this.buf[this.pos++]);return this},Reader.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},Reader._configure=function(e){BufferReader$1=e,Reader.create=create(),BufferReader$1._configure();var t=minimal$1.Long?"toLong":"toNumber";minimal$1.merge(Reader.prototype,{int64:function(){return readLongVarint.call(this)[t](!1)},uint64:function(){return readLongVarint.call(this)[t](!0)},sint64:function(){return readLongVarint.call(this).zzDecode()[t](!1)},fixed64:function(){return readFixed64.call(this)[t](!0)},sfixed64:function(){return readFixed64.call(this)[t](!1)}})};var reader_buffer=BufferReader;function BufferReader(e){reader.call(this,e)}(BufferReader.prototype=Object.create(reader.prototype)).constructor=BufferReader,BufferReader._configure=function(){minimal$1.Buffer&&(BufferReader.prototype._slice=minimal$1.Buffer.prototype.slice)},BufferReader.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},BufferReader._configure();var service=Service;function Service(e,t,r){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");minimal$1.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(r)}(Service.prototype=Object.create(minimal$1.EventEmitter.prototype)).constructor=Service,Service.prototype.rpcCall=function e(t,r,n,o,i){if(!o)throw TypeError("request must be specified");var u=this;if(!i)return minimal$1.asPromise(e,u,t,r,n,o);if(u.rpcImpl)try{return u.rpcImpl(t,r[u.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(e,r){if(e)return u.emit("error",e,t),i(e);if(null!==r){if(!(r instanceof n))try{r=n[u.responseDelimited?"decodeDelimited":"decode"](r)}catch(e){return u.emit("error",e,t),i(e)}return u.emit("data",r,t),i(null,r)}u.end(!0)}))}catch(e){return u.emit("error",e,t),void setTimeout((function(){i(e)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},Service.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this};var rpc_1=createCommonjsModule((function(e,t){t.Service=service})),roots={},indexMinimal=createCommonjsModule((function(e,t){var r=t;function n(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=writer,r.BufferWriter=writer_buffer,r.Reader=reader,r.BufferReader=reader_buffer,r.util=minimal$1,r.rpc=rpc_1,r.roots=roots,r.configure=n,n()})),minimal=indexMinimal;const $Reader=minimal.Reader,$Writer=minimal.Writer,$util=minimal.util,$root=minimal.roots.default||(minimal.roots.default={}),vertexvis=$root.vertexvis=(()=>{const e={};return e.protobuf=function(){const e={};return e.stream=function(){const e={};return e.PerspectiveCamera=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.position=null,e.prototype.lookAt=null,e.prototype.up=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.position,t.uint32(10).fork()).ldelim(),null!=e.lookAt&&Object.hasOwnProperty.call(e,"lookAt")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.lookAt,t.uint32(18).fork()).ldelim(),null!=e.up&&Object.hasOwnProperty.call(e,"up")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.up,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.PerspectiveCamera;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.position=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.lookAt=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 3:n.up=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.position&&e.hasOwnProperty("position")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.position);if(t)return"position."+t}if(null!=e.lookAt&&e.hasOwnProperty("lookAt")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.lookAt);if(t)return"lookAt."+t}if(null!=e.up&&e.hasOwnProperty("up")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.up);if(t)return"up."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.PerspectiveCamera)return e;let t=new $root.vertexvis.protobuf.stream.PerspectiveCamera;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".vertexvis.protobuf.stream.PerspectiveCamera.position: object expected");t.position=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.position)}if(null!=e.lookAt){if("object"!=typeof e.lookAt)throw TypeError(".vertexvis.protobuf.stream.PerspectiveCamera.lookAt: object expected");t.lookAt=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.lookAt)}if(null!=e.up){if("object"!=typeof e.up)throw TypeError(".vertexvis.protobuf.stream.PerspectiveCamera.up: object expected");t.up=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.up)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.position=null,r.lookAt=null,r.up=null),null!=e.position&&e.hasOwnProperty("position")&&(r.position=$root.vertexvis.protobuf.core.Vector3f.toObject(e.position,t)),null!=e.lookAt&&e.hasOwnProperty("lookAt")&&(r.lookAt=$root.vertexvis.protobuf.core.Vector3f.toObject(e.lookAt,t)),null!=e.up&&e.hasOwnProperty("up")&&(r.up=$root.vertexvis.protobuf.core.Vector3f.toObject(e.up,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.OrthographicCamera=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.viewVector=null,e.prototype.lookAt=null,e.prototype.up=null,e.prototype.fovHeight=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.viewVector&&Object.hasOwnProperty.call(e,"viewVector")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.viewVector,t.uint32(10).fork()).ldelim(),null!=e.lookAt&&Object.hasOwnProperty.call(e,"lookAt")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.lookAt,t.uint32(18).fork()).ldelim(),null!=e.up&&Object.hasOwnProperty.call(e,"up")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.up,t.uint32(26).fork()).ldelim(),null!=e.fovHeight&&Object.hasOwnProperty.call(e,"fovHeight")&&t.uint32(37).float(e.fovHeight),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.OrthographicCamera;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.viewVector=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.lookAt=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 3:n.up=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 4:n.fovHeight=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.viewVector&&e.hasOwnProperty("viewVector")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.viewVector);if(t)return"viewVector."+t}if(null!=e.lookAt&&e.hasOwnProperty("lookAt")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.lookAt);if(t)return"lookAt."+t}if(null!=e.up&&e.hasOwnProperty("up")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.up);if(t)return"up."+t}return null!=e.fovHeight&&e.hasOwnProperty("fovHeight")&&"number"!=typeof e.fovHeight?"fovHeight: number expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.OrthographicCamera)return e;let t=new $root.vertexvis.protobuf.stream.OrthographicCamera;if(null!=e.viewVector){if("object"!=typeof e.viewVector)throw TypeError(".vertexvis.protobuf.stream.OrthographicCamera.viewVector: object expected");t.viewVector=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.viewVector)}if(null!=e.lookAt){if("object"!=typeof e.lookAt)throw TypeError(".vertexvis.protobuf.stream.OrthographicCamera.lookAt: object expected");t.lookAt=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.lookAt)}if(null!=e.up){if("object"!=typeof e.up)throw TypeError(".vertexvis.protobuf.stream.OrthographicCamera.up: object expected");t.up=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.up)}return null!=e.fovHeight&&(t.fovHeight=Number(e.fovHeight)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.viewVector=null,r.lookAt=null,r.up=null,r.fovHeight=0),null!=e.viewVector&&e.hasOwnProperty("viewVector")&&(r.viewVector=$root.vertexvis.protobuf.core.Vector3f.toObject(e.viewVector,t)),null!=e.lookAt&&e.hasOwnProperty("lookAt")&&(r.lookAt=$root.vertexvis.protobuf.core.Vector3f.toObject(e.lookAt,t)),null!=e.up&&e.hasOwnProperty("up")&&(r.up=$root.vertexvis.protobuf.core.Vector3f.toObject(e.up,t)),null!=e.fovHeight&&e.hasOwnProperty("fovHeight")&&(r.fovHeight=t.json&&!isFinite(e.fovHeight)?String(e.fovHeight):e.fovHeight),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Camera=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.position=null,e.prototype.lookAt=null,e.prototype.up=null,e.prototype.perspective=null,e.prototype.orthographic=null,Object.defineProperty(e.prototype,"type",{get:$util.oneOfGetter(t=["perspective","orthographic"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.position,t.uint32(10).fork()).ldelim(),null!=e.lookAt&&Object.hasOwnProperty.call(e,"lookAt")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.lookAt,t.uint32(18).fork()).ldelim(),null!=e.up&&Object.hasOwnProperty.call(e,"up")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.up,t.uint32(26).fork()).ldelim(),null!=e.perspective&&Object.hasOwnProperty.call(e,"perspective")&&$root.vertexvis.protobuf.stream.PerspectiveCamera.encode(e.perspective,t.uint32(34).fork()).ldelim(),null!=e.orthographic&&Object.hasOwnProperty.call(e,"orthographic")&&$root.vertexvis.protobuf.stream.OrthographicCamera.encode(e.orthographic,t.uint32(42).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.Camera;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.position=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.lookAt=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 3:n.up=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 4:n.perspective=$root.vertexvis.protobuf.stream.PerspectiveCamera.decode(e,e.uint32());break;case 5:n.orthographic=$root.vertexvis.protobuf.stream.OrthographicCamera.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.position&&e.hasOwnProperty("position")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.position);if(t)return"position."+t}if(null!=e.lookAt&&e.hasOwnProperty("lookAt")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.lookAt);if(t)return"lookAt."+t}if(null!=e.up&&e.hasOwnProperty("up")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.up);if(t)return"up."+t}if(null!=e.perspective&&e.hasOwnProperty("perspective")){t.type=1;{let t=$root.vertexvis.protobuf.stream.PerspectiveCamera.verify(e.perspective);if(t)return"perspective."+t}}if(null!=e.orthographic&&e.hasOwnProperty("orthographic")){if(1===t.type)return"type: multiple values";t.type=1;{let t=$root.vertexvis.protobuf.stream.OrthographicCamera.verify(e.orthographic);if(t)return"orthographic."+t}}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.Camera)return e;let t=new $root.vertexvis.protobuf.stream.Camera;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".vertexvis.protobuf.stream.Camera.position: object expected");t.position=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.position)}if(null!=e.lookAt){if("object"!=typeof e.lookAt)throw TypeError(".vertexvis.protobuf.stream.Camera.lookAt: object expected");t.lookAt=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.lookAt)}if(null!=e.up){if("object"!=typeof e.up)throw TypeError(".vertexvis.protobuf.stream.Camera.up: object expected");t.up=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.up)}if(null!=e.perspective){if("object"!=typeof e.perspective)throw TypeError(".vertexvis.protobuf.stream.Camera.perspective: object expected");t.perspective=$root.vertexvis.protobuf.stream.PerspectiveCamera.fromObject(e.perspective)}if(null!=e.orthographic){if("object"!=typeof e.orthographic)throw TypeError(".vertexvis.protobuf.stream.Camera.orthographic: object expected");t.orthographic=$root.vertexvis.protobuf.stream.OrthographicCamera.fromObject(e.orthographic)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.position=null,r.lookAt=null,r.up=null),null!=e.position&&e.hasOwnProperty("position")&&(r.position=$root.vertexvis.protobuf.core.Vector3f.toObject(e.position,t)),null!=e.lookAt&&e.hasOwnProperty("lookAt")&&(r.lookAt=$root.vertexvis.protobuf.core.Vector3f.toObject(e.lookAt,t)),null!=e.up&&e.hasOwnProperty("up")&&(r.up=$root.vertexvis.protobuf.core.Vector3f.toObject(e.up,t)),null!=e.perspective&&e.hasOwnProperty("perspective")&&(r.perspective=$root.vertexvis.protobuf.stream.PerspectiveCamera.toObject(e.perspective,t),t.oneofs&&(r.type="perspective")),null!=e.orthographic&&e.hasOwnProperty("orthographic")&&(r.orthographic=$root.vertexvis.protobuf.stream.OrthographicCamera.toObject(e.orthographic,t),t.oneofs&&(r.type="orthographic")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ImageAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.frameDimensions=null,e.prototype.imageRect=null,e.prototype.scaleFactor=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.frameDimensions&&Object.hasOwnProperty.call(e,"frameDimensions")&&$root.vertexvis.protobuf.stream.Dimensions.encode(e.frameDimensions,t.uint32(10).fork()).ldelim(),null!=e.imageRect&&Object.hasOwnProperty.call(e,"imageRect")&&$root.vertexvis.protobuf.stream.Rectangle.encode(e.imageRect,t.uint32(18).fork()).ldelim(),null!=e.scaleFactor&&Object.hasOwnProperty.call(e,"scaleFactor")&&t.uint32(29).float(e.scaleFactor),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.ImageAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frameDimensions=$root.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;case 2:n.imageRect=$root.vertexvis.protobuf.stream.Rectangle.decode(e,e.uint32());break;case 3:n.scaleFactor=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.frameDimensions&&e.hasOwnProperty("frameDimensions")){let t=$root.vertexvis.protobuf.stream.Dimensions.verify(e.frameDimensions);if(t)return"frameDimensions."+t}if(null!=e.imageRect&&e.hasOwnProperty("imageRect")){let t=$root.vertexvis.protobuf.stream.Rectangle.verify(e.imageRect);if(t)return"imageRect."+t}return null!=e.scaleFactor&&e.hasOwnProperty("scaleFactor")&&"number"!=typeof e.scaleFactor?"scaleFactor: number expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.ImageAttributes)return e;let t=new $root.vertexvis.protobuf.stream.ImageAttributes;if(null!=e.frameDimensions){if("object"!=typeof e.frameDimensions)throw TypeError(".vertexvis.protobuf.stream.ImageAttributes.frameDimensions: object expected");t.frameDimensions=$root.vertexvis.protobuf.stream.Dimensions.fromObject(e.frameDimensions)}if(null!=e.imageRect){if("object"!=typeof e.imageRect)throw TypeError(".vertexvis.protobuf.stream.ImageAttributes.imageRect: object expected");t.imageRect=$root.vertexvis.protobuf.stream.Rectangle.fromObject(e.imageRect)}return null!=e.scaleFactor&&(t.scaleFactor=Number(e.scaleFactor)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.frameDimensions=null,r.imageRect=null,r.scaleFactor=0),null!=e.frameDimensions&&e.hasOwnProperty("frameDimensions")&&(r.frameDimensions=$root.vertexvis.protobuf.stream.Dimensions.toObject(e.frameDimensions,t)),null!=e.imageRect&&e.hasOwnProperty("imageRect")&&(r.imageRect=$root.vertexvis.protobuf.stream.Rectangle.toObject(e.imageRect,t)),null!=e.scaleFactor&&e.hasOwnProperty("scaleFactor")&&(r.scaleFactor=t.json&&!isFinite(e.scaleFactor)?String(e.scaleFactor):e.scaleFactor),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.SceneAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.camera=null,e.prototype.visibleBoundingBox=null,e.prototype.crossSectioning=null,e.prototype.hasChanged=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.camera&&Object.hasOwnProperty.call(e,"camera")&&$root.vertexvis.protobuf.stream.Camera.encode(e.camera,t.uint32(10).fork()).ldelim(),null!=e.visibleBoundingBox&&Object.hasOwnProperty.call(e,"visibleBoundingBox")&&$root.vertexvis.protobuf.core.BoundingBox3f.encode(e.visibleBoundingBox,t.uint32(18).fork()).ldelim(),null!=e.crossSectioning&&Object.hasOwnProperty.call(e,"crossSectioning")&&$root.vertexvis.protobuf.stream.CrossSectioning.encode(e.crossSectioning,t.uint32(26).fork()).ldelim(),null!=e.hasChanged&&Object.hasOwnProperty.call(e,"hasChanged")&&t.uint32(32).bool(e.hasChanged),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.SceneAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.camera=$root.vertexvis.protobuf.stream.Camera.decode(e,e.uint32());break;case 2:n.visibleBoundingBox=$root.vertexvis.protobuf.core.BoundingBox3f.decode(e,e.uint32());break;case 3:n.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.decode(e,e.uint32());break;case 4:n.hasChanged=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.camera&&e.hasOwnProperty("camera")){let t=$root.vertexvis.protobuf.stream.Camera.verify(e.camera);if(t)return"camera."+t}if(null!=e.visibleBoundingBox&&e.hasOwnProperty("visibleBoundingBox")){let t=$root.vertexvis.protobuf.core.BoundingBox3f.verify(e.visibleBoundingBox);if(t)return"visibleBoundingBox."+t}if(null!=e.crossSectioning&&e.hasOwnProperty("crossSectioning")){let t=$root.vertexvis.protobuf.stream.CrossSectioning.verify(e.crossSectioning);if(t)return"crossSectioning."+t}return null!=e.hasChanged&&e.hasOwnProperty("hasChanged")&&"boolean"!=typeof e.hasChanged?"hasChanged: boolean expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.SceneAttributes)return e;let t=new $root.vertexvis.protobuf.stream.SceneAttributes;if(null!=e.camera){if("object"!=typeof e.camera)throw TypeError(".vertexvis.protobuf.stream.SceneAttributes.camera: object expected");t.camera=$root.vertexvis.protobuf.stream.Camera.fromObject(e.camera)}if(null!=e.visibleBoundingBox){if("object"!=typeof e.visibleBoundingBox)throw TypeError(".vertexvis.protobuf.stream.SceneAttributes.visibleBoundingBox: object expected");t.visibleBoundingBox=$root.vertexvis.protobuf.core.BoundingBox3f.fromObject(e.visibleBoundingBox)}if(null!=e.crossSectioning){if("object"!=typeof e.crossSectioning)throw TypeError(".vertexvis.protobuf.stream.SceneAttributes.crossSectioning: object expected");t.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.fromObject(e.crossSectioning)}return null!=e.hasChanged&&(t.hasChanged=Boolean(e.hasChanged)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.camera=null,r.visibleBoundingBox=null,r.crossSectioning=null,r.hasChanged=!1),null!=e.camera&&e.hasOwnProperty("camera")&&(r.camera=$root.vertexvis.protobuf.stream.Camera.toObject(e.camera,t)),null!=e.visibleBoundingBox&&e.hasOwnProperty("visibleBoundingBox")&&(r.visibleBoundingBox=$root.vertexvis.protobuf.core.BoundingBox3f.toObject(e.visibleBoundingBox,t)),null!=e.crossSectioning&&e.hasOwnProperty("crossSectioning")&&(r.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.toObject(e.crossSectioning,t)),null!=e.hasChanged&&e.hasOwnProperty("hasChanged")&&(r.hasChanged=e.hasChanged),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.HitItemAncestor=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.itemId=null,e.prototype.itemOverride=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.itemId&&Object.hasOwnProperty.call(e,"itemId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.itemId,t.uint32(10).fork()).ldelim(),null!=e.itemOverride&&Object.hasOwnProperty.call(e,"itemOverride")&&$root.vertexvis.protobuf.stream.SceneItemOverride.encode(e.itemOverride,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.HitItemAncestor;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.itemId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.itemOverride=$root.vertexvis.protobuf.stream.SceneItemOverride.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.itemId&&e.hasOwnProperty("itemId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.itemId);if(t)return"itemId."+t}if(null!=e.itemOverride&&e.hasOwnProperty("itemOverride")){let t=$root.vertexvis.protobuf.stream.SceneItemOverride.verify(e.itemOverride);if(t)return"itemOverride."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.HitItemAncestor)return e;let t=new $root.vertexvis.protobuf.stream.HitItemAncestor;if(null!=e.itemId){if("object"!=typeof e.itemId)throw TypeError(".vertexvis.protobuf.stream.HitItemAncestor.itemId: object expected");t.itemId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.itemId)}if(null!=e.itemOverride){if("object"!=typeof e.itemOverride)throw TypeError(".vertexvis.protobuf.stream.HitItemAncestor.itemOverride: object expected");t.itemOverride=$root.vertexvis.protobuf.stream.SceneItemOverride.fromObject(e.itemOverride)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.itemId=null,r.itemOverride=null),null!=e.itemId&&e.hasOwnProperty("itemId")&&(r.itemId=$root.vertexvis.protobuf.core.Uuid.toObject(e.itemId,t)),null!=e.itemOverride&&e.hasOwnProperty("itemOverride")&&(r.itemOverride=$root.vertexvis.protobuf.stream.SceneItemOverride.toObject(e.itemOverride,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Hit=function(){function e(e){if(this.ancestors=[],this.metadataProperties=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.itemId=null,e.prototype.itemSuppliedId=null,e.prototype.hitNormal=null,e.prototype.hitPoint=null,e.prototype.partRevisionId=null,e.prototype.partId=null,e.prototype.suppliedPartRevisionId=null,e.prototype.ancestors=$util.emptyArray,e.prototype.metadataProperties=$util.emptyArray,e.prototype.modelEntity=null,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer.create()),null!=e.itemId&&Object.hasOwnProperty.call(e,"itemId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.itemId,t.uint32(10).fork()).ldelim(),null!=e.itemSuppliedId&&Object.hasOwnProperty.call(e,"itemSuppliedId")&&$root.google.protobuf.StringValue.encode(e.itemSuppliedId,t.uint32(18).fork()).ldelim(),null!=e.hitNormal&&Object.hasOwnProperty.call(e,"hitNormal")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.hitNormal,t.uint32(26).fork()).ldelim(),null!=e.hitPoint&&Object.hasOwnProperty.call(e,"hitPoint")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.hitPoint,t.uint32(34).fork()).ldelim(),null!=e.partRevisionId&&Object.hasOwnProperty.call(e,"partRevisionId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.partRevisionId,t.uint32(42).fork()).ldelim(),null!=e.partId&&Object.hasOwnProperty.call(e,"partId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.partId,t.uint32(50).fork()).ldelim(),null!=e.suppliedPartRevisionId&&Object.hasOwnProperty.call(e,"suppliedPartRevisionId")&&$root.google.protobuf.StringValue.encode(e.suppliedPartRevisionId,t.uint32(58).fork()).ldelim(),null!=e.ancestors&&e.ancestors.length)for(let r=0;r<e.ancestors.length;++r)$root.vertexvis.protobuf.stream.HitItemAncestor.encode(e.ancestors[r],t.uint32(74).fork()).ldelim();if(null!=e.metadataProperties&&e.metadataProperties.length)for(let r=0;r<e.metadataProperties.length;++r)$root.vertexvis.protobuf.stream.MetadataProperty.encode(e.metadataProperties[r],t.uint32(82).fork()).ldelim();return null!=e.modelEntity&&Object.hasOwnProperty.call(e,"modelEntity")&&$root.vertexvis.protobuf.core.ModelEntity.encode(e.modelEntity,t.uint32(90).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.Hit;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.itemId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.itemSuppliedId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 3:n.hitNormal=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 4:n.hitPoint=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 5:n.partRevisionId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 6:n.partId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 7:n.suppliedPartRevisionId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 9:n.ancestors&&n.ancestors.length||(n.ancestors=[]),n.ancestors.push($root.vertexvis.protobuf.stream.HitItemAncestor.decode(e,e.uint32()));break;case 10:n.metadataProperties&&n.metadataProperties.length||(n.metadataProperties=[]),n.metadataProperties.push($root.vertexvis.protobuf.stream.MetadataProperty.decode(e,e.uint32()));break;case 11:n.modelEntity=$root.vertexvis.protobuf.core.ModelEntity.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.itemId&&e.hasOwnProperty("itemId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.itemId);if(t)return"itemId."+t}if(null!=e.itemSuppliedId&&e.hasOwnProperty("itemSuppliedId")){let t=$root.google.protobuf.StringValue.verify(e.itemSuppliedId);if(t)return"itemSuppliedId."+t}if(null!=e.hitNormal&&e.hasOwnProperty("hitNormal")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.hitNormal);if(t)return"hitNormal."+t}if(null!=e.hitPoint&&e.hasOwnProperty("hitPoint")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.hitPoint);if(t)return"hitPoint."+t}if(null!=e.partRevisionId&&e.hasOwnProperty("partRevisionId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.partRevisionId);if(t)return"partRevisionId."+t}if(null!=e.partId&&e.hasOwnProperty("partId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.partId);if(t)return"partId."+t}if(null!=e.suppliedPartRevisionId&&e.hasOwnProperty("suppliedPartRevisionId")){let t=$root.google.protobuf.StringValue.verify(e.suppliedPartRevisionId);if(t)return"suppliedPartRevisionId."+t}if(null!=e.ancestors&&e.hasOwnProperty("ancestors")){if(!Array.isArray(e.ancestors))return"ancestors: array expected";for(let t=0;t<e.ancestors.length;++t){let r=$root.vertexvis.protobuf.stream.HitItemAncestor.verify(e.ancestors[t]);if(r)return"ancestors."+r}}if(null!=e.metadataProperties&&e.hasOwnProperty("metadataProperties")){if(!Array.isArray(e.metadataProperties))return"metadataProperties: array expected";for(let t=0;t<e.metadataProperties.length;++t){let r=$root.vertexvis.protobuf.stream.MetadataProperty.verify(e.metadataProperties[t]);if(r)return"metadataProperties."+r}}if(null!=e.modelEntity&&e.hasOwnProperty("modelEntity")){let t=$root.vertexvis.protobuf.core.ModelEntity.verify(e.modelEntity);if(t)return"modelEntity."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.Hit)return e;let t=new $root.vertexvis.protobuf.stream.Hit;if(null!=e.itemId){if("object"!=typeof e.itemId)throw TypeError(".vertexvis.protobuf.stream.Hit.itemId: object expected");t.itemId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.itemId)}if(null!=e.itemSuppliedId){if("object"!=typeof e.itemSuppliedId)throw TypeError(".vertexvis.protobuf.stream.Hit.itemSuppliedId: object expected");t.itemSuppliedId=$root.google.protobuf.StringValue.fromObject(e.itemSuppliedId)}if(null!=e.hitNormal){if("object"!=typeof e.hitNormal)throw TypeError(".vertexvis.protobuf.stream.Hit.hitNormal: object expected");t.hitNormal=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.hitNormal)}if(null!=e.hitPoint){if("object"!=typeof e.hitPoint)throw TypeError(".vertexvis.protobuf.stream.Hit.hitPoint: object expected");t.hitPoint=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.hitPoint)}if(null!=e.partRevisionId){if("object"!=typeof e.partRevisionId)throw TypeError(".vertexvis.protobuf.stream.Hit.partRevisionId: object expected");t.partRevisionId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.partRevisionId)}if(null!=e.partId){if("object"!=typeof e.partId)throw TypeError(".vertexvis.protobuf.stream.Hit.partId: object expected");t.partId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.partId)}if(null!=e.suppliedPartRevisionId){if("object"!=typeof e.suppliedPartRevisionId)throw TypeError(".vertexvis.protobuf.stream.Hit.suppliedPartRevisionId: object expected");t.suppliedPartRevisionId=$root.google.protobuf.StringValue.fromObject(e.suppliedPartRevisionId)}if(e.ancestors){if(!Array.isArray(e.ancestors))throw TypeError(".vertexvis.protobuf.stream.Hit.ancestors: array expected");t.ancestors=[];for(let r=0;r<e.ancestors.length;++r){if("object"!=typeof e.ancestors[r])throw TypeError(".vertexvis.protobuf.stream.Hit.ancestors: object expected");t.ancestors[r]=$root.vertexvis.protobuf.stream.HitItemAncestor.fromObject(e.ancestors[r])}}if(e.metadataProperties){if(!Array.isArray(e.metadataProperties))throw TypeError(".vertexvis.protobuf.stream.Hit.metadataProperties: array expected");t.metadataProperties=[];for(let r=0;r<e.metadataProperties.length;++r){if("object"!=typeof e.metadataProperties[r])throw TypeError(".vertexvis.protobuf.stream.Hit.metadataProperties: object expected");t.metadataProperties[r]=$root.vertexvis.protobuf.stream.MetadataProperty.fromObject(e.metadataProperties[r])}}if(null!=e.modelEntity){if("object"!=typeof e.modelEntity)throw TypeError(".vertexvis.protobuf.stream.Hit.modelEntity: object expected");t.modelEntity=$root.vertexvis.protobuf.core.ModelEntity.fromObject(e.modelEntity)}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.ancestors=[],r.metadataProperties=[]),t.defaults&&(r.itemId=null,r.itemSuppliedId=null,r.hitNormal=null,r.hitPoint=null,r.partRevisionId=null,r.partId=null,r.suppliedPartRevisionId=null,r.modelEntity=null),null!=e.itemId&&e.hasOwnProperty("itemId")&&(r.itemId=$root.vertexvis.protobuf.core.Uuid.toObject(e.itemId,t)),null!=e.itemSuppliedId&&e.hasOwnProperty("itemSuppliedId")&&(r.itemSuppliedId=$root.google.protobuf.StringValue.toObject(e.itemSuppliedId,t)),null!=e.hitNormal&&e.hasOwnProperty("hitNormal")&&(r.hitNormal=$root.vertexvis.protobuf.core.Vector3f.toObject(e.hitNormal,t)),null!=e.hitPoint&&e.hasOwnProperty("hitPoint")&&(r.hitPoint=$root.vertexvis.protobuf.core.Vector3f.toObject(e.hitPoint,t)),null!=e.partRevisionId&&e.hasOwnProperty("partRevisionId")&&(r.partRevisionId=$root.vertexvis.protobuf.core.Uuid.toObject(e.partRevisionId,t)),null!=e.partId&&e.hasOwnProperty("partId")&&(r.partId=$root.vertexvis.protobuf.core.Uuid.toObject(e.partId,t)),null!=e.suppliedPartRevisionId&&e.hasOwnProperty("suppliedPartRevisionId")&&(r.suppliedPartRevisionId=$root.google.protobuf.StringValue.toObject(e.suppliedPartRevisionId,t)),e.ancestors&&e.ancestors.length){r.ancestors=[];for(let n=0;n<e.ancestors.length;++n)r.ancestors[n]=$root.vertexvis.protobuf.stream.HitItemAncestor.toObject(e.ancestors[n],t)}if(e.metadataProperties&&e.metadataProperties.length){r.metadataProperties=[];for(let n=0;n<e.metadataProperties.length;++n)r.metadataProperties[n]=$root.vertexvis.protobuf.stream.MetadataProperty.toObject(e.metadataProperties[n],t)}return null!=e.modelEntity&&e.hasOwnProperty("modelEntity")&&(r.modelEntity=$root.vertexvis.protobuf.core.ModelEntity.toObject(e.modelEntity,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.SceneItemOverride=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.id=null,e.prototype.transform=null,e.prototype.isVisible=null,e.prototype.materialOverride=null,e.prototype.selected=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&$root.vertexvis.protobuf.core.Uuid.encode(e.id,t.uint32(10).fork()).ldelim(),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root.vertexvis.protobuf.core.Matrix4x4f.encode(e.transform,t.uint32(18).fork()).ldelim(),null!=e.isVisible&&Object.hasOwnProperty.call(e,"isVisible")&&$root.google.protobuf.BoolValue.encode(e.isVisible,t.uint32(26).fork()).ldelim(),null!=e.materialOverride&&Object.hasOwnProperty.call(e,"materialOverride")&&$root.vertexvis.protobuf.core.ColorMaterial.encode(e.materialOverride,t.uint32(34).fork()).ldelim(),null!=e.selected&&Object.hasOwnProperty.call(e,"selected")&&$root.vertexvis.protobuf.core.ColorMaterial.encode(e.selected,t.uint32(42).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.SceneItemOverride;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.id=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.transform=$root.vertexvis.protobuf.core.Matrix4x4f.decode(e,e.uint32());break;case 3:n.isVisible=$root.google.protobuf.BoolValue.decode(e,e.uint32());break;case 4:n.materialOverride=$root.vertexvis.protobuf.core.ColorMaterial.decode(e,e.uint32());break;case 5:n.selected=$root.vertexvis.protobuf.core.ColorMaterial.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.id);if(t)return"id."+t}if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root.vertexvis.protobuf.core.Matrix4x4f.verify(e.transform);if(t)return"transform."+t}if(null!=e.isVisible&&e.hasOwnProperty("isVisible")){let t=$root.google.protobuf.BoolValue.verify(e.isVisible);if(t)return"isVisible."+t}if(null!=e.materialOverride&&e.hasOwnProperty("materialOverride")){let t=$root.vertexvis.protobuf.core.ColorMaterial.verify(e.materialOverride);if(t)return"materialOverride."+t}if(null!=e.selected&&e.hasOwnProperty("selected")){let t=$root.vertexvis.protobuf.core.ColorMaterial.verify(e.selected);if(t)return"selected."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.SceneItemOverride)return e;let t=new $root.vertexvis.protobuf.stream.SceneItemOverride;if(null!=e.id){if("object"!=typeof e.id)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.id: object expected");t.id=$root.vertexvis.protobuf.core.Uuid.fromObject(e.id)}if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.transform: object expected");t.transform=$root.vertexvis.protobuf.core.Matrix4x4f.fromObject(e.transform)}if(null!=e.isVisible){if("object"!=typeof e.isVisible)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.isVisible: object expected");t.isVisible=$root.google.protobuf.BoolValue.fromObject(e.isVisible)}if(null!=e.materialOverride){if("object"!=typeof e.materialOverride)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.materialOverride: object expected");t.materialOverride=$root.vertexvis.protobuf.core.ColorMaterial.fromObject(e.materialOverride)}if(null!=e.selected){if("object"!=typeof e.selected)throw TypeError(".vertexvis.protobuf.stream.SceneItemOverride.selected: object expected");t.selected=$root.vertexvis.protobuf.core.ColorMaterial.fromObject(e.selected)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.id=null,r.transform=null,r.isVisible=null,r.materialOverride=null,r.selected=null),null!=e.id&&e.hasOwnProperty("id")&&(r.id=$root.vertexvis.protobuf.core.Uuid.toObject(e.id,t)),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root.vertexvis.protobuf.core.Matrix4x4f.toObject(e.transform,t)),null!=e.isVisible&&e.hasOwnProperty("isVisible")&&(r.isVisible=$root.google.protobuf.BoolValue.toObject(e.isVisible,t)),null!=e.materialOverride&&e.hasOwnProperty("materialOverride")&&(r.materialOverride=$root.vertexvis.protobuf.core.ColorMaterial.toObject(e.materialOverride,t)),null!=e.selected&&e.hasOwnProperty("selected")&&(r.selected=$root.vertexvis.protobuf.core.ColorMaterial.toObject(e.selected,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.SceneItemQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.id=null,e.prototype.suppliedId=null,Object.defineProperty(e.prototype,"itemQuery",{get:$util.oneOfGetter(t=["id","suppliedId"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&$root.vertexvis.protobuf.core.Uuid.encode(e.id,t.uint32(10).fork()).ldelim(),null!=e.suppliedId&&Object.hasOwnProperty.call(e,"suppliedId")&&t.uint32(18).string(e.suppliedId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.SceneItemQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.id=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.suppliedId=e.string();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.id&&e.hasOwnProperty("id")){t.itemQuery=1;{let t=$root.vertexvis.protobuf.core.Uuid.verify(e.id);if(t)return"id."+t}}if(null!=e.suppliedId&&e.hasOwnProperty("suppliedId")){if(1===t.itemQuery)return"itemQuery: multiple values";if(t.itemQuery=1,!$util.isString(e.suppliedId))return"suppliedId: string expected"}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.SceneItemQuery)return e;let t=new $root.vertexvis.protobuf.stream.SceneItemQuery;if(null!=e.id){if("object"!=typeof e.id)throw TypeError(".vertexvis.protobuf.stream.SceneItemQuery.id: object expected");t.id=$root.vertexvis.protobuf.core.Uuid.fromObject(e.id)}return null!=e.suppliedId&&(t.suppliedId=String(e.suppliedId)),t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.id&&e.hasOwnProperty("id")&&(r.id=$root.vertexvis.protobuf.core.Uuid.toObject(e.id,t),t.oneofs&&(r.itemQuery="id")),null!=e.suppliedId&&e.hasOwnProperty("suppliedId")&&(r.suppliedId=e.suppliedId,t.oneofs&&(r.itemQuery="suppliedId")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.AllQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.AllQuery;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root.vertexvis.protobuf.stream.AllQuery?e:new $root.vertexvis.protobuf.stream.AllQuery},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.PointQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.point=null,e.prototype.viewport=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.point&&Object.hasOwnProperty.call(e,"point")&&$root.vertexvis.protobuf.stream.Point.encode(e.point,t.uint32(10).fork()).ldelim(),null!=e.viewport&&Object.hasOwnProperty.call(e,"viewport")&&$root.vertexvis.protobuf.stream.Dimensions.encode(e.viewport,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.PointQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.point=$root.vertexvis.protobuf.stream.Point.decode(e,e.uint32());break;case 2:n.viewport=$root.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.point&&e.hasOwnProperty("point")){let t=$root.vertexvis.protobuf.stream.Point.verify(e.point);if(t)return"point."+t}if(null!=e.viewport&&e.hasOwnProperty("viewport")){let t=$root.vertexvis.protobuf.stream.Dimensions.verify(e.viewport);if(t)return"viewport."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.PointQuery)return e;let t=new $root.vertexvis.protobuf.stream.PointQuery;if(null!=e.point){if("object"!=typeof e.point)throw TypeError(".vertexvis.protobuf.stream.PointQuery.point: object expected");t.point=$root.vertexvis.protobuf.stream.Point.fromObject(e.point)}if(null!=e.viewport){if("object"!=typeof e.viewport)throw TypeError(".vertexvis.protobuf.stream.PointQuery.viewport: object expected");t.viewport=$root.vertexvis.protobuf.stream.Dimensions.fromObject(e.viewport)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.point=null,r.viewport=null),null!=e.point&&e.hasOwnProperty("point")&&(r.point=$root.vertexvis.protobuf.stream.Point.toObject(e.point,t)),null!=e.viewport&&e.hasOwnProperty("viewport")&&(r.viewport=$root.vertexvis.protobuf.stream.Dimensions.toObject(e.viewport,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.FrustumByRectangle=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.rectangle=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.rectangle&&Object.hasOwnProperty.call(e,"rectangle")&&$root.vertexvis.protobuf.stream.Rectangle.encode(e.rectangle,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.FrustumByRectangle;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.rectangle=$root.vertexvis.protobuf.stream.Rectangle.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.rectangle&&e.hasOwnProperty("rectangle")){let t=$root.vertexvis.protobuf.stream.Rectangle.verify(e.rectangle);if(t)return"rectangle."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.FrustumByRectangle)return e;let t=new $root.vertexvis.protobuf.stream.FrustumByRectangle;if(null!=e.rectangle){if("object"!=typeof e.rectangle)throw TypeError(".vertexvis.protobuf.stream.FrustumByRectangle.rectangle: object expected");t.rectangle=$root.vertexvis.protobuf.stream.Rectangle.fromObject(e.rectangle)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.rectangle=null),null!=e.rectangle&&e.hasOwnProperty("rectangle")&&(r.rectangle=$root.vertexvis.protobuf.stream.Rectangle.toObject(e.rectangle,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.VolumeIntersectionQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.frustumByRectangle=null,e.prototype.exclusive=!1,e.prototype.viewport=null,Object.defineProperty(e.prototype,"volume",{get:$util.oneOfGetter(t=["frustumByRectangle"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.frustumByRectangle&&Object.hasOwnProperty.call(e,"frustumByRectangle")&&$root.vertexvis.protobuf.stream.FrustumByRectangle.encode(e.frustumByRectangle,t.uint32(10).fork()).ldelim(),null!=e.exclusive&&Object.hasOwnProperty.call(e,"exclusive")&&t.uint32(16).bool(e.exclusive),null!=e.viewport&&Object.hasOwnProperty.call(e,"viewport")&&$root.vertexvis.protobuf.stream.Dimensions.encode(e.viewport,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.VolumeIntersectionQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frustumByRectangle=$root.vertexvis.protobuf.stream.FrustumByRectangle.decode(e,e.uint32());break;case 2:n.exclusive=e.bool();break;case 3:n.viewport=$root.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.frustumByRectangle&&e.hasOwnProperty("frustumByRectangle")){let t=$root.vertexvis.protobuf.stream.FrustumByRectangle.verify(e.frustumByRectangle);if(t)return"frustumByRectangle."+t}if(null!=e.exclusive&&e.hasOwnProperty("exclusive")&&"boolean"!=typeof e.exclusive)return"exclusive: boolean expected";if(null!=e.viewport&&e.hasOwnProperty("viewport")){let t=$root.vertexvis.protobuf.stream.Dimensions.verify(e.viewport);if(t)return"viewport."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.VolumeIntersectionQuery)return e;let t=new $root.vertexvis.protobuf.stream.VolumeIntersectionQuery;if(null!=e.frustumByRectangle){if("object"!=typeof e.frustumByRectangle)throw TypeError(".vertexvis.protobuf.stream.VolumeIntersectionQuery.frustumByRectangle: object expected");t.frustumByRectangle=$root.vertexvis.protobuf.stream.FrustumByRectangle.fromObject(e.frustumByRectangle)}if(null!=e.exclusive&&(t.exclusive=Boolean(e.exclusive)),null!=e.viewport){if("object"!=typeof e.viewport)throw TypeError(".vertexvis.protobuf.stream.VolumeIntersectionQuery.viewport: object expected");t.viewport=$root.vertexvis.protobuf.stream.Dimensions.fromObject(e.viewport)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.exclusive=!1,r.viewport=null),null!=e.frustumByRectangle&&e.hasOwnProperty("frustumByRectangle")&&(r.frustumByRectangle=$root.vertexvis.protobuf.stream.FrustumByRectangle.toObject(e.frustumByRectangle,t),t.oneofs&&(r.volume="frustumByRectangle")),null!=e.exclusive&&e.hasOwnProperty("exclusive")&&(r.exclusive=e.exclusive),null!=e.viewport&&e.hasOwnProperty("viewport")&&(r.viewport=$root.vertexvis.protobuf.stream.Dimensions.toObject(e.viewport,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.SceneTreeRangeQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.start=0,e.prototype.end=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.start&&Object.hasOwnProperty.call(e,"start")&&t.uint32(8).uint32(e.start),null!=e.end&&Object.hasOwnProperty.call(e,"end")&&t.uint32(16).uint32(e.end),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.SceneTreeRangeQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.start=e.uint32();break;case 2:n.end=e.uint32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.start&&e.hasOwnProperty("start")&&!$util.isInteger(e.start)?"start: integer expected":null!=e.end&&e.hasOwnProperty("end")&&!$util.isInteger(e.end)?"end: integer expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.SceneTreeRangeQuery)return e;let t=new $root.vertexvis.protobuf.stream.SceneTreeRangeQuery;return null!=e.start&&(t.start=e.start>>>0),null!=e.end&&(t.end=e.end>>>0),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.start=0,r.end=0),null!=e.start&&e.hasOwnProperty("start")&&(r.start=e.start),null!=e.end&&e.hasOwnProperty("end")&&(r.end=e.end),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ItemQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.sceneItemQuery=null,Object.defineProperty(e.prototype,"value",{get:$util.oneOfGetter(t=["sceneItemQuery"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.sceneItemQuery&&Object.hasOwnProperty.call(e,"sceneItemQuery")&&$root.vertexvis.protobuf.stream.SceneItemQuery.encode(e.sceneItemQuery,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.ItemQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.sceneItemQuery=$root.vertexvis.protobuf.stream.SceneItemQuery.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sceneItemQuery&&e.hasOwnProperty("sceneItemQuery")){let t=$root.vertexvis.protobuf.stream.SceneItemQuery.verify(e.sceneItemQuery);if(t)return"sceneItemQuery."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.ItemQuery)return e;let t=new $root.vertexvis.protobuf.stream.ItemQuery;if(null!=e.sceneItemQuery){if("object"!=typeof e.sceneItemQuery)throw TypeError(".vertexvis.protobuf.stream.ItemQuery.sceneItemQuery: object expected");t.sceneItemQuery=$root.vertexvis.protobuf.stream.SceneItemQuery.fromObject(e.sceneItemQuery)}return t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.sceneItemQuery&&e.hasOwnProperty("sceneItemQuery")&&(r.sceneItemQuery=$root.vertexvis.protobuf.stream.SceneItemQuery.toObject(e.sceneItemQuery,t),t.oneofs&&(r.value="sceneItemQuery")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.MetadataFilterQuery=function(){function e(e){if(this.keys=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.valueFilter="",e.prototype.keys=$util.emptyArray,e.prototype.exactMatch=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer.create()),null!=e.valueFilter&&Object.hasOwnProperty.call(e,"valueFilter")&&t.uint32(18).string(e.valueFilter),null!=e.keys&&e.keys.length)for(let r=0;r<e.keys.length;++r)t.uint32(26).string(e.keys[r]);return null!=e.exactMatch&&Object.hasOwnProperty.call(e,"exactMatch")&&t.uint32(32).bool(e.exactMatch),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.MetadataFilterQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 2:n.valueFilter=e.string();break;case 3:n.keys&&n.keys.length||(n.keys=[]),n.keys.push(e.string());break;case 4:n.exactMatch=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.valueFilter&&e.hasOwnProperty("valueFilter")&&!$util.isString(e.valueFilter))return"valueFilter: string expected";if(null!=e.keys&&e.hasOwnProperty("keys")){if(!Array.isArray(e.keys))return"keys: array expected";for(let t=0;t<e.keys.length;++t)if(!$util.isString(e.keys[t]))return"keys: string[] expected"}return null!=e.exactMatch&&e.hasOwnProperty("exactMatch")&&"boolean"!=typeof e.exactMatch?"exactMatch: boolean expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.MetadataFilterQuery)return e;let t=new $root.vertexvis.protobuf.stream.MetadataFilterQuery;if(null!=e.valueFilter&&(t.valueFilter=String(e.valueFilter)),e.keys){if(!Array.isArray(e.keys))throw TypeError(".vertexvis.protobuf.stream.MetadataFilterQuery.keys: array expected");t.keys=[];for(let r=0;r<e.keys.length;++r)t.keys[r]=String(e.keys[r])}return null!=e.exactMatch&&(t.exactMatch=Boolean(e.exactMatch)),t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.keys=[]),t.defaults&&(r.valueFilter="",r.exactMatch=!1),null!=e.valueFilter&&e.hasOwnProperty("valueFilter")&&(r.valueFilter=e.valueFilter),e.keys&&e.keys.length){r.keys=[];for(let t=0;t<e.keys.length;++t)r.keys[t]=e.keys[t]}return null!=e.exactMatch&&e.hasOwnProperty("exactMatch")&&(r.exactMatch=e.exactMatch),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.QueryCollection=function(){function e(e){if(this.queries=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.queries=$util.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer.create()),null!=e.queries&&e.queries.length)for(let r=0;r<e.queries.length;++r)$root.vertexvis.protobuf.stream.ItemQuery.encode(e.queries[r],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.QueryCollection;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.queries&&n.queries.length||(n.queries=[]),n.queries.push($root.vertexvis.protobuf.stream.ItemQuery.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.queries&&e.hasOwnProperty("queries")){if(!Array.isArray(e.queries))return"queries: array expected";for(let t=0;t<e.queries.length;++t){let r=$root.vertexvis.protobuf.stream.ItemQuery.verify(e.queries[t]);if(r)return"queries."+r}}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.QueryCollection)return e;let t=new $root.vertexvis.protobuf.stream.QueryCollection;if(e.queries){if(!Array.isArray(e.queries))throw TypeError(".vertexvis.protobuf.stream.QueryCollection.queries: array expected");t.queries=[];for(let r=0;r<e.queries.length;++r){if("object"!=typeof e.queries[r])throw TypeError(".vertexvis.protobuf.stream.QueryCollection.queries: object expected");t.queries[r]=$root.vertexvis.protobuf.stream.ItemQuery.fromObject(e.queries[r])}}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.queries=[]),e.queries&&e.queries.length){r.queries=[];for(let n=0;n<e.queries.length;++n)r.queries[n]=$root.vertexvis.protobuf.stream.ItemQuery.toObject(e.queries[n],t)}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.SelectionQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.material=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.material&&Object.hasOwnProperty.call(e,"material")&&$root.vertexvis.protobuf.core.ColorMaterial.encode(e.material,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.SelectionQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.material=$root.vertexvis.protobuf.core.ColorMaterial.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.material&&e.hasOwnProperty("material")){let t=$root.vertexvis.protobuf.core.ColorMaterial.verify(e.material);if(t)return"material."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.SelectionQuery)return e;let t=new $root.vertexvis.protobuf.stream.SelectionQuery;if(null!=e.material){if("object"!=typeof e.material)throw TypeError(".vertexvis.protobuf.stream.SelectionQuery.material: object expected");t.material=$root.vertexvis.protobuf.core.ColorMaterial.fromObject(e.material)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.material=null),null!=e.material&&e.hasOwnProperty("material")&&(r.material=$root.vertexvis.protobuf.core.ColorMaterial.toObject(e.material,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.OverrideQuery=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.selection=null,Object.defineProperty(e.prototype,"override",{get:$util.oneOfGetter(t=["selection"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.selection&&Object.hasOwnProperty.call(e,"selection")&&$root.vertexvis.protobuf.stream.SelectionQuery.encode(e.selection,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.OverrideQuery;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.selection=$root.vertexvis.protobuf.stream.SelectionQuery.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.selection&&e.hasOwnProperty("selection")){let t=$root.vertexvis.protobuf.stream.SelectionQuery.verify(e.selection);if(t)return"selection."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.OverrideQuery)return e;let t=new $root.vertexvis.protobuf.stream.OverrideQuery;if(null!=e.selection){if("object"!=typeof e.selection)throw TypeError(".vertexvis.protobuf.stream.OverrideQuery.selection: object expected");t.selection=$root.vertexvis.protobuf.stream.SelectionQuery.fromObject(e.selection)}return t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.selection&&e.hasOwnProperty("selection")&&(r.selection=$root.vertexvis.protobuf.stream.SelectionQuery.toObject(e.selection,t),t.oneofs&&(r.override="selection")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ChangeMaterialOperation=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.material=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.material&&Object.hasOwnProperty.call(e,"material")&&$root.vertexvis.protobuf.core.ColorMaterial.encode(e.material,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.ChangeMaterialOperation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.material=$root.vertexvis.protobuf.core.ColorMaterial.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.material&&e.hasOwnProperty("material")){let t=$root.vertexvis.protobuf.core.ColorMaterial.verify(e.material);if(t)return"material."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.ChangeMaterialOperation)return e;let t=new $root.vertexvis.protobuf.stream.ChangeMaterialOperation;if(null!=e.material){if("object"!=typeof e.material)throw TypeError(".vertexvis.protobuf.stream.ChangeMaterialOperation.material: object expected");t.material=$root.vertexvis.protobuf.core.ColorMaterial.fromObject(e.material)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.material=null),null!=e.material&&e.hasOwnProperty("material")&&(r.material=$root.vertexvis.protobuf.core.ColorMaterial.toObject(e.material,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ChangeVisibilityOperation=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.visible=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.visible&&Object.hasOwnProperty.call(e,"visible")&&t.uint32(8).bool(e.visible),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.ChangeVisibilityOperation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.visible=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.visible&&e.hasOwnProperty("visible")&&"boolean"!=typeof e.visible?"visible: boolean expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.ChangeVisibilityOperation)return e;let t=new $root.vertexvis.protobuf.stream.ChangeVisibilityOperation;return null!=e.visible&&(t.visible=Boolean(e.visible)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.visible=!1),null!=e.visible&&e.hasOwnProperty("visible")&&(r.visible=e.visible),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ChangeTransformOperation=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.transform=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root.vertexvis.protobuf.core.Matrix4x4f.encode(e.transform,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.ChangeTransformOperation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.transform=$root.vertexvis.protobuf.core.Matrix4x4f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root.vertexvis.protobuf.core.Matrix4x4f.verify(e.transform);if(t)return"transform."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.ChangeTransformOperation)return e;let t=new $root.vertexvis.protobuf.stream.ChangeTransformOperation;if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.stream.ChangeTransformOperation.transform: object expected");t.transform=$root.vertexvis.protobuf.core.Matrix4x4f.fromObject(e.transform)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.transform=null),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root.vertexvis.protobuf.core.Matrix4x4f.toObject(e.transform,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ChangeSelectionOperation=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.material=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.material&&Object.hasOwnProperty.call(e,"material")&&$root.vertexvis.protobuf.core.ColorMaterial.encode(e.material,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.ChangeSelectionOperation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.material=$root.vertexvis.protobuf.core.ColorMaterial.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.material&&e.hasOwnProperty("material")){let t=$root.vertexvis.protobuf.core.ColorMaterial.verify(e.material);if(t)return"material."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.ChangeSelectionOperation)return e;let t=new $root.vertexvis.protobuf.stream.ChangeSelectionOperation;if(null!=e.material){if("object"!=typeof e.material)throw TypeError(".vertexvis.protobuf.stream.ChangeSelectionOperation.material: object expected");t.material=$root.vertexvis.protobuf.core.ColorMaterial.fromObject(e.material)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.material=null),null!=e.material&&e.hasOwnProperty("material")&&(r.material=$root.vertexvis.protobuf.core.ColorMaterial.toObject(e.material,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ClearTransformOperation=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.cascade=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.cascade&&Object.hasOwnProperty.call(e,"cascade")&&t.uint32(8).bool(e.cascade),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.ClearTransformOperation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.cascade=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.cascade&&e.hasOwnProperty("cascade")&&"boolean"!=typeof e.cascade?"cascade: boolean expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.ClearTransformOperation)return e;let t=new $root.vertexvis.protobuf.stream.ClearTransformOperation;return null!=e.cascade&&(t.cascade=Boolean(e.cascade)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.cascade=!1),null!=e.cascade&&e.hasOwnProperty("cascade")&&(r.cascade=e.cascade),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.OperationType=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.changeMaterial=null,e.prototype.changeVisibility=null,e.prototype.changeTransform=null,e.prototype.changeSelection=null,e.prototype.clearTransform=null,Object.defineProperty(e.prototype,"value",{get:$util.oneOfGetter(t=["changeMaterial","changeVisibility","changeTransform","changeSelection","clearTransform"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.changeMaterial&&Object.hasOwnProperty.call(e,"changeMaterial")&&$root.vertexvis.protobuf.stream.ChangeMaterialOperation.encode(e.changeMaterial,t.uint32(10).fork()).ldelim(),null!=e.changeVisibility&&Object.hasOwnProperty.call(e,"changeVisibility")&&$root.vertexvis.protobuf.stream.ChangeVisibilityOperation.encode(e.changeVisibility,t.uint32(18).fork()).ldelim(),null!=e.changeTransform&&Object.hasOwnProperty.call(e,"changeTransform")&&$root.vertexvis.protobuf.stream.ChangeTransformOperation.encode(e.changeTransform,t.uint32(26).fork()).ldelim(),null!=e.changeSelection&&Object.hasOwnProperty.call(e,"changeSelection")&&$root.vertexvis.protobuf.stream.ChangeSelectionOperation.encode(e.changeSelection,t.uint32(34).fork()).ldelim(),null!=e.clearTransform&&Object.hasOwnProperty.call(e,"clearTransform")&&$root.vertexvis.protobuf.stream.ClearTransformOperation.encode(e.clearTransform,t.uint32(42).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.OperationType;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.changeMaterial=$root.vertexvis.protobuf.stream.ChangeMaterialOperation.decode(e,e.uint32());break;case 2:n.changeVisibility=$root.vertexvis.protobuf.stream.ChangeVisibilityOperation.decode(e,e.uint32());break;case 3:n.changeTransform=$root.vertexvis.protobuf.stream.ChangeTransformOperation.decode(e,e.uint32());break;case 4:n.changeSelection=$root.vertexvis.protobuf.stream.ChangeSelectionOperation.decode(e,e.uint32());break;case 5:n.clearTransform=$root.vertexvis.protobuf.stream.ClearTransformOperation.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.changeMaterial&&e.hasOwnProperty("changeMaterial")){t.value=1;{let t=$root.vertexvis.protobuf.stream.ChangeMaterialOperation.verify(e.changeMaterial);if(t)return"changeMaterial."+t}}if(null!=e.changeVisibility&&e.hasOwnProperty("changeVisibility")){if(1===t.value)return"value: multiple values";t.value=1;{let t=$root.vertexvis.protobuf.stream.ChangeVisibilityOperation.verify(e.changeVisibility);if(t)return"changeVisibility."+t}}if(null!=e.changeTransform&&e.hasOwnProperty("changeTransform")){if(1===t.value)return"value: multiple values";t.value=1;{let t=$root.vertexvis.protobuf.stream.ChangeTransformOperation.verify(e.changeTransform);if(t)return"changeTransform."+t}}if(null!=e.changeSelection&&e.hasOwnProperty("changeSelection")){if(1===t.value)return"value: multiple values";t.value=1;{let t=$root.vertexvis.protobuf.stream.ChangeSelectionOperation.verify(e.changeSelection);if(t)return"changeSelection."+t}}if(null!=e.clearTransform&&e.hasOwnProperty("clearTransform")){if(1===t.value)return"value: multiple values";t.value=1;{let t=$root.vertexvis.protobuf.stream.ClearTransformOperation.verify(e.clearTransform);if(t)return"clearTransform."+t}}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.OperationType)return e;let t=new $root.vertexvis.protobuf.stream.OperationType;if(null!=e.changeMaterial){if("object"!=typeof e.changeMaterial)throw TypeError(".vertexvis.protobuf.stream.OperationType.changeMaterial: object expected");t.changeMaterial=$root.vertexvis.protobuf.stream.ChangeMaterialOperation.fromObject(e.changeMaterial)}if(null!=e.changeVisibility){if("object"!=typeof e.changeVisibility)throw TypeError(".vertexvis.protobuf.stream.OperationType.changeVisibility: object expected");t.changeVisibility=$root.vertexvis.protobuf.stream.ChangeVisibilityOperation.fromObject(e.changeVisibility)}if(null!=e.changeTransform){if("object"!=typeof e.changeTransform)throw TypeError(".vertexvis.protobuf.stream.OperationType.changeTransform: object expected");t.changeTransform=$root.vertexvis.protobuf.stream.ChangeTransformOperation.fromObject(e.changeTransform)}if(null!=e.changeSelection){if("object"!=typeof e.changeSelection)throw TypeError(".vertexvis.protobuf.stream.OperationType.changeSelection: object expected");t.changeSelection=$root.vertexvis.protobuf.stream.ChangeSelectionOperation.fromObject(e.changeSelection)}if(null!=e.clearTransform){if("object"!=typeof e.clearTransform)throw TypeError(".vertexvis.protobuf.stream.OperationType.clearTransform: object expected");t.clearTransform=$root.vertexvis.protobuf.stream.ClearTransformOperation.fromObject(e.clearTransform)}return t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.changeMaterial&&e.hasOwnProperty("changeMaterial")&&(r.changeMaterial=$root.vertexvis.protobuf.stream.ChangeMaterialOperation.toObject(e.changeMaterial,t),t.oneofs&&(r.value="changeMaterial")),null!=e.changeVisibility&&e.hasOwnProperty("changeVisibility")&&(r.changeVisibility=$root.vertexvis.protobuf.stream.ChangeVisibilityOperation.toObject(e.changeVisibility,t),t.oneofs&&(r.value="changeVisibility")),null!=e.changeTransform&&e.hasOwnProperty("changeTransform")&&(r.changeTransform=$root.vertexvis.protobuf.stream.ChangeTransformOperation.toObject(e.changeTransform,t),t.oneofs&&(r.value="changeTransform")),null!=e.changeSelection&&e.hasOwnProperty("changeSelection")&&(r.changeSelection=$root.vertexvis.protobuf.stream.ChangeSelectionOperation.toObject(e.changeSelection,t),t.oneofs&&(r.value="changeSelection")),null!=e.clearTransform&&e.hasOwnProperty("clearTransform")&&(r.clearTransform=$root.vertexvis.protobuf.stream.ClearTransformOperation.toObject(e.clearTransform,t),t.oneofs&&(r.value="clearTransform")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.SceneOperation=function(){function e(e){if(this.operationTypes=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.item=null,e.prototype.or=null,e.prototype.and=null,e.prototype.all=null,e.prototype.point=null,e.prototype.sceneTreeRange=null,e.prototype.metadata=null,e.prototype.override=null,e.prototype.volume=null,e.prototype.operationTypes=$util.emptyArray,Object.defineProperty(e.prototype,"query",{get:$util.oneOfGetter(t=["item","or","and","all","point","sceneTreeRange","metadata","override","volume"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer.create()),null!=e.item&&Object.hasOwnProperty.call(e,"item")&&$root.vertexvis.protobuf.stream.ItemQuery.encode(e.item,t.uint32(10).fork()).ldelim(),null!=e.or&&Object.hasOwnProperty.call(e,"or")&&$root.vertexvis.protobuf.stream.QueryCollection.encode(e.or,t.uint32(18).fork()).ldelim(),null!=e.and&&Object.hasOwnProperty.call(e,"and")&&$root.vertexvis.protobuf.stream.QueryCollection.encode(e.and,t.uint32(26).fork()).ldelim(),null!=e.operationTypes&&e.operationTypes.length)for(let r=0;r<e.operationTypes.length;++r)$root.vertexvis.protobuf.stream.OperationType.encode(e.operationTypes[r],t.uint32(34).fork()).ldelim();return null!=e.all&&Object.hasOwnProperty.call(e,"all")&&$root.vertexvis.protobuf.stream.AllQuery.encode(e.all,t.uint32(42).fork()).ldelim(),null!=e.point&&Object.hasOwnProperty.call(e,"point")&&$root.vertexvis.protobuf.stream.PointQuery.encode(e.point,t.uint32(50).fork()).ldelim(),null!=e.sceneTreeRange&&Object.hasOwnProperty.call(e,"sceneTreeRange")&&$root.vertexvis.protobuf.stream.SceneTreeRangeQuery.encode(e.sceneTreeRange,t.uint32(58).fork()).ldelim(),null!=e.metadata&&Object.hasOwnProperty.call(e,"metadata")&&$root.vertexvis.protobuf.stream.MetadataFilterQuery.encode(e.metadata,t.uint32(66).fork()).ldelim(),null!=e.override&&Object.hasOwnProperty.call(e,"override")&&$root.vertexvis.protobuf.stream.OverrideQuery.encode(e.override,t.uint32(74).fork()).ldelim(),null!=e.volume&&Object.hasOwnProperty.call(e,"volume")&&$root.vertexvis.protobuf.stream.VolumeIntersectionQuery.encode(e.volume,t.uint32(82).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.SceneOperation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.item=$root.vertexvis.protobuf.stream.ItemQuery.decode(e,e.uint32());break;case 2:n.or=$root.vertexvis.protobuf.stream.QueryCollection.decode(e,e.uint32());break;case 3:n.and=$root.vertexvis.protobuf.stream.QueryCollection.decode(e,e.uint32());break;case 5:n.all=$root.vertexvis.protobuf.stream.AllQuery.decode(e,e.uint32());break;case 6:n.point=$root.vertexvis.protobuf.stream.PointQuery.decode(e,e.uint32());break;case 7:n.sceneTreeRange=$root.vertexvis.protobuf.stream.SceneTreeRangeQuery.decode(e,e.uint32());break;case 8:n.metadata=$root.vertexvis.protobuf.stream.MetadataFilterQuery.decode(e,e.uint32());break;case 9:n.override=$root.vertexvis.protobuf.stream.OverrideQuery.decode(e,e.uint32());break;case 10:n.volume=$root.vertexvis.protobuf.stream.VolumeIntersectionQuery.decode(e,e.uint32());break;case 4:n.operationTypes&&n.operationTypes.length||(n.operationTypes=[]),n.operationTypes.push($root.vertexvis.protobuf.stream.OperationType.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.item&&e.hasOwnProperty("item")){t.query=1;{let t=$root.vertexvis.protobuf.stream.ItemQuery.verify(e.item);if(t)return"item."+t}}if(null!=e.or&&e.hasOwnProperty("or")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root.vertexvis.protobuf.stream.QueryCollection.verify(e.or);if(t)return"or."+t}}if(null!=e.and&&e.hasOwnProperty("and")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root.vertexvis.protobuf.stream.QueryCollection.verify(e.and);if(t)return"and."+t}}if(null!=e.all&&e.hasOwnProperty("all")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root.vertexvis.protobuf.stream.AllQuery.verify(e.all);if(t)return"all."+t}}if(null!=e.point&&e.hasOwnProperty("point")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root.vertexvis.protobuf.stream.PointQuery.verify(e.point);if(t)return"point."+t}}if(null!=e.sceneTreeRange&&e.hasOwnProperty("sceneTreeRange")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root.vertexvis.protobuf.stream.SceneTreeRangeQuery.verify(e.sceneTreeRange);if(t)return"sceneTreeRange."+t}}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root.vertexvis.protobuf.stream.MetadataFilterQuery.verify(e.metadata);if(t)return"metadata."+t}}if(null!=e.override&&e.hasOwnProperty("override")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root.vertexvis.protobuf.stream.OverrideQuery.verify(e.override);if(t)return"override."+t}}if(null!=e.volume&&e.hasOwnProperty("volume")){if(1===t.query)return"query: multiple values";t.query=1;{let t=$root.vertexvis.protobuf.stream.VolumeIntersectionQuery.verify(e.volume);if(t)return"volume."+t}}if(null!=e.operationTypes&&e.hasOwnProperty("operationTypes")){if(!Array.isArray(e.operationTypes))return"operationTypes: array expected";for(let t=0;t<e.operationTypes.length;++t){let r=$root.vertexvis.protobuf.stream.OperationType.verify(e.operationTypes[t]);if(r)return"operationTypes."+r}}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.SceneOperation)return e;let t=new $root.vertexvis.protobuf.stream.SceneOperation;if(null!=e.item){if("object"!=typeof e.item)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.item: object expected");t.item=$root.vertexvis.protobuf.stream.ItemQuery.fromObject(e.item)}if(null!=e.or){if("object"!=typeof e.or)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.or: object expected");t.or=$root.vertexvis.protobuf.stream.QueryCollection.fromObject(e.or)}if(null!=e.and){if("object"!=typeof e.and)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.and: object expected");t.and=$root.vertexvis.protobuf.stream.QueryCollection.fromObject(e.and)}if(null!=e.all){if("object"!=typeof e.all)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.all: object expected");t.all=$root.vertexvis.protobuf.stream.AllQuery.fromObject(e.all)}if(null!=e.point){if("object"!=typeof e.point)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.point: object expected");t.point=$root.vertexvis.protobuf.stream.PointQuery.fromObject(e.point)}if(null!=e.sceneTreeRange){if("object"!=typeof e.sceneTreeRange)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.sceneTreeRange: object expected");t.sceneTreeRange=$root.vertexvis.protobuf.stream.SceneTreeRangeQuery.fromObject(e.sceneTreeRange)}if(null!=e.metadata){if("object"!=typeof e.metadata)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.metadata: object expected");t.metadata=$root.vertexvis.protobuf.stream.MetadataFilterQuery.fromObject(e.metadata)}if(null!=e.override){if("object"!=typeof e.override)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.override: object expected");t.override=$root.vertexvis.protobuf.stream.OverrideQuery.fromObject(e.override)}if(null!=e.volume){if("object"!=typeof e.volume)throw TypeError(".vertexvis.protobuf.stream.SceneOperation.volume: object expected");t.volume=$root.vertexvis.protobuf.stream.VolumeIntersectionQuery.fromObject(e.volume)}if(e.operationTypes){if(!Array.isArray(e.operationTypes))throw TypeError(".vertexvis.protobuf.stream.SceneOperation.operationTypes: array expected");t.operationTypes=[];for(let r=0;r<e.operationTypes.length;++r){if("object"!=typeof e.operationTypes[r])throw TypeError(".vertexvis.protobuf.stream.SceneOperation.operationTypes: object expected");t.operationTypes[r]=$root.vertexvis.protobuf.stream.OperationType.fromObject(e.operationTypes[r])}}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.operationTypes=[]),null!=e.item&&e.hasOwnProperty("item")&&(r.item=$root.vertexvis.protobuf.stream.ItemQuery.toObject(e.item,t),t.oneofs&&(r.query="item")),null!=e.or&&e.hasOwnProperty("or")&&(r.or=$root.vertexvis.protobuf.stream.QueryCollection.toObject(e.or,t),t.oneofs&&(r.query="or")),null!=e.and&&e.hasOwnProperty("and")&&(r.and=$root.vertexvis.protobuf.stream.QueryCollection.toObject(e.and,t),t.oneofs&&(r.query="and")),e.operationTypes&&e.operationTypes.length){r.operationTypes=[];for(let n=0;n<e.operationTypes.length;++n)r.operationTypes[n]=$root.vertexvis.protobuf.stream.OperationType.toObject(e.operationTypes[n],t)}return null!=e.all&&e.hasOwnProperty("all")&&(r.all=$root.vertexvis.protobuf.stream.AllQuery.toObject(e.all,t),t.oneofs&&(r.query="all")),null!=e.point&&e.hasOwnProperty("point")&&(r.point=$root.vertexvis.protobuf.stream.PointQuery.toObject(e.point,t),t.oneofs&&(r.query="point")),null!=e.sceneTreeRange&&e.hasOwnProperty("sceneTreeRange")&&(r.sceneTreeRange=$root.vertexvis.protobuf.stream.SceneTreeRangeQuery.toObject(e.sceneTreeRange,t),t.oneofs&&(r.query="sceneTreeRange")),null!=e.metadata&&e.hasOwnProperty("metadata")&&(r.metadata=$root.vertexvis.protobuf.stream.MetadataFilterQuery.toObject(e.metadata,t),t.oneofs&&(r.query="metadata")),null!=e.override&&e.hasOwnProperty("override")&&(r.override=$root.vertexvis.protobuf.stream.OverrideQuery.toObject(e.override,t),t.oneofs&&(r.query="override")),null!=e.volume&&e.hasOwnProperty("volume")&&(r.volume=$root.vertexvis.protobuf.stream.VolumeIntersectionQuery.toObject(e.volume,t),t.oneofs&&(r.query="volume")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.PerformanceTiming=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.receiveToPaintDuration=null,Object.defineProperty(e.prototype,"timing",{get:$util.oneOfGetter(t=["receiveToPaintDuration"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.receiveToPaintDuration&&Object.hasOwnProperty.call(e,"receiveToPaintDuration")&&$root.google.protobuf.Duration.encode(e.receiveToPaintDuration,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.PerformanceTiming;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.receiveToPaintDuration=$root.google.protobuf.Duration.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.receiveToPaintDuration&&e.hasOwnProperty("receiveToPaintDuration")){let t=$root.google.protobuf.Duration.verify(e.receiveToPaintDuration);if(t)return"receiveToPaintDuration."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.PerformanceTiming)return e;let t=new $root.vertexvis.protobuf.stream.PerformanceTiming;if(null!=e.receiveToPaintDuration){if("object"!=typeof e.receiveToPaintDuration)throw TypeError(".vertexvis.protobuf.stream.PerformanceTiming.receiveToPaintDuration: object expected");t.receiveToPaintDuration=$root.google.protobuf.Duration.fromObject(e.receiveToPaintDuration)}return t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.receiveToPaintDuration&&e.hasOwnProperty("receiveToPaintDuration")&&(r.receiveToPaintDuration=$root.google.protobuf.Duration.toObject(e.receiveToPaintDuration,t),t.oneofs&&(r.timing="receiveToPaintDuration")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.StreamAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.experimentalGhosting=null,e.prototype.depthBuffers=null,e.prototype.featureLines=null,e.prototype.featureHighlighting=null,e.prototype.featureMaps=null,e.prototype.noDefaultLights=!1,e.prototype.experimentalRenderingOptions="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.experimentalGhosting&&Object.hasOwnProperty.call(e,"experimentalGhosting")&&$root.vertexvis.protobuf.stream.GhostingAttributes.encode(e.experimentalGhosting,t.uint32(10).fork()).ldelim(),null!=e.depthBuffers&&Object.hasOwnProperty.call(e,"depthBuffers")&&$root.vertexvis.protobuf.stream.DepthBufferAttributes.encode(e.depthBuffers,t.uint32(18).fork()).ldelim(),null!=e.featureLines&&Object.hasOwnProperty.call(e,"featureLines")&&$root.vertexvis.protobuf.stream.FeatureLineAttributes.encode(e.featureLines,t.uint32(26).fork()).ldelim(),null!=e.featureHighlighting&&Object.hasOwnProperty.call(e,"featureHighlighting")&&$root.vertexvis.protobuf.stream.FeatureHighlightAttributes.encode(e.featureHighlighting,t.uint32(34).fork()).ldelim(),null!=e.featureMaps&&Object.hasOwnProperty.call(e,"featureMaps")&&$root.vertexvis.protobuf.stream.FeatureMapAttributes.encode(e.featureMaps,t.uint32(42).fork()).ldelim(),null!=e.noDefaultLights&&Object.hasOwnProperty.call(e,"noDefaultLights")&&t.uint32(48).bool(e.noDefaultLights),null!=e.experimentalRenderingOptions&&Object.hasOwnProperty.call(e,"experimentalRenderingOptions")&&t.uint32(58).string(e.experimentalRenderingOptions),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.StreamAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.experimentalGhosting=$root.vertexvis.protobuf.stream.GhostingAttributes.decode(e,e.uint32());break;case 2:n.depthBuffers=$root.vertexvis.protobuf.stream.DepthBufferAttributes.decode(e,e.uint32());break;case 3:n.featureLines=$root.vertexvis.protobuf.stream.FeatureLineAttributes.decode(e,e.uint32());break;case 4:n.featureHighlighting=$root.vertexvis.protobuf.stream.FeatureHighlightAttributes.decode(e,e.uint32());break;case 5:n.featureMaps=$root.vertexvis.protobuf.stream.FeatureMapAttributes.decode(e,e.uint32());break;case 6:n.noDefaultLights=e.bool();break;case 7:n.experimentalRenderingOptions=e.string();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.experimentalGhosting&&e.hasOwnProperty("experimentalGhosting")){let t=$root.vertexvis.protobuf.stream.GhostingAttributes.verify(e.experimentalGhosting);if(t)return"experimentalGhosting."+t}if(null!=e.depthBuffers&&e.hasOwnProperty("depthBuffers")){let t=$root.vertexvis.protobuf.stream.DepthBufferAttributes.verify(e.depthBuffers);if(t)return"depthBuffers."+t}if(null!=e.featureLines&&e.hasOwnProperty("featureLines")){let t=$root.vertexvis.protobuf.stream.FeatureLineAttributes.verify(e.featureLines);if(t)return"featureLines."+t}if(null!=e.featureHighlighting&&e.hasOwnProperty("featureHighlighting")){let t=$root.vertexvis.protobuf.stream.FeatureHighlightAttributes.verify(e.featureHighlighting);if(t)return"featureHighlighting."+t}if(null!=e.featureMaps&&e.hasOwnProperty("featureMaps")){let t=$root.vertexvis.protobuf.stream.FeatureMapAttributes.verify(e.featureMaps);if(t)return"featureMaps."+t}return null!=e.noDefaultLights&&e.hasOwnProperty("noDefaultLights")&&"boolean"!=typeof e.noDefaultLights?"noDefaultLights: boolean expected":null!=e.experimentalRenderingOptions&&e.hasOwnProperty("experimentalRenderingOptions")&&!$util.isString(e.experimentalRenderingOptions)?"experimentalRenderingOptions: string expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.StreamAttributes)return e;let t=new $root.vertexvis.protobuf.stream.StreamAttributes;if(null!=e.experimentalGhosting){if("object"!=typeof e.experimentalGhosting)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.experimentalGhosting: object expected");t.experimentalGhosting=$root.vertexvis.protobuf.stream.GhostingAttributes.fromObject(e.experimentalGhosting)}if(null!=e.depthBuffers){if("object"!=typeof e.depthBuffers)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.depthBuffers: object expected");t.depthBuffers=$root.vertexvis.protobuf.stream.DepthBufferAttributes.fromObject(e.depthBuffers)}if(null!=e.featureLines){if("object"!=typeof e.featureLines)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.featureLines: object expected");t.featureLines=$root.vertexvis.protobuf.stream.FeatureLineAttributes.fromObject(e.featureLines)}if(null!=e.featureHighlighting){if("object"!=typeof e.featureHighlighting)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.featureHighlighting: object expected");t.featureHighlighting=$root.vertexvis.protobuf.stream.FeatureHighlightAttributes.fromObject(e.featureHighlighting)}if(null!=e.featureMaps){if("object"!=typeof e.featureMaps)throw TypeError(".vertexvis.protobuf.stream.StreamAttributes.featureMaps: object expected");t.featureMaps=$root.vertexvis.protobuf.stream.FeatureMapAttributes.fromObject(e.featureMaps)}return null!=e.noDefaultLights&&(t.noDefaultLights=Boolean(e.noDefaultLights)),null!=e.experimentalRenderingOptions&&(t.experimentalRenderingOptions=String(e.experimentalRenderingOptions)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.experimentalGhosting=null,r.depthBuffers=null,r.featureLines=null,r.featureHighlighting=null,r.featureMaps=null,r.noDefaultLights=!1,r.experimentalRenderingOptions=""),null!=e.experimentalGhosting&&e.hasOwnProperty("experimentalGhosting")&&(r.experimentalGhosting=$root.vertexvis.protobuf.stream.GhostingAttributes.toObject(e.experimentalGhosting,t)),null!=e.depthBuffers&&e.hasOwnProperty("depthBuffers")&&(r.depthBuffers=$root.vertexvis.protobuf.stream.DepthBufferAttributes.toObject(e.depthBuffers,t)),null!=e.featureLines&&e.hasOwnProperty("featureLines")&&(r.featureLines=$root.vertexvis.protobuf.stream.FeatureLineAttributes.toObject(e.featureLines,t)),null!=e.featureHighlighting&&e.hasOwnProperty("featureHighlighting")&&(r.featureHighlighting=$root.vertexvis.protobuf.stream.FeatureHighlightAttributes.toObject(e.featureHighlighting,t)),null!=e.featureMaps&&e.hasOwnProperty("featureMaps")&&(r.featureMaps=$root.vertexvis.protobuf.stream.FeatureMapAttributes.toObject(e.featureMaps,t)),null!=e.noDefaultLights&&e.hasOwnProperty("noDefaultLights")&&(r.noDefaultLights=e.noDefaultLights),null!=e.experimentalRenderingOptions&&e.hasOwnProperty("experimentalRenderingOptions")&&(r.experimentalRenderingOptions=e.experimentalRenderingOptions),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.GhostingAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.enabled=null,e.prototype.opacity=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.enabled&&Object.hasOwnProperty.call(e,"enabled")&&$root.google.protobuf.BoolValue.encode(e.enabled,t.uint32(10).fork()).ldelim(),null!=e.opacity&&Object.hasOwnProperty.call(e,"opacity")&&$root.google.protobuf.FloatValue.encode(e.opacity,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.GhostingAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.enabled=$root.google.protobuf.BoolValue.decode(e,e.uint32());break;case 2:n.opacity=$root.google.protobuf.FloatValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.enabled&&e.hasOwnProperty("enabled")){let t=$root.google.protobuf.BoolValue.verify(e.enabled);if(t)return"enabled."+t}if(null!=e.opacity&&e.hasOwnProperty("opacity")){let t=$root.google.protobuf.FloatValue.verify(e.opacity);if(t)return"opacity."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.GhostingAttributes)return e;let t=new $root.vertexvis.protobuf.stream.GhostingAttributes;if(null!=e.enabled){if("object"!=typeof e.enabled)throw TypeError(".vertexvis.protobuf.stream.GhostingAttributes.enabled: object expected");t.enabled=$root.google.protobuf.BoolValue.fromObject(e.enabled)}if(null!=e.opacity){if("object"!=typeof e.opacity)throw TypeError(".vertexvis.protobuf.stream.GhostingAttributes.opacity: object expected");t.opacity=$root.google.protobuf.FloatValue.fromObject(e.opacity)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.enabled=null,r.opacity=null),null!=e.enabled&&e.hasOwnProperty("enabled")&&(r.enabled=$root.google.protobuf.BoolValue.toObject(e.enabled,t)),null!=e.opacity&&e.hasOwnProperty("opacity")&&(r.opacity=$root.google.protobuf.FloatValue.toObject(e.opacity,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.DepthBufferAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.enabled=null,e.prototype.frameType=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.enabled&&Object.hasOwnProperty.call(e,"enabled")&&$root.google.protobuf.BoolValue.encode(e.enabled,t.uint32(10).fork()).ldelim(),null!=e.frameType&&Object.hasOwnProperty.call(e,"frameType")&&t.uint32(16).int32(e.frameType),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.DepthBufferAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.enabled=$root.google.protobuf.BoolValue.decode(e,e.uint32());break;case 2:n.frameType=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.enabled&&e.hasOwnProperty("enabled")){let t=$root.google.protobuf.BoolValue.verify(e.enabled);if(t)return"enabled."+t}if(null!=e.frameType&&e.hasOwnProperty("frameType"))switch(e.frameType){default:return"frameType: enum value expected";case 0:case 1:case 2:case 3:}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.DepthBufferAttributes)return e;let t=new $root.vertexvis.protobuf.stream.DepthBufferAttributes;if(null!=e.enabled){if("object"!=typeof e.enabled)throw TypeError(".vertexvis.protobuf.stream.DepthBufferAttributes.enabled: object expected");t.enabled=$root.google.protobuf.BoolValue.fromObject(e.enabled)}switch(e.frameType){case"FRAME_TYPE_INVALID":case 0:t.frameType=0;break;case"FRAME_TYPE_ALL":case 1:t.frameType=1;break;case"FRAME_TYPE_TRANSITION":case 2:t.frameType=2;break;case"FRAME_TYPE_FINAL":case 3:t.frameType=3}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.enabled=null,r.frameType=t.enums===String?"FRAME_TYPE_INVALID":0),null!=e.enabled&&e.hasOwnProperty("enabled")&&(r.enabled=$root.google.protobuf.BoolValue.toObject(e.enabled,t)),null!=e.frameType&&e.hasOwnProperty("frameType")&&(r.frameType=t.enums===String?$root.vertexvis.protobuf.stream.FrameType[e.frameType]:e.frameType),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.FeatureMapAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.enabled=null,e.prototype.frameType=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.enabled&&Object.hasOwnProperty.call(e,"enabled")&&$root.google.protobuf.BoolValue.encode(e.enabled,t.uint32(10).fork()).ldelim(),null!=e.frameType&&Object.hasOwnProperty.call(e,"frameType")&&t.uint32(16).int32(e.frameType),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.FeatureMapAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.enabled=$root.google.protobuf.BoolValue.decode(e,e.uint32());break;case 2:n.frameType=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.enabled&&e.hasOwnProperty("enabled")){let t=$root.google.protobuf.BoolValue.verify(e.enabled);if(t)return"enabled."+t}if(null!=e.frameType&&e.hasOwnProperty("frameType"))switch(e.frameType){default:return"frameType: enum value expected";case 0:case 1:case 2:case 3:}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.FeatureMapAttributes)return e;let t=new $root.vertexvis.protobuf.stream.FeatureMapAttributes;if(null!=e.enabled){if("object"!=typeof e.enabled)throw TypeError(".vertexvis.protobuf.stream.FeatureMapAttributes.enabled: object expected");t.enabled=$root.google.protobuf.BoolValue.fromObject(e.enabled)}switch(e.frameType){case"FRAME_TYPE_INVALID":case 0:t.frameType=0;break;case"FRAME_TYPE_ALL":case 1:t.frameType=1;break;case"FRAME_TYPE_TRANSITION":case 2:t.frameType=2;break;case"FRAME_TYPE_FINAL":case 3:t.frameType=3}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.enabled=null,r.frameType=t.enums===String?"FRAME_TYPE_INVALID":0),null!=e.enabled&&e.hasOwnProperty("enabled")&&(r.enabled=$root.google.protobuf.BoolValue.toObject(e.enabled,t)),null!=e.frameType&&e.hasOwnProperty("frameType")&&(r.frameType=t.enums===String?$root.vertexvis.protobuf.stream.FrameType[e.frameType]:e.frameType),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.AnimationAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.duration=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.duration&&Object.hasOwnProperty.call(e,"duration")&&$root.google.protobuf.Duration.encode(e.duration,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.AnimationAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.duration=$root.google.protobuf.Duration.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.duration&&e.hasOwnProperty("duration")){let t=$root.google.protobuf.Duration.verify(e.duration);if(t)return"duration."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.AnimationAttributes)return e;let t=new $root.vertexvis.protobuf.stream.AnimationAttributes;if(null!=e.duration){if("object"!=typeof e.duration)throw TypeError(".vertexvis.protobuf.stream.AnimationAttributes.duration: object expected");t.duration=$root.google.protobuf.Duration.fromObject(e.duration)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.duration=null),null!=e.duration&&e.hasOwnProperty("duration")&&(r.duration=$root.google.protobuf.Duration.toObject(e.duration,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.FrameType=function(){const e={},t=Object.create(e);return t[e[0]="FRAME_TYPE_INVALID"]=0,t[e[1]="FRAME_TYPE_ALL"]=1,t[e[2]="FRAME_TYPE_TRANSITION"]=2,t[e[3]="FRAME_TYPE_FINAL"]=3,t}(),e.MetadataPropertyCategory=function(){const e={},t=Object.create(e);return t[e[0]="METADATA_PROPERTY_CATEGORY_INVALID"]=0,t[e[1]="METADATA_PROPERTY_CATEGORY_USER"]=1,t[e[2]="METADATA_PROPERTY_CATEGORY_VERTEX"]=2,t[e[3]="METADATA_PROPERTY_CATEGORY_VENDOR"]=3,t}(),e.MetadataProperty=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.category=0,e.prototype.key="",e.prototype.asString=null,e.prototype.asLong=null,e.prototype.asFloat=null,e.prototype.asDate=null,Object.defineProperty(e.prototype,"value",{get:$util.oneOfGetter(t=["asString","asLong","asFloat","asDate"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.category&&Object.hasOwnProperty.call(e,"category")&&t.uint32(8).int32(e.category),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(18).string(e.key),null!=e.asString&&Object.hasOwnProperty.call(e,"asString")&&t.uint32(26).string(e.asString),null!=e.asLong&&Object.hasOwnProperty.call(e,"asLong")&&t.uint32(32).sint64(e.asLong),null!=e.asFloat&&Object.hasOwnProperty.call(e,"asFloat")&&t.uint32(45).float(e.asFloat),null!=e.asDate&&Object.hasOwnProperty.call(e,"asDate")&&$root.vertexvis.protobuf.core.Instant.encode(e.asDate,t.uint32(50).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.MetadataProperty;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.category=e.int32();break;case 2:n.key=e.string();break;case 3:n.asString=e.string();break;case 4:n.asLong=e.sint64();break;case 5:n.asFloat=e.float();break;case 6:n.asDate=$root.vertexvis.protobuf.core.Instant.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.category&&e.hasOwnProperty("category"))switch(e.category){default:return"category: enum value expected";case 0:case 1:case 2:case 3:}if(null!=e.key&&e.hasOwnProperty("key")&&!$util.isString(e.key))return"key: string expected";if(null!=e.asString&&e.hasOwnProperty("asString")&&(t.value=1,!$util.isString(e.asString)))return"asString: string expected";if(null!=e.asLong&&e.hasOwnProperty("asLong")){if(1===t.value)return"value: multiple values";if(t.value=1,!($util.isInteger(e.asLong)||e.asLong&&$util.isInteger(e.asLong.low)&&$util.isInteger(e.asLong.high)))return"asLong: integer|Long expected"}if(null!=e.asFloat&&e.hasOwnProperty("asFloat")){if(1===t.value)return"value: multiple values";if(t.value=1,"number"!=typeof e.asFloat)return"asFloat: number expected"}if(null!=e.asDate&&e.hasOwnProperty("asDate")){if(1===t.value)return"value: multiple values";t.value=1;{let t=$root.vertexvis.protobuf.core.Instant.verify(e.asDate);if(t)return"asDate."+t}}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.MetadataProperty)return e;let t=new $root.vertexvis.protobuf.stream.MetadataProperty;switch(e.category){case"METADATA_PROPERTY_CATEGORY_INVALID":case 0:t.category=0;break;case"METADATA_PROPERTY_CATEGORY_USER":case 1:t.category=1;break;case"METADATA_PROPERTY_CATEGORY_VERTEX":case 2:t.category=2;break;case"METADATA_PROPERTY_CATEGORY_VENDOR":case 3:t.category=3}if(null!=e.key&&(t.key=String(e.key)),null!=e.asString&&(t.asString=String(e.asString)),null!=e.asLong&&($util.Long?(t.asLong=$util.Long.fromValue(e.asLong)).unsigned=!1:"string"==typeof e.asLong?t.asLong=parseInt(e.asLong,10):"number"==typeof e.asLong?t.asLong=e.asLong:"object"==typeof e.asLong&&(t.asLong=new $util.LongBits(e.asLong.low>>>0,e.asLong.high>>>0).toNumber())),null!=e.asFloat&&(t.asFloat=Number(e.asFloat)),null!=e.asDate){if("object"!=typeof e.asDate)throw TypeError(".vertexvis.protobuf.stream.MetadataProperty.asDate: object expected");t.asDate=$root.vertexvis.protobuf.core.Instant.fromObject(e.asDate)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.category=t.enums===String?"METADATA_PROPERTY_CATEGORY_INVALID":0,r.key=""),null!=e.category&&e.hasOwnProperty("category")&&(r.category=t.enums===String?$root.vertexvis.protobuf.stream.MetadataPropertyCategory[e.category]:e.category),null!=e.key&&e.hasOwnProperty("key")&&(r.key=e.key),null!=e.asString&&e.hasOwnProperty("asString")&&(r.asString=e.asString,t.oneofs&&(r.value="asString")),null!=e.asLong&&e.hasOwnProperty("asLong")&&(r.asLong="number"==typeof e.asLong?t.longs===String?String(e.asLong):e.asLong:t.longs===String?$util.Long.prototype.toString.call(e.asLong):t.longs===Number?new $util.LongBits(e.asLong.low>>>0,e.asLong.high>>>0).toNumber():e.asLong,t.oneofs&&(r.value="asLong")),null!=e.asFloat&&e.hasOwnProperty("asFloat")&&(r.asFloat=t.json&&!isFinite(e.asFloat)?String(e.asFloat):e.asFloat,t.oneofs&&(r.value="asFloat")),null!=e.asDate&&e.hasOwnProperty("asDate")&&(r.asDate=$root.vertexvis.protobuf.core.Instant.toObject(e.asDate,t),t.oneofs&&(r.value="asDate")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.SectionPlane=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.normal=null,e.prototype.offset=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.normal&&Object.hasOwnProperty.call(e,"normal")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.normal,t.uint32(10).fork()).ldelim(),null!=e.offset&&Object.hasOwnProperty.call(e,"offset")&&t.uint32(21).float(e.offset),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.SectionPlane;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.normal=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.offset=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.normal&&e.hasOwnProperty("normal")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.normal);if(t)return"normal."+t}return null!=e.offset&&e.hasOwnProperty("offset")&&"number"!=typeof e.offset?"offset: number expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.SectionPlane)return e;let t=new $root.vertexvis.protobuf.stream.SectionPlane;if(null!=e.normal){if("object"!=typeof e.normal)throw TypeError(".vertexvis.protobuf.stream.SectionPlane.normal: object expected");t.normal=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.normal)}return null!=e.offset&&(t.offset=Number(e.offset)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.normal=null,r.offset=0),null!=e.normal&&e.hasOwnProperty("normal")&&(r.normal=$root.vertexvis.protobuf.core.Vector3f.toObject(e.normal,t)),null!=e.offset&&e.hasOwnProperty("offset")&&(r.offset=t.json&&!isFinite(e.offset)?String(e.offset):e.offset),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.CrossSectioning=function(){function e(e){if(this.sectionPlanes=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.sectionPlanes=$util.emptyArray,e.prototype.highlightColor=null,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer.create()),null!=e.sectionPlanes&&e.sectionPlanes.length)for(let r=0;r<e.sectionPlanes.length;++r)$root.vertexvis.protobuf.stream.SectionPlane.encode(e.sectionPlanes[r],t.uint32(10).fork()).ldelim();return null!=e.highlightColor&&Object.hasOwnProperty.call(e,"highlightColor")&&$root.vertexvis.protobuf.core.RGBi.encode(e.highlightColor,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.CrossSectioning;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.sectionPlanes&&n.sectionPlanes.length||(n.sectionPlanes=[]),n.sectionPlanes.push($root.vertexvis.protobuf.stream.SectionPlane.decode(e,e.uint32()));break;case 2:n.highlightColor=$root.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sectionPlanes&&e.hasOwnProperty("sectionPlanes")){if(!Array.isArray(e.sectionPlanes))return"sectionPlanes: array expected";for(let t=0;t<e.sectionPlanes.length;++t){let r=$root.vertexvis.protobuf.stream.SectionPlane.verify(e.sectionPlanes[t]);if(r)return"sectionPlanes."+r}}if(null!=e.highlightColor&&e.hasOwnProperty("highlightColor")){let t=$root.vertexvis.protobuf.core.RGBi.verify(e.highlightColor);if(t)return"highlightColor."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.CrossSectioning)return e;let t=new $root.vertexvis.protobuf.stream.CrossSectioning;if(e.sectionPlanes){if(!Array.isArray(e.sectionPlanes))throw TypeError(".vertexvis.protobuf.stream.CrossSectioning.sectionPlanes: array expected");t.sectionPlanes=[];for(let r=0;r<e.sectionPlanes.length;++r){if("object"!=typeof e.sectionPlanes[r])throw TypeError(".vertexvis.protobuf.stream.CrossSectioning.sectionPlanes: object expected");t.sectionPlanes[r]=$root.vertexvis.protobuf.stream.SectionPlane.fromObject(e.sectionPlanes[r])}}if(null!=e.highlightColor){if("object"!=typeof e.highlightColor)throw TypeError(".vertexvis.protobuf.stream.CrossSectioning.highlightColor: object expected");t.highlightColor=$root.vertexvis.protobuf.core.RGBi.fromObject(e.highlightColor)}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.sectionPlanes=[]),t.defaults&&(r.highlightColor=null),e.sectionPlanes&&e.sectionPlanes.length){r.sectionPlanes=[];for(let n=0;n<e.sectionPlanes.length;++n)r.sectionPlanes[n]=$root.vertexvis.protobuf.stream.SectionPlane.toObject(e.sectionPlanes[n],t)}return null!=e.highlightColor&&e.hasOwnProperty("highlightColor")&&(r.highlightColor=$root.vertexvis.protobuf.core.RGBi.toObject(e.highlightColor,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Orientation=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.up=null,e.prototype.front=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.up&&Object.hasOwnProperty.call(e,"up")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.up,t.uint32(10).fork()).ldelim(),null!=e.front&&Object.hasOwnProperty.call(e,"front")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.front,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.Orientation;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.up=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.front=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.up&&e.hasOwnProperty("up")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.up);if(t)return"up."+t}if(null!=e.front&&e.hasOwnProperty("front")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.front);if(t)return"front."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.Orientation)return e;let t=new $root.vertexvis.protobuf.stream.Orientation;if(null!=e.up){if("object"!=typeof e.up)throw TypeError(".vertexvis.protobuf.stream.Orientation.up: object expected");t.up=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.up)}if(null!=e.front){if("object"!=typeof e.front)throw TypeError(".vertexvis.protobuf.stream.Orientation.front: object expected");t.front=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.front)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.up=null,r.front=null),null!=e.up&&e.hasOwnProperty("up")&&(r.up=$root.vertexvis.protobuf.core.Vector3f.toObject(e.up,t)),null!=e.front&&e.hasOwnProperty("front")&&(r.front=$root.vertexvis.protobuf.core.Vector3f.toObject(e.front,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.FeatureLineAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.lineWidth=0,e.prototype.lineColor=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.lineWidth&&Object.hasOwnProperty.call(e,"lineWidth")&&t.uint32(13).float(e.lineWidth),null!=e.lineColor&&Object.hasOwnProperty.call(e,"lineColor")&&$root.vertexvis.protobuf.core.RGBi.encode(e.lineColor,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.FeatureLineAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.lineWidth=e.float();break;case 2:n.lineColor=$root.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.lineWidth&&e.hasOwnProperty("lineWidth")&&"number"!=typeof e.lineWidth)return"lineWidth: number expected";if(null!=e.lineColor&&e.hasOwnProperty("lineColor")){let t=$root.vertexvis.protobuf.core.RGBi.verify(e.lineColor);if(t)return"lineColor."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.FeatureLineAttributes)return e;let t=new $root.vertexvis.protobuf.stream.FeatureLineAttributes;if(null!=e.lineWidth&&(t.lineWidth=Number(e.lineWidth)),null!=e.lineColor){if("object"!=typeof e.lineColor)throw TypeError(".vertexvis.protobuf.stream.FeatureLineAttributes.lineColor: object expected");t.lineColor=$root.vertexvis.protobuf.core.RGBi.fromObject(e.lineColor)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.lineWidth=0,r.lineColor=null),null!=e.lineWidth&&e.hasOwnProperty("lineWidth")&&(r.lineWidth=t.json&&!isFinite(e.lineWidth)?String(e.lineWidth):e.lineWidth),null!=e.lineColor&&e.hasOwnProperty("lineColor")&&(r.lineColor=$root.vertexvis.protobuf.core.RGBi.toObject(e.lineColor,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.FeatureHighlightAttributes=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.highlightColor=null,e.prototype.occludedOpacity=null,e.prototype.outline=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.highlightColor&&Object.hasOwnProperty.call(e,"highlightColor")&&$root.vertexvis.protobuf.core.RGBi.encode(e.highlightColor,t.uint32(10).fork()).ldelim(),null!=e.occludedOpacity&&Object.hasOwnProperty.call(e,"occludedOpacity")&&$root.google.protobuf.FloatValue.encode(e.occludedOpacity,t.uint32(18).fork()).ldelim(),null!=e.outline&&Object.hasOwnProperty.call(e,"outline")&&$root.vertexvis.protobuf.stream.FeatureLineAttributes.encode(e.outline,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.FeatureHighlightAttributes;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.highlightColor=$root.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;case 2:n.occludedOpacity=$root.google.protobuf.FloatValue.decode(e,e.uint32());break;case 3:n.outline=$root.vertexvis.protobuf.stream.FeatureLineAttributes.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.highlightColor&&e.hasOwnProperty("highlightColor")){let t=$root.vertexvis.protobuf.core.RGBi.verify(e.highlightColor);if(t)return"highlightColor."+t}if(null!=e.occludedOpacity&&e.hasOwnProperty("occludedOpacity")){let t=$root.google.protobuf.FloatValue.verify(e.occludedOpacity);if(t)return"occludedOpacity."+t}if(null!=e.outline&&e.hasOwnProperty("outline")){let t=$root.vertexvis.protobuf.stream.FeatureLineAttributes.verify(e.outline);if(t)return"outline."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.FeatureHighlightAttributes)return e;let t=new $root.vertexvis.protobuf.stream.FeatureHighlightAttributes;if(null!=e.highlightColor){if("object"!=typeof e.highlightColor)throw TypeError(".vertexvis.protobuf.stream.FeatureHighlightAttributes.highlightColor: object expected");t.highlightColor=$root.vertexvis.protobuf.core.RGBi.fromObject(e.highlightColor)}if(null!=e.occludedOpacity){if("object"!=typeof e.occludedOpacity)throw TypeError(".vertexvis.protobuf.stream.FeatureHighlightAttributes.occludedOpacity: object expected");t.occludedOpacity=$root.google.protobuf.FloatValue.fromObject(e.occludedOpacity)}if(null!=e.outline){if("object"!=typeof e.outline)throw TypeError(".vertexvis.protobuf.stream.FeatureHighlightAttributes.outline: object expected");t.outline=$root.vertexvis.protobuf.stream.FeatureLineAttributes.fromObject(e.outline)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.highlightColor=null,r.occludedOpacity=null,r.outline=null),null!=e.highlightColor&&e.hasOwnProperty("highlightColor")&&(r.highlightColor=$root.vertexvis.protobuf.core.RGBi.toObject(e.highlightColor,t)),null!=e.occludedOpacity&&e.hasOwnProperty("occludedOpacity")&&(r.occludedOpacity=$root.google.protobuf.FloatValue.toObject(e.occludedOpacity,t)),null!=e.outline&&e.hasOwnProperty("outline")&&(r.outline=$root.vertexvis.protobuf.stream.FeatureLineAttributes.toObject(e.outline,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Token=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.token="",e.prototype.expiresIn=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.token&&Object.hasOwnProperty.call(e,"token")&&t.uint32(10).string(e.token),null!=e.expiresIn&&Object.hasOwnProperty.call(e,"expiresIn")&&t.uint32(16).uint32(e.expiresIn),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.Token;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.token=e.string();break;case 2:n.expiresIn=e.uint32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.token&&e.hasOwnProperty("token")&&!$util.isString(e.token)?"token: string expected":null!=e.expiresIn&&e.hasOwnProperty("expiresIn")&&!$util.isInteger(e.expiresIn)?"expiresIn: integer expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.Token)return e;let t=new $root.vertexvis.protobuf.stream.Token;return null!=e.token&&(t.token=String(e.token)),null!=e.expiresIn&&(t.expiresIn=e.expiresIn>>>0),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.token="",r.expiresIn=0),null!=e.token&&e.hasOwnProperty("token")&&(r.token=e.token),null!=e.expiresIn&&e.hasOwnProperty("expiresIn")&&(r.expiresIn=e.expiresIn),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.TransformInteraction=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.delta=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.delta&&Object.hasOwnProperty.call(e,"delta")&&$root.vertexvis.protobuf.core.AffineMatrix4f.encode(e.delta,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.TransformInteraction;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.delta=$root.vertexvis.protobuf.core.AffineMatrix4f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.delta&&e.hasOwnProperty("delta")){let t=$root.vertexvis.protobuf.core.AffineMatrix4f.verify(e.delta);if(t)return"delta."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.TransformInteraction)return e;let t=new $root.vertexvis.protobuf.stream.TransformInteraction;if(null!=e.delta){if("object"!=typeof e.delta)throw TypeError(".vertexvis.protobuf.stream.TransformInteraction.delta: object expected");t.delta=$root.vertexvis.protobuf.core.AffineMatrix4f.fromObject(e.delta)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.delta=null),null!=e.delta&&e.hasOwnProperty("delta")&&(r.delta=$root.vertexvis.protobuf.core.AffineMatrix4f.toObject(e.delta,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Error=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.message=null,e.prototype.details=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.message&&Object.hasOwnProperty.call(e,"message")&&$root.google.protobuf.StringValue.encode(e.message,t.uint32(10).fork()).ldelim(),null!=e.details&&Object.hasOwnProperty.call(e,"details")&&$root.google.protobuf.StringValue.encode(e.details,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.Error;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.message=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.details=$root.google.protobuf.StringValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.message&&e.hasOwnProperty("message")){let t=$root.google.protobuf.StringValue.verify(e.message);if(t)return"message."+t}if(null!=e.details&&e.hasOwnProperty("details")){let t=$root.google.protobuf.StringValue.verify(e.details);if(t)return"details."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.Error)return e;let t=new $root.vertexvis.protobuf.stream.Error;if(null!=e.message){if("object"!=typeof e.message)throw TypeError(".vertexvis.protobuf.stream.Error.message: object expected");t.message=$root.google.protobuf.StringValue.fromObject(e.message)}if(null!=e.details){if("object"!=typeof e.details)throw TypeError(".vertexvis.protobuf.stream.Error.details: object expected");t.details=$root.google.protobuf.StringValue.fromObject(e.details)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.message=null,r.details=null),null!=e.message&&e.hasOwnProperty("message")&&(r.message=$root.google.protobuf.StringValue.toObject(e.message,t)),null!=e.details&&e.hasOwnProperty("details")&&(r.details=$root.google.protobuf.StringValue.toObject(e.details,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Rectangle=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.prototype.width=0,e.prototype.height=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(8).int32(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(16).int32(e.y),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(24).int32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(32).int32(e.height),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.Rectangle;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.int32();break;case 2:n.y=e.int32();break;case 3:n.width=e.int32();break;case 4:n.height=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&!$util.isInteger(e.x)?"x: integer expected":null!=e.y&&e.hasOwnProperty("y")&&!$util.isInteger(e.y)?"y: integer expected":null!=e.width&&e.hasOwnProperty("width")&&!$util.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!$util.isInteger(e.height)?"height: integer expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.Rectangle)return e;let t=new $root.vertexvis.protobuf.stream.Rectangle;return null!=e.x&&(t.x=0|e.x),null!=e.y&&(t.y=0|e.y),null!=e.width&&(t.width=0|e.width),null!=e.height&&(t.height=0|e.height),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0,r.width=0,r.height=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=e.y),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Dimensions=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.width=0,e.prototype.height=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).int32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).int32(e.height),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.Dimensions;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.width=e.int32();break;case 2:n.height=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.width&&e.hasOwnProperty("width")&&!$util.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!$util.isInteger(e.height)?"height: integer expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.Dimensions)return e;let t=new $root.vertexvis.protobuf.stream.Dimensions;return null!=e.width&&(t.width=0|e.width),null!=e.height&&(t.height=0|e.height),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.width=0,r.height=0),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Point=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(8).int32(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(16).int32(e.y),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.Point;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.int32();break;case 2:n.y=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&!$util.isInteger(e.x)?"x: integer expected":null!=e.y&&e.hasOwnProperty("y")&&!$util.isInteger(e.y)?"y: integer expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.Point)return e;let t=new $root.vertexvis.protobuf.stream.Point;return null!=e.x&&(t.x=0|e.x),null!=e.y&&(t.y=0|e.y),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=e.y),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.StreamMessage=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.request=null,e.prototype.response=null,e.prototype.event=null,e.prototype.sentAtTime=null,Object.defineProperty(e.prototype,"message",{get:$util.oneOfGetter(t=["request","response","event"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.request&&Object.hasOwnProperty.call(e,"request")&&$root.vertexvis.protobuf.stream.StreamRequest.encode(e.request,t.uint32(10).fork()).ldelim(),null!=e.response&&Object.hasOwnProperty.call(e,"response")&&$root.vertexvis.protobuf.stream.StreamResponse.encode(e.response,t.uint32(18).fork()).ldelim(),null!=e.sentAtTime&&Object.hasOwnProperty.call(e,"sentAtTime")&&$root.google.protobuf.Timestamp.encode(e.sentAtTime,t.uint32(26).fork()).ldelim(),null!=e.event&&Object.hasOwnProperty.call(e,"event")&&$root.vertexvis.protobuf.stream.StreamEvent.encode(e.event,t.uint32(34).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.StreamMessage;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.request=$root.vertexvis.protobuf.stream.StreamRequest.decode(e,e.uint32());break;case 2:n.response=$root.vertexvis.protobuf.stream.StreamResponse.decode(e,e.uint32());break;case 4:n.event=$root.vertexvis.protobuf.stream.StreamEvent.decode(e,e.uint32());break;case 3:n.sentAtTime=$root.google.protobuf.Timestamp.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.request&&e.hasOwnProperty("request")){t.message=1;{let t=$root.vertexvis.protobuf.stream.StreamRequest.verify(e.request);if(t)return"request."+t}}if(null!=e.response&&e.hasOwnProperty("response")){if(1===t.message)return"message: multiple values";t.message=1;{let t=$root.vertexvis.protobuf.stream.StreamResponse.verify(e.response);if(t)return"response."+t}}if(null!=e.event&&e.hasOwnProperty("event")){if(1===t.message)return"message: multiple values";t.message=1;{let t=$root.vertexvis.protobuf.stream.StreamEvent.verify(e.event);if(t)return"event."+t}}if(null!=e.sentAtTime&&e.hasOwnProperty("sentAtTime")){let t=$root.google.protobuf.Timestamp.verify(e.sentAtTime);if(t)return"sentAtTime."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.StreamMessage)return e;let t=new $root.vertexvis.protobuf.stream.StreamMessage;if(null!=e.request){if("object"!=typeof e.request)throw TypeError(".vertexvis.protobuf.stream.StreamMessage.request: object expected");t.request=$root.vertexvis.protobuf.stream.StreamRequest.fromObject(e.request)}if(null!=e.response){if("object"!=typeof e.response)throw TypeError(".vertexvis.protobuf.stream.StreamMessage.response: object expected");t.response=$root.vertexvis.protobuf.stream.StreamResponse.fromObject(e.response)}if(null!=e.event){if("object"!=typeof e.event)throw TypeError(".vertexvis.protobuf.stream.StreamMessage.event: object expected");t.event=$root.vertexvis.protobuf.stream.StreamEvent.fromObject(e.event)}if(null!=e.sentAtTime){if("object"!=typeof e.sentAtTime)throw TypeError(".vertexvis.protobuf.stream.StreamMessage.sentAtTime: object expected");t.sentAtTime=$root.google.protobuf.Timestamp.fromObject(e.sentAtTime)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.sentAtTime=null),null!=e.request&&e.hasOwnProperty("request")&&(r.request=$root.vertexvis.protobuf.stream.StreamRequest.toObject(e.request,t),t.oneofs&&(r.message="request")),null!=e.response&&e.hasOwnProperty("response")&&(r.response=$root.vertexvis.protobuf.stream.StreamResponse.toObject(e.response,t),t.oneofs&&(r.message="response")),null!=e.sentAtTime&&e.hasOwnProperty("sentAtTime")&&(r.sentAtTime=$root.google.protobuf.Timestamp.toObject(e.sentAtTime,t)),null!=e.event&&e.hasOwnProperty("event")&&(r.event=$root.vertexvis.protobuf.stream.StreamEvent.toObject(e.event,t),t.oneofs&&(r.message="event")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.StreamRequest=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.requestId=null,e.prototype.startStream=null,e.prototype.updateCamera=null,e.prototype.beginInteraction=null,e.prototype.endInteraction=null,e.prototype.gracefulReconnection=null,e.prototype.reconnect=null,e.prototype.hitItems=null,e.prototype.createSceneAlteration=null,e.prototype.drawFrame=null,e.prototype.syncTime=null,e.prototype.recordPerformance=null,e.prototype.updateDimensions=null,e.prototype.updateStream=null,e.prototype.flyTo=null,e.prototype.loadSceneViewState=null,e.prototype.updateCrossSectioning=null,e.prototype.getStencilBuffer=null,e.prototype.resetView=null,e.prototype.refreshToken=null,e.prototype.updateInteraction=null,Object.defineProperty(e.prototype,"payload",{get:$util.oneOfGetter(t=["startStream","updateCamera","beginInteraction","endInteraction","gracefulReconnection","reconnect","hitItems","createSceneAlteration","drawFrame","syncTime","recordPerformance","updateDimensions","updateStream","flyTo","loadSceneViewState","updateCrossSectioning","getStencilBuffer","resetView","refreshToken","updateInteraction"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&$root.google.protobuf.StringValue.encode(e.requestId,t.uint32(10).fork()).ldelim(),null!=e.startStream&&Object.hasOwnProperty.call(e,"startStream")&&$root.vertexvis.protobuf.stream.StartStreamPayload.encode(e.startStream,t.uint32(18).fork()).ldelim(),null!=e.updateCamera&&Object.hasOwnProperty.call(e,"updateCamera")&&$root.vertexvis.protobuf.stream.UpdateCameraPayload.encode(e.updateCamera,t.uint32(26).fork()).ldelim(),null!=e.beginInteraction&&Object.hasOwnProperty.call(e,"beginInteraction")&&$root.vertexvis.protobuf.stream.BeginInteractionPayload.encode(e.beginInteraction,t.uint32(34).fork()).ldelim(),null!=e.endInteraction&&Object.hasOwnProperty.call(e,"endInteraction")&&$root.vertexvis.protobuf.stream.EndInteractionPayload.encode(e.endInteraction,t.uint32(42).fork()).ldelim(),null!=e.gracefulReconnection&&Object.hasOwnProperty.call(e,"gracefulReconnection")&&$root.vertexvis.protobuf.stream.GracefulReconnectionPayload.encode(e.gracefulReconnection,t.uint32(50).fork()).ldelim(),null!=e.reconnect&&Object.hasOwnProperty.call(e,"reconnect")&&$root.vertexvis.protobuf.stream.ReconnectPayload.encode(e.reconnect,t.uint32(58).fork()).ldelim(),null!=e.hitItems&&Object.hasOwnProperty.call(e,"hitItems")&&$root.vertexvis.protobuf.stream.HitItemsPayload.encode(e.hitItems,t.uint32(66).fork()).ldelim(),null!=e.createSceneAlteration&&Object.hasOwnProperty.call(e,"createSceneAlteration")&&$root.vertexvis.protobuf.stream.CreateSceneAlterationPayload.encode(e.createSceneAlteration,t.uint32(74).fork()).ldelim(),null!=e.drawFrame&&Object.hasOwnProperty.call(e,"drawFrame")&&$root.vertexvis.protobuf.stream.DrawFramePayload.encode(e.drawFrame,t.uint32(82).fork()).ldelim(),null!=e.syncTime&&Object.hasOwnProperty.call(e,"syncTime")&&$root.vertexvis.protobuf.stream.SyncTimePayload.encode(e.syncTime,t.uint32(90).fork()).ldelim(),null!=e.recordPerformance&&Object.hasOwnProperty.call(e,"recordPerformance")&&$root.vertexvis.protobuf.stream.RecordPerformancePayload.encode(e.recordPerformance,t.uint32(98).fork()).ldelim(),null!=e.updateDimensions&&Object.hasOwnProperty.call(e,"updateDimensions")&&$root.vertexvis.protobuf.stream.UpdateDimensionsPayload.encode(e.updateDimensions,t.uint32(106).fork()).ldelim(),null!=e.updateStream&&Object.hasOwnProperty.call(e,"updateStream")&&$root.vertexvis.protobuf.stream.UpdateStreamPayload.encode(e.updateStream,t.uint32(114).fork()).ldelim(),null!=e.flyTo&&Object.hasOwnProperty.call(e,"flyTo")&&$root.vertexvis.protobuf.stream.FlyToPayload.encode(e.flyTo,t.uint32(122).fork()).ldelim(),null!=e.loadSceneViewState&&Object.hasOwnProperty.call(e,"loadSceneViewState")&&$root.vertexvis.protobuf.stream.LoadSceneViewStatePayload.encode(e.loadSceneViewState,t.uint32(130).fork()).ldelim(),null!=e.updateCrossSectioning&&Object.hasOwnProperty.call(e,"updateCrossSectioning")&&$root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.encode(e.updateCrossSectioning,t.uint32(138).fork()).ldelim(),null!=e.getStencilBuffer&&Object.hasOwnProperty.call(e,"getStencilBuffer")&&$root.vertexvis.protobuf.stream.GetStencilBufferPayload.encode(e.getStencilBuffer,t.uint32(146).fork()).ldelim(),null!=e.resetView&&Object.hasOwnProperty.call(e,"resetView")&&$root.vertexvis.protobuf.stream.ResetViewPlayload.encode(e.resetView,t.uint32(154).fork()).ldelim(),null!=e.refreshToken&&Object.hasOwnProperty.call(e,"refreshToken")&&$root.vertexvis.protobuf.stream.RefreshTokenPayload.encode(e.refreshToken,t.uint32(162).fork()).ldelim(),null!=e.updateInteraction&&Object.hasOwnProperty.call(e,"updateInteraction")&&$root.vertexvis.protobuf.stream.UpdateInteractionPayload.encode(e.updateInteraction,t.uint32(170).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.StreamRequest;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.requestId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.startStream=$root.vertexvis.protobuf.stream.StartStreamPayload.decode(e,e.uint32());break;case 3:n.updateCamera=$root.vertexvis.protobuf.stream.UpdateCameraPayload.decode(e,e.uint32());break;case 4:n.beginInteraction=$root.vertexvis.protobuf.stream.BeginInteractionPayload.decode(e,e.uint32());break;case 5:n.endInteraction=$root.vertexvis.protobuf.stream.EndInteractionPayload.decode(e,e.uint32());break;case 6:n.gracefulReconnection=$root.vertexvis.protobuf.stream.GracefulReconnectionPayload.decode(e,e.uint32());break;case 7:n.reconnect=$root.vertexvis.protobuf.stream.ReconnectPayload.decode(e,e.uint32());break;case 8:n.hitItems=$root.vertexvis.protobuf.stream.HitItemsPayload.decode(e,e.uint32());break;case 9:n.createSceneAlteration=$root.vertexvis.protobuf.stream.CreateSceneAlterationPayload.decode(e,e.uint32());break;case 10:n.drawFrame=$root.vertexvis.protobuf.stream.DrawFramePayload.decode(e,e.uint32());break;case 11:n.syncTime=$root.vertexvis.protobuf.stream.SyncTimePayload.decode(e,e.uint32());break;case 12:n.recordPerformance=$root.vertexvis.protobuf.stream.RecordPerformancePayload.decode(e,e.uint32());break;case 13:n.updateDimensions=$root.vertexvis.protobuf.stream.UpdateDimensionsPayload.decode(e,e.uint32());break;case 14:n.updateStream=$root.vertexvis.protobuf.stream.UpdateStreamPayload.decode(e,e.uint32());break;case 15:n.flyTo=$root.vertexvis.protobuf.stream.FlyToPayload.decode(e,e.uint32());break;case 16:n.loadSceneViewState=$root.vertexvis.protobuf.stream.LoadSceneViewStatePayload.decode(e,e.uint32());break;case 17:n.updateCrossSectioning=$root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.decode(e,e.uint32());break;case 18:n.getStencilBuffer=$root.vertexvis.protobuf.stream.GetStencilBufferPayload.decode(e,e.uint32());break;case 19:n.resetView=$root.vertexvis.protobuf.stream.ResetViewPlayload.decode(e,e.uint32());break;case 20:n.refreshToken=$root.vertexvis.protobuf.stream.RefreshTokenPayload.decode(e,e.uint32());break;case 21:n.updateInteraction=$root.vertexvis.protobuf.stream.UpdateInteractionPayload.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.requestId&&e.hasOwnProperty("requestId")){let t=$root.google.protobuf.StringValue.verify(e.requestId);if(t)return"requestId."+t}if(null!=e.startStream&&e.hasOwnProperty("startStream")){t.payload=1;{let t=$root.vertexvis.protobuf.stream.StartStreamPayload.verify(e.startStream);if(t)return"startStream."+t}}if(null!=e.updateCamera&&e.hasOwnProperty("updateCamera")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.UpdateCameraPayload.verify(e.updateCamera);if(t)return"updateCamera."+t}}if(null!=e.beginInteraction&&e.hasOwnProperty("beginInteraction")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.BeginInteractionPayload.verify(e.beginInteraction);if(t)return"beginInteraction."+t}}if(null!=e.endInteraction&&e.hasOwnProperty("endInteraction")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.EndInteractionPayload.verify(e.endInteraction);if(t)return"endInteraction."+t}}if(null!=e.gracefulReconnection&&e.hasOwnProperty("gracefulReconnection")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.GracefulReconnectionPayload.verify(e.gracefulReconnection);if(t)return"gracefulReconnection."+t}}if(null!=e.reconnect&&e.hasOwnProperty("reconnect")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.ReconnectPayload.verify(e.reconnect);if(t)return"reconnect."+t}}if(null!=e.hitItems&&e.hasOwnProperty("hitItems")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.HitItemsPayload.verify(e.hitItems);if(t)return"hitItems."+t}}if(null!=e.createSceneAlteration&&e.hasOwnProperty("createSceneAlteration")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.CreateSceneAlterationPayload.verify(e.createSceneAlteration);if(t)return"createSceneAlteration."+t}}if(null!=e.drawFrame&&e.hasOwnProperty("drawFrame")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.DrawFramePayload.verify(e.drawFrame);if(t)return"drawFrame."+t}}if(null!=e.syncTime&&e.hasOwnProperty("syncTime")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.SyncTimePayload.verify(e.syncTime);if(t)return"syncTime."+t}}if(null!=e.recordPerformance&&e.hasOwnProperty("recordPerformance")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.RecordPerformancePayload.verify(e.recordPerformance);if(t)return"recordPerformance."+t}}if(null!=e.updateDimensions&&e.hasOwnProperty("updateDimensions")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.UpdateDimensionsPayload.verify(e.updateDimensions);if(t)return"updateDimensions."+t}}if(null!=e.updateStream&&e.hasOwnProperty("updateStream")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.UpdateStreamPayload.verify(e.updateStream);if(t)return"updateStream."+t}}if(null!=e.flyTo&&e.hasOwnProperty("flyTo")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.FlyToPayload.verify(e.flyTo);if(t)return"flyTo."+t}}if(null!=e.loadSceneViewState&&e.hasOwnProperty("loadSceneViewState")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.LoadSceneViewStatePayload.verify(e.loadSceneViewState);if(t)return"loadSceneViewState."+t}}if(null!=e.updateCrossSectioning&&e.hasOwnProperty("updateCrossSectioning")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.verify(e.updateCrossSectioning);if(t)return"updateCrossSectioning."+t}}if(null!=e.getStencilBuffer&&e.hasOwnProperty("getStencilBuffer")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.GetStencilBufferPayload.verify(e.getStencilBuffer);if(t)return"getStencilBuffer."+t}}if(null!=e.resetView&&e.hasOwnProperty("resetView")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.ResetViewPlayload.verify(e.resetView);if(t)return"resetView."+t}}if(null!=e.refreshToken&&e.hasOwnProperty("refreshToken")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.RefreshTokenPayload.verify(e.refreshToken);if(t)return"refreshToken."+t}}if(null!=e.updateInteraction&&e.hasOwnProperty("updateInteraction")){if(1===t.payload)return"payload: multiple values";t.payload=1;{let t=$root.vertexvis.protobuf.stream.UpdateInteractionPayload.verify(e.updateInteraction);if(t)return"updateInteraction."+t}}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.StreamRequest)return e;let t=new $root.vertexvis.protobuf.stream.StreamRequest;if(null!=e.requestId){if("object"!=typeof e.requestId)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.requestId: object expected");t.requestId=$root.google.protobuf.StringValue.fromObject(e.requestId)}if(null!=e.startStream){if("object"!=typeof e.startStream)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.startStream: object expected");t.startStream=$root.vertexvis.protobuf.stream.StartStreamPayload.fromObject(e.startStream)}if(null!=e.updateCamera){if("object"!=typeof e.updateCamera)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateCamera: object expected");t.updateCamera=$root.vertexvis.protobuf.stream.UpdateCameraPayload.fromObject(e.updateCamera)}if(null!=e.beginInteraction){if("object"!=typeof e.beginInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.beginInteraction: object expected");t.beginInteraction=$root.vertexvis.protobuf.stream.BeginInteractionPayload.fromObject(e.beginInteraction)}if(null!=e.endInteraction){if("object"!=typeof e.endInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.endInteraction: object expected");t.endInteraction=$root.vertexvis.protobuf.stream.EndInteractionPayload.fromObject(e.endInteraction)}if(null!=e.gracefulReconnection){if("object"!=typeof e.gracefulReconnection)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.gracefulReconnection: object expected");t.gracefulReconnection=$root.vertexvis.protobuf.stream.GracefulReconnectionPayload.fromObject(e.gracefulReconnection)}if(null!=e.reconnect){if("object"!=typeof e.reconnect)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.reconnect: object expected");t.reconnect=$root.vertexvis.protobuf.stream.ReconnectPayload.fromObject(e.reconnect)}if(null!=e.hitItems){if("object"!=typeof e.hitItems)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.hitItems: object expected");t.hitItems=$root.vertexvis.protobuf.stream.HitItemsPayload.fromObject(e.hitItems)}if(null!=e.createSceneAlteration){if("object"!=typeof e.createSceneAlteration)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.createSceneAlteration: object expected");t.createSceneAlteration=$root.vertexvis.protobuf.stream.CreateSceneAlterationPayload.fromObject(e.createSceneAlteration)}if(null!=e.drawFrame){if("object"!=typeof e.drawFrame)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.drawFrame: object expected");t.drawFrame=$root.vertexvis.protobuf.stream.DrawFramePayload.fromObject(e.drawFrame)}if(null!=e.syncTime){if("object"!=typeof e.syncTime)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.syncTime: object expected");t.syncTime=$root.vertexvis.protobuf.stream.SyncTimePayload.fromObject(e.syncTime)}if(null!=e.recordPerformance){if("object"!=typeof e.recordPerformance)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.recordPerformance: object expected");t.recordPerformance=$root.vertexvis.protobuf.stream.RecordPerformancePayload.fromObject(e.recordPerformance)}if(null!=e.updateDimensions){if("object"!=typeof e.updateDimensions)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateDimensions: object expected");t.updateDimensions=$root.vertexvis.protobuf.stream.UpdateDimensionsPayload.fromObject(e.updateDimensions)}if(null!=e.updateStream){if("object"!=typeof e.updateStream)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateStream: object expected");t.updateStream=$root.vertexvis.protobuf.stream.UpdateStreamPayload.fromObject(e.updateStream)}if(null!=e.flyTo){if("object"!=typeof e.flyTo)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.flyTo: object expected");t.flyTo=$root.vertexvis.protobuf.stream.FlyToPayload.fromObject(e.flyTo)}if(null!=e.loadSceneViewState){if("object"!=typeof e.loadSceneViewState)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.loadSceneViewState: object expected");t.loadSceneViewState=$root.vertexvis.protobuf.stream.LoadSceneViewStatePayload.fromObject(e.loadSceneViewState)}if(null!=e.updateCrossSectioning){if("object"!=typeof e.updateCrossSectioning)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateCrossSectioning: object expected");t.updateCrossSectioning=$root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.fromObject(e.updateCrossSectioning)}if(null!=e.getStencilBuffer){if("object"!=typeof e.getStencilBuffer)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.getStencilBuffer: object expected");t.getStencilBuffer=$root.vertexvis.protobuf.stream.GetStencilBufferPayload.fromObject(e.getStencilBuffer)}if(null!=e.resetView){if("object"!=typeof e.resetView)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.resetView: object expected");t.resetView=$root.vertexvis.protobuf.stream.ResetViewPlayload.fromObject(e.resetView)}if(null!=e.refreshToken){if("object"!=typeof e.refreshToken)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.refreshToken: object expected");t.refreshToken=$root.vertexvis.protobuf.stream.RefreshTokenPayload.fromObject(e.refreshToken)}if(null!=e.updateInteraction){if("object"!=typeof e.updateInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamRequest.updateInteraction: object expected");t.updateInteraction=$root.vertexvis.protobuf.stream.UpdateInteractionPayload.fromObject(e.updateInteraction)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.requestId=null),null!=e.requestId&&e.hasOwnProperty("requestId")&&(r.requestId=$root.google.protobuf.StringValue.toObject(e.requestId,t)),null!=e.startStream&&e.hasOwnProperty("startStream")&&(r.startStream=$root.vertexvis.protobuf.stream.StartStreamPayload.toObject(e.startStream,t),t.oneofs&&(r.payload="startStream")),null!=e.updateCamera&&e.hasOwnProperty("updateCamera")&&(r.updateCamera=$root.vertexvis.protobuf.stream.UpdateCameraPayload.toObject(e.updateCamera,t),t.oneofs&&(r.payload="updateCamera")),null!=e.beginInteraction&&e.hasOwnProperty("beginInteraction")&&(r.beginInteraction=$root.vertexvis.protobuf.stream.BeginInteractionPayload.toObject(e.beginInteraction,t),t.oneofs&&(r.payload="beginInteraction")),null!=e.endInteraction&&e.hasOwnProperty("endInteraction")&&(r.endInteraction=$root.vertexvis.protobuf.stream.EndInteractionPayload.toObject(e.endInteraction,t),t.oneofs&&(r.payload="endInteraction")),null!=e.gracefulReconnection&&e.hasOwnProperty("gracefulReconnection")&&(r.gracefulReconnection=$root.vertexvis.protobuf.stream.GracefulReconnectionPayload.toObject(e.gracefulReconnection,t),t.oneofs&&(r.payload="gracefulReconnection")),null!=e.reconnect&&e.hasOwnProperty("reconnect")&&(r.reconnect=$root.vertexvis.protobuf.stream.ReconnectPayload.toObject(e.reconnect,t),t.oneofs&&(r.payload="reconnect")),null!=e.hitItems&&e.hasOwnProperty("hitItems")&&(r.hitItems=$root.vertexvis.protobuf.stream.HitItemsPayload.toObject(e.hitItems,t),t.oneofs&&(r.payload="hitItems")),null!=e.createSceneAlteration&&e.hasOwnProperty("createSceneAlteration")&&(r.createSceneAlteration=$root.vertexvis.protobuf.stream.CreateSceneAlterationPayload.toObject(e.createSceneAlteration,t),t.oneofs&&(r.payload="createSceneAlteration")),null!=e.drawFrame&&e.hasOwnProperty("drawFrame")&&(r.drawFrame=$root.vertexvis.protobuf.stream.DrawFramePayload.toObject(e.drawFrame,t),t.oneofs&&(r.payload="drawFrame")),null!=e.syncTime&&e.hasOwnProperty("syncTime")&&(r.syncTime=$root.vertexvis.protobuf.stream.SyncTimePayload.toObject(e.syncTime,t),t.oneofs&&(r.payload="syncTime")),null!=e.recordPerformance&&e.hasOwnProperty("recordPerformance")&&(r.recordPerformance=$root.vertexvis.protobuf.stream.RecordPerformancePayload.toObject(e.recordPerformance,t),t.oneofs&&(r.payload="recordPerformance")),null!=e.updateDimensions&&e.hasOwnProperty("updateDimensions")&&(r.updateDimensions=$root.vertexvis.protobuf.stream.UpdateDimensionsPayload.toObject(e.updateDimensions,t),t.oneofs&&(r.payload="updateDimensions")),null!=e.updateStream&&e.hasOwnProperty("updateStream")&&(r.updateStream=$root.vertexvis.protobuf.stream.UpdateStreamPayload.toObject(e.updateStream,t),t.oneofs&&(r.payload="updateStream")),null!=e.flyTo&&e.hasOwnProperty("flyTo")&&(r.flyTo=$root.vertexvis.protobuf.stream.FlyToPayload.toObject(e.flyTo,t),t.oneofs&&(r.payload="flyTo")),null!=e.loadSceneViewState&&e.hasOwnProperty("loadSceneViewState")&&(r.loadSceneViewState=$root.vertexvis.protobuf.stream.LoadSceneViewStatePayload.toObject(e.loadSceneViewState,t),t.oneofs&&(r.payload="loadSceneViewState")),null!=e.updateCrossSectioning&&e.hasOwnProperty("updateCrossSectioning")&&(r.updateCrossSectioning=$root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload.toObject(e.updateCrossSectioning,t),t.oneofs&&(r.payload="updateCrossSectioning")),null!=e.getStencilBuffer&&e.hasOwnProperty("getStencilBuffer")&&(r.getStencilBuffer=$root.vertexvis.protobuf.stream.GetStencilBufferPayload.toObject(e.getStencilBuffer,t),t.oneofs&&(r.payload="getStencilBuffer")),null!=e.resetView&&e.hasOwnProperty("resetView")&&(r.resetView=$root.vertexvis.protobuf.stream.ResetViewPlayload.toObject(e.resetView,t),t.oneofs&&(r.payload="resetView")),null!=e.refreshToken&&e.hasOwnProperty("refreshToken")&&(r.refreshToken=$root.vertexvis.protobuf.stream.RefreshTokenPayload.toObject(e.refreshToken,t),t.oneofs&&(r.payload="refreshToken")),null!=e.updateInteraction&&e.hasOwnProperty("updateInteraction")&&(r.updateInteraction=$root.vertexvis.protobuf.stream.UpdateInteractionPayload.toObject(e.updateInteraction,t),t.oneofs&&(r.payload="updateInteraction")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.GracefulReconnectionPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.streamId=null,e.prototype.timeToReconnectDuration=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.streamId,t.uint32(10).fork()).ldelim(),null!=e.timeToReconnectDuration&&Object.hasOwnProperty.call(e,"timeToReconnectDuration")&&$root.google.protobuf.Duration.encode(e.timeToReconnectDuration,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.GracefulReconnectionPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.streamId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.timeToReconnectDuration=$root.google.protobuf.Duration.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streamId&&e.hasOwnProperty("streamId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.streamId);if(t)return"streamId."+t}if(null!=e.timeToReconnectDuration&&e.hasOwnProperty("timeToReconnectDuration")){let t=$root.google.protobuf.Duration.verify(e.timeToReconnectDuration);if(t)return"timeToReconnectDuration."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.GracefulReconnectionPayload)return e;let t=new $root.vertexvis.protobuf.stream.GracefulReconnectionPayload;if(null!=e.streamId){if("object"!=typeof e.streamId)throw TypeError(".vertexvis.protobuf.stream.GracefulReconnectionPayload.streamId: object expected");t.streamId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.streamId)}if(null!=e.timeToReconnectDuration){if("object"!=typeof e.timeToReconnectDuration)throw TypeError(".vertexvis.protobuf.stream.GracefulReconnectionPayload.timeToReconnectDuration: object expected");t.timeToReconnectDuration=$root.google.protobuf.Duration.fromObject(e.timeToReconnectDuration)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.streamId=null,r.timeToReconnectDuration=null),null!=e.streamId&&e.hasOwnProperty("streamId")&&(r.streamId=$root.vertexvis.protobuf.core.Uuid.toObject(e.streamId,t)),null!=e.timeToReconnectDuration&&e.hasOwnProperty("timeToReconnectDuration")&&(r.timeToReconnectDuration=$root.google.protobuf.Duration.toObject(e.timeToReconnectDuration,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.StartStreamPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.dimensions=null,e.prototype.frameCorrelationId=null,e.prototype.frameBackgroundColor=null,e.prototype.streamAttributes=null,e.prototype.streamKey=null,e.prototype.sceneViewStateId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.dimensions&&Object.hasOwnProperty.call(e,"dimensions")&&$root.vertexvis.protobuf.stream.Dimensions.encode(e.dimensions,t.uint32(10).fork()).ldelim(),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(18).fork()).ldelim(),null!=e.frameBackgroundColor&&Object.hasOwnProperty.call(e,"frameBackgroundColor")&&$root.vertexvis.protobuf.core.RGBi.encode(e.frameBackgroundColor,t.uint32(26).fork()).ldelim(),null!=e.streamAttributes&&Object.hasOwnProperty.call(e,"streamAttributes")&&$root.vertexvis.protobuf.stream.StreamAttributes.encode(e.streamAttributes,t.uint32(34).fork()).ldelim(),null!=e.streamKey&&Object.hasOwnProperty.call(e,"streamKey")&&$root.google.protobuf.StringValue.encode(e.streamKey,t.uint32(42).fork()).ldelim(),null!=e.sceneViewStateId&&Object.hasOwnProperty.call(e,"sceneViewStateId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.sceneViewStateId,t.uint32(50).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.StartStreamPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.dimensions=$root.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;case 2:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 3:n.frameBackgroundColor=$root.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;case 4:n.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.decode(e,e.uint32());break;case 5:n.streamKey=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 6:n.sceneViewStateId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.dimensions&&e.hasOwnProperty("dimensions")){let t=$root.vertexvis.protobuf.stream.Dimensions.verify(e.dimensions);if(t)return"dimensions."+t}if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}if(null!=e.frameBackgroundColor&&e.hasOwnProperty("frameBackgroundColor")){let t=$root.vertexvis.protobuf.core.RGBi.verify(e.frameBackgroundColor);if(t)return"frameBackgroundColor."+t}if(null!=e.streamAttributes&&e.hasOwnProperty("streamAttributes")){let t=$root.vertexvis.protobuf.stream.StreamAttributes.verify(e.streamAttributes);if(t)return"streamAttributes."+t}if(null!=e.streamKey&&e.hasOwnProperty("streamKey")){let t=$root.google.protobuf.StringValue.verify(e.streamKey);if(t)return"streamKey."+t}if(null!=e.sceneViewStateId&&e.hasOwnProperty("sceneViewStateId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.sceneViewStateId);if(t)return"sceneViewStateId."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.StartStreamPayload)return e;let t=new $root.vertexvis.protobuf.stream.StartStreamPayload;if(null!=e.dimensions){if("object"!=typeof e.dimensions)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.dimensions: object expected");t.dimensions=$root.vertexvis.protobuf.stream.Dimensions.fromObject(e.dimensions)}if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}if(null!=e.frameBackgroundColor){if("object"!=typeof e.frameBackgroundColor)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.frameBackgroundColor: object expected");t.frameBackgroundColor=$root.vertexvis.protobuf.core.RGBi.fromObject(e.frameBackgroundColor)}if(null!=e.streamAttributes){if("object"!=typeof e.streamAttributes)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.streamAttributes: object expected");t.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.fromObject(e.streamAttributes)}if(null!=e.streamKey){if("object"!=typeof e.streamKey)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.streamKey: object expected");t.streamKey=$root.google.protobuf.StringValue.fromObject(e.streamKey)}if(null!=e.sceneViewStateId){if("object"!=typeof e.sceneViewStateId)throw TypeError(".vertexvis.protobuf.stream.StartStreamPayload.sceneViewStateId: object expected");t.sceneViewStateId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.sceneViewStateId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.dimensions=null,r.frameCorrelationId=null,r.frameBackgroundColor=null,r.streamAttributes=null,r.streamKey=null,r.sceneViewStateId=null),null!=e.dimensions&&e.hasOwnProperty("dimensions")&&(r.dimensions=$root.vertexvis.protobuf.stream.Dimensions.toObject(e.dimensions,t)),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.frameBackgroundColor&&e.hasOwnProperty("frameBackgroundColor")&&(r.frameBackgroundColor=$root.vertexvis.protobuf.core.RGBi.toObject(e.frameBackgroundColor,t)),null!=e.streamAttributes&&e.hasOwnProperty("streamAttributes")&&(r.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.toObject(e.streamAttributes,t)),null!=e.streamKey&&e.hasOwnProperty("streamKey")&&(r.streamKey=$root.google.protobuf.StringValue.toObject(e.streamKey,t)),null!=e.sceneViewStateId&&e.hasOwnProperty("sceneViewStateId")&&(r.sceneViewStateId=$root.vertexvis.protobuf.core.Uuid.toObject(e.sceneViewStateId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.BeginInteractionPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.transform=null,Object.defineProperty(e.prototype,"interaction",{get:$util.oneOfGetter(t=["transform"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root.vertexvis.protobuf.stream.TransformInteraction.encode(e.transform,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.BeginInteractionPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.transform=$root.vertexvis.protobuf.stream.TransformInteraction.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root.vertexvis.protobuf.stream.TransformInteraction.verify(e.transform);if(t)return"transform."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.BeginInteractionPayload)return e;let t=new $root.vertexvis.protobuf.stream.BeginInteractionPayload;if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.stream.BeginInteractionPayload.transform: object expected");t.transform=$root.vertexvis.protobuf.stream.TransformInteraction.fromObject(e.transform)}return t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root.vertexvis.protobuf.stream.TransformInteraction.toObject(e.transform,t),t.oneofs&&(r.interaction="transform")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.UpdateInteractionPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.frameCorrelationId=null,e.prototype.transform=null,Object.defineProperty(e.prototype,"interaction",{get:$util.oneOfGetter(t=["transform"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(10).fork()).ldelim(),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root.vertexvis.protobuf.stream.TransformInteraction.encode(e.transform,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.UpdateInteractionPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.transform=$root.vertexvis.protobuf.stream.TransformInteraction.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root.vertexvis.protobuf.stream.TransformInteraction.verify(e.transform);if(t)return"transform."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.UpdateInteractionPayload)return e;let t=new $root.vertexvis.protobuf.stream.UpdateInteractionPayload;if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateInteractionPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.stream.UpdateInteractionPayload.transform: object expected");t.transform=$root.vertexvis.protobuf.stream.TransformInteraction.fromObject(e.transform)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.frameCorrelationId=null),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root.vertexvis.protobuf.stream.TransformInteraction.toObject(e.transform,t),t.oneofs&&(r.interaction="transform")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.EndInteractionPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.frameCorrelationId=null,e.prototype.transform=null,Object.defineProperty(e.prototype,"interaction",{get:$util.oneOfGetter(t=["transform"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(10).fork()).ldelim(),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root.vertexvis.protobuf.stream.TransformInteraction.encode(e.transform,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.EndInteractionPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.transform=$root.vertexvis.protobuf.stream.TransformInteraction.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root.vertexvis.protobuf.stream.TransformInteraction.verify(e.transform);if(t)return"transform."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.EndInteractionPayload)return e;let t=new $root.vertexvis.protobuf.stream.EndInteractionPayload;if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.EndInteractionPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.stream.EndInteractionPayload.transform: object expected");t.transform=$root.vertexvis.protobuf.stream.TransformInteraction.fromObject(e.transform)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.frameCorrelationId=null),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root.vertexvis.protobuf.stream.TransformInteraction.toObject(e.transform,t),t.oneofs&&(r.interaction="transform")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.UpdateCameraPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.camera=null,e.prototype.frameCorrelationId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.camera&&Object.hasOwnProperty.call(e,"camera")&&$root.vertexvis.protobuf.stream.Camera.encode(e.camera,t.uint32(10).fork()).ldelim(),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.UpdateCameraPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.camera=$root.vertexvis.protobuf.stream.Camera.decode(e,e.uint32());break;case 2:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.camera&&e.hasOwnProperty("camera")){let t=$root.vertexvis.protobuf.stream.Camera.verify(e.camera);if(t)return"camera."+t}if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.UpdateCameraPayload)return e;let t=new $root.vertexvis.protobuf.stream.UpdateCameraPayload;if(null!=e.camera){if("object"!=typeof e.camera)throw TypeError(".vertexvis.protobuf.stream.UpdateCameraPayload.camera: object expected");t.camera=$root.vertexvis.protobuf.stream.Camera.fromObject(e.camera)}if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateCameraPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.camera=null,r.frameCorrelationId=null),null!=e.camera&&e.hasOwnProperty("camera")&&(r.camera=$root.vertexvis.protobuf.stream.Camera.toObject(e.camera,t)),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ReconnectPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.streamId=null,e.prototype.dimensions=null,e.prototype.frameCorrelationId=null,e.prototype.frameBackgroundColor=null,e.prototype.streamAttributes=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.streamId,t.uint32(10).fork()).ldelim(),null!=e.dimensions&&Object.hasOwnProperty.call(e,"dimensions")&&$root.vertexvis.protobuf.stream.Dimensions.encode(e.dimensions,t.uint32(18).fork()).ldelim(),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(26).fork()).ldelim(),null!=e.frameBackgroundColor&&Object.hasOwnProperty.call(e,"frameBackgroundColor")&&$root.vertexvis.protobuf.core.RGBi.encode(e.frameBackgroundColor,t.uint32(34).fork()).ldelim(),null!=e.streamAttributes&&Object.hasOwnProperty.call(e,"streamAttributes")&&$root.vertexvis.protobuf.stream.StreamAttributes.encode(e.streamAttributes,t.uint32(42).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.ReconnectPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.streamId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.dimensions=$root.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;case 3:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 4:n.frameBackgroundColor=$root.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;case 5:n.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streamId&&e.hasOwnProperty("streamId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.streamId);if(t)return"streamId."+t}if(null!=e.dimensions&&e.hasOwnProperty("dimensions")){let t=$root.vertexvis.protobuf.stream.Dimensions.verify(e.dimensions);if(t)return"dimensions."+t}if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}if(null!=e.frameBackgroundColor&&e.hasOwnProperty("frameBackgroundColor")){let t=$root.vertexvis.protobuf.core.RGBi.verify(e.frameBackgroundColor);if(t)return"frameBackgroundColor."+t}if(null!=e.streamAttributes&&e.hasOwnProperty("streamAttributes")){let t=$root.vertexvis.protobuf.stream.StreamAttributes.verify(e.streamAttributes);if(t)return"streamAttributes."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.ReconnectPayload)return e;let t=new $root.vertexvis.protobuf.stream.ReconnectPayload;if(null!=e.streamId){if("object"!=typeof e.streamId)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.streamId: object expected");t.streamId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.streamId)}if(null!=e.dimensions){if("object"!=typeof e.dimensions)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.dimensions: object expected");t.dimensions=$root.vertexvis.protobuf.stream.Dimensions.fromObject(e.dimensions)}if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}if(null!=e.frameBackgroundColor){if("object"!=typeof e.frameBackgroundColor)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.frameBackgroundColor: object expected");t.frameBackgroundColor=$root.vertexvis.protobuf.core.RGBi.fromObject(e.frameBackgroundColor)}if(null!=e.streamAttributes){if("object"!=typeof e.streamAttributes)throw TypeError(".vertexvis.protobuf.stream.ReconnectPayload.streamAttributes: object expected");t.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.fromObject(e.streamAttributes)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.streamId=null,r.dimensions=null,r.frameCorrelationId=null,r.frameBackgroundColor=null,r.streamAttributes=null),null!=e.streamId&&e.hasOwnProperty("streamId")&&(r.streamId=$root.vertexvis.protobuf.core.Uuid.toObject(e.streamId,t)),null!=e.dimensions&&e.hasOwnProperty("dimensions")&&(r.dimensions=$root.vertexvis.protobuf.stream.Dimensions.toObject(e.dimensions,t)),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.frameBackgroundColor&&e.hasOwnProperty("frameBackgroundColor")&&(r.frameBackgroundColor=$root.vertexvis.protobuf.core.RGBi.toObject(e.frameBackgroundColor,t)),null!=e.streamAttributes&&e.hasOwnProperty("streamAttributes")&&(r.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.toObject(e.streamAttributes,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.UpdateDimensionsPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.dimensions=null,e.prototype.frameCorrelationId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.dimensions&&Object.hasOwnProperty.call(e,"dimensions")&&$root.vertexvis.protobuf.stream.Dimensions.encode(e.dimensions,t.uint32(10).fork()).ldelim(),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.UpdateDimensionsPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.dimensions=$root.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;case 2:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.dimensions&&e.hasOwnProperty("dimensions")){let t=$root.vertexvis.protobuf.stream.Dimensions.verify(e.dimensions);if(t)return"dimensions."+t}if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.UpdateDimensionsPayload)return e;let t=new $root.vertexvis.protobuf.stream.UpdateDimensionsPayload;if(null!=e.dimensions){if("object"!=typeof e.dimensions)throw TypeError(".vertexvis.protobuf.stream.UpdateDimensionsPayload.dimensions: object expected");t.dimensions=$root.vertexvis.protobuf.stream.Dimensions.fromObject(e.dimensions)}if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateDimensionsPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.dimensions=null,r.frameCorrelationId=null),null!=e.dimensions&&e.hasOwnProperty("dimensions")&&(r.dimensions=$root.vertexvis.protobuf.stream.Dimensions.toObject(e.dimensions,t)),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.HitItemsPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.point=null,e.prototype.includeMetadata=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.point&&Object.hasOwnProperty.call(e,"point")&&$root.vertexvis.protobuf.stream.Point.encode(e.point,t.uint32(10).fork()).ldelim(),null!=e.includeMetadata&&Object.hasOwnProperty.call(e,"includeMetadata")&&t.uint32(16).bool(e.includeMetadata),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.HitItemsPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.point=$root.vertexvis.protobuf.stream.Point.decode(e,e.uint32());break;case 2:n.includeMetadata=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.point&&e.hasOwnProperty("point")){let t=$root.vertexvis.protobuf.stream.Point.verify(e.point);if(t)return"point."+t}return null!=e.includeMetadata&&e.hasOwnProperty("includeMetadata")&&"boolean"!=typeof e.includeMetadata?"includeMetadata: boolean expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.HitItemsPayload)return e;let t=new $root.vertexvis.protobuf.stream.HitItemsPayload;if(null!=e.point){if("object"!=typeof e.point)throw TypeError(".vertexvis.protobuf.stream.HitItemsPayload.point: object expected");t.point=$root.vertexvis.protobuf.stream.Point.fromObject(e.point)}return null!=e.includeMetadata&&(t.includeMetadata=Boolean(e.includeMetadata)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.point=null,r.includeMetadata=!1),null!=e.point&&e.hasOwnProperty("point")&&(r.point=$root.vertexvis.protobuf.stream.Point.toObject(e.point,t)),null!=e.includeMetadata&&e.hasOwnProperty("includeMetadata")&&(r.includeMetadata=e.includeMetadata),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.CreateSceneAlterationPayload=function(){function e(e){if(this.operations=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.sceneViewId=null,e.prototype.operations=$util.emptyArray,e.prototype.suppliedCorrelationId=null,Object.defineProperty(e.prototype,"id",{get:$util.oneOfGetter(t=["sceneViewId"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer.create()),null!=e.sceneViewId&&Object.hasOwnProperty.call(e,"sceneViewId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.sceneViewId,t.uint32(10).fork()).ldelim(),null!=e.operations&&e.operations.length)for(let r=0;r<e.operations.length;++r)$root.vertexvis.protobuf.stream.SceneOperation.encode(e.operations[r],t.uint32(18).fork()).ldelim();return null!=e.suppliedCorrelationId&&Object.hasOwnProperty.call(e,"suppliedCorrelationId")&&$root.google.protobuf.StringValue.encode(e.suppliedCorrelationId,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.CreateSceneAlterationPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.sceneViewId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.operations&&n.operations.length||(n.operations=[]),n.operations.push($root.vertexvis.protobuf.stream.SceneOperation.decode(e,e.uint32()));break;case 3:n.suppliedCorrelationId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sceneViewId&&e.hasOwnProperty("sceneViewId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.sceneViewId);if(t)return"sceneViewId."+t}if(null!=e.operations&&e.hasOwnProperty("operations")){if(!Array.isArray(e.operations))return"operations: array expected";for(let t=0;t<e.operations.length;++t){let r=$root.vertexvis.protobuf.stream.SceneOperation.verify(e.operations[t]);if(r)return"operations."+r}}if(null!=e.suppliedCorrelationId&&e.hasOwnProperty("suppliedCorrelationId")){let t=$root.google.protobuf.StringValue.verify(e.suppliedCorrelationId);if(t)return"suppliedCorrelationId."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.CreateSceneAlterationPayload)return e;let t=new $root.vertexvis.protobuf.stream.CreateSceneAlterationPayload;if(null!=e.sceneViewId){if("object"!=typeof e.sceneViewId)throw TypeError(".vertexvis.protobuf.stream.CreateSceneAlterationPayload.sceneViewId: object expected");t.sceneViewId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.sceneViewId)}if(e.operations){if(!Array.isArray(e.operations))throw TypeError(".vertexvis.protobuf.stream.CreateSceneAlterationPayload.operations: array expected");t.operations=[];for(let r=0;r<e.operations.length;++r){if("object"!=typeof e.operations[r])throw TypeError(".vertexvis.protobuf.stream.CreateSceneAlterationPayload.operations: object expected");t.operations[r]=$root.vertexvis.protobuf.stream.SceneOperation.fromObject(e.operations[r])}}if(null!=e.suppliedCorrelationId){if("object"!=typeof e.suppliedCorrelationId)throw TypeError(".vertexvis.protobuf.stream.CreateSceneAlterationPayload.suppliedCorrelationId: object expected");t.suppliedCorrelationId=$root.google.protobuf.StringValue.fromObject(e.suppliedCorrelationId)}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.operations=[]),t.defaults&&(r.suppliedCorrelationId=null),null!=e.sceneViewId&&e.hasOwnProperty("sceneViewId")&&(r.sceneViewId=$root.vertexvis.protobuf.core.Uuid.toObject(e.sceneViewId,t),t.oneofs&&(r.id="sceneViewId")),e.operations&&e.operations.length){r.operations=[];for(let n=0;n<e.operations.length;++n)r.operations[n]=$root.vertexvis.protobuf.stream.SceneOperation.toObject(e.operations[n],t)}return null!=e.suppliedCorrelationId&&e.hasOwnProperty("suppliedCorrelationId")&&(r.suppliedCorrelationId=$root.google.protobuf.StringValue.toObject(e.suppliedCorrelationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.DrawFramePayload=function(){function e(e){if(this.frameCorrelationIds=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.sequenceNumber=0,e.prototype.sceneAttributes=null,e.prototype.imageAttributes=null,e.prototype.image=$util.newBuffer([]),e.prototype.frameCorrelationIds=$util.emptyArray,e.prototype.depthBuffer=null,e.prototype.featureMap=null,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer.create()),null!=e.sequenceNumber&&Object.hasOwnProperty.call(e,"sequenceNumber")&&t.uint32(8).uint32(e.sequenceNumber),null!=e.sceneAttributes&&Object.hasOwnProperty.call(e,"sceneAttributes")&&$root.vertexvis.protobuf.stream.SceneAttributes.encode(e.sceneAttributes,t.uint32(18).fork()).ldelim(),null!=e.imageAttributes&&Object.hasOwnProperty.call(e,"imageAttributes")&&$root.vertexvis.protobuf.stream.ImageAttributes.encode(e.imageAttributes,t.uint32(26).fork()).ldelim(),null!=e.image&&Object.hasOwnProperty.call(e,"image")&&t.uint32(34).bytes(e.image),null!=e.frameCorrelationIds&&e.frameCorrelationIds.length)for(let r=0;r<e.frameCorrelationIds.length;++r)t.uint32(42).string(e.frameCorrelationIds[r]);return null!=e.depthBuffer&&Object.hasOwnProperty.call(e,"depthBuffer")&&$root.google.protobuf.BytesValue.encode(e.depthBuffer,t.uint32(50).fork()).ldelim(),null!=e.featureMap&&Object.hasOwnProperty.call(e,"featureMap")&&$root.google.protobuf.BytesValue.encode(e.featureMap,t.uint32(58).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.DrawFramePayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.sequenceNumber=e.uint32();break;case 2:n.sceneAttributes=$root.vertexvis.protobuf.stream.SceneAttributes.decode(e,e.uint32());break;case 3:n.imageAttributes=$root.vertexvis.protobuf.stream.ImageAttributes.decode(e,e.uint32());break;case 4:n.image=e.bytes();break;case 5:n.frameCorrelationIds&&n.frameCorrelationIds.length||(n.frameCorrelationIds=[]),n.frameCorrelationIds.push(e.string());break;case 6:n.depthBuffer=$root.google.protobuf.BytesValue.decode(e,e.uint32());break;case 7:n.featureMap=$root.google.protobuf.BytesValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sequenceNumber&&e.hasOwnProperty("sequenceNumber")&&!$util.isInteger(e.sequenceNumber))return"sequenceNumber: integer expected";if(null!=e.sceneAttributes&&e.hasOwnProperty("sceneAttributes")){let t=$root.vertexvis.protobuf.stream.SceneAttributes.verify(e.sceneAttributes);if(t)return"sceneAttributes."+t}if(null!=e.imageAttributes&&e.hasOwnProperty("imageAttributes")){let t=$root.vertexvis.protobuf.stream.ImageAttributes.verify(e.imageAttributes);if(t)return"imageAttributes."+t}if(null!=e.image&&e.hasOwnProperty("image")&&!(e.image&&"number"==typeof e.image.length||$util.isString(e.image)))return"image: buffer expected";if(null!=e.frameCorrelationIds&&e.hasOwnProperty("frameCorrelationIds")){if(!Array.isArray(e.frameCorrelationIds))return"frameCorrelationIds: array expected";for(let t=0;t<e.frameCorrelationIds.length;++t)if(!$util.isString(e.frameCorrelationIds[t]))return"frameCorrelationIds: string[] expected"}if(null!=e.depthBuffer&&e.hasOwnProperty("depthBuffer")){let t=$root.google.protobuf.BytesValue.verify(e.depthBuffer);if(t)return"depthBuffer."+t}if(null!=e.featureMap&&e.hasOwnProperty("featureMap")){let t=$root.google.protobuf.BytesValue.verify(e.featureMap);if(t)return"featureMap."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.DrawFramePayload)return e;let t=new $root.vertexvis.protobuf.stream.DrawFramePayload;if(null!=e.sequenceNumber&&(t.sequenceNumber=e.sequenceNumber>>>0),null!=e.sceneAttributes){if("object"!=typeof e.sceneAttributes)throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.sceneAttributes: object expected");t.sceneAttributes=$root.vertexvis.protobuf.stream.SceneAttributes.fromObject(e.sceneAttributes)}if(null!=e.imageAttributes){if("object"!=typeof e.imageAttributes)throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.imageAttributes: object expected");t.imageAttributes=$root.vertexvis.protobuf.stream.ImageAttributes.fromObject(e.imageAttributes)}if(null!=e.image&&("string"==typeof e.image?$util.base64.decode(e.image,t.image=$util.newBuffer($util.base64.length(e.image)),0):e.image.length&&(t.image=e.image)),e.frameCorrelationIds){if(!Array.isArray(e.frameCorrelationIds))throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.frameCorrelationIds: array expected");t.frameCorrelationIds=[];for(let r=0;r<e.frameCorrelationIds.length;++r)t.frameCorrelationIds[r]=String(e.frameCorrelationIds[r])}if(null!=e.depthBuffer){if("object"!=typeof e.depthBuffer)throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.depthBuffer: object expected");t.depthBuffer=$root.google.protobuf.BytesValue.fromObject(e.depthBuffer)}if(null!=e.featureMap){if("object"!=typeof e.featureMap)throw TypeError(".vertexvis.protobuf.stream.DrawFramePayload.featureMap: object expected");t.featureMap=$root.google.protobuf.BytesValue.fromObject(e.featureMap)}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.frameCorrelationIds=[]),t.defaults&&(r.sequenceNumber=0,r.sceneAttributes=null,r.imageAttributes=null,t.bytes===String?r.image="":(r.image=[],t.bytes!==Array&&(r.image=$util.newBuffer(r.image))),r.depthBuffer=null,r.featureMap=null),null!=e.sequenceNumber&&e.hasOwnProperty("sequenceNumber")&&(r.sequenceNumber=e.sequenceNumber),null!=e.sceneAttributes&&e.hasOwnProperty("sceneAttributes")&&(r.sceneAttributes=$root.vertexvis.protobuf.stream.SceneAttributes.toObject(e.sceneAttributes,t)),null!=e.imageAttributes&&e.hasOwnProperty("imageAttributes")&&(r.imageAttributes=$root.vertexvis.protobuf.stream.ImageAttributes.toObject(e.imageAttributes,t)),null!=e.image&&e.hasOwnProperty("image")&&(r.image=t.bytes===String?$util.base64.encode(e.image,0,e.image.length):t.bytes===Array?Array.prototype.slice.call(e.image):e.image),e.frameCorrelationIds&&e.frameCorrelationIds.length){r.frameCorrelationIds=[];for(let t=0;t<e.frameCorrelationIds.length;++t)r.frameCorrelationIds[t]=e.frameCorrelationIds[t]}return null!=e.depthBuffer&&e.hasOwnProperty("depthBuffer")&&(r.depthBuffer=$root.google.protobuf.BytesValue.toObject(e.depthBuffer,t)),null!=e.featureMap&&e.hasOwnProperty("featureMap")&&(r.featureMap=$root.google.protobuf.BytesValue.toObject(e.featureMap,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.SyncTimePayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.requestTime=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.requestTime&&Object.hasOwnProperty.call(e,"requestTime")&&$root.google.protobuf.Timestamp.encode(e.requestTime,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.SyncTimePayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.requestTime=$root.google.protobuf.Timestamp.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.requestTime&&e.hasOwnProperty("requestTime")){let t=$root.google.protobuf.Timestamp.verify(e.requestTime);if(t)return"requestTime."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.SyncTimePayload)return e;let t=new $root.vertexvis.protobuf.stream.SyncTimePayload;if(null!=e.requestTime){if("object"!=typeof e.requestTime)throw TypeError(".vertexvis.protobuf.stream.SyncTimePayload.requestTime: object expected");t.requestTime=$root.google.protobuf.Timestamp.fromObject(e.requestTime)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.requestTime=null),null!=e.requestTime&&e.hasOwnProperty("requestTime")&&(r.requestTime=$root.google.protobuf.Timestamp.toObject(e.requestTime,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.RecordPerformancePayload=function(){function e(e){if(this.timings=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.timings=$util.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer.create()),null!=e.timings&&e.timings.length)for(let r=0;r<e.timings.length;++r)$root.vertexvis.protobuf.stream.PerformanceTiming.encode(e.timings[r],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.RecordPerformancePayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.timings&&n.timings.length||(n.timings=[]),n.timings.push($root.vertexvis.protobuf.stream.PerformanceTiming.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.timings&&e.hasOwnProperty("timings")){if(!Array.isArray(e.timings))return"timings: array expected";for(let t=0;t<e.timings.length;++t){let r=$root.vertexvis.protobuf.stream.PerformanceTiming.verify(e.timings[t]);if(r)return"timings."+r}}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.RecordPerformancePayload)return e;let t=new $root.vertexvis.protobuf.stream.RecordPerformancePayload;if(e.timings){if(!Array.isArray(e.timings))throw TypeError(".vertexvis.protobuf.stream.RecordPerformancePayload.timings: array expected");t.timings=[];for(let r=0;r<e.timings.length;++r){if("object"!=typeof e.timings[r])throw TypeError(".vertexvis.protobuf.stream.RecordPerformancePayload.timings: object expected");t.timings[r]=$root.vertexvis.protobuf.stream.PerformanceTiming.fromObject(e.timings[r])}}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.timings=[]),e.timings&&e.timings.length){r.timings=[];for(let n=0;n<e.timings.length;++n)r.timings[n]=$root.vertexvis.protobuf.stream.PerformanceTiming.toObject(e.timings[n],t)}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.UpdateStreamPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.frameCorrelationId=null,e.prototype.streamAttributes=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(10).fork()).ldelim(),null!=e.streamAttributes&&Object.hasOwnProperty.call(e,"streamAttributes")&&$root.vertexvis.protobuf.stream.StreamAttributes.encode(e.streamAttributes,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.UpdateStreamPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}if(null!=e.streamAttributes&&e.hasOwnProperty("streamAttributes")){let t=$root.vertexvis.protobuf.stream.StreamAttributes.verify(e.streamAttributes);if(t)return"streamAttributes."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.UpdateStreamPayload)return e;let t=new $root.vertexvis.protobuf.stream.UpdateStreamPayload;if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateStreamPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}if(null!=e.streamAttributes){if("object"!=typeof e.streamAttributes)throw TypeError(".vertexvis.protobuf.stream.UpdateStreamPayload.streamAttributes: object expected");t.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.fromObject(e.streamAttributes)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.frameCorrelationId=null,r.streamAttributes=null),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.streamAttributes&&e.hasOwnProperty("streamAttributes")&&(r.streamAttributes=$root.vertexvis.protobuf.stream.StreamAttributes.toObject(e.streamAttributes,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.FlyToPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.frameCorrelationId=null,e.prototype.animation=null,e.prototype.itemId=null,e.prototype.itemSuppliedId=null,e.prototype.boundingBox=null,e.prototype.camera=null,Object.defineProperty(e.prototype,"flyToType",{get:$util.oneOfGetter(t=["itemId","itemSuppliedId","boundingBox","camera"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(10).fork()).ldelim(),null!=e.animation&&Object.hasOwnProperty.call(e,"animation")&&$root.vertexvis.protobuf.stream.AnimationAttributes.encode(e.animation,t.uint32(18).fork()).ldelim(),null!=e.itemId&&Object.hasOwnProperty.call(e,"itemId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.itemId,t.uint32(26).fork()).ldelim(),null!=e.itemSuppliedId&&Object.hasOwnProperty.call(e,"itemSuppliedId")&&t.uint32(34).string(e.itemSuppliedId),null!=e.boundingBox&&Object.hasOwnProperty.call(e,"boundingBox")&&$root.vertexvis.protobuf.core.BoundingBox3f.encode(e.boundingBox,t.uint32(42).fork()).ldelim(),null!=e.camera&&Object.hasOwnProperty.call(e,"camera")&&$root.vertexvis.protobuf.stream.Camera.encode(e.camera,t.uint32(50).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.FlyToPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.animation=$root.vertexvis.protobuf.stream.AnimationAttributes.decode(e,e.uint32());break;case 3:n.itemId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 4:n.itemSuppliedId=e.string();break;case 5:n.boundingBox=$root.vertexvis.protobuf.core.BoundingBox3f.decode(e,e.uint32());break;case 6:n.camera=$root.vertexvis.protobuf.stream.Camera.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}if(null!=e.animation&&e.hasOwnProperty("animation")){let t=$root.vertexvis.protobuf.stream.AnimationAttributes.verify(e.animation);if(t)return"animation."+t}if(null!=e.itemId&&e.hasOwnProperty("itemId")){t.flyToType=1;{let t=$root.vertexvis.protobuf.core.Uuid.verify(e.itemId);if(t)return"itemId."+t}}if(null!=e.itemSuppliedId&&e.hasOwnProperty("itemSuppliedId")){if(1===t.flyToType)return"flyToType: multiple values";if(t.flyToType=1,!$util.isString(e.itemSuppliedId))return"itemSuppliedId: string expected"}if(null!=e.boundingBox&&e.hasOwnProperty("boundingBox")){if(1===t.flyToType)return"flyToType: multiple values";t.flyToType=1;{let t=$root.vertexvis.protobuf.core.BoundingBox3f.verify(e.boundingBox);if(t)return"boundingBox."+t}}if(null!=e.camera&&e.hasOwnProperty("camera")){if(1===t.flyToType)return"flyToType: multiple values";t.flyToType=1;{let t=$root.vertexvis.protobuf.stream.Camera.verify(e.camera);if(t)return"camera."+t}}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.FlyToPayload)return e;let t=new $root.vertexvis.protobuf.stream.FlyToPayload;if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}if(null!=e.animation){if("object"!=typeof e.animation)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.animation: object expected");t.animation=$root.vertexvis.protobuf.stream.AnimationAttributes.fromObject(e.animation)}if(null!=e.itemId){if("object"!=typeof e.itemId)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.itemId: object expected");t.itemId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.itemId)}if(null!=e.itemSuppliedId&&(t.itemSuppliedId=String(e.itemSuppliedId)),null!=e.boundingBox){if("object"!=typeof e.boundingBox)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.boundingBox: object expected");t.boundingBox=$root.vertexvis.protobuf.core.BoundingBox3f.fromObject(e.boundingBox)}if(null!=e.camera){if("object"!=typeof e.camera)throw TypeError(".vertexvis.protobuf.stream.FlyToPayload.camera: object expected");t.camera=$root.vertexvis.protobuf.stream.Camera.fromObject(e.camera)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.frameCorrelationId=null,r.animation=null),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.animation&&e.hasOwnProperty("animation")&&(r.animation=$root.vertexvis.protobuf.stream.AnimationAttributes.toObject(e.animation,t)),null!=e.itemId&&e.hasOwnProperty("itemId")&&(r.itemId=$root.vertexvis.protobuf.core.Uuid.toObject(e.itemId,t),t.oneofs&&(r.flyToType="itemId")),null!=e.itemSuppliedId&&e.hasOwnProperty("itemSuppliedId")&&(r.itemSuppliedId=e.itemSuppliedId,t.oneofs&&(r.flyToType="itemSuppliedId")),null!=e.boundingBox&&e.hasOwnProperty("boundingBox")&&(r.boundingBox=$root.vertexvis.protobuf.core.BoundingBox3f.toObject(e.boundingBox,t),t.oneofs&&(r.flyToType="boundingBox")),null!=e.camera&&e.hasOwnProperty("camera")&&(r.camera=$root.vertexvis.protobuf.stream.Camera.toObject(e.camera,t),t.oneofs&&(r.flyToType="camera")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.LoadSceneViewStatePayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.sceneViewStateId=null,e.prototype.frameCorrelationId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.sceneViewStateId&&Object.hasOwnProperty.call(e,"sceneViewStateId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.sceneViewStateId,t.uint32(10).fork()).ldelim(),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.LoadSceneViewStatePayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.sceneViewStateId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sceneViewStateId&&e.hasOwnProperty("sceneViewStateId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.sceneViewStateId);if(t)return"sceneViewStateId."+t}if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.LoadSceneViewStatePayload)return e;let t=new $root.vertexvis.protobuf.stream.LoadSceneViewStatePayload;if(null!=e.sceneViewStateId){if("object"!=typeof e.sceneViewStateId)throw TypeError(".vertexvis.protobuf.stream.LoadSceneViewStatePayload.sceneViewStateId: object expected");t.sceneViewStateId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.sceneViewStateId)}if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.LoadSceneViewStatePayload.frameCorrelationId: object expected");t.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.sceneViewStateId=null,r.frameCorrelationId=null),null!=e.sceneViewStateId&&e.hasOwnProperty("sceneViewStateId")&&(r.sceneViewStateId=$root.vertexvis.protobuf.core.Uuid.toObject(e.sceneViewStateId,t)),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ResetViewPlayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.frameCorrelationId=null,e.prototype.includeCamera=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(10).fork()).ldelim(),null!=e.includeCamera&&Object.hasOwnProperty.call(e,"includeCamera")&&t.uint32(16).bool(e.includeCamera),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.ResetViewPlayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.includeCamera=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}return null!=e.includeCamera&&e.hasOwnProperty("includeCamera")&&"boolean"!=typeof e.includeCamera?"includeCamera: boolean expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.ResetViewPlayload)return e;let t=new $root.vertexvis.protobuf.stream.ResetViewPlayload;if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.ResetViewPlayload.frameCorrelationId: object expected");t.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}return null!=e.includeCamera&&(t.includeCamera=Boolean(e.includeCamera)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.frameCorrelationId=null,r.includeCamera=!1),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),null!=e.includeCamera&&e.hasOwnProperty("includeCamera")&&(r.includeCamera=e.includeCamera),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.UpdateCrossSectioningPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.crossSectioning=null,e.prototype.frameCorrelationId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.crossSectioning&&Object.hasOwnProperty.call(e,"crossSectioning")&&$root.vertexvis.protobuf.stream.CrossSectioning.encode(e.crossSectioning,t.uint32(10).fork()).ldelim(),null!=e.frameCorrelationId&&Object.hasOwnProperty.call(e,"frameCorrelationId")&&$root.google.protobuf.StringValue.encode(e.frameCorrelationId,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.decode(e,e.uint32());break;case 2:n.frameCorrelationId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.crossSectioning&&e.hasOwnProperty("crossSectioning")){let t=$root.vertexvis.protobuf.stream.CrossSectioning.verify(e.crossSectioning);if(t)return"crossSectioning."+t}if(null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")){let t=$root.google.protobuf.StringValue.verify(e.frameCorrelationId);if(t)return"frameCorrelationId."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload)return e;let t=new $root.vertexvis.protobuf.stream.UpdateCrossSectioningPayload;if(null!=e.crossSectioning){if("object"!=typeof e.crossSectioning)throw TypeError(".vertexvis.protobuf.stream.UpdateCrossSectioningPayload.crossSectioning: object expected");t.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.fromObject(e.crossSectioning)}if(null!=e.frameCorrelationId){if("object"!=typeof e.frameCorrelationId)throw TypeError(".vertexvis.protobuf.stream.UpdateCrossSectioningPayload.frameCorrelationId: object expected");t.frameCorrelationId=$root.google.protobuf.StringValue.fromObject(e.frameCorrelationId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.crossSectioning=null,r.frameCorrelationId=null),null!=e.crossSectioning&&e.hasOwnProperty("crossSectioning")&&(r.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.toObject(e.crossSectioning,t)),null!=e.frameCorrelationId&&e.hasOwnProperty("frameCorrelationId")&&(r.frameCorrelationId=$root.google.protobuf.StringValue.toObject(e.frameCorrelationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.GetStencilBufferPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.includeDepthBuffer=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.includeDepthBuffer&&Object.hasOwnProperty.call(e,"includeDepthBuffer")&&t.uint32(8).bool(e.includeDepthBuffer),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.GetStencilBufferPayload;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.includeDepthBuffer=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.includeDepthBuffer&&e.hasOwnProperty("includeDepthBuffer")&&"boolean"!=typeof e.includeDepthBuffer?"includeDepthBuffer: boolean expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.GetStencilBufferPayload)return e;let t=new $root.vertexvis.protobuf.stream.GetStencilBufferPayload;return null!=e.includeDepthBuffer&&(t.includeDepthBuffer=Boolean(e.includeDepthBuffer)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.includeDepthBuffer=!1),null!=e.includeDepthBuffer&&e.hasOwnProperty("includeDepthBuffer")&&(r.includeDepthBuffer=e.includeDepthBuffer),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.RefreshTokenPayload=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.RefreshTokenPayload;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root.vertexvis.protobuf.stream.RefreshTokenPayload?e:new $root.vertexvis.protobuf.stream.RefreshTokenPayload},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.StreamResponse=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.requestId=null,e.prototype.error=null,e.prototype.startStream=null,e.prototype.updateCamera=null,e.prototype.beginInteraction=null,e.prototype.endInteraction=null,e.prototype.gracefulReconnection=null,e.prototype.reconnect=null,e.prototype.hitItems=null,e.prototype.drawFrame=null,e.prototype.syncTime=null,e.prototype.recordPerformance=null,e.prototype.updateDimensions=null,e.prototype.updateStream=null,e.prototype.flyTo=null,e.prototype.loadSceneViewState=null,e.prototype.updateCrossSectioning=null,e.prototype.stencilBuffer=null,e.prototype.resetView=null,e.prototype.refreshToken=null,e.prototype.updateInteraction=null,Object.defineProperty(e.prototype,"result",{get:$util.oneOfGetter(t=["startStream","updateCamera","beginInteraction","endInteraction","gracefulReconnection","reconnect","hitItems","drawFrame","syncTime","recordPerformance","updateDimensions","updateStream","flyTo","loadSceneViewState","updateCrossSectioning","stencilBuffer","resetView","refreshToken","updateInteraction"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&$root.google.protobuf.StringValue.encode(e.requestId,t.uint32(10).fork()).ldelim(),null!=e.error&&Object.hasOwnProperty.call(e,"error")&&$root.vertexvis.protobuf.stream.Error.encode(e.error,t.uint32(18).fork()).ldelim(),null!=e.startStream&&Object.hasOwnProperty.call(e,"startStream")&&$root.vertexvis.protobuf.stream.StartStreamResult.encode(e.startStream,t.uint32(26).fork()).ldelim(),null!=e.updateCamera&&Object.hasOwnProperty.call(e,"updateCamera")&&$root.vertexvis.protobuf.stream.UpdateCameraResult.encode(e.updateCamera,t.uint32(34).fork()).ldelim(),null!=e.beginInteraction&&Object.hasOwnProperty.call(e,"beginInteraction")&&$root.vertexvis.protobuf.stream.BeginInteractionResult.encode(e.beginInteraction,t.uint32(42).fork()).ldelim(),null!=e.endInteraction&&Object.hasOwnProperty.call(e,"endInteraction")&&$root.vertexvis.protobuf.stream.EndInteractionResult.encode(e.endInteraction,t.uint32(50).fork()).ldelim(),null!=e.reconnect&&Object.hasOwnProperty.call(e,"reconnect")&&$root.vertexvis.protobuf.stream.ReconnectResult.encode(e.reconnect,t.uint32(58).fork()).ldelim(),null!=e.hitItems&&Object.hasOwnProperty.call(e,"hitItems")&&$root.vertexvis.protobuf.stream.HitItemsResult.encode(e.hitItems,t.uint32(66).fork()).ldelim(),null!=e.drawFrame&&Object.hasOwnProperty.call(e,"drawFrame")&&$root.vertexvis.protobuf.stream.DrawFrameResult.encode(e.drawFrame,t.uint32(74).fork()).ldelim(),null!=e.syncTime&&Object.hasOwnProperty.call(e,"syncTime")&&$root.vertexvis.protobuf.stream.SyncTimeResult.encode(e.syncTime,t.uint32(82).fork()).ldelim(),null!=e.recordPerformance&&Object.hasOwnProperty.call(e,"recordPerformance")&&$root.vertexvis.protobuf.stream.RecordPerformanceResult.encode(e.recordPerformance,t.uint32(90).fork()).ldelim(),null!=e.updateDimensions&&Object.hasOwnProperty.call(e,"updateDimensions")&&$root.vertexvis.protobuf.stream.UpdateDimensionsResult.encode(e.updateDimensions,t.uint32(98).fork()).ldelim(),null!=e.updateStream&&Object.hasOwnProperty.call(e,"updateStream")&&$root.vertexvis.protobuf.stream.UpdateStreamResult.encode(e.updateStream,t.uint32(106).fork()).ldelim(),null!=e.flyTo&&Object.hasOwnProperty.call(e,"flyTo")&&$root.vertexvis.protobuf.stream.FlyToResult.encode(e.flyTo,t.uint32(114).fork()).ldelim(),null!=e.loadSceneViewState&&Object.hasOwnProperty.call(e,"loadSceneViewState")&&$root.vertexvis.protobuf.stream.LoadSceneViewStateResult.encode(e.loadSceneViewState,t.uint32(122).fork()).ldelim(),null!=e.updateCrossSectioning&&Object.hasOwnProperty.call(e,"updateCrossSectioning")&&$root.vertexvis.protobuf.stream.UpdateCrossSectioningResult.encode(e.updateCrossSectioning,t.uint32(130).fork()).ldelim(),null!=e.stencilBuffer&&Object.hasOwnProperty.call(e,"stencilBuffer")&&$root.vertexvis.protobuf.stream.GetStencilBufferResult.encode(e.stencilBuffer,t.uint32(138).fork()).ldelim(),null!=e.resetView&&Object.hasOwnProperty.call(e,"resetView")&&$root.vertexvis.protobuf.stream.ResetViewResult.encode(e.resetView,t.uint32(146).fork()).ldelim(),null!=e.refreshToken&&Object.hasOwnProperty.call(e,"refreshToken")&&$root.vertexvis.protobuf.stream.RefreshTokenResult.encode(e.refreshToken,t.uint32(154).fork()).ldelim(),null!=e.gracefulReconnection&&Object.hasOwnProperty.call(e,"gracefulReconnection")&&$root.vertexvis.protobuf.stream.GracefulReconnectionResult.encode(e.gracefulReconnection,t.uint32(162).fork()).ldelim(),null!=e.updateInteraction&&Object.hasOwnProperty.call(e,"updateInteraction")&&$root.vertexvis.protobuf.stream.UpdateInteractionResult.encode(e.updateInteraction,t.uint32(170).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.StreamResponse;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.requestId=$root.google.protobuf.StringValue.decode(e,e.uint32());break;case 2:n.error=$root.vertexvis.protobuf.stream.Error.decode(e,e.uint32());break;case 3:n.startStream=$root.vertexvis.protobuf.stream.StartStreamResult.decode(e,e.uint32());break;case 4:n.updateCamera=$root.vertexvis.protobuf.stream.UpdateCameraResult.decode(e,e.uint32());break;case 5:n.beginInteraction=$root.vertexvis.protobuf.stream.BeginInteractionResult.decode(e,e.uint32());break;case 6:n.endInteraction=$root.vertexvis.protobuf.stream.EndInteractionResult.decode(e,e.uint32());break;case 20:n.gracefulReconnection=$root.vertexvis.protobuf.stream.GracefulReconnectionResult.decode(e,e.uint32());break;case 7:n.reconnect=$root.vertexvis.protobuf.stream.ReconnectResult.decode(e,e.uint32());break;case 8:n.hitItems=$root.vertexvis.protobuf.stream.HitItemsResult.decode(e,e.uint32());break;case 9:n.drawFrame=$root.vertexvis.protobuf.stream.DrawFrameResult.decode(e,e.uint32());break;case 10:n.syncTime=$root.vertexvis.protobuf.stream.SyncTimeResult.decode(e,e.uint32());break;case 11:n.recordPerformance=$root.vertexvis.protobuf.stream.RecordPerformanceResult.decode(e,e.uint32());break;case 12:n.updateDimensions=$root.vertexvis.protobuf.stream.UpdateDimensionsResult.decode(e,e.uint32());break;case 13:n.updateStream=$root.vertexvis.protobuf.stream.UpdateStreamResult.decode(e,e.uint32());break;case 14:n.flyTo=$root.vertexvis.protobuf.stream.FlyToResult.decode(e,e.uint32());break;case 15:n.loadSceneViewState=$root.vertexvis.protobuf.stream.LoadSceneViewStateResult.decode(e,e.uint32());break;case 16:n.updateCrossSectioning=$root.vertexvis.protobuf.stream.UpdateCrossSectioningResult.decode(e,e.uint32());break;case 17:n.stencilBuffer=$root.vertexvis.protobuf.stream.GetStencilBufferResult.decode(e,e.uint32());break;case 18:n.resetView=$root.vertexvis.protobuf.stream.ResetViewResult.decode(e,e.uint32());break;case 19:n.refreshToken=$root.vertexvis.protobuf.stream.RefreshTokenResult.decode(e,e.uint32());break;case 21:n.updateInteraction=$root.vertexvis.protobuf.stream.UpdateInteractionResult.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";let t={};if(null!=e.requestId&&e.hasOwnProperty("requestId")){let t=$root.google.protobuf.StringValue.verify(e.requestId);if(t)return"requestId."+t}if(null!=e.error&&e.hasOwnProperty("error")){let t=$root.vertexvis.protobuf.stream.Error.verify(e.error);if(t)return"error."+t}if(null!=e.startStream&&e.hasOwnProperty("startStream")){t.result=1;{let t=$root.vertexvis.protobuf.stream.StartStreamResult.verify(e.startStream);if(t)return"startStream."+t}}if(null!=e.updateCamera&&e.hasOwnProperty("updateCamera")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.UpdateCameraResult.verify(e.updateCamera);if(t)return"updateCamera."+t}}if(null!=e.beginInteraction&&e.hasOwnProperty("beginInteraction")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.BeginInteractionResult.verify(e.beginInteraction);if(t)return"beginInteraction."+t}}if(null!=e.endInteraction&&e.hasOwnProperty("endInteraction")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.EndInteractionResult.verify(e.endInteraction);if(t)return"endInteraction."+t}}if(null!=e.gracefulReconnection&&e.hasOwnProperty("gracefulReconnection")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.GracefulReconnectionResult.verify(e.gracefulReconnection);if(t)return"gracefulReconnection."+t}}if(null!=e.reconnect&&e.hasOwnProperty("reconnect")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.ReconnectResult.verify(e.reconnect);if(t)return"reconnect."+t}}if(null!=e.hitItems&&e.hasOwnProperty("hitItems")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.HitItemsResult.verify(e.hitItems);if(t)return"hitItems."+t}}if(null!=e.drawFrame&&e.hasOwnProperty("drawFrame")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.DrawFrameResult.verify(e.drawFrame);if(t)return"drawFrame."+t}}if(null!=e.syncTime&&e.hasOwnProperty("syncTime")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.SyncTimeResult.verify(e.syncTime);if(t)return"syncTime."+t}}if(null!=e.recordPerformance&&e.hasOwnProperty("recordPerformance")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.RecordPerformanceResult.verify(e.recordPerformance);if(t)return"recordPerformance."+t}}if(null!=e.updateDimensions&&e.hasOwnProperty("updateDimensions")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.UpdateDimensionsResult.verify(e.updateDimensions);if(t)return"updateDimensions."+t}}if(null!=e.updateStream&&e.hasOwnProperty("updateStream")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.UpdateStreamResult.verify(e.updateStream);if(t)return"updateStream."+t}}if(null!=e.flyTo&&e.hasOwnProperty("flyTo")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.FlyToResult.verify(e.flyTo);if(t)return"flyTo."+t}}if(null!=e.loadSceneViewState&&e.hasOwnProperty("loadSceneViewState")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.LoadSceneViewStateResult.verify(e.loadSceneViewState);if(t)return"loadSceneViewState."+t}}if(null!=e.updateCrossSectioning&&e.hasOwnProperty("updateCrossSectioning")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.UpdateCrossSectioningResult.verify(e.updateCrossSectioning);if(t)return"updateCrossSectioning."+t}}if(null!=e.stencilBuffer&&e.hasOwnProperty("stencilBuffer")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.GetStencilBufferResult.verify(e.stencilBuffer);if(t)return"stencilBuffer."+t}}if(null!=e.resetView&&e.hasOwnProperty("resetView")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.ResetViewResult.verify(e.resetView);if(t)return"resetView."+t}}if(null!=e.refreshToken&&e.hasOwnProperty("refreshToken")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.RefreshTokenResult.verify(e.refreshToken);if(t)return"refreshToken."+t}}if(null!=e.updateInteraction&&e.hasOwnProperty("updateInteraction")){if(1===t.result)return"result: multiple values";t.result=1;{let t=$root.vertexvis.protobuf.stream.UpdateInteractionResult.verify(e.updateInteraction);if(t)return"updateInteraction."+t}}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.StreamResponse)return e;let t=new $root.vertexvis.protobuf.stream.StreamResponse;if(null!=e.requestId){if("object"!=typeof e.requestId)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.requestId: object expected");t.requestId=$root.google.protobuf.StringValue.fromObject(e.requestId)}if(null!=e.error){if("object"!=typeof e.error)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.error: object expected");t.error=$root.vertexvis.protobuf.stream.Error.fromObject(e.error)}if(null!=e.startStream){if("object"!=typeof e.startStream)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.startStream: object expected");t.startStream=$root.vertexvis.protobuf.stream.StartStreamResult.fromObject(e.startStream)}if(null!=e.updateCamera){if("object"!=typeof e.updateCamera)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateCamera: object expected");t.updateCamera=$root.vertexvis.protobuf.stream.UpdateCameraResult.fromObject(e.updateCamera)}if(null!=e.beginInteraction){if("object"!=typeof e.beginInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.beginInteraction: object expected");t.beginInteraction=$root.vertexvis.protobuf.stream.BeginInteractionResult.fromObject(e.beginInteraction)}if(null!=e.endInteraction){if("object"!=typeof e.endInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.endInteraction: object expected");t.endInteraction=$root.vertexvis.protobuf.stream.EndInteractionResult.fromObject(e.endInteraction)}if(null!=e.gracefulReconnection){if("object"!=typeof e.gracefulReconnection)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.gracefulReconnection: object expected");t.gracefulReconnection=$root.vertexvis.protobuf.stream.GracefulReconnectionResult.fromObject(e.gracefulReconnection)}if(null!=e.reconnect){if("object"!=typeof e.reconnect)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.reconnect: object expected");t.reconnect=$root.vertexvis.protobuf.stream.ReconnectResult.fromObject(e.reconnect)}if(null!=e.hitItems){if("object"!=typeof e.hitItems)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.hitItems: object expected");t.hitItems=$root.vertexvis.protobuf.stream.HitItemsResult.fromObject(e.hitItems)}if(null!=e.drawFrame){if("object"!=typeof e.drawFrame)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.drawFrame: object expected");t.drawFrame=$root.vertexvis.protobuf.stream.DrawFrameResult.fromObject(e.drawFrame)}if(null!=e.syncTime){if("object"!=typeof e.syncTime)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.syncTime: object expected");t.syncTime=$root.vertexvis.protobuf.stream.SyncTimeResult.fromObject(e.syncTime)}if(null!=e.recordPerformance){if("object"!=typeof e.recordPerformance)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.recordPerformance: object expected");t.recordPerformance=$root.vertexvis.protobuf.stream.RecordPerformanceResult.fromObject(e.recordPerformance)}if(null!=e.updateDimensions){if("object"!=typeof e.updateDimensions)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateDimensions: object expected");t.updateDimensions=$root.vertexvis.protobuf.stream.UpdateDimensionsResult.fromObject(e.updateDimensions)}if(null!=e.updateStream){if("object"!=typeof e.updateStream)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateStream: object expected");t.updateStream=$root.vertexvis.protobuf.stream.UpdateStreamResult.fromObject(e.updateStream)}if(null!=e.flyTo){if("object"!=typeof e.flyTo)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.flyTo: object expected");t.flyTo=$root.vertexvis.protobuf.stream.FlyToResult.fromObject(e.flyTo)}if(null!=e.loadSceneViewState){if("object"!=typeof e.loadSceneViewState)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.loadSceneViewState: object expected");t.loadSceneViewState=$root.vertexvis.protobuf.stream.LoadSceneViewStateResult.fromObject(e.loadSceneViewState)}if(null!=e.updateCrossSectioning){if("object"!=typeof e.updateCrossSectioning)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateCrossSectioning: object expected");t.updateCrossSectioning=$root.vertexvis.protobuf.stream.UpdateCrossSectioningResult.fromObject(e.updateCrossSectioning)}if(null!=e.stencilBuffer){if("object"!=typeof e.stencilBuffer)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.stencilBuffer: object expected");t.stencilBuffer=$root.vertexvis.protobuf.stream.GetStencilBufferResult.fromObject(e.stencilBuffer)}if(null!=e.resetView){if("object"!=typeof e.resetView)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.resetView: object expected");t.resetView=$root.vertexvis.protobuf.stream.ResetViewResult.fromObject(e.resetView)}if(null!=e.refreshToken){if("object"!=typeof e.refreshToken)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.refreshToken: object expected");t.refreshToken=$root.vertexvis.protobuf.stream.RefreshTokenResult.fromObject(e.refreshToken)}if(null!=e.updateInteraction){if("object"!=typeof e.updateInteraction)throw TypeError(".vertexvis.protobuf.stream.StreamResponse.updateInteraction: object expected");t.updateInteraction=$root.vertexvis.protobuf.stream.UpdateInteractionResult.fromObject(e.updateInteraction)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.requestId=null,r.error=null),null!=e.requestId&&e.hasOwnProperty("requestId")&&(r.requestId=$root.google.protobuf.StringValue.toObject(e.requestId,t)),null!=e.error&&e.hasOwnProperty("error")&&(r.error=$root.vertexvis.protobuf.stream.Error.toObject(e.error,t)),null!=e.startStream&&e.hasOwnProperty("startStream")&&(r.startStream=$root.vertexvis.protobuf.stream.StartStreamResult.toObject(e.startStream,t),t.oneofs&&(r.result="startStream")),null!=e.updateCamera&&e.hasOwnProperty("updateCamera")&&(r.updateCamera=$root.vertexvis.protobuf.stream.UpdateCameraResult.toObject(e.updateCamera,t),t.oneofs&&(r.result="updateCamera")),null!=e.beginInteraction&&e.hasOwnProperty("beginInteraction")&&(r.beginInteraction=$root.vertexvis.protobuf.stream.BeginInteractionResult.toObject(e.beginInteraction,t),t.oneofs&&(r.result="beginInteraction")),null!=e.endInteraction&&e.hasOwnProperty("endInteraction")&&(r.endInteraction=$root.vertexvis.protobuf.stream.EndInteractionResult.toObject(e.endInteraction,t),t.oneofs&&(r.result="endInteraction")),null!=e.reconnect&&e.hasOwnProperty("reconnect")&&(r.reconnect=$root.vertexvis.protobuf.stream.ReconnectResult.toObject(e.reconnect,t),t.oneofs&&(r.result="reconnect")),null!=e.hitItems&&e.hasOwnProperty("hitItems")&&(r.hitItems=$root.vertexvis.protobuf.stream.HitItemsResult.toObject(e.hitItems,t),t.oneofs&&(r.result="hitItems")),null!=e.drawFrame&&e.hasOwnProperty("drawFrame")&&(r.drawFrame=$root.vertexvis.protobuf.stream.DrawFrameResult.toObject(e.drawFrame,t),t.oneofs&&(r.result="drawFrame")),null!=e.syncTime&&e.hasOwnProperty("syncTime")&&(r.syncTime=$root.vertexvis.protobuf.stream.SyncTimeResult.toObject(e.syncTime,t),t.oneofs&&(r.result="syncTime")),null!=e.recordPerformance&&e.hasOwnProperty("recordPerformance")&&(r.recordPerformance=$root.vertexvis.protobuf.stream.RecordPerformanceResult.toObject(e.recordPerformance,t),t.oneofs&&(r.result="recordPerformance")),null!=e.updateDimensions&&e.hasOwnProperty("updateDimensions")&&(r.updateDimensions=$root.vertexvis.protobuf.stream.UpdateDimensionsResult.toObject(e.updateDimensions,t),t.oneofs&&(r.result="updateDimensions")),null!=e.updateStream&&e.hasOwnProperty("updateStream")&&(r.updateStream=$root.vertexvis.protobuf.stream.UpdateStreamResult.toObject(e.updateStream,t),t.oneofs&&(r.result="updateStream")),null!=e.flyTo&&e.hasOwnProperty("flyTo")&&(r.flyTo=$root.vertexvis.protobuf.stream.FlyToResult.toObject(e.flyTo,t),t.oneofs&&(r.result="flyTo")),null!=e.loadSceneViewState&&e.hasOwnProperty("loadSceneViewState")&&(r.loadSceneViewState=$root.vertexvis.protobuf.stream.LoadSceneViewStateResult.toObject(e.loadSceneViewState,t),t.oneofs&&(r.result="loadSceneViewState")),null!=e.updateCrossSectioning&&e.hasOwnProperty("updateCrossSectioning")&&(r.updateCrossSectioning=$root.vertexvis.protobuf.stream.UpdateCrossSectioningResult.toObject(e.updateCrossSectioning,t),t.oneofs&&(r.result="updateCrossSectioning")),null!=e.stencilBuffer&&e.hasOwnProperty("stencilBuffer")&&(r.stencilBuffer=$root.vertexvis.protobuf.stream.GetStencilBufferResult.toObject(e.stencilBuffer,t),t.oneofs&&(r.result="stencilBuffer")),null!=e.resetView&&e.hasOwnProperty("resetView")&&(r.resetView=$root.vertexvis.protobuf.stream.ResetViewResult.toObject(e.resetView,t),t.oneofs&&(r.result="resetView")),null!=e.refreshToken&&e.hasOwnProperty("refreshToken")&&(r.refreshToken=$root.vertexvis.protobuf.stream.RefreshTokenResult.toObject(e.refreshToken,t),t.oneofs&&(r.result="refreshToken")),null!=e.gracefulReconnection&&e.hasOwnProperty("gracefulReconnection")&&(r.gracefulReconnection=$root.vertexvis.protobuf.stream.GracefulReconnectionResult.toObject(e.gracefulReconnection,t),t.oneofs&&(r.result="gracefulReconnection")),null!=e.updateInteraction&&e.hasOwnProperty("updateInteraction")&&(r.updateInteraction=$root.vertexvis.protobuf.stream.UpdateInteractionResult.toObject(e.updateInteraction,t),t.oneofs&&(r.result="updateInteraction")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.StartStreamResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.streamId=null,e.prototype.sceneViewId=null,e.prototype.sessionId=null,e.prototype.jwt="",e.prototype.worldOrientation=null,e.prototype.token=null,e.prototype.sceneId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.streamId,t.uint32(10).fork()).ldelim(),null!=e.sceneViewId&&Object.hasOwnProperty.call(e,"sceneViewId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.sceneViewId,t.uint32(18).fork()).ldelim(),null!=e.sessionId&&Object.hasOwnProperty.call(e,"sessionId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.sessionId,t.uint32(26).fork()).ldelim(),null!=e.jwt&&Object.hasOwnProperty.call(e,"jwt")&&t.uint32(34).string(e.jwt),null!=e.worldOrientation&&Object.hasOwnProperty.call(e,"worldOrientation")&&$root.vertexvis.protobuf.stream.Orientation.encode(e.worldOrientation,t.uint32(42).fork()).ldelim(),null!=e.token&&Object.hasOwnProperty.call(e,"token")&&$root.vertexvis.protobuf.stream.Token.encode(e.token,t.uint32(50).fork()).ldelim(),null!=e.sceneId&&Object.hasOwnProperty.call(e,"sceneId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.sceneId,t.uint32(58).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.StartStreamResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.streamId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 2:n.sceneViewId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 3:n.sessionId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 4:n.jwt=e.string();break;case 5:n.worldOrientation=$root.vertexvis.protobuf.stream.Orientation.decode(e,e.uint32());break;case 6:n.token=$root.vertexvis.protobuf.stream.Token.decode(e,e.uint32());break;case 7:n.sceneId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streamId&&e.hasOwnProperty("streamId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.streamId);if(t)return"streamId."+t}if(null!=e.sceneViewId&&e.hasOwnProperty("sceneViewId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.sceneViewId);if(t)return"sceneViewId."+t}if(null!=e.sessionId&&e.hasOwnProperty("sessionId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.sessionId);if(t)return"sessionId."+t}if(null!=e.jwt&&e.hasOwnProperty("jwt")&&!$util.isString(e.jwt))return"jwt: string expected";if(null!=e.worldOrientation&&e.hasOwnProperty("worldOrientation")){let t=$root.vertexvis.protobuf.stream.Orientation.verify(e.worldOrientation);if(t)return"worldOrientation."+t}if(null!=e.token&&e.hasOwnProperty("token")){let t=$root.vertexvis.protobuf.stream.Token.verify(e.token);if(t)return"token."+t}if(null!=e.sceneId&&e.hasOwnProperty("sceneId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.sceneId);if(t)return"sceneId."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.StartStreamResult)return e;let t=new $root.vertexvis.protobuf.stream.StartStreamResult;if(null!=e.streamId){if("object"!=typeof e.streamId)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.streamId: object expected");t.streamId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.streamId)}if(null!=e.sceneViewId){if("object"!=typeof e.sceneViewId)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.sceneViewId: object expected");t.sceneViewId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.sceneViewId)}if(null!=e.sessionId){if("object"!=typeof e.sessionId)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.sessionId: object expected");t.sessionId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.sessionId)}if(null!=e.jwt&&(t.jwt=String(e.jwt)),null!=e.worldOrientation){if("object"!=typeof e.worldOrientation)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.worldOrientation: object expected");t.worldOrientation=$root.vertexvis.protobuf.stream.Orientation.fromObject(e.worldOrientation)}if(null!=e.token){if("object"!=typeof e.token)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.token: object expected");t.token=$root.vertexvis.protobuf.stream.Token.fromObject(e.token)}if(null!=e.sceneId){if("object"!=typeof e.sceneId)throw TypeError(".vertexvis.protobuf.stream.StartStreamResult.sceneId: object expected");t.sceneId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.sceneId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.streamId=null,r.sceneViewId=null,r.sessionId=null,r.jwt="",r.worldOrientation=null,r.token=null,r.sceneId=null),null!=e.streamId&&e.hasOwnProperty("streamId")&&(r.streamId=$root.vertexvis.protobuf.core.Uuid.toObject(e.streamId,t)),null!=e.sceneViewId&&e.hasOwnProperty("sceneViewId")&&(r.sceneViewId=$root.vertexvis.protobuf.core.Uuid.toObject(e.sceneViewId,t)),null!=e.sessionId&&e.hasOwnProperty("sessionId")&&(r.sessionId=$root.vertexvis.protobuf.core.Uuid.toObject(e.sessionId,t)),null!=e.jwt&&e.hasOwnProperty("jwt")&&(r.jwt=e.jwt),null!=e.worldOrientation&&e.hasOwnProperty("worldOrientation")&&(r.worldOrientation=$root.vertexvis.protobuf.stream.Orientation.toObject(e.worldOrientation,t)),null!=e.token&&e.hasOwnProperty("token")&&(r.token=$root.vertexvis.protobuf.stream.Token.toObject(e.token,t)),null!=e.sceneId&&e.hasOwnProperty("sceneId")&&(r.sceneId=$root.vertexvis.protobuf.core.Uuid.toObject(e.sceneId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.UpdateCameraResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.camera=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.camera&&Object.hasOwnProperty.call(e,"camera")&&$root.vertexvis.protobuf.stream.Camera.encode(e.camera,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.UpdateCameraResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.camera=$root.vertexvis.protobuf.stream.Camera.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.camera&&e.hasOwnProperty("camera")){let t=$root.vertexvis.protobuf.stream.Camera.verify(e.camera);if(t)return"camera."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.UpdateCameraResult)return e;let t=new $root.vertexvis.protobuf.stream.UpdateCameraResult;if(null!=e.camera){if("object"!=typeof e.camera)throw TypeError(".vertexvis.protobuf.stream.UpdateCameraResult.camera: object expected");t.camera=$root.vertexvis.protobuf.stream.Camera.fromObject(e.camera)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.camera=null),null!=e.camera&&e.hasOwnProperty("camera")&&(r.camera=$root.vertexvis.protobuf.stream.Camera.toObject(e.camera,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.UpdateDimensionsResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.dimensions=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.dimensions&&Object.hasOwnProperty.call(e,"dimensions")&&$root.vertexvis.protobuf.stream.Dimensions.encode(e.dimensions,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.UpdateDimensionsResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.dimensions=$root.vertexvis.protobuf.stream.Dimensions.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.dimensions&&e.hasOwnProperty("dimensions")){let t=$root.vertexvis.protobuf.stream.Dimensions.verify(e.dimensions);if(t)return"dimensions."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.UpdateDimensionsResult)return e;let t=new $root.vertexvis.protobuf.stream.UpdateDimensionsResult;if(null!=e.dimensions){if("object"!=typeof e.dimensions)throw TypeError(".vertexvis.protobuf.stream.UpdateDimensionsResult.dimensions: object expected");t.dimensions=$root.vertexvis.protobuf.stream.Dimensions.fromObject(e.dimensions)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.dimensions=null),null!=e.dimensions&&e.hasOwnProperty("dimensions")&&(r.dimensions=$root.vertexvis.protobuf.stream.Dimensions.toObject(e.dimensions,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.BeginInteractionResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.BeginInteractionResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root.vertexvis.protobuf.stream.BeginInteractionResult?e:new $root.vertexvis.protobuf.stream.BeginInteractionResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.UpdateInteractionResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.UpdateInteractionResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root.vertexvis.protobuf.stream.UpdateInteractionResult?e:new $root.vertexvis.protobuf.stream.UpdateInteractionResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.EndInteractionResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.EndInteractionResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root.vertexvis.protobuf.stream.EndInteractionResult?e:new $root.vertexvis.protobuf.stream.EndInteractionResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ReconnectResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.jwt="",e.prototype.token=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.jwt&&Object.hasOwnProperty.call(e,"jwt")&&t.uint32(10).string(e.jwt),null!=e.token&&Object.hasOwnProperty.call(e,"token")&&$root.vertexvis.protobuf.stream.Token.encode(e.token,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.ReconnectResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.jwt=e.string();break;case 2:n.token=$root.vertexvis.protobuf.stream.Token.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.jwt&&e.hasOwnProperty("jwt")&&!$util.isString(e.jwt))return"jwt: string expected";if(null!=e.token&&e.hasOwnProperty("token")){let t=$root.vertexvis.protobuf.stream.Token.verify(e.token);if(t)return"token."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.ReconnectResult)return e;let t=new $root.vertexvis.protobuf.stream.ReconnectResult;if(null!=e.jwt&&(t.jwt=String(e.jwt)),null!=e.token){if("object"!=typeof e.token)throw TypeError(".vertexvis.protobuf.stream.ReconnectResult.token: object expected");t.token=$root.vertexvis.protobuf.stream.Token.fromObject(e.token)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.jwt="",r.token=null),null!=e.jwt&&e.hasOwnProperty("jwt")&&(r.jwt=e.jwt),null!=e.token&&e.hasOwnProperty("token")&&(r.token=$root.vertexvis.protobuf.stream.Token.toObject(e.token,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.HitItemsResult=function(){function e(e){if(this.hits=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.hits=$util.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer.create()),null!=e.hits&&e.hits.length)for(let r=0;r<e.hits.length;++r)$root.vertexvis.protobuf.stream.Hit.encode(e.hits[r],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.HitItemsResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.hits&&n.hits.length||(n.hits=[]),n.hits.push($root.vertexvis.protobuf.stream.Hit.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.hits&&e.hasOwnProperty("hits")){if(!Array.isArray(e.hits))return"hits: array expected";for(let t=0;t<e.hits.length;++t){let r=$root.vertexvis.protobuf.stream.Hit.verify(e.hits[t]);if(r)return"hits."+r}}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.HitItemsResult)return e;let t=new $root.vertexvis.protobuf.stream.HitItemsResult;if(e.hits){if(!Array.isArray(e.hits))throw TypeError(".vertexvis.protobuf.stream.HitItemsResult.hits: array expected");t.hits=[];for(let r=0;r<e.hits.length;++r){if("object"!=typeof e.hits[r])throw TypeError(".vertexvis.protobuf.stream.HitItemsResult.hits: object expected");t.hits[r]=$root.vertexvis.protobuf.stream.Hit.fromObject(e.hits[r])}}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.hits=[]),e.hits&&e.hits.length){r.hits=[];for(let n=0;n<e.hits.length;++n)r.hits[n]=$root.vertexvis.protobuf.stream.Hit.toObject(e.hits[n],t)}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.SyncTimeResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.replyTime=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.replyTime&&Object.hasOwnProperty.call(e,"replyTime")&&$root.google.protobuf.Timestamp.encode(e.replyTime,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.SyncTimeResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.replyTime=$root.google.protobuf.Timestamp.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.replyTime&&e.hasOwnProperty("replyTime")){let t=$root.google.protobuf.Timestamp.verify(e.replyTime);if(t)return"replyTime."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.SyncTimeResult)return e;let t=new $root.vertexvis.protobuf.stream.SyncTimeResult;if(null!=e.replyTime){if("object"!=typeof e.replyTime)throw TypeError(".vertexvis.protobuf.stream.SyncTimeResult.replyTime: object expected");t.replyTime=$root.google.protobuf.Timestamp.fromObject(e.replyTime)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.replyTime=null),null!=e.replyTime&&e.hasOwnProperty("replyTime")&&(r.replyTime=$root.google.protobuf.Timestamp.toObject(e.replyTime,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.DrawFrameResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.sendToReceiveDuration=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.sendToReceiveDuration&&Object.hasOwnProperty.call(e,"sendToReceiveDuration")&&$root.google.protobuf.Duration.encode(e.sendToReceiveDuration,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.DrawFrameResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.sendToReceiveDuration=$root.google.protobuf.Duration.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sendToReceiveDuration&&e.hasOwnProperty("sendToReceiveDuration")){let t=$root.google.protobuf.Duration.verify(e.sendToReceiveDuration);if(t)return"sendToReceiveDuration."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.DrawFrameResult)return e;let t=new $root.vertexvis.protobuf.stream.DrawFrameResult;if(null!=e.sendToReceiveDuration){if("object"!=typeof e.sendToReceiveDuration)throw TypeError(".vertexvis.protobuf.stream.DrawFrameResult.sendToReceiveDuration: object expected");t.sendToReceiveDuration=$root.google.protobuf.Duration.fromObject(e.sendToReceiveDuration)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.sendToReceiveDuration=null),null!=e.sendToReceiveDuration&&e.hasOwnProperty("sendToReceiveDuration")&&(r.sendToReceiveDuration=$root.google.protobuf.Duration.toObject(e.sendToReceiveDuration,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.RecordPerformanceResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.RecordPerformanceResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root.vertexvis.protobuf.stream.RecordPerformanceResult?e:new $root.vertexvis.protobuf.stream.RecordPerformanceResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.UpdateStreamResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.UpdateStreamResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root.vertexvis.protobuf.stream.UpdateStreamResult?e:new $root.vertexvis.protobuf.stream.UpdateStreamResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.FlyToResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.animationId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.animationId&&Object.hasOwnProperty.call(e,"animationId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.animationId,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.FlyToResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.animationId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.animationId&&e.hasOwnProperty("animationId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.animationId);if(t)return"animationId."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.FlyToResult)return e;let t=new $root.vertexvis.protobuf.stream.FlyToResult;if(null!=e.animationId){if("object"!=typeof e.animationId)throw TypeError(".vertexvis.protobuf.stream.FlyToResult.animationId: object expected");t.animationId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.animationId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.animationId=null),null!=e.animationId&&e.hasOwnProperty("animationId")&&(r.animationId=$root.vertexvis.protobuf.core.Uuid.toObject(e.animationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.LoadSceneViewStateResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.LoadSceneViewStateResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root.vertexvis.protobuf.stream.LoadSceneViewStateResult?e:new $root.vertexvis.protobuf.stream.LoadSceneViewStateResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ResetViewResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.ResetViewResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root.vertexvis.protobuf.stream.ResetViewResult?e:new $root.vertexvis.protobuf.stream.ResetViewResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.GetStencilBufferResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.stencilBuffer=$util.newBuffer([]),e.prototype.imageAttributes=null,e.prototype.depthBuffer=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.stencilBuffer&&Object.hasOwnProperty.call(e,"stencilBuffer")&&t.uint32(10).bytes(e.stencilBuffer),null!=e.imageAttributes&&Object.hasOwnProperty.call(e,"imageAttributes")&&$root.vertexvis.protobuf.stream.ImageAttributes.encode(e.imageAttributes,t.uint32(18).fork()).ldelim(),null!=e.depthBuffer&&Object.hasOwnProperty.call(e,"depthBuffer")&&$root.google.protobuf.BytesValue.encode(e.depthBuffer,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.GetStencilBufferResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.stencilBuffer=e.bytes();break;case 2:n.imageAttributes=$root.vertexvis.protobuf.stream.ImageAttributes.decode(e,e.uint32());break;case 3:n.depthBuffer=$root.google.protobuf.BytesValue.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.stencilBuffer&&e.hasOwnProperty("stencilBuffer")&&!(e.stencilBuffer&&"number"==typeof e.stencilBuffer.length||$util.isString(e.stencilBuffer)))return"stencilBuffer: buffer expected";if(null!=e.imageAttributes&&e.hasOwnProperty("imageAttributes")){let t=$root.vertexvis.protobuf.stream.ImageAttributes.verify(e.imageAttributes);if(t)return"imageAttributes."+t}if(null!=e.depthBuffer&&e.hasOwnProperty("depthBuffer")){let t=$root.google.protobuf.BytesValue.verify(e.depthBuffer);if(t)return"depthBuffer."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.GetStencilBufferResult)return e;let t=new $root.vertexvis.protobuf.stream.GetStencilBufferResult;if(null!=e.stencilBuffer&&("string"==typeof e.stencilBuffer?$util.base64.decode(e.stencilBuffer,t.stencilBuffer=$util.newBuffer($util.base64.length(e.stencilBuffer)),0):e.stencilBuffer.length&&(t.stencilBuffer=e.stencilBuffer)),null!=e.imageAttributes){if("object"!=typeof e.imageAttributes)throw TypeError(".vertexvis.protobuf.stream.GetStencilBufferResult.imageAttributes: object expected");t.imageAttributes=$root.vertexvis.protobuf.stream.ImageAttributes.fromObject(e.imageAttributes)}if(null!=e.depthBuffer){if("object"!=typeof e.depthBuffer)throw TypeError(".vertexvis.protobuf.stream.GetStencilBufferResult.depthBuffer: object expected");t.depthBuffer=$root.google.protobuf.BytesValue.fromObject(e.depthBuffer)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(t.bytes===String?r.stencilBuffer="":(r.stencilBuffer=[],t.bytes!==Array&&(r.stencilBuffer=$util.newBuffer(r.stencilBuffer))),r.imageAttributes=null,r.depthBuffer=null),null!=e.stencilBuffer&&e.hasOwnProperty("stencilBuffer")&&(r.stencilBuffer=t.bytes===String?$util.base64.encode(e.stencilBuffer,0,e.stencilBuffer.length):t.bytes===Array?Array.prototype.slice.call(e.stencilBuffer):e.stencilBuffer),null!=e.imageAttributes&&e.hasOwnProperty("imageAttributes")&&(r.imageAttributes=$root.vertexvis.protobuf.stream.ImageAttributes.toObject(e.imageAttributes,t)),null!=e.depthBuffer&&e.hasOwnProperty("depthBuffer")&&(r.depthBuffer=$root.google.protobuf.BytesValue.toObject(e.depthBuffer,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.RefreshTokenResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.token=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.token&&Object.hasOwnProperty.call(e,"token")&&$root.vertexvis.protobuf.stream.Token.encode(e.token,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.RefreshTokenResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.token=$root.vertexvis.protobuf.stream.Token.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.token&&e.hasOwnProperty("token")){let t=$root.vertexvis.protobuf.stream.Token.verify(e.token);if(t)return"token."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.RefreshTokenResult)return e;let t=new $root.vertexvis.protobuf.stream.RefreshTokenResult;if(null!=e.token){if("object"!=typeof e.token)throw TypeError(".vertexvis.protobuf.stream.RefreshTokenResult.token: object expected");t.token=$root.vertexvis.protobuf.stream.Token.fromObject(e.token)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.token=null),null!=e.token&&e.hasOwnProperty("token")&&(r.token=$root.vertexvis.protobuf.stream.Token.toObject(e.token,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.StreamEvent=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}let t;return e.prototype.animationCompleted=null,Object.defineProperty(e.prototype,"event",{get:$util.oneOfGetter(t=["animationCompleted"]),set:$util.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.animationCompleted&&Object.hasOwnProperty.call(e,"animationCompleted")&&$root.vertexvis.protobuf.stream.AnimationCompletedEvent.encode(e.animationCompleted,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.StreamEvent;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.animationCompleted=$root.vertexvis.protobuf.stream.AnimationCompletedEvent.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.animationCompleted&&e.hasOwnProperty("animationCompleted")){let t=$root.vertexvis.protobuf.stream.AnimationCompletedEvent.verify(e.animationCompleted);if(t)return"animationCompleted."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.StreamEvent)return e;let t=new $root.vertexvis.protobuf.stream.StreamEvent;if(null!=e.animationCompleted){if("object"!=typeof e.animationCompleted)throw TypeError(".vertexvis.protobuf.stream.StreamEvent.animationCompleted: object expected");t.animationCompleted=$root.vertexvis.protobuf.stream.AnimationCompletedEvent.fromObject(e.animationCompleted)}return t},e.toObject=function(e,t){t||(t={});let r={};return null!=e.animationCompleted&&e.hasOwnProperty("animationCompleted")&&(r.animationCompleted=$root.vertexvis.protobuf.stream.AnimationCompletedEvent.toObject(e.animationCompleted,t),t.oneofs&&(r.event="animationCompleted")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.AnimationCompletedEvent=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.animationId=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.animationId&&Object.hasOwnProperty.call(e,"animationId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.animationId,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.AnimationCompletedEvent;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.animationId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.animationId&&e.hasOwnProperty("animationId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.animationId);if(t)return"animationId."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.AnimationCompletedEvent)return e;let t=new $root.vertexvis.protobuf.stream.AnimationCompletedEvent;if(null!=e.animationId){if("object"!=typeof e.animationId)throw TypeError(".vertexvis.protobuf.stream.AnimationCompletedEvent.animationId: object expected");t.animationId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.animationId)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.animationId=null),null!=e.animationId&&e.hasOwnProperty("animationId")&&(r.animationId=$root.vertexvis.protobuf.core.Uuid.toObject(e.animationId,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.UpdateCrossSectioningResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.crossSectioning=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.crossSectioning&&Object.hasOwnProperty.call(e,"crossSectioning")&&$root.vertexvis.protobuf.stream.CrossSectioning.encode(e.crossSectioning,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.UpdateCrossSectioningResult;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.crossSectioning&&e.hasOwnProperty("crossSectioning")){let t=$root.vertexvis.protobuf.stream.CrossSectioning.verify(e.crossSectioning);if(t)return"crossSectioning."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.stream.UpdateCrossSectioningResult)return e;let t=new $root.vertexvis.protobuf.stream.UpdateCrossSectioningResult;if(null!=e.crossSectioning){if("object"!=typeof e.crossSectioning)throw TypeError(".vertexvis.protobuf.stream.UpdateCrossSectioningResult.crossSectioning: object expected");t.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.fromObject(e.crossSectioning)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.crossSectioning=null),null!=e.crossSectioning&&e.hasOwnProperty("crossSectioning")&&(r.crossSectioning=$root.vertexvis.protobuf.stream.CrossSectioning.toObject(e.crossSectioning,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.GracefulReconnectionResult=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.stream.GracefulReconnectionResult;for(;e.pos<r;){let t=e.uint32();e.skipType(7&t)}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof $root.vertexvis.protobuf.stream.GracefulReconnectionResult?e:new $root.vertexvis.protobuf.stream.GracefulReconnectionResult},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e}(),e.core=function(){const e={};return e.Vector2f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(13).float(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(21).float(e.y),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Vector2f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.float();break;case 2:n.y=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&"number"!=typeof e.x?"x: number expected":null!=e.y&&e.hasOwnProperty("y")&&"number"!=typeof e.y?"y: number expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Vector2f)return e;let t=new $root.vertexvis.protobuf.core.Vector2f;return null!=e.x&&(t.x=Number(e.x)),null!=e.y&&(t.y=Number(e.y)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=t.json&&!isFinite(e.x)?String(e.x):e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=t.json&&!isFinite(e.y)?String(e.y):e.y),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Vector2d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(9).double(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(17).double(e.y),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Vector2d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.double();break;case 2:n.y=e.double();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&"number"!=typeof e.x?"x: number expected":null!=e.y&&e.hasOwnProperty("y")&&"number"!=typeof e.y?"y: number expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Vector2d)return e;let t=new $root.vertexvis.protobuf.core.Vector2d;return null!=e.x&&(t.x=Number(e.x)),null!=e.y&&(t.y=Number(e.y)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=t.json&&!isFinite(e.x)?String(e.x):e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=t.json&&!isFinite(e.y)?String(e.y):e.y),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Vector3f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.prototype.z=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(13).float(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(21).float(e.y),null!=e.z&&Object.hasOwnProperty.call(e,"z")&&t.uint32(29).float(e.z),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Vector3f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.float();break;case 2:n.y=e.float();break;case 3:n.z=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&"number"!=typeof e.x?"x: number expected":null!=e.y&&e.hasOwnProperty("y")&&"number"!=typeof e.y?"y: number expected":null!=e.z&&e.hasOwnProperty("z")&&"number"!=typeof e.z?"z: number expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Vector3f)return e;let t=new $root.vertexvis.protobuf.core.Vector3f;return null!=e.x&&(t.x=Number(e.x)),null!=e.y&&(t.y=Number(e.y)),null!=e.z&&(t.z=Number(e.z)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0,r.z=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=t.json&&!isFinite(e.x)?String(e.x):e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=t.json&&!isFinite(e.y)?String(e.y):e.y),null!=e.z&&e.hasOwnProperty("z")&&(r.z=t.json&&!isFinite(e.z)?String(e.z):e.z),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Vector3d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.prototype.z=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(9).double(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(17).double(e.y),null!=e.z&&Object.hasOwnProperty.call(e,"z")&&t.uint32(25).double(e.z),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Vector3d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.double();break;case 2:n.y=e.double();break;case 3:n.z=e.double();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&"number"!=typeof e.x?"x: number expected":null!=e.y&&e.hasOwnProperty("y")&&"number"!=typeof e.y?"y: number expected":null!=e.z&&e.hasOwnProperty("z")&&"number"!=typeof e.z?"z: number expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Vector3d)return e;let t=new $root.vertexvis.protobuf.core.Vector3d;return null!=e.x&&(t.x=Number(e.x)),null!=e.y&&(t.y=Number(e.y)),null!=e.z&&(t.z=Number(e.z)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0,r.z=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=t.json&&!isFinite(e.x)?String(e.x):e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=t.json&&!isFinite(e.y)?String(e.y):e.y),null!=e.z&&e.hasOwnProperty("z")&&(r.z=t.json&&!isFinite(e.z)?String(e.z):e.z),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Vector4f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.prototype.z=0,e.prototype.w=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(13).float(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(21).float(e.y),null!=e.z&&Object.hasOwnProperty.call(e,"z")&&t.uint32(29).float(e.z),null!=e.w&&Object.hasOwnProperty.call(e,"w")&&t.uint32(37).float(e.w),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Vector4f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.float();break;case 2:n.y=e.float();break;case 3:n.z=e.float();break;case 4:n.w=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&"number"!=typeof e.x?"x: number expected":null!=e.y&&e.hasOwnProperty("y")&&"number"!=typeof e.y?"y: number expected":null!=e.z&&e.hasOwnProperty("z")&&"number"!=typeof e.z?"z: number expected":null!=e.w&&e.hasOwnProperty("w")&&"number"!=typeof e.w?"w: number expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Vector4f)return e;let t=new $root.vertexvis.protobuf.core.Vector4f;return null!=e.x&&(t.x=Number(e.x)),null!=e.y&&(t.y=Number(e.y)),null!=e.z&&(t.z=Number(e.z)),null!=e.w&&(t.w=Number(e.w)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0,r.z=0,r.w=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=t.json&&!isFinite(e.x)?String(e.x):e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=t.json&&!isFinite(e.y)?String(e.y):e.y),null!=e.z&&e.hasOwnProperty("z")&&(r.z=t.json&&!isFinite(e.z)?String(e.z):e.z),null!=e.w&&e.hasOwnProperty("w")&&(r.w=t.json&&!isFinite(e.w)?String(e.w):e.w),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Vector4d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.x=0,e.prototype.y=0,e.prototype.z=0,e.prototype.w=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.x&&Object.hasOwnProperty.call(e,"x")&&t.uint32(9).double(e.x),null!=e.y&&Object.hasOwnProperty.call(e,"y")&&t.uint32(17).double(e.y),null!=e.z&&Object.hasOwnProperty.call(e,"z")&&t.uint32(25).double(e.z),null!=e.w&&Object.hasOwnProperty.call(e,"w")&&t.uint32(33).double(e.w),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Vector4d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.x=e.double();break;case 2:n.y=e.double();break;case 3:n.z=e.double();break;case 4:n.w=e.double();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.x&&e.hasOwnProperty("x")&&"number"!=typeof e.x?"x: number expected":null!=e.y&&e.hasOwnProperty("y")&&"number"!=typeof e.y?"y: number expected":null!=e.z&&e.hasOwnProperty("z")&&"number"!=typeof e.z?"z: number expected":null!=e.w&&e.hasOwnProperty("w")&&"number"!=typeof e.w?"w: number expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Vector4d)return e;let t=new $root.vertexvis.protobuf.core.Vector4d;return null!=e.x&&(t.x=Number(e.x)),null!=e.y&&(t.y=Number(e.y)),null!=e.z&&(t.z=Number(e.z)),null!=e.w&&(t.w=Number(e.w)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.x=0,r.y=0,r.z=0,r.w=0),null!=e.x&&e.hasOwnProperty("x")&&(r.x=t.json&&!isFinite(e.x)?String(e.x):e.x),null!=e.y&&e.hasOwnProperty("y")&&(r.y=t.json&&!isFinite(e.y)?String(e.y):e.y),null!=e.z&&e.hasOwnProperty("z")&&(r.z=t.json&&!isFinite(e.z)?String(e.z):e.z),null!=e.w&&e.hasOwnProperty("w")&&(r.w=t.json&&!isFinite(e.w)?String(e.w):e.w),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.BoundingBox3f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.xmin=0,e.prototype.xmax=0,e.prototype.ymin=0,e.prototype.ymax=0,e.prototype.zmin=0,e.prototype.zmax=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.xmin&&Object.hasOwnProperty.call(e,"xmin")&&t.uint32(13).float(e.xmin),null!=e.xmax&&Object.hasOwnProperty.call(e,"xmax")&&t.uint32(21).float(e.xmax),null!=e.ymin&&Object.hasOwnProperty.call(e,"ymin")&&t.uint32(29).float(e.ymin),null!=e.ymax&&Object.hasOwnProperty.call(e,"ymax")&&t.uint32(37).float(e.ymax),null!=e.zmin&&Object.hasOwnProperty.call(e,"zmin")&&t.uint32(45).float(e.zmin),null!=e.zmax&&Object.hasOwnProperty.call(e,"zmax")&&t.uint32(53).float(e.zmax),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.BoundingBox3f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.xmin=e.float();break;case 2:n.xmax=e.float();break;case 3:n.ymin=e.float();break;case 4:n.ymax=e.float();break;case 5:n.zmin=e.float();break;case 6:n.zmax=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.xmin&&e.hasOwnProperty("xmin")&&"number"!=typeof e.xmin?"xmin: number expected":null!=e.xmax&&e.hasOwnProperty("xmax")&&"number"!=typeof e.xmax?"xmax: number expected":null!=e.ymin&&e.hasOwnProperty("ymin")&&"number"!=typeof e.ymin?"ymin: number expected":null!=e.ymax&&e.hasOwnProperty("ymax")&&"number"!=typeof e.ymax?"ymax: number expected":null!=e.zmin&&e.hasOwnProperty("zmin")&&"number"!=typeof e.zmin?"zmin: number expected":null!=e.zmax&&e.hasOwnProperty("zmax")&&"number"!=typeof e.zmax?"zmax: number expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.BoundingBox3f)return e;let t=new $root.vertexvis.protobuf.core.BoundingBox3f;return null!=e.xmin&&(t.xmin=Number(e.xmin)),null!=e.xmax&&(t.xmax=Number(e.xmax)),null!=e.ymin&&(t.ymin=Number(e.ymin)),null!=e.ymax&&(t.ymax=Number(e.ymax)),null!=e.zmin&&(t.zmin=Number(e.zmin)),null!=e.zmax&&(t.zmax=Number(e.zmax)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.xmin=0,r.xmax=0,r.ymin=0,r.ymax=0,r.zmin=0,r.zmax=0),null!=e.xmin&&e.hasOwnProperty("xmin")&&(r.xmin=t.json&&!isFinite(e.xmin)?String(e.xmin):e.xmin),null!=e.xmax&&e.hasOwnProperty("xmax")&&(r.xmax=t.json&&!isFinite(e.xmax)?String(e.xmax):e.xmax),null!=e.ymin&&e.hasOwnProperty("ymin")&&(r.ymin=t.json&&!isFinite(e.ymin)?String(e.ymin):e.ymin),null!=e.ymax&&e.hasOwnProperty("ymax")&&(r.ymax=t.json&&!isFinite(e.ymax)?String(e.ymax):e.ymax),null!=e.zmin&&e.hasOwnProperty("zmin")&&(r.zmin=t.json&&!isFinite(e.zmin)?String(e.zmin):e.zmin),null!=e.zmax&&e.hasOwnProperty("zmax")&&(r.zmax=t.json&&!isFinite(e.zmax)?String(e.zmax):e.zmax),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.AffineMatrix4f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.basisX=null,e.prototype.basisY=null,e.prototype.xlate=null,e.prototype.scale=0,e.prototype.basisZ=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.basisX&&Object.hasOwnProperty.call(e,"basisX")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.basisX,t.uint32(10).fork()).ldelim(),null!=e.basisY&&Object.hasOwnProperty.call(e,"basisY")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.basisY,t.uint32(18).fork()).ldelim(),null!=e.xlate&&Object.hasOwnProperty.call(e,"xlate")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.xlate,t.uint32(26).fork()).ldelim(),null!=e.scale&&Object.hasOwnProperty.call(e,"scale")&&t.uint32(37).float(e.scale),null!=e.basisZ&&Object.hasOwnProperty.call(e,"basisZ")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.basisZ,t.uint32(42).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.AffineMatrix4f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.basisX=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.basisY=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 3:n.xlate=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 4:n.scale=e.float();break;case 5:n.basisZ=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.basisX&&e.hasOwnProperty("basisX")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.basisX);if(t)return"basisX."+t}if(null!=e.basisY&&e.hasOwnProperty("basisY")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.basisY);if(t)return"basisY."+t}if(null!=e.xlate&&e.hasOwnProperty("xlate")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.xlate);if(t)return"xlate."+t}if(null!=e.scale&&e.hasOwnProperty("scale")&&"number"!=typeof e.scale)return"scale: number expected";if(null!=e.basisZ&&e.hasOwnProperty("basisZ")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.basisZ);if(t)return"basisZ."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.AffineMatrix4f)return e;let t=new $root.vertexvis.protobuf.core.AffineMatrix4f;if(null!=e.basisX){if("object"!=typeof e.basisX)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4f.basisX: object expected");t.basisX=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.basisX)}if(null!=e.basisY){if("object"!=typeof e.basisY)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4f.basisY: object expected");t.basisY=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.basisY)}if(null!=e.xlate){if("object"!=typeof e.xlate)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4f.xlate: object expected");t.xlate=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.xlate)}if(null!=e.scale&&(t.scale=Number(e.scale)),null!=e.basisZ){if("object"!=typeof e.basisZ)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4f.basisZ: object expected");t.basisZ=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.basisZ)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.basisX=null,r.basisY=null,r.xlate=null,r.scale=0,r.basisZ=null),null!=e.basisX&&e.hasOwnProperty("basisX")&&(r.basisX=$root.vertexvis.protobuf.core.Vector3f.toObject(e.basisX,t)),null!=e.basisY&&e.hasOwnProperty("basisY")&&(r.basisY=$root.vertexvis.protobuf.core.Vector3f.toObject(e.basisY,t)),null!=e.xlate&&e.hasOwnProperty("xlate")&&(r.xlate=$root.vertexvis.protobuf.core.Vector3f.toObject(e.xlate,t)),null!=e.scale&&e.hasOwnProperty("scale")&&(r.scale=t.json&&!isFinite(e.scale)?String(e.scale):e.scale),null!=e.basisZ&&e.hasOwnProperty("basisZ")&&(r.basisZ=$root.vertexvis.protobuf.core.Vector3f.toObject(e.basisZ,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.AffineMatrix4d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.basisX=null,e.prototype.basisY=null,e.prototype.xlate=null,e.prototype.scale=0,e.prototype.basisZ=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.basisX&&Object.hasOwnProperty.call(e,"basisX")&&$root.vertexvis.protobuf.core.Vector3d.encode(e.basisX,t.uint32(10).fork()).ldelim(),null!=e.basisY&&Object.hasOwnProperty.call(e,"basisY")&&$root.vertexvis.protobuf.core.Vector3d.encode(e.basisY,t.uint32(18).fork()).ldelim(),null!=e.xlate&&Object.hasOwnProperty.call(e,"xlate")&&$root.vertexvis.protobuf.core.Vector3d.encode(e.xlate,t.uint32(26).fork()).ldelim(),null!=e.scale&&Object.hasOwnProperty.call(e,"scale")&&t.uint32(33).double(e.scale),null!=e.basisZ&&Object.hasOwnProperty.call(e,"basisZ")&&$root.vertexvis.protobuf.core.Vector3d.encode(e.basisZ,t.uint32(42).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.AffineMatrix4d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.basisX=$root.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 2:n.basisY=$root.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 3:n.xlate=$root.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 4:n.scale=e.double();break;case 5:n.basisZ=$root.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.basisX&&e.hasOwnProperty("basisX")){let t=$root.vertexvis.protobuf.core.Vector3d.verify(e.basisX);if(t)return"basisX."+t}if(null!=e.basisY&&e.hasOwnProperty("basisY")){let t=$root.vertexvis.protobuf.core.Vector3d.verify(e.basisY);if(t)return"basisY."+t}if(null!=e.xlate&&e.hasOwnProperty("xlate")){let t=$root.vertexvis.protobuf.core.Vector3d.verify(e.xlate);if(t)return"xlate."+t}if(null!=e.scale&&e.hasOwnProperty("scale")&&"number"!=typeof e.scale)return"scale: number expected";if(null!=e.basisZ&&e.hasOwnProperty("basisZ")){let t=$root.vertexvis.protobuf.core.Vector3d.verify(e.basisZ);if(t)return"basisZ."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.AffineMatrix4d)return e;let t=new $root.vertexvis.protobuf.core.AffineMatrix4d;if(null!=e.basisX){if("object"!=typeof e.basisX)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4d.basisX: object expected");t.basisX=$root.vertexvis.protobuf.core.Vector3d.fromObject(e.basisX)}if(null!=e.basisY){if("object"!=typeof e.basisY)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4d.basisY: object expected");t.basisY=$root.vertexvis.protobuf.core.Vector3d.fromObject(e.basisY)}if(null!=e.xlate){if("object"!=typeof e.xlate)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4d.xlate: object expected");t.xlate=$root.vertexvis.protobuf.core.Vector3d.fromObject(e.xlate)}if(null!=e.scale&&(t.scale=Number(e.scale)),null!=e.basisZ){if("object"!=typeof e.basisZ)throw TypeError(".vertexvis.protobuf.core.AffineMatrix4d.basisZ: object expected");t.basisZ=$root.vertexvis.protobuf.core.Vector3d.fromObject(e.basisZ)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.basisX=null,r.basisY=null,r.xlate=null,r.scale=0,r.basisZ=null),null!=e.basisX&&e.hasOwnProperty("basisX")&&(r.basisX=$root.vertexvis.protobuf.core.Vector3d.toObject(e.basisX,t)),null!=e.basisY&&e.hasOwnProperty("basisY")&&(r.basisY=$root.vertexvis.protobuf.core.Vector3d.toObject(e.basisY,t)),null!=e.xlate&&e.hasOwnProperty("xlate")&&(r.xlate=$root.vertexvis.protobuf.core.Vector3d.toObject(e.xlate,t)),null!=e.scale&&e.hasOwnProperty("scale")&&(r.scale=t.json&&!isFinite(e.scale)?String(e.scale):e.scale),null!=e.basisZ&&e.hasOwnProperty("basisZ")&&(r.basisZ=$root.vertexvis.protobuf.core.Vector3d.toObject(e.basisZ,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.IndexedVector3fArray=function(){function e(e){if(this.values=[],this.indices=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.values=$util.emptyArray,e.prototype.indices=$util.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer.create()),null!=e.values&&e.values.length)for(let r=0;r<e.values.length;++r)$root.vertexvis.protobuf.core.Vector3f.encode(e.values[r],t.uint32(10).fork()).ldelim();if(null!=e.indices&&e.indices.length){t.uint32(18).fork();for(let r=0;r<e.indices.length;++r)t.uint32(e.indices[r]);t.ldelim()}return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.IndexedVector3fArray;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.values&&n.values.length||(n.values=[]),n.values.push($root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32()));break;case 2:if(n.indices&&n.indices.length||(n.indices=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)n.indices.push(e.uint32())}else n.indices.push(e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.values&&e.hasOwnProperty("values")){if(!Array.isArray(e.values))return"values: array expected";for(let t=0;t<e.values.length;++t){let r=$root.vertexvis.protobuf.core.Vector3f.verify(e.values[t]);if(r)return"values."+r}}if(null!=e.indices&&e.hasOwnProperty("indices")){if(!Array.isArray(e.indices))return"indices: array expected";for(let t=0;t<e.indices.length;++t)if(!$util.isInteger(e.indices[t]))return"indices: integer[] expected"}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.IndexedVector3fArray)return e;let t=new $root.vertexvis.protobuf.core.IndexedVector3fArray;if(e.values){if(!Array.isArray(e.values))throw TypeError(".vertexvis.protobuf.core.IndexedVector3fArray.values: array expected");t.values=[];for(let r=0;r<e.values.length;++r){if("object"!=typeof e.values[r])throw TypeError(".vertexvis.protobuf.core.IndexedVector3fArray.values: object expected");t.values[r]=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.values[r])}}if(e.indices){if(!Array.isArray(e.indices))throw TypeError(".vertexvis.protobuf.core.IndexedVector3fArray.indices: array expected");t.indices=[];for(let r=0;r<e.indices.length;++r)t.indices[r]=e.indices[r]>>>0}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.values=[],r.indices=[]),e.values&&e.values.length){r.values=[];for(let n=0;n<e.values.length;++n)r.values[n]=$root.vertexvis.protobuf.core.Vector3f.toObject(e.values[n],t)}if(e.indices&&e.indices.length){r.indices=[];for(let t=0;t<e.indices.length;++t)r.indices[t]=e.indices[t]}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Indexed3DTriangleSet=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.vertices=null,e.prototype.normals=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.vertices&&Object.hasOwnProperty.call(e,"vertices")&&$root.vertexvis.protobuf.core.IndexedVector3fArray.encode(e.vertices,t.uint32(10).fork()).ldelim(),null!=e.normals&&Object.hasOwnProperty.call(e,"normals")&&$root.vertexvis.protobuf.core.IndexedVector3fArray.encode(e.normals,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Indexed3DTriangleSet;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.vertices=$root.vertexvis.protobuf.core.IndexedVector3fArray.decode(e,e.uint32());break;case 2:n.normals=$root.vertexvis.protobuf.core.IndexedVector3fArray.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.vertices&&e.hasOwnProperty("vertices")){let t=$root.vertexvis.protobuf.core.IndexedVector3fArray.verify(e.vertices);if(t)return"vertices."+t}if(null!=e.normals&&e.hasOwnProperty("normals")){let t=$root.vertexvis.protobuf.core.IndexedVector3fArray.verify(e.normals);if(t)return"normals."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Indexed3DTriangleSet)return e;let t=new $root.vertexvis.protobuf.core.Indexed3DTriangleSet;if(null!=e.vertices){if("object"!=typeof e.vertices)throw TypeError(".vertexvis.protobuf.core.Indexed3DTriangleSet.vertices: object expected");t.vertices=$root.vertexvis.protobuf.core.IndexedVector3fArray.fromObject(e.vertices)}if(null!=e.normals){if("object"!=typeof e.normals)throw TypeError(".vertexvis.protobuf.core.Indexed3DTriangleSet.normals: object expected");t.normals=$root.vertexvis.protobuf.core.IndexedVector3fArray.fromObject(e.normals)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.vertices=null,r.normals=null),null!=e.vertices&&e.hasOwnProperty("vertices")&&(r.vertices=$root.vertexvis.protobuf.core.IndexedVector3fArray.toObject(e.vertices,t)),null!=e.normals&&e.hasOwnProperty("normals")&&(r.normals=$root.vertexvis.protobuf.core.IndexedVector3fArray.toObject(e.normals,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Matrix4x4f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.r0=null,e.prototype.r1=null,e.prototype.r2=null,e.prototype.r3=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.r0&&Object.hasOwnProperty.call(e,"r0")&&$root.vertexvis.protobuf.core.Vector4f.encode(e.r0,t.uint32(10).fork()).ldelim(),null!=e.r1&&Object.hasOwnProperty.call(e,"r1")&&$root.vertexvis.protobuf.core.Vector4f.encode(e.r1,t.uint32(18).fork()).ldelim(),null!=e.r2&&Object.hasOwnProperty.call(e,"r2")&&$root.vertexvis.protobuf.core.Vector4f.encode(e.r2,t.uint32(26).fork()).ldelim(),null!=e.r3&&Object.hasOwnProperty.call(e,"r3")&&$root.vertexvis.protobuf.core.Vector4f.encode(e.r3,t.uint32(34).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Matrix4x4f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.r0=$root.vertexvis.protobuf.core.Vector4f.decode(e,e.uint32());break;case 2:n.r1=$root.vertexvis.protobuf.core.Vector4f.decode(e,e.uint32());break;case 3:n.r2=$root.vertexvis.protobuf.core.Vector4f.decode(e,e.uint32());break;case 4:n.r3=$root.vertexvis.protobuf.core.Vector4f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.r0&&e.hasOwnProperty("r0")){let t=$root.vertexvis.protobuf.core.Vector4f.verify(e.r0);if(t)return"r0."+t}if(null!=e.r1&&e.hasOwnProperty("r1")){let t=$root.vertexvis.protobuf.core.Vector4f.verify(e.r1);if(t)return"r1."+t}if(null!=e.r2&&e.hasOwnProperty("r2")){let t=$root.vertexvis.protobuf.core.Vector4f.verify(e.r2);if(t)return"r2."+t}if(null!=e.r3&&e.hasOwnProperty("r3")){let t=$root.vertexvis.protobuf.core.Vector4f.verify(e.r3);if(t)return"r3."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Matrix4x4f)return e;let t=new $root.vertexvis.protobuf.core.Matrix4x4f;if(null!=e.r0){if("object"!=typeof e.r0)throw TypeError(".vertexvis.protobuf.core.Matrix4x4f.r0: object expected");t.r0=$root.vertexvis.protobuf.core.Vector4f.fromObject(e.r0)}if(null!=e.r1){if("object"!=typeof e.r1)throw TypeError(".vertexvis.protobuf.core.Matrix4x4f.r1: object expected");t.r1=$root.vertexvis.protobuf.core.Vector4f.fromObject(e.r1)}if(null!=e.r2){if("object"!=typeof e.r2)throw TypeError(".vertexvis.protobuf.core.Matrix4x4f.r2: object expected");t.r2=$root.vertexvis.protobuf.core.Vector4f.fromObject(e.r2)}if(null!=e.r3){if("object"!=typeof e.r3)throw TypeError(".vertexvis.protobuf.core.Matrix4x4f.r3: object expected");t.r3=$root.vertexvis.protobuf.core.Vector4f.fromObject(e.r3)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.r0=null,r.r1=null,r.r2=null,r.r3=null),null!=e.r0&&e.hasOwnProperty("r0")&&(r.r0=$root.vertexvis.protobuf.core.Vector4f.toObject(e.r0,t)),null!=e.r1&&e.hasOwnProperty("r1")&&(r.r1=$root.vertexvis.protobuf.core.Vector4f.toObject(e.r1,t)),null!=e.r2&&e.hasOwnProperty("r2")&&(r.r2=$root.vertexvis.protobuf.core.Vector4f.toObject(e.r2,t)),null!=e.r3&&e.hasOwnProperty("r3")&&(r.r3=$root.vertexvis.protobuf.core.Vector4f.toObject(e.r3,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Matrix4x4d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.r0=null,e.prototype.r1=null,e.prototype.r2=null,e.prototype.r3=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.r0&&Object.hasOwnProperty.call(e,"r0")&&$root.vertexvis.protobuf.core.Vector4d.encode(e.r0,t.uint32(10).fork()).ldelim(),null!=e.r1&&Object.hasOwnProperty.call(e,"r1")&&$root.vertexvis.protobuf.core.Vector4d.encode(e.r1,t.uint32(18).fork()).ldelim(),null!=e.r2&&Object.hasOwnProperty.call(e,"r2")&&$root.vertexvis.protobuf.core.Vector4d.encode(e.r2,t.uint32(26).fork()).ldelim(),null!=e.r3&&Object.hasOwnProperty.call(e,"r3")&&$root.vertexvis.protobuf.core.Vector4d.encode(e.r3,t.uint32(34).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Matrix4x4d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.r0=$root.vertexvis.protobuf.core.Vector4d.decode(e,e.uint32());break;case 2:n.r1=$root.vertexvis.protobuf.core.Vector4d.decode(e,e.uint32());break;case 3:n.r2=$root.vertexvis.protobuf.core.Vector4d.decode(e,e.uint32());break;case 4:n.r3=$root.vertexvis.protobuf.core.Vector4d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.r0&&e.hasOwnProperty("r0")){let t=$root.vertexvis.protobuf.core.Vector4d.verify(e.r0);if(t)return"r0."+t}if(null!=e.r1&&e.hasOwnProperty("r1")){let t=$root.vertexvis.protobuf.core.Vector4d.verify(e.r1);if(t)return"r1."+t}if(null!=e.r2&&e.hasOwnProperty("r2")){let t=$root.vertexvis.protobuf.core.Vector4d.verify(e.r2);if(t)return"r2."+t}if(null!=e.r3&&e.hasOwnProperty("r3")){let t=$root.vertexvis.protobuf.core.Vector4d.verify(e.r3);if(t)return"r3."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Matrix4x4d)return e;let t=new $root.vertexvis.protobuf.core.Matrix4x4d;if(null!=e.r0){if("object"!=typeof e.r0)throw TypeError(".vertexvis.protobuf.core.Matrix4x4d.r0: object expected");t.r0=$root.vertexvis.protobuf.core.Vector4d.fromObject(e.r0)}if(null!=e.r1){if("object"!=typeof e.r1)throw TypeError(".vertexvis.protobuf.core.Matrix4x4d.r1: object expected");t.r1=$root.vertexvis.protobuf.core.Vector4d.fromObject(e.r1)}if(null!=e.r2){if("object"!=typeof e.r2)throw TypeError(".vertexvis.protobuf.core.Matrix4x4d.r2: object expected");t.r2=$root.vertexvis.protobuf.core.Vector4d.fromObject(e.r2)}if(null!=e.r3){if("object"!=typeof e.r3)throw TypeError(".vertexvis.protobuf.core.Matrix4x4d.r3: object expected");t.r3=$root.vertexvis.protobuf.core.Vector4d.fromObject(e.r3)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.r0=null,r.r1=null,r.r2=null,r.r3=null),null!=e.r0&&e.hasOwnProperty("r0")&&(r.r0=$root.vertexvis.protobuf.core.Vector4d.toObject(e.r0,t)),null!=e.r1&&e.hasOwnProperty("r1")&&(r.r1=$root.vertexvis.protobuf.core.Vector4d.toObject(e.r1,t)),null!=e.r2&&e.hasOwnProperty("r2")&&(r.r2=$root.vertexvis.protobuf.core.Vector4d.toObject(e.r2,t)),null!=e.r3&&e.hasOwnProperty("r3")&&(r.r3=$root.vertexvis.protobuf.core.Vector4d.toObject(e.r3,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Dimension2i=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.width=0,e.prototype.height=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).int32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).int32(e.height),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Dimension2i;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.width=e.int32();break;case 2:n.height=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.width&&e.hasOwnProperty("width")&&!$util.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!$util.isInteger(e.height)?"height: integer expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Dimension2i)return e;let t=new $root.vertexvis.protobuf.core.Dimension2i;return null!=e.width&&(t.width=0|e.width),null!=e.height&&(t.height=0|e.height),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.width=0,r.height=0),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Point2i=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.dx=0,e.prototype.dy=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.dx&&Object.hasOwnProperty.call(e,"dx")&&t.uint32(8).int32(e.dx),null!=e.dy&&Object.hasOwnProperty.call(e,"dy")&&t.uint32(16).int32(e.dy),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Point2i;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.dx=e.int32();break;case 2:n.dy=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.dx&&e.hasOwnProperty("dx")&&!$util.isInteger(e.dx)?"dx: integer expected":null!=e.dy&&e.hasOwnProperty("dy")&&!$util.isInteger(e.dy)?"dy: integer expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Point2i)return e;let t=new $root.vertexvis.protobuf.core.Point2i;return null!=e.dx&&(t.dx=0|e.dx),null!=e.dy&&(t.dy=0|e.dy),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.dx=0,r.dy=0),null!=e.dx&&e.hasOwnProperty("dx")&&(r.dx=e.dx),null!=e.dy&&e.hasOwnProperty("dy")&&(r.dy=e.dy),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.BBox2f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.min=null,e.prototype.max=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.min&&Object.hasOwnProperty.call(e,"min")&&$root.vertexvis.protobuf.core.Vector2f.encode(e.min,t.uint32(10).fork()).ldelim(),null!=e.max&&Object.hasOwnProperty.call(e,"max")&&$root.vertexvis.protobuf.core.Vector2f.encode(e.max,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.BBox2f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.min=$root.vertexvis.protobuf.core.Vector2f.decode(e,e.uint32());break;case 2:n.max=$root.vertexvis.protobuf.core.Vector2f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.min&&e.hasOwnProperty("min")){let t=$root.vertexvis.protobuf.core.Vector2f.verify(e.min);if(t)return"min."+t}if(null!=e.max&&e.hasOwnProperty("max")){let t=$root.vertexvis.protobuf.core.Vector2f.verify(e.max);if(t)return"max."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.BBox2f)return e;let t=new $root.vertexvis.protobuf.core.BBox2f;if(null!=e.min){if("object"!=typeof e.min)throw TypeError(".vertexvis.protobuf.core.BBox2f.min: object expected");t.min=$root.vertexvis.protobuf.core.Vector2f.fromObject(e.min)}if(null!=e.max){if("object"!=typeof e.max)throw TypeError(".vertexvis.protobuf.core.BBox2f.max: object expected");t.max=$root.vertexvis.protobuf.core.Vector2f.fromObject(e.max)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.min=null,r.max=null),null!=e.min&&e.hasOwnProperty("min")&&(r.min=$root.vertexvis.protobuf.core.Vector2f.toObject(e.min,t)),null!=e.max&&e.hasOwnProperty("max")&&(r.max=$root.vertexvis.protobuf.core.Vector2f.toObject(e.max,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.BBox2d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.min=null,e.prototype.max=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.min&&Object.hasOwnProperty.call(e,"min")&&$root.vertexvis.protobuf.core.Vector2d.encode(e.min,t.uint32(10).fork()).ldelim(),null!=e.max&&Object.hasOwnProperty.call(e,"max")&&$root.vertexvis.protobuf.core.Vector2d.encode(e.max,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.BBox2d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.min=$root.vertexvis.protobuf.core.Vector2d.decode(e,e.uint32());break;case 2:n.max=$root.vertexvis.protobuf.core.Vector2d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.min&&e.hasOwnProperty("min")){let t=$root.vertexvis.protobuf.core.Vector2d.verify(e.min);if(t)return"min."+t}if(null!=e.max&&e.hasOwnProperty("max")){let t=$root.vertexvis.protobuf.core.Vector2d.verify(e.max);if(t)return"max."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.BBox2d)return e;let t=new $root.vertexvis.protobuf.core.BBox2d;if(null!=e.min){if("object"!=typeof e.min)throw TypeError(".vertexvis.protobuf.core.BBox2d.min: object expected");t.min=$root.vertexvis.protobuf.core.Vector2d.fromObject(e.min)}if(null!=e.max){if("object"!=typeof e.max)throw TypeError(".vertexvis.protobuf.core.BBox2d.max: object expected");t.max=$root.vertexvis.protobuf.core.Vector2d.fromObject(e.max)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.min=null,r.max=null),null!=e.min&&e.hasOwnProperty("min")&&(r.min=$root.vertexvis.protobuf.core.Vector2d.toObject(e.min,t)),null!=e.max&&e.hasOwnProperty("max")&&(r.max=$root.vertexvis.protobuf.core.Vector2d.toObject(e.max,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.BBox3f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.min=null,e.prototype.max=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.min&&Object.hasOwnProperty.call(e,"min")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.min,t.uint32(10).fork()).ldelim(),null!=e.max&&Object.hasOwnProperty.call(e,"max")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.max,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.BBox3f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.min=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.max=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.min&&e.hasOwnProperty("min")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.min);if(t)return"min."+t}if(null!=e.max&&e.hasOwnProperty("max")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.max);if(t)return"max."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.BBox3f)return e;let t=new $root.vertexvis.protobuf.core.BBox3f;if(null!=e.min){if("object"!=typeof e.min)throw TypeError(".vertexvis.protobuf.core.BBox3f.min: object expected");t.min=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.min)}if(null!=e.max){if("object"!=typeof e.max)throw TypeError(".vertexvis.protobuf.core.BBox3f.max: object expected");t.max=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.max)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.min=null,r.max=null),null!=e.min&&e.hasOwnProperty("min")&&(r.min=$root.vertexvis.protobuf.core.Vector3f.toObject(e.min,t)),null!=e.max&&e.hasOwnProperty("max")&&(r.max=$root.vertexvis.protobuf.core.Vector3f.toObject(e.max,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.BBox3d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.min=null,e.prototype.max=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.min&&Object.hasOwnProperty.call(e,"min")&&$root.vertexvis.protobuf.core.Vector3d.encode(e.min,t.uint32(10).fork()).ldelim(),null!=e.max&&Object.hasOwnProperty.call(e,"max")&&$root.vertexvis.protobuf.core.Vector3d.encode(e.max,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.BBox3d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.min=$root.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 2:n.max=$root.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.min&&e.hasOwnProperty("min")){let t=$root.vertexvis.protobuf.core.Vector3d.verify(e.min);if(t)return"min."+t}if(null!=e.max&&e.hasOwnProperty("max")){let t=$root.vertexvis.protobuf.core.Vector3d.verify(e.max);if(t)return"max."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.BBox3d)return e;let t=new $root.vertexvis.protobuf.core.BBox3d;if(null!=e.min){if("object"!=typeof e.min)throw TypeError(".vertexvis.protobuf.core.BBox3d.min: object expected");t.min=$root.vertexvis.protobuf.core.Vector3d.fromObject(e.min)}if(null!=e.max){if("object"!=typeof e.max)throw TypeError(".vertexvis.protobuf.core.BBox3d.max: object expected");t.max=$root.vertexvis.protobuf.core.Vector3d.fromObject(e.max)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.min=null,r.max=null),null!=e.min&&e.hasOwnProperty("min")&&(r.min=$root.vertexvis.protobuf.core.Vector3d.toObject(e.min,t)),null!=e.max&&e.hasOwnProperty("max")&&(r.max=$root.vertexvis.protobuf.core.Vector3d.toObject(e.max,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.LinearTransform2f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.basisX=null,e.prototype.basisY=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.basisX&&Object.hasOwnProperty.call(e,"basisX")&&$root.vertexvis.protobuf.core.Vector2f.encode(e.basisX,t.uint32(10).fork()).ldelim(),null!=e.basisY&&Object.hasOwnProperty.call(e,"basisY")&&$root.vertexvis.protobuf.core.Vector2f.encode(e.basisY,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.LinearTransform2f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.basisX=$root.vertexvis.protobuf.core.Vector2f.decode(e,e.uint32());break;case 2:n.basisY=$root.vertexvis.protobuf.core.Vector2f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.basisX&&e.hasOwnProperty("basisX")){let t=$root.vertexvis.protobuf.core.Vector2f.verify(e.basisX);if(t)return"basisX."+t}if(null!=e.basisY&&e.hasOwnProperty("basisY")){let t=$root.vertexvis.protobuf.core.Vector2f.verify(e.basisY);if(t)return"basisY."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.LinearTransform2f)return e;let t=new $root.vertexvis.protobuf.core.LinearTransform2f;if(null!=e.basisX){if("object"!=typeof e.basisX)throw TypeError(".vertexvis.protobuf.core.LinearTransform2f.basisX: object expected");t.basisX=$root.vertexvis.protobuf.core.Vector2f.fromObject(e.basisX)}if(null!=e.basisY){if("object"!=typeof e.basisY)throw TypeError(".vertexvis.protobuf.core.LinearTransform2f.basisY: object expected");t.basisY=$root.vertexvis.protobuf.core.Vector2f.fromObject(e.basisY)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.basisX=null,r.basisY=null),null!=e.basisX&&e.hasOwnProperty("basisX")&&(r.basisX=$root.vertexvis.protobuf.core.Vector2f.toObject(e.basisX,t)),null!=e.basisY&&e.hasOwnProperty("basisY")&&(r.basisY=$root.vertexvis.protobuf.core.Vector2f.toObject(e.basisY,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.LinearTransform2d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.basisX=null,e.prototype.basisY=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.basisX&&Object.hasOwnProperty.call(e,"basisX")&&$root.vertexvis.protobuf.core.Vector2d.encode(e.basisX,t.uint32(10).fork()).ldelim(),null!=e.basisY&&Object.hasOwnProperty.call(e,"basisY")&&$root.vertexvis.protobuf.core.Vector2d.encode(e.basisY,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.LinearTransform2d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.basisX=$root.vertexvis.protobuf.core.Vector2d.decode(e,e.uint32());break;case 2:n.basisY=$root.vertexvis.protobuf.core.Vector2d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.basisX&&e.hasOwnProperty("basisX")){let t=$root.vertexvis.protobuf.core.Vector2d.verify(e.basisX);if(t)return"basisX."+t}if(null!=e.basisY&&e.hasOwnProperty("basisY")){let t=$root.vertexvis.protobuf.core.Vector2d.verify(e.basisY);if(t)return"basisY."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.LinearTransform2d)return e;let t=new $root.vertexvis.protobuf.core.LinearTransform2d;if(null!=e.basisX){if("object"!=typeof e.basisX)throw TypeError(".vertexvis.protobuf.core.LinearTransform2d.basisX: object expected");t.basisX=$root.vertexvis.protobuf.core.Vector2d.fromObject(e.basisX)}if(null!=e.basisY){if("object"!=typeof e.basisY)throw TypeError(".vertexvis.protobuf.core.LinearTransform2d.basisY: object expected");t.basisY=$root.vertexvis.protobuf.core.Vector2d.fromObject(e.basisY)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.basisX=null,r.basisY=null),null!=e.basisX&&e.hasOwnProperty("basisX")&&(r.basisX=$root.vertexvis.protobuf.core.Vector2d.toObject(e.basisX,t)),null!=e.basisY&&e.hasOwnProperty("basisY")&&(r.basisY=$root.vertexvis.protobuf.core.Vector2d.toObject(e.basisY,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.LinearTransform3f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.basisX=null,e.prototype.basisY=null,e.prototype.basisZ=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.basisX&&Object.hasOwnProperty.call(e,"basisX")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.basisX,t.uint32(10).fork()).ldelim(),null!=e.basisY&&Object.hasOwnProperty.call(e,"basisY")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.basisY,t.uint32(18).fork()).ldelim(),null!=e.basisZ&&Object.hasOwnProperty.call(e,"basisZ")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.basisZ,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.LinearTransform3f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.basisX=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 2:n.basisY=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;case 3:n.basisZ=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.basisX&&e.hasOwnProperty("basisX")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.basisX);if(t)return"basisX."+t}if(null!=e.basisY&&e.hasOwnProperty("basisY")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.basisY);if(t)return"basisY."+t}if(null!=e.basisZ&&e.hasOwnProperty("basisZ")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.basisZ);if(t)return"basisZ."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.LinearTransform3f)return e;let t=new $root.vertexvis.protobuf.core.LinearTransform3f;if(null!=e.basisX){if("object"!=typeof e.basisX)throw TypeError(".vertexvis.protobuf.core.LinearTransform3f.basisX: object expected");t.basisX=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.basisX)}if(null!=e.basisY){if("object"!=typeof e.basisY)throw TypeError(".vertexvis.protobuf.core.LinearTransform3f.basisY: object expected");t.basisY=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.basisY)}if(null!=e.basisZ){if("object"!=typeof e.basisZ)throw TypeError(".vertexvis.protobuf.core.LinearTransform3f.basisZ: object expected");t.basisZ=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.basisZ)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.basisX=null,r.basisY=null,r.basisZ=null),null!=e.basisX&&e.hasOwnProperty("basisX")&&(r.basisX=$root.vertexvis.protobuf.core.Vector3f.toObject(e.basisX,t)),null!=e.basisY&&e.hasOwnProperty("basisY")&&(r.basisY=$root.vertexvis.protobuf.core.Vector3f.toObject(e.basisY,t)),null!=e.basisZ&&e.hasOwnProperty("basisZ")&&(r.basisZ=$root.vertexvis.protobuf.core.Vector3f.toObject(e.basisZ,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.LinearTransform3d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.basisX=null,e.prototype.basisY=null,e.prototype.basisZ=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.basisX&&Object.hasOwnProperty.call(e,"basisX")&&$root.vertexvis.protobuf.core.Vector3d.encode(e.basisX,t.uint32(10).fork()).ldelim(),null!=e.basisY&&Object.hasOwnProperty.call(e,"basisY")&&$root.vertexvis.protobuf.core.Vector3d.encode(e.basisY,t.uint32(18).fork()).ldelim(),null!=e.basisZ&&Object.hasOwnProperty.call(e,"basisZ")&&$root.vertexvis.protobuf.core.Vector3d.encode(e.basisZ,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.LinearTransform3d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.basisX=$root.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 2:n.basisY=$root.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 3:n.basisZ=$root.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.basisX&&e.hasOwnProperty("basisX")){let t=$root.vertexvis.protobuf.core.Vector3d.verify(e.basisX);if(t)return"basisX."+t}if(null!=e.basisY&&e.hasOwnProperty("basisY")){let t=$root.vertexvis.protobuf.core.Vector3d.verify(e.basisY);if(t)return"basisY."+t}if(null!=e.basisZ&&e.hasOwnProperty("basisZ")){let t=$root.vertexvis.protobuf.core.Vector3d.verify(e.basisZ);if(t)return"basisZ."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.LinearTransform3d)return e;let t=new $root.vertexvis.protobuf.core.LinearTransform3d;if(null!=e.basisX){if("object"!=typeof e.basisX)throw TypeError(".vertexvis.protobuf.core.LinearTransform3d.basisX: object expected");t.basisX=$root.vertexvis.protobuf.core.Vector3d.fromObject(e.basisX)}if(null!=e.basisY){if("object"!=typeof e.basisY)throw TypeError(".vertexvis.protobuf.core.LinearTransform3d.basisY: object expected");t.basisY=$root.vertexvis.protobuf.core.Vector3d.fromObject(e.basisY)}if(null!=e.basisZ){if("object"!=typeof e.basisZ)throw TypeError(".vertexvis.protobuf.core.LinearTransform3d.basisZ: object expected");t.basisZ=$root.vertexvis.protobuf.core.Vector3d.fromObject(e.basisZ)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.basisX=null,r.basisY=null,r.basisZ=null),null!=e.basisX&&e.hasOwnProperty("basisX")&&(r.basisX=$root.vertexvis.protobuf.core.Vector3d.toObject(e.basisX,t)),null!=e.basisY&&e.hasOwnProperty("basisY")&&(r.basisY=$root.vertexvis.protobuf.core.Vector3d.toObject(e.basisY,t)),null!=e.basisZ&&e.hasOwnProperty("basisZ")&&(r.basisZ=$root.vertexvis.protobuf.core.Vector3d.toObject(e.basisZ,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.AffineTransform2f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.transform=null,e.prototype.pos=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root.vertexvis.protobuf.core.LinearTransform2f.encode(e.transform,t.uint32(10).fork()).ldelim(),null!=e.pos&&Object.hasOwnProperty.call(e,"pos")&&$root.vertexvis.protobuf.core.Vector2f.encode(e.pos,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.AffineTransform2f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.transform=$root.vertexvis.protobuf.core.LinearTransform2f.decode(e,e.uint32());break;case 2:n.pos=$root.vertexvis.protobuf.core.Vector2f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root.vertexvis.protobuf.core.LinearTransform2f.verify(e.transform);if(t)return"transform."+t}if(null!=e.pos&&e.hasOwnProperty("pos")){let t=$root.vertexvis.protobuf.core.Vector2f.verify(e.pos);if(t)return"pos."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.AffineTransform2f)return e;let t=new $root.vertexvis.protobuf.core.AffineTransform2f;if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.core.AffineTransform2f.transform: object expected");t.transform=$root.vertexvis.protobuf.core.LinearTransform2f.fromObject(e.transform)}if(null!=e.pos){if("object"!=typeof e.pos)throw TypeError(".vertexvis.protobuf.core.AffineTransform2f.pos: object expected");t.pos=$root.vertexvis.protobuf.core.Vector2f.fromObject(e.pos)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.transform=null,r.pos=null),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root.vertexvis.protobuf.core.LinearTransform2f.toObject(e.transform,t)),null!=e.pos&&e.hasOwnProperty("pos")&&(r.pos=$root.vertexvis.protobuf.core.Vector2f.toObject(e.pos,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.AffineTransform2d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.transform=null,e.prototype.pos=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root.vertexvis.protobuf.core.LinearTransform2d.encode(e.transform,t.uint32(10).fork()).ldelim(),null!=e.pos&&Object.hasOwnProperty.call(e,"pos")&&$root.vertexvis.protobuf.core.Vector2d.encode(e.pos,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.AffineTransform2d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.transform=$root.vertexvis.protobuf.core.LinearTransform2d.decode(e,e.uint32());break;case 2:n.pos=$root.vertexvis.protobuf.core.Vector2d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root.vertexvis.protobuf.core.LinearTransform2d.verify(e.transform);if(t)return"transform."+t}if(null!=e.pos&&e.hasOwnProperty("pos")){let t=$root.vertexvis.protobuf.core.Vector2d.verify(e.pos);if(t)return"pos."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.AffineTransform2d)return e;let t=new $root.vertexvis.protobuf.core.AffineTransform2d;if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.core.AffineTransform2d.transform: object expected");t.transform=$root.vertexvis.protobuf.core.LinearTransform2d.fromObject(e.transform)}if(null!=e.pos){if("object"!=typeof e.pos)throw TypeError(".vertexvis.protobuf.core.AffineTransform2d.pos: object expected");t.pos=$root.vertexvis.protobuf.core.Vector2d.fromObject(e.pos)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.transform=null,r.pos=null),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root.vertexvis.protobuf.core.LinearTransform2d.toObject(e.transform,t)),null!=e.pos&&e.hasOwnProperty("pos")&&(r.pos=$root.vertexvis.protobuf.core.Vector2d.toObject(e.pos,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.AffineTransform3f=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.transform=null,e.prototype.pos=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root.vertexvis.protobuf.core.LinearTransform3f.encode(e.transform,t.uint32(10).fork()).ldelim(),null!=e.pos&&Object.hasOwnProperty.call(e,"pos")&&$root.vertexvis.protobuf.core.Vector3f.encode(e.pos,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.AffineTransform3f;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.transform=$root.vertexvis.protobuf.core.LinearTransform3f.decode(e,e.uint32());break;case 2:n.pos=$root.vertexvis.protobuf.core.Vector3f.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root.vertexvis.protobuf.core.LinearTransform3f.verify(e.transform);if(t)return"transform."+t}if(null!=e.pos&&e.hasOwnProperty("pos")){let t=$root.vertexvis.protobuf.core.Vector3f.verify(e.pos);if(t)return"pos."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.AffineTransform3f)return e;let t=new $root.vertexvis.protobuf.core.AffineTransform3f;if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.core.AffineTransform3f.transform: object expected");t.transform=$root.vertexvis.protobuf.core.LinearTransform3f.fromObject(e.transform)}if(null!=e.pos){if("object"!=typeof e.pos)throw TypeError(".vertexvis.protobuf.core.AffineTransform3f.pos: object expected");t.pos=$root.vertexvis.protobuf.core.Vector3f.fromObject(e.pos)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.transform=null,r.pos=null),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root.vertexvis.protobuf.core.LinearTransform3f.toObject(e.transform,t)),null!=e.pos&&e.hasOwnProperty("pos")&&(r.pos=$root.vertexvis.protobuf.core.Vector3f.toObject(e.pos,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.AffineTransform3d=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.transform=null,e.prototype.pos=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.transform&&Object.hasOwnProperty.call(e,"transform")&&$root.vertexvis.protobuf.core.LinearTransform3d.encode(e.transform,t.uint32(10).fork()).ldelim(),null!=e.pos&&Object.hasOwnProperty.call(e,"pos")&&$root.vertexvis.protobuf.core.Vector3d.encode(e.pos,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.AffineTransform3d;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.transform=$root.vertexvis.protobuf.core.LinearTransform3d.decode(e,e.uint32());break;case 2:n.pos=$root.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.transform&&e.hasOwnProperty("transform")){let t=$root.vertexvis.protobuf.core.LinearTransform3d.verify(e.transform);if(t)return"transform."+t}if(null!=e.pos&&e.hasOwnProperty("pos")){let t=$root.vertexvis.protobuf.core.Vector3d.verify(e.pos);if(t)return"pos."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.AffineTransform3d)return e;let t=new $root.vertexvis.protobuf.core.AffineTransform3d;if(null!=e.transform){if("object"!=typeof e.transform)throw TypeError(".vertexvis.protobuf.core.AffineTransform3d.transform: object expected");t.transform=$root.vertexvis.protobuf.core.LinearTransform3d.fromObject(e.transform)}if(null!=e.pos){if("object"!=typeof e.pos)throw TypeError(".vertexvis.protobuf.core.AffineTransform3d.pos: object expected");t.pos=$root.vertexvis.protobuf.core.Vector3d.fromObject(e.pos)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.transform=null,r.pos=null),null!=e.transform&&e.hasOwnProperty("transform")&&(r.transform=$root.vertexvis.protobuf.core.LinearTransform3d.toObject(e.transform,t)),null!=e.pos&&e.hasOwnProperty("pos")&&(r.pos=$root.vertexvis.protobuf.core.Vector3d.toObject(e.pos,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Plane=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.normal=null,e.prototype.d=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.normal&&Object.hasOwnProperty.call(e,"normal")&&$root.vertexvis.protobuf.core.Vector3d.encode(e.normal,t.uint32(10).fork()).ldelim(),null!=e.d&&Object.hasOwnProperty.call(e,"d")&&t.uint32(17).double(e.d),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Plane;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.normal=$root.vertexvis.protobuf.core.Vector3d.decode(e,e.uint32());break;case 2:n.d=e.double();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.normal&&e.hasOwnProperty("normal")){let t=$root.vertexvis.protobuf.core.Vector3d.verify(e.normal);if(t)return"normal."+t}return null!=e.d&&e.hasOwnProperty("d")&&"number"!=typeof e.d?"d: number expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Plane)return e;let t=new $root.vertexvis.protobuf.core.Plane;if(null!=e.normal){if("object"!=typeof e.normal)throw TypeError(".vertexvis.protobuf.core.Plane.normal: object expected");t.normal=$root.vertexvis.protobuf.core.Vector3d.fromObject(e.normal)}return null!=e.d&&(t.d=Number(e.d)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.normal=null,r.d=0),null!=e.normal&&e.hasOwnProperty("normal")&&(r.normal=$root.vertexvis.protobuf.core.Vector3d.toObject(e.normal,t)),null!=e.d&&e.hasOwnProperty("d")&&(r.d=t.json&&!isFinite(e.d)?String(e.d):e.d),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Uuid=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.hex="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.hex&&Object.hasOwnProperty.call(e,"hex")&&t.uint32(10).string(e.hex),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Uuid;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.hex=e.string();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.hex&&e.hasOwnProperty("hex")&&!$util.isString(e.hex)?"hex: string expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Uuid)return e;let t=new $root.vertexvis.protobuf.core.Uuid;return null!=e.hex&&(t.hex=String(e.hex)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.hex=""),null!=e.hex&&e.hasOwnProperty("hex")&&(r.hex=e.hex),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Uuid2l=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.msb=$util.Long?$util.Long.fromBits(0,0,!1):0,e.prototype.lsb=$util.Long?$util.Long.fromBits(0,0,!1):0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.msb&&Object.hasOwnProperty.call(e,"msb")&&t.uint32(9).sfixed64(e.msb),null!=e.lsb&&Object.hasOwnProperty.call(e,"lsb")&&t.uint32(17).sfixed64(e.lsb),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Uuid2l;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.msb=e.sfixed64();break;case 2:n.lsb=e.sfixed64();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.msb&&e.hasOwnProperty("msb")&&!($util.isInteger(e.msb)||e.msb&&$util.isInteger(e.msb.low)&&$util.isInteger(e.msb.high))?"msb: integer|Long expected":null!=e.lsb&&e.hasOwnProperty("lsb")&&!($util.isInteger(e.lsb)||e.lsb&&$util.isInteger(e.lsb.low)&&$util.isInteger(e.lsb.high))?"lsb: integer|Long expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Uuid2l)return e;let t=new $root.vertexvis.protobuf.core.Uuid2l;return null!=e.msb&&($util.Long?(t.msb=$util.Long.fromValue(e.msb)).unsigned=!1:"string"==typeof e.msb?t.msb=parseInt(e.msb,10):"number"==typeof e.msb?t.msb=e.msb:"object"==typeof e.msb&&(t.msb=new $util.LongBits(e.msb.low>>>0,e.msb.high>>>0).toNumber())),null!=e.lsb&&($util.Long?(t.lsb=$util.Long.fromValue(e.lsb)).unsigned=!1:"string"==typeof e.lsb?t.lsb=parseInt(e.lsb,10):"number"==typeof e.lsb?t.lsb=e.lsb:"object"==typeof e.lsb&&(t.lsb=new $util.LongBits(e.lsb.low>>>0,e.lsb.high>>>0).toNumber())),t},e.toObject=function(e,t){t||(t={});let r={};if(t.defaults){if($util.Long){let e=new $util.Long(0,0,!1);r.msb=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.msb=t.longs===String?"0":0;if($util.Long){let e=new $util.Long(0,0,!1);r.lsb=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.lsb=t.longs===String?"0":0}return null!=e.msb&&e.hasOwnProperty("msb")&&(r.msb="number"==typeof e.msb?t.longs===String?String(e.msb):e.msb:t.longs===String?$util.Long.prototype.toString.call(e.msb):t.longs===Number?new $util.LongBits(e.msb.low>>>0,e.msb.high>>>0).toNumber():e.msb),null!=e.lsb&&e.hasOwnProperty("lsb")&&(r.lsb="number"==typeof e.lsb?t.longs===String?String(e.lsb):e.lsb:t.longs===String?$util.Long.prototype.toString.call(e.lsb):t.longs===Number?new $util.LongBits(e.lsb.low>>>0,e.lsb.high>>>0).toNumber():e.lsb),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.RGBAi=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.r=0,e.prototype.g=0,e.prototype.b=0,e.prototype.a=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.r&&Object.hasOwnProperty.call(e,"r")&&t.uint32(8).uint32(e.r),null!=e.g&&Object.hasOwnProperty.call(e,"g")&&t.uint32(16).uint32(e.g),null!=e.b&&Object.hasOwnProperty.call(e,"b")&&t.uint32(24).uint32(e.b),null!=e.a&&Object.hasOwnProperty.call(e,"a")&&t.uint32(32).uint32(e.a),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.RGBAi;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.r=e.uint32();break;case 2:n.g=e.uint32();break;case 3:n.b=e.uint32();break;case 4:n.a=e.uint32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.r&&e.hasOwnProperty("r")&&!$util.isInteger(e.r)?"r: integer expected":null!=e.g&&e.hasOwnProperty("g")&&!$util.isInteger(e.g)?"g: integer expected":null!=e.b&&e.hasOwnProperty("b")&&!$util.isInteger(e.b)?"b: integer expected":null!=e.a&&e.hasOwnProperty("a")&&!$util.isInteger(e.a)?"a: integer expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.RGBAi)return e;let t=new $root.vertexvis.protobuf.core.RGBAi;return null!=e.r&&(t.r=e.r>>>0),null!=e.g&&(t.g=e.g>>>0),null!=e.b&&(t.b=e.b>>>0),null!=e.a&&(t.a=e.a>>>0),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.r=0,r.g=0,r.b=0,r.a=0),null!=e.r&&e.hasOwnProperty("r")&&(r.r=e.r),null!=e.g&&e.hasOwnProperty("g")&&(r.g=e.g),null!=e.b&&e.hasOwnProperty("b")&&(r.b=e.b),null!=e.a&&e.hasOwnProperty("a")&&(r.a=e.a),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.RGBi=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.r=0,e.prototype.g=0,e.prototype.b=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.r&&Object.hasOwnProperty.call(e,"r")&&t.uint32(8).uint32(e.r),null!=e.g&&Object.hasOwnProperty.call(e,"g")&&t.uint32(16).uint32(e.g),null!=e.b&&Object.hasOwnProperty.call(e,"b")&&t.uint32(24).uint32(e.b),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.RGBi;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.r=e.uint32();break;case 2:n.g=e.uint32();break;case 3:n.b=e.uint32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.r&&e.hasOwnProperty("r")&&!$util.isInteger(e.r)?"r: integer expected":null!=e.g&&e.hasOwnProperty("g")&&!$util.isInteger(e.g)?"g: integer expected":null!=e.b&&e.hasOwnProperty("b")&&!$util.isInteger(e.b)?"b: integer expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.RGBi)return e;let t=new $root.vertexvis.protobuf.core.RGBi;return null!=e.r&&(t.r=e.r>>>0),null!=e.g&&(t.g=e.g>>>0),null!=e.b&&(t.b=e.b>>>0),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.r=0,r.g=0,r.b=0),null!=e.r&&e.hasOwnProperty("r")&&(r.r=e.r),null!=e.g&&e.hasOwnProperty("g")&&(r.g=e.g),null!=e.b&&e.hasOwnProperty("b")&&(r.b=e.b),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ColorMaterial=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.d=0,e.prototype.ns=0,e.prototype.ka=null,e.prototype.kd=null,e.prototype.ks=null,e.prototype.ke=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.d&&Object.hasOwnProperty.call(e,"d")&&t.uint32(8).uint32(e.d),null!=e.ns&&Object.hasOwnProperty.call(e,"ns")&&t.uint32(16).uint32(e.ns),null!=e.ka&&Object.hasOwnProperty.call(e,"ka")&&$root.vertexvis.protobuf.core.RGBi.encode(e.ka,t.uint32(26).fork()).ldelim(),null!=e.kd&&Object.hasOwnProperty.call(e,"kd")&&$root.vertexvis.protobuf.core.RGBi.encode(e.kd,t.uint32(34).fork()).ldelim(),null!=e.ks&&Object.hasOwnProperty.call(e,"ks")&&$root.vertexvis.protobuf.core.RGBi.encode(e.ks,t.uint32(42).fork()).ldelim(),null!=e.ke&&Object.hasOwnProperty.call(e,"ke")&&$root.vertexvis.protobuf.core.RGBi.encode(e.ke,t.uint32(50).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.ColorMaterial;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.d=e.uint32();break;case 2:n.ns=e.uint32();break;case 3:n.ka=$root.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;case 4:n.kd=$root.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;case 5:n.ks=$root.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;case 6:n.ke=$root.vertexvis.protobuf.core.RGBi.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.d&&e.hasOwnProperty("d")&&!$util.isInteger(e.d))return"d: integer expected";if(null!=e.ns&&e.hasOwnProperty("ns")&&!$util.isInteger(e.ns))return"ns: integer expected";if(null!=e.ka&&e.hasOwnProperty("ka")){let t=$root.vertexvis.protobuf.core.RGBi.verify(e.ka);if(t)return"ka."+t}if(null!=e.kd&&e.hasOwnProperty("kd")){let t=$root.vertexvis.protobuf.core.RGBi.verify(e.kd);if(t)return"kd."+t}if(null!=e.ks&&e.hasOwnProperty("ks")){let t=$root.vertexvis.protobuf.core.RGBi.verify(e.ks);if(t)return"ks."+t}if(null!=e.ke&&e.hasOwnProperty("ke")){let t=$root.vertexvis.protobuf.core.RGBi.verify(e.ke);if(t)return"ke."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.ColorMaterial)return e;let t=new $root.vertexvis.protobuf.core.ColorMaterial;if(null!=e.d&&(t.d=e.d>>>0),null!=e.ns&&(t.ns=e.ns>>>0),null!=e.ka){if("object"!=typeof e.ka)throw TypeError(".vertexvis.protobuf.core.ColorMaterial.ka: object expected");t.ka=$root.vertexvis.protobuf.core.RGBi.fromObject(e.ka)}if(null!=e.kd){if("object"!=typeof e.kd)throw TypeError(".vertexvis.protobuf.core.ColorMaterial.kd: object expected");t.kd=$root.vertexvis.protobuf.core.RGBi.fromObject(e.kd)}if(null!=e.ks){if("object"!=typeof e.ks)throw TypeError(".vertexvis.protobuf.core.ColorMaterial.ks: object expected");t.ks=$root.vertexvis.protobuf.core.RGBi.fromObject(e.ks)}if(null!=e.ke){if("object"!=typeof e.ke)throw TypeError(".vertexvis.protobuf.core.ColorMaterial.ke: object expected");t.ke=$root.vertexvis.protobuf.core.RGBi.fromObject(e.ke)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.d=0,r.ns=0,r.ka=null,r.kd=null,r.ks=null,r.ke=null),null!=e.d&&e.hasOwnProperty("d")&&(r.d=e.d),null!=e.ns&&e.hasOwnProperty("ns")&&(r.ns=e.ns),null!=e.ka&&e.hasOwnProperty("ka")&&(r.ka=$root.vertexvis.protobuf.core.RGBi.toObject(e.ka,t)),null!=e.kd&&e.hasOwnProperty("kd")&&(r.kd=$root.vertexvis.protobuf.core.RGBi.toObject(e.kd,t)),null!=e.ks&&e.hasOwnProperty("ks")&&(r.ks=$root.vertexvis.protobuf.core.RGBi.toObject(e.ks,t)),null!=e.ke&&e.hasOwnProperty("ke")&&(r.ke=$root.vertexvis.protobuf.core.RGBi.toObject(e.ke,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.RGBf=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.r=0,e.prototype.g=0,e.prototype.b=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.r&&Object.hasOwnProperty.call(e,"r")&&t.uint32(13).float(e.r),null!=e.g&&Object.hasOwnProperty.call(e,"g")&&t.uint32(21).float(e.g),null!=e.b&&Object.hasOwnProperty.call(e,"b")&&t.uint32(29).float(e.b),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.RGBf;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.r=e.float();break;case 2:n.g=e.float();break;case 3:n.b=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.r&&e.hasOwnProperty("r")&&"number"!=typeof e.r?"r: number expected":null!=e.g&&e.hasOwnProperty("g")&&"number"!=typeof e.g?"g: number expected":null!=e.b&&e.hasOwnProperty("b")&&"number"!=typeof e.b?"b: number expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.RGBf)return e;let t=new $root.vertexvis.protobuf.core.RGBf;return null!=e.r&&(t.r=Number(e.r)),null!=e.g&&(t.g=Number(e.g)),null!=e.b&&(t.b=Number(e.b)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.r=0,r.g=0,r.b=0),null!=e.r&&e.hasOwnProperty("r")&&(r.r=t.json&&!isFinite(e.r)?String(e.r):e.r),null!=e.g&&e.hasOwnProperty("g")&&(r.g=t.json&&!isFinite(e.g)?String(e.g):e.g),null!=e.b&&e.hasOwnProperty("b")&&(r.b=t.json&&!isFinite(e.b)?String(e.b):e.b),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ColorMaterialf=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.d=0,e.prototype.ns=0,e.prototype.ka=null,e.prototype.kd=null,e.prototype.ks=null,e.prototype.ke=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.d&&Object.hasOwnProperty.call(e,"d")&&t.uint32(13).float(e.d),null!=e.ns&&Object.hasOwnProperty.call(e,"ns")&&t.uint32(21).float(e.ns),null!=e.ka&&Object.hasOwnProperty.call(e,"ka")&&$root.vertexvis.protobuf.core.RGBf.encode(e.ka,t.uint32(26).fork()).ldelim(),null!=e.kd&&Object.hasOwnProperty.call(e,"kd")&&$root.vertexvis.protobuf.core.RGBf.encode(e.kd,t.uint32(34).fork()).ldelim(),null!=e.ks&&Object.hasOwnProperty.call(e,"ks")&&$root.vertexvis.protobuf.core.RGBf.encode(e.ks,t.uint32(42).fork()).ldelim(),null!=e.ke&&Object.hasOwnProperty.call(e,"ke")&&$root.vertexvis.protobuf.core.RGBf.encode(e.ke,t.uint32(50).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.ColorMaterialf;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.d=e.float();break;case 2:n.ns=e.float();break;case 3:n.ka=$root.vertexvis.protobuf.core.RGBf.decode(e,e.uint32());break;case 4:n.kd=$root.vertexvis.protobuf.core.RGBf.decode(e,e.uint32());break;case 5:n.ks=$root.vertexvis.protobuf.core.RGBf.decode(e,e.uint32());break;case 6:n.ke=$root.vertexvis.protobuf.core.RGBf.decode(e,e.uint32());break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.d&&e.hasOwnProperty("d")&&"number"!=typeof e.d)return"d: number expected";if(null!=e.ns&&e.hasOwnProperty("ns")&&"number"!=typeof e.ns)return"ns: number expected";if(null!=e.ka&&e.hasOwnProperty("ka")){let t=$root.vertexvis.protobuf.core.RGBf.verify(e.ka);if(t)return"ka."+t}if(null!=e.kd&&e.hasOwnProperty("kd")){let t=$root.vertexvis.protobuf.core.RGBf.verify(e.kd);if(t)return"kd."+t}if(null!=e.ks&&e.hasOwnProperty("ks")){let t=$root.vertexvis.protobuf.core.RGBf.verify(e.ks);if(t)return"ks."+t}if(null!=e.ke&&e.hasOwnProperty("ke")){let t=$root.vertexvis.protobuf.core.RGBf.verify(e.ke);if(t)return"ke."+t}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.ColorMaterialf)return e;let t=new $root.vertexvis.protobuf.core.ColorMaterialf;if(null!=e.d&&(t.d=Number(e.d)),null!=e.ns&&(t.ns=Number(e.ns)),null!=e.ka){if("object"!=typeof e.ka)throw TypeError(".vertexvis.protobuf.core.ColorMaterialf.ka: object expected");t.ka=$root.vertexvis.protobuf.core.RGBf.fromObject(e.ka)}if(null!=e.kd){if("object"!=typeof e.kd)throw TypeError(".vertexvis.protobuf.core.ColorMaterialf.kd: object expected");t.kd=$root.vertexvis.protobuf.core.RGBf.fromObject(e.kd)}if(null!=e.ks){if("object"!=typeof e.ks)throw TypeError(".vertexvis.protobuf.core.ColorMaterialf.ks: object expected");t.ks=$root.vertexvis.protobuf.core.RGBf.fromObject(e.ks)}if(null!=e.ke){if("object"!=typeof e.ke)throw TypeError(".vertexvis.protobuf.core.ColorMaterialf.ke: object expected");t.ke=$root.vertexvis.protobuf.core.RGBf.fromObject(e.ke)}return t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.d=0,r.ns=0,r.ka=null,r.kd=null,r.ks=null,r.ke=null),null!=e.d&&e.hasOwnProperty("d")&&(r.d=t.json&&!isFinite(e.d)?String(e.d):e.d),null!=e.ns&&e.hasOwnProperty("ns")&&(r.ns=t.json&&!isFinite(e.ns)?String(e.ns):e.ns),null!=e.ka&&e.hasOwnProperty("ka")&&(r.ka=$root.vertexvis.protobuf.core.RGBf.toObject(e.ka,t)),null!=e.kd&&e.hasOwnProperty("kd")&&(r.kd=$root.vertexvis.protobuf.core.RGBf.toObject(e.kd,t)),null!=e.ks&&e.hasOwnProperty("ks")&&(r.ks=$root.vertexvis.protobuf.core.RGBf.toObject(e.ks,t)),null!=e.ke&&e.hasOwnProperty("ke")&&(r.ke=$root.vertexvis.protobuf.core.RGBf.toObject(e.ke,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.ModelEntity=function(){function e(e){if(this.details=[],e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.entityId=$util.Long?$util.Long.fromBits(0,0,!1):0,e.prototype.sceneItemId=null,e.prototype.details=$util.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=$Writer.create()),null!=e.entityId&&Object.hasOwnProperty.call(e,"entityId")&&t.uint32(8).int64(e.entityId),null!=e.sceneItemId&&Object.hasOwnProperty.call(e,"sceneItemId")&&$root.vertexvis.protobuf.core.Uuid.encode(e.sceneItemId,t.uint32(18).fork()).ldelim(),null!=e.details&&e.details.length)for(let r=0;r<e.details.length;++r)$root.google.protobuf.Any.encode(e.details[r],t.uint32(26).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.ModelEntity;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.entityId=e.int64();break;case 2:n.sceneItemId=$root.vertexvis.protobuf.core.Uuid.decode(e,e.uint32());break;case 3:n.details&&n.details.length||(n.details=[]),n.details.push($root.google.protobuf.Any.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.entityId&&e.hasOwnProperty("entityId")&&!($util.isInteger(e.entityId)||e.entityId&&$util.isInteger(e.entityId.low)&&$util.isInteger(e.entityId.high)))return"entityId: integer|Long expected";if(null!=e.sceneItemId&&e.hasOwnProperty("sceneItemId")){let t=$root.vertexvis.protobuf.core.Uuid.verify(e.sceneItemId);if(t)return"sceneItemId."+t}if(null!=e.details&&e.hasOwnProperty("details")){if(!Array.isArray(e.details))return"details: array expected";for(let t=0;t<e.details.length;++t){let r=$root.google.protobuf.Any.verify(e.details[t]);if(r)return"details."+r}}return null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.ModelEntity)return e;let t=new $root.vertexvis.protobuf.core.ModelEntity;if(null!=e.entityId&&($util.Long?(t.entityId=$util.Long.fromValue(e.entityId)).unsigned=!1:"string"==typeof e.entityId?t.entityId=parseInt(e.entityId,10):"number"==typeof e.entityId?t.entityId=e.entityId:"object"==typeof e.entityId&&(t.entityId=new $util.LongBits(e.entityId.low>>>0,e.entityId.high>>>0).toNumber())),null!=e.sceneItemId){if("object"!=typeof e.sceneItemId)throw TypeError(".vertexvis.protobuf.core.ModelEntity.sceneItemId: object expected");t.sceneItemId=$root.vertexvis.protobuf.core.Uuid.fromObject(e.sceneItemId)}if(e.details){if(!Array.isArray(e.details))throw TypeError(".vertexvis.protobuf.core.ModelEntity.details: array expected");t.details=[];for(let r=0;r<e.details.length;++r){if("object"!=typeof e.details[r])throw TypeError(".vertexvis.protobuf.core.ModelEntity.details: object expected");t.details[r]=$root.google.protobuf.Any.fromObject(e.details[r])}}return t},e.toObject=function(e,t){t||(t={});let r={};if((t.arrays||t.defaults)&&(r.details=[]),t.defaults){if($util.Long){let e=new $util.Long(0,0,!1);r.entityId=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.entityId=t.longs===String?"0":0;r.sceneItemId=null}if(null!=e.entityId&&e.hasOwnProperty("entityId")&&(r.entityId="number"==typeof e.entityId?t.longs===String?String(e.entityId):e.entityId:t.longs===String?$util.Long.prototype.toString.call(e.entityId):t.longs===Number?new $util.LongBits(e.entityId.low>>>0,e.entityId.high>>>0).toNumber():e.entityId),null!=e.sceneItemId&&e.hasOwnProperty("sceneItemId")&&(r.sceneItemId=$root.vertexvis.protobuf.core.Uuid.toObject(e.sceneItemId,t)),e.details&&e.details.length){r.details=[];for(let n=0;n<e.details.length;++n)r.details[n]=$root.google.protobuf.Any.toObject(e.details[n],t)}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Instant=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.iso="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.iso&&Object.hasOwnProperty.call(e,"iso")&&t.uint32(10).string(e.iso),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.vertexvis.protobuf.core.Instant;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.iso=e.string();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.iso&&e.hasOwnProperty("iso")&&!$util.isString(e.iso)?"iso: string expected":null},e.fromObject=function(e){if(e instanceof $root.vertexvis.protobuf.core.Instant)return e;let t=new $root.vertexvis.protobuf.core.Instant;return null!=e.iso&&(t.iso=String(e.iso)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.iso=""),null!=e.iso&&e.hasOwnProperty("iso")&&(r.iso=e.iso),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e}(),e}(),e})();$root.google=(()=>{const e={};return e.protobuf=function(){const e={};return e.Any=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.type_url="",e.prototype.value=$util.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.type_url&&Object.hasOwnProperty.call(e,"type_url")&&t.uint32(10).string(e.type_url),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(18).bytes(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.google.protobuf.Any;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.type_url=e.string();break;case 2:n.value=e.bytes();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type_url&&e.hasOwnProperty("type_url")&&!$util.isString(e.type_url)?"type_url: string expected":null!=e.value&&e.hasOwnProperty("value")&&!(e.value&&"number"==typeof e.value.length||$util.isString(e.value))?"value: buffer expected":null},e.fromObject=function(e){if(e instanceof $root.google.protobuf.Any)return e;let t=new $root.google.protobuf.Any;return null!=e.type_url&&(t.type_url=String(e.type_url)),null!=e.value&&("string"==typeof e.value?$util.base64.decode(e.value,t.value=$util.newBuffer($util.base64.length(e.value)),0):e.value.length&&(t.value=e.value)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.type_url="",t.bytes===String?r.value="":(r.value=[],t.bytes!==Array&&(r.value=$util.newBuffer(r.value)))),null!=e.type_url&&e.hasOwnProperty("type_url")&&(r.type_url=e.type_url),null!=e.value&&e.hasOwnProperty("value")&&(r.value=t.bytes===String?$util.base64.encode(e.value,0,e.value.length):t.bytes===Array?Array.prototype.slice.call(e.value):e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Duration=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.seconds=$util.Long?$util.Long.fromBits(0,0,!1):0,e.prototype.nanos=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.seconds&&Object.hasOwnProperty.call(e,"seconds")&&t.uint32(8).int64(e.seconds),null!=e.nanos&&Object.hasOwnProperty.call(e,"nanos")&&t.uint32(16).int32(e.nanos),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.google.protobuf.Duration;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.seconds=e.int64();break;case 2:n.nanos=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.seconds&&e.hasOwnProperty("seconds")&&!($util.isInteger(e.seconds)||e.seconds&&$util.isInteger(e.seconds.low)&&$util.isInteger(e.seconds.high))?"seconds: integer|Long expected":null!=e.nanos&&e.hasOwnProperty("nanos")&&!$util.isInteger(e.nanos)?"nanos: integer expected":null},e.fromObject=function(e){if(e instanceof $root.google.protobuf.Duration)return e;let t=new $root.google.protobuf.Duration;return null!=e.seconds&&($util.Long?(t.seconds=$util.Long.fromValue(e.seconds)).unsigned=!1:"string"==typeof e.seconds?t.seconds=parseInt(e.seconds,10):"number"==typeof e.seconds?t.seconds=e.seconds:"object"==typeof e.seconds&&(t.seconds=new $util.LongBits(e.seconds.low>>>0,e.seconds.high>>>0).toNumber())),null!=e.nanos&&(t.nanos=0|e.nanos),t},e.toObject=function(e,t){t||(t={});let r={};if(t.defaults){if($util.Long){let e=new $util.Long(0,0,!1);r.seconds=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.seconds=t.longs===String?"0":0;r.nanos=0}return null!=e.seconds&&e.hasOwnProperty("seconds")&&(r.seconds="number"==typeof e.seconds?t.longs===String?String(e.seconds):e.seconds:t.longs===String?$util.Long.prototype.toString.call(e.seconds):t.longs===Number?new $util.LongBits(e.seconds.low>>>0,e.seconds.high>>>0).toNumber():e.seconds),null!=e.nanos&&e.hasOwnProperty("nanos")&&(r.nanos=e.nanos),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.DoubleValue=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(9).double(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.google.protobuf.DoubleValue;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.double();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&"number"!=typeof e.value?"value: number expected":null},e.fromObject=function(e){if(e instanceof $root.google.protobuf.DoubleValue)return e;let t=new $root.google.protobuf.DoubleValue;return null!=e.value&&(t.value=Number(e.value)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.value=0),null!=e.value&&e.hasOwnProperty("value")&&(r.value=t.json&&!isFinite(e.value)?String(e.value):e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.FloatValue=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(13).float(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.google.protobuf.FloatValue;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.float();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&"number"!=typeof e.value?"value: number expected":null},e.fromObject=function(e){if(e instanceof $root.google.protobuf.FloatValue)return e;let t=new $root.google.protobuf.FloatValue;return null!=e.value&&(t.value=Number(e.value)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.value=0),null!=e.value&&e.hasOwnProperty("value")&&(r.value=t.json&&!isFinite(e.value)?String(e.value):e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Int64Value=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=$util.Long?$util.Long.fromBits(0,0,!1):0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(8).int64(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.google.protobuf.Int64Value;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.int64();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!($util.isInteger(e.value)||e.value&&$util.isInteger(e.value.low)&&$util.isInteger(e.value.high))?"value: integer|Long expected":null},e.fromObject=function(e){if(e instanceof $root.google.protobuf.Int64Value)return e;let t=new $root.google.protobuf.Int64Value;return null!=e.value&&($util.Long?(t.value=$util.Long.fromValue(e.value)).unsigned=!1:"string"==typeof e.value?t.value=parseInt(e.value,10):"number"==typeof e.value?t.value=e.value:"object"==typeof e.value&&(t.value=new $util.LongBits(e.value.low>>>0,e.value.high>>>0).toNumber())),t},e.toObject=function(e,t){t||(t={});let r={};if(t.defaults)if($util.Long){let e=new $util.Long(0,0,!1);r.value=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.value=t.longs===String?"0":0;return null!=e.value&&e.hasOwnProperty("value")&&(r.value="number"==typeof e.value?t.longs===String?String(e.value):e.value:t.longs===String?$util.Long.prototype.toString.call(e.value):t.longs===Number?new $util.LongBits(e.value.low>>>0,e.value.high>>>0).toNumber():e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.UInt64Value=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=$util.Long?$util.Long.fromBits(0,0,!0):0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(8).uint64(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.google.protobuf.UInt64Value;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.uint64();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!($util.isInteger(e.value)||e.value&&$util.isInteger(e.value.low)&&$util.isInteger(e.value.high))?"value: integer|Long expected":null},e.fromObject=function(e){if(e instanceof $root.google.protobuf.UInt64Value)return e;let t=new $root.google.protobuf.UInt64Value;return null!=e.value&&($util.Long?(t.value=$util.Long.fromValue(e.value)).unsigned=!0:"string"==typeof e.value?t.value=parseInt(e.value,10):"number"==typeof e.value?t.value=e.value:"object"==typeof e.value&&(t.value=new $util.LongBits(e.value.low>>>0,e.value.high>>>0).toNumber(!0))),t},e.toObject=function(e,t){t||(t={});let r={};if(t.defaults)if($util.Long){let e=new $util.Long(0,0,!0);r.value=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.value=t.longs===String?"0":0;return null!=e.value&&e.hasOwnProperty("value")&&(r.value="number"==typeof e.value?t.longs===String?String(e.value):e.value:t.longs===String?$util.Long.prototype.toString.call(e.value):t.longs===Number?new $util.LongBits(e.value.low>>>0,e.value.high>>>0).toNumber(!0):e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Int32Value=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(8).int32(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.google.protobuf.Int32Value;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!$util.isInteger(e.value)?"value: integer expected":null},e.fromObject=function(e){if(e instanceof $root.google.protobuf.Int32Value)return e;let t=new $root.google.protobuf.Int32Value;return null!=e.value&&(t.value=0|e.value),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.value=0),null!=e.value&&e.hasOwnProperty("value")&&(r.value=e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.UInt32Value=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(8).uint32(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.google.protobuf.UInt32Value;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.uint32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!$util.isInteger(e.value)?"value: integer expected":null},e.fromObject=function(e){if(e instanceof $root.google.protobuf.UInt32Value)return e;let t=new $root.google.protobuf.UInt32Value;return null!=e.value&&(t.value=e.value>>>0),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.value=0),null!=e.value&&e.hasOwnProperty("value")&&(r.value=e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.BoolValue=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(8).bool(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.google.protobuf.BoolValue;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.bool();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&"boolean"!=typeof e.value?"value: boolean expected":null},e.fromObject=function(e){if(e instanceof $root.google.protobuf.BoolValue)return e;let t=new $root.google.protobuf.BoolValue;return null!=e.value&&(t.value=Boolean(e.value)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.value=!1),null!=e.value&&e.hasOwnProperty("value")&&(r.value=e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.StringValue=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(10).string(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.google.protobuf.StringValue;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.string();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!$util.isString(e.value)?"value: string expected":null},e.fromObject=function(e){if(e instanceof $root.google.protobuf.StringValue)return e;let t=new $root.google.protobuf.StringValue;return null!=e.value&&(t.value=String(e.value)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(r.value=""),null!=e.value&&e.hasOwnProperty("value")&&(r.value=e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.BytesValue=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.value=$util.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(10).bytes(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.google.protobuf.BytesValue;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.value=e.bytes();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.value&&e.hasOwnProperty("value")&&!(e.value&&"number"==typeof e.value.length||$util.isString(e.value))?"value: buffer expected":null},e.fromObject=function(e){if(e instanceof $root.google.protobuf.BytesValue)return e;let t=new $root.google.protobuf.BytesValue;return null!=e.value&&("string"==typeof e.value?$util.base64.decode(e.value,t.value=$util.newBuffer($util.base64.length(e.value)),0):e.value.length&&(t.value=e.value)),t},e.toObject=function(e,t){t||(t={});let r={};return t.defaults&&(t.bytes===String?r.value="":(r.value=[],t.bytes!==Array&&(r.value=$util.newBuffer(r.value)))),null!=e.value&&e.hasOwnProperty("value")&&(r.value=t.bytes===String?$util.base64.encode(e.value,0,e.value.length):t.bytes===Array?Array.prototype.slice.call(e.value):e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e.Timestamp=function(){function e(e){if(e)for(let t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.seconds=$util.Long?$util.Long.fromBits(0,0,!1):0,e.prototype.nanos=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=$Writer.create()),null!=e.seconds&&Object.hasOwnProperty.call(e,"seconds")&&t.uint32(8).int64(e.seconds),null!=e.nanos&&Object.hasOwnProperty.call(e,"nanos")&&t.uint32(16).int32(e.nanos),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof $Reader||(e=$Reader.create(e));let r=void 0===t?e.len:e.pos+t,n=new $root.google.protobuf.Timestamp;for(;e.pos<r;){let t=e.uint32();switch(t>>>3){case 1:n.seconds=e.int64();break;case 2:n.nanos=e.int32();break;default:e.skipType(7&t)}}return n},e.decodeDelimited=function(e){return e instanceof $Reader||(e=new $Reader(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.seconds&&e.hasOwnProperty("seconds")&&!($util.isInteger(e.seconds)||e.seconds&&$util.isInteger(e.seconds.low)&&$util.isInteger(e.seconds.high))?"seconds: integer|Long expected":null!=e.nanos&&e.hasOwnProperty("nanos")&&!$util.isInteger(e.nanos)?"nanos: integer expected":null},e.fromObject=function(e){if(e instanceof $root.google.protobuf.Timestamp)return e;let t=new $root.google.protobuf.Timestamp;return null!=e.seconds&&($util.Long?(t.seconds=$util.Long.fromValue(e.seconds)).unsigned=!1:"string"==typeof e.seconds?t.seconds=parseInt(e.seconds,10):"number"==typeof e.seconds?t.seconds=e.seconds:"object"==typeof e.seconds&&(t.seconds=new $util.LongBits(e.seconds.low>>>0,e.seconds.high>>>0).toNumber())),null!=e.nanos&&(t.nanos=0|e.nanos),t},e.toObject=function(e,t){t||(t={});let r={};if(t.defaults){if($util.Long){let e=new $util.Long(0,0,!1);r.seconds=t.longs===String?e.toString():t.longs===Number?e.toNumber():e}else r.seconds=t.longs===String?"0":0;r.nanos=0}return null!=e.seconds&&e.hasOwnProperty("seconds")&&(r.seconds="number"==typeof e.seconds?t.longs===String?String(e.seconds):e.seconds:t.longs===String?$util.Long.prototype.toString.call(e.seconds):t.longs===Number?new $util.LongBits(e.seconds.low>>>0,e.seconds.high>>>0).toNumber():e.seconds),null!=e.nanos&&e.hasOwnProperty("nanos")&&(r.nanos=e.nanos),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,minimal.util.toJSONOptions)},e}(),e}(),e})();const toPbFrameType=mapper.defineMapper((e=>{switch(e){case"all":return{enabled:{value:!0},frameType:vertexvis.protobuf.stream.FrameType.FRAME_TYPE_ALL};case"final":return{enabled:{value:!0},frameType:vertexvis.protobuf.stream.FrameType.FRAME_TYPE_FINAL};default:return{enabled:{value:!1},frameType:vertexvis.protobuf.stream.FrameType.FRAME_TYPE_INVALID}}}),(e=>e)),toPbExperimentalGhosting=mapper.defineMapper((e=>{const t=null!=e&&e>0;return{enabled:{value:t},opacity:t?{value:clamp(null!=e?e:0,0,1)}:void 0}}),(e=>e)),toPbFeatureLines=mapper.defineMapper(mapper.read(mapper.ifDefined(mapper.getProp("width")),mapper.ifDefined(mapper.mapProp("color",mapper.ifDefined(toPbRGBi)))),(([e,t])=>({lineWidth:e,lineColor:t}))),toPbFeatureHighlight=mapper.defineMapper(mapper.read(mapper.ifDefined(mapper.mapProp("highlightColor",mapper.ifDefined(toPbRGBi))),mapper.ifDefined(mapper.mapProp("occludedOpacity",toPbFloatValue)),mapper.ifDefined(mapper.mapProp("outline",mapper.ifDefined(toPbFeatureLines)))),(([e,t,r])=>({highlightColor:e,occludedOpacity:t,outline:r}))),toPbNoDefaultLights=mapper.defineMapper((e=>!!e),(e=>e)),toPbExperimentalRenderingOptions=mapper.defineMapper((e=>null!=e?e:""),(e=>e)),toPbStreamAttributes=mapper.defineMapper(mapper.read(mapper.mapProp("depthBuffers",toPbFrameType),mapper.mapProp("experimentalGhosting",toPbExperimentalGhosting),mapper.mapProp("noDefaultLights",toPbNoDefaultLights),mapper.mapProp("featureLines",toPbFeatureLines),mapper.mapProp("featureHighlighting",toPbFeatureHighlight),mapper.mapProp("featureMaps",toPbFrameType),mapper.mapProp("experimentalRenderingOptions",toPbExperimentalRenderingOptions)),(([e,t,r,n,o,i,u])=>({depthBuffers:e,experimentalGhosting:t,noDefaultLights:r,featureLines:n,featureHighlighting:o,featureMaps:i,experimentalRenderingOptions:u})));export{AngleUnits as A,fromPbRefreshTokenResponseOrThrow as B,toOrthographic as C,DistanceUnits as D,toPerspective as E,FrameCameraBase as F,StandardView as G,Orientation as O,StreamApi as S,WebSocketClientImpl as W,Frame as a,FrameImage as b,FrameScene as c,FrameOrthographicCamera as d,FramePerspectiveCamera as e,AreaUnits as f,toProtobuf as g,constrainViewVector as h,fromBoundingBoxAndLookAtCamera as i,fromPbVector3f as j,fromPbPlane as k,fromPbStencilBufferOrThrow as l,decodePng as m,DepthBuffer as n,toPbStreamAttributes as o,protoToDate as p,toPbRGBi as q,StreamRequestError as r,fromPbFrameOrThrow as s,toProtoDuration as t,fromPbStartStreamResponseOrThrow as u,vertexvis as v,withPositionAndViewVector as w,fromPbReconnectResponseOrThrow as x,fromPbSyncTimeResponseOrThrow as y,currentDateAsProtoTimestamp as z}