pw-js-api 0.2.6-dev.9ec7613 → 0.2.6-dev.fea2e93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/browser/pw.dev.js CHANGED
@@ -36,7 +36,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
36
36
  \**********************************/
37
37
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
38
38
 
39
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ PWGameClient)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! tslib */ \"./node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var _gen_world_pb_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../gen/world_pb.js */ \"./esm/gen/world_pb.js\");\n/* harmony import */ var _util_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/Constants.js */ \"./esm/util/Constants.js\");\n/* harmony import */ var _util_Errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/Errors.js */ \"./esm/util/Errors.js\");\n/* harmony import */ var isows__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! isows */ \"./node_modules/.pnpm/isows@1.0.6_ws@8.18.0/node_modules/isows/_esm/native.js\");\n/* harmony import */ var _bufbuild_protobuf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @bufbuild/protobuf */ \"./node_modules/.pnpm/@bufbuild+protobuf@2.2.3/node_modules/@bufbuild/protobuf/dist/esm/from-binary.js\");\n/* harmony import */ var _bufbuild_protobuf__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @bufbuild/protobuf */ \"./node_modules/.pnpm/@bufbuild+protobuf@2.2.3/node_modules/@bufbuild/protobuf/dist/esm/to-binary.js\");\n/* harmony import */ var _bufbuild_protobuf__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @bufbuild/protobuf */ \"./node_modules/.pnpm/@bufbuild+protobuf@2.2.3/node_modules/@bufbuild/protobuf/dist/esm/create.js\");\n/* harmony import */ var _util_Bucket_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/Bucket.js */ \"./esm/util/Bucket.js\");\n/* harmony import */ var _util_Misc_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/Misc.js */ \"./esm/util/Misc.js\");\n\n\n\n\n\n\n\n\nclass PWGameClient {\n constructor(api, settings) {\n var _a, _b, _c, _d, _e;\n this.totalBucket = new _util_Bucket_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](100, 1000);\n this.chatBucket = new _util_Bucket_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](10, 1000);\n this.connectAttempts = {\n time: -1,\n count: 0,\n };\n // listen<Event extends keyof WorldEvents>(type: Event) {\n // type === \"\"\n // }\n /**\n * For faster performance (even if it seems insignificant),\n * direct functions are used instead of events which are also inconsistent with browsers/nodejs etc.\n *\n * NOTE: the \"this\" won't be the client itself. You will need to bind yourself if you want to keep this.\n */\n this.callbacks = {};\n // private hooks = {\n // } as Partial<{ [K in keyof P]: Array<(statey: P[K]) => Promisable<K>> }>\n /**\n * Poorly documented because I cba\n */\n this.hooks = [];\n // I can't use instanceof cos of circular reference kms.\n if (api && \"getJoinKey\" in api)\n this.api = api;\n else if (api) {\n settings = api;\n api = undefined;\n }\n this.settings = {\n reconnectable: (_a = settings === null || settings === void 0 ? void 0 : settings.reconnectable) !== null && _a !== void 0 ? _a : true,\n reconnectCount: (_b = settings === null || settings === void 0 ? void 0 : settings.reconnectCount) !== null && _b !== void 0 ? _b : 5,\n reconnectInterval: (_c = settings === null || settings === void 0 ? void 0 : settings.reconnectInterval) !== null && _c !== void 0 ? _c : 4000,\n reconnectTimeGap: (_d = settings === null || settings === void 0 ? void 0 : settings.reconnectTimeGap) !== null && _d !== void 0 ? _d : 10000,\n handlePackets: (_e = settings === null || settings === void 0 ? void 0 : settings.handlePackets) !== null && _e !== void 0 ? _e : [\"PING\"],\n };\n }\n get connected() {\n var _a;\n return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === isows__WEBPACK_IMPORTED_MODULE_5__.WebSocket.OPEN;\n }\n /**\n * This will connect to the world.\n *\n * (This returns itself for chaining)\n */\n joinWorld(roomId, joinData) {\n return (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__awaiter)(this, void 0, void 0, function* () {\n var _a, _b, _c;\n if (!this.api)\n throw Error(\"This can only work if you've used APIClient to join the world in the first place.\");\n if (((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === isows__WEBPACK_IMPORTED_MODULE_5__.WebSocket.CONNECTING)\n throw Error(\"Already trying to connect.\");\n // if (!this.api.loggedIn) throw Error(\"API isn't logged in, you must use authenticate first.\");\n const roomType = (_c = (_b = this.api.roomTypes) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : yield this.api.getRoomTypes().then(rTypes => rTypes[0]);\n const joinReq = yield this.api.getJoinKey(roomType, roomId);\n if (!(\"token\" in joinReq) || joinReq.token.length === 0)\n throw Error(\"Unable to secure a join key - is account details valid?\");\n const connectUrl = `${_util_Constants_js__WEBPACK_IMPORTED_MODULE_1__.Endpoint.GameWS}/room/${joinReq.token}`\n + (joinData === undefined ? \"\" : \"?joinData=\" + btoa(JSON.stringify(joinData)));\n this.prevWorldId = roomId;\n if ((this.connectAttempts.time + this.settings.reconnectTimeGap) < Date.now()) {\n this.connectAttempts = {\n time: Date.now(), count: 0\n };\n }\n return new Promise((res, rej) => {\n var _a;\n if (this.connectAttempts.count++ > this.settings.reconnectCount)\n return rej(new Error(\"Unable to connect due to many attempts.\"));\n const timer = setInterval(() => {\n if (this.connectAttempts.count++ > this.settings.reconnectCount)\n return rej(new Error(\"Unable to (re)connect.\"));\n this.invoke(\"debug\", \"Failed to reconnect, retrying.\");\n this.socket = this.createSocket(connectUrl, timer, res, rej);\n }, (_a = this.settings.reconnectInterval) !== null && _a !== void 0 ? _a : 4000);\n this.socket = this.createSocket(connectUrl, timer, res, rej);\n });\n });\n }\n /**\n * INTERNAL\n */\n createSocket(url, timer, res, rej) {\n const socket = new isows__WEBPACK_IMPORTED_MODULE_5__.WebSocket(url);\n socket.binaryType = \"arraybuffer\";\n // For res/rej.\n let init = false;\n socket.onmessage = (evt) => {\n var _a;\n const rawPacket = (0,_bufbuild_protobuf__WEBPACK_IMPORTED_MODULE_7__.fromBinary)(_gen_world_pb_js__WEBPACK_IMPORTED_MODULE_0__.WorldPacketSchema, evt.data instanceof ArrayBuffer ? new Uint8Array(evt.data) : evt.data);\n const { packet } = rawPacket;\n this.invoke(\"debug\", \"Received \" + packet.case);\n this.invoke(\"raw\", rawPacket);\n if (packet.case === undefined) {\n return this.invoke(\"unknown\", packet.value);\n } //this.callbacks.raw?.(packet);;\n let states = {}; // | undefined;\n if (this.hooks.length) {\n try {\n states = {};\n for (let i = 0, len = this.hooks.length; i < len; i++) {\n const res = this.hooks[i](rawPacket);\n if (typeof res === \"object\") {\n const entries = Object.entries(res);\n for (let j = 0, jen = entries.length; j < jen; j++) {\n states[entries[j][0]] = entries[j][1];\n }\n }\n }\n }\n catch (err) {\n this.invoke(\"debug\", \"Unable to execute all hooks safely\");\n // TODO: separate event for error\n console.error(err);\n states = {};\n }\n }\n switch (packet.case) {\n case \"playerInitPacket\":\n if (this.settings.handlePackets.findIndex(v => v === \"INIT\") !== -1)\n this.send(\"playerInitReceived\");\n if ((_a = packet.value.playerProperties) === null || _a === void 0 ? void 0 : _a.isWorldOwner)\n this.totalBucket.interval = 250;\n else\n this.totalBucket.interval = 100;\n if (!init) {\n clearInterval(timer);\n init = true;\n res(this);\n // Give the client the init again as they might could have missed it even by a few milliseconds.\n return setTimeout(() => {\n // TODO: deduplicate this part.\n if (this.hooks.length) {\n try {\n states = {};\n for (let i = 0, len = this.hooks.length; i < len; i++) {\n const res = this.hooks[i](rawPacket);\n if (typeof res === \"object\") {\n const entries = Object.entries(res);\n for (let j = 0, jen = entries.length; j < jen; j++) {\n states[entries[j][0]] = entries[j][1];\n }\n }\n }\n }\n catch (err) {\n this.invoke(\"debug\", \"Unable to execute all hooks safely\");\n // TODO: separate event for error\n console.error(err);\n states = {};\n }\n }\n this.invoke(packet.case, packet.value, states);\n }, 1500);\n }\n break;\n case \"ping\":\n if (this.settings.handlePackets.findIndex(v => v === \"PING\") !== -1)\n this.send(\"ping\", undefined, true);\n break;\n }\n this.invoke(packet.case, packet.value, states);\n };\n socket.onopen = (evt) => {\n this.invoke(\"debug\", \"Connected successfully, waiting for init packet.\");\n };\n socket.onclose = (evt) => {\n this.invoke(\"debug\", `Server closed connection due to code ${evt.code}, reason: \"${evt.reason}\".`);\n if (!init) {\n clearInterval(timer);\n rej(new _util_Errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthError(evt.reason, (evt.code)));\n }\n if (this.settings.reconnectable) {\n if (this.api === undefined)\n return this.invoke(\"debug\", \"Not attempting to reconnect as this game client was created with a join token.\");\n // if (evt.reason === \"Failed to preload the world.\") {\n // return this.invoke(\"debug\", \"Not attempting to reconnect as the world don't exist.\");\n // }\n if (this.prevWorldId) {\n this.invoke(\"debug\", \"Attempting to reconnect.\");\n return this.joinWorld(this.prevWorldId).catch(err => {\n this.invoke(\"debug\", err);\n });\n }\n else\n this.invoke(\"debug\", \"Warning: Socket closed, attempt to reconnect was made but no previous world id was kept.\");\n }\n };\n return socket;\n }\n /**\n * This is a more direct route if you already have a join key acquired via Pixelwalker's API.\n *\n * Useful for those wary of security.\n */\n static joinWorld(joinKey, obj) {\n const connectUrl = `${_util_Constants_js__WEBPACK_IMPORTED_MODULE_1__.Endpoint.GameWS}/room/${joinKey}`\n + ((obj === null || obj === void 0 ? void 0 : obj.joinData) === undefined ? \"\" : \"?joinData=\" + btoa(JSON.stringify(obj.joinData)));\n const cli = new PWGameClient(obj === null || obj === void 0 ? void 0 : obj.gameSettings);\n if ((cli.connectAttempts.time + cli.settings.reconnectTimeGap) < Date.now()) {\n cli.connectAttempts = {\n time: Date.now(), count: 0\n };\n }\n return new Promise((res, rej) => {\n var _a;\n if (cli.connectAttempts.count++ > cli.settings.reconnectCount)\n return rej(new Error(\"Unable to connect due to many attempts.\"));\n const timer = setInterval(() => {\n var _a;\n (_a = cli.socket) === null || _a === void 0 ? void 0 : _a.close();\n if (cli.connectAttempts.count++ > cli.settings.reconnectCount)\n return rej(new Error(\"Unable to (re)connect.\"));\n cli.invoke(\"debug\", \"Failed to reconnect, retrying.\");\n cli.socket = cli.createSocket(connectUrl, timer, res, rej);\n }, (_a = cli.settings.reconnectInterval) !== null && _a !== void 0 ? _a : 4000);\n cli.socket = cli.createSocket(connectUrl, timer, res, rej);\n });\n }\n /**\n * This is different to addCallback as all hooks (regardless of the type) will execute first before the callbacks, each hook may modify something or do something in the background\n * and may pass it to callbacks (via the second parameter in callbacks). If an error occurs while executing one of the hooks,\n * the execution of hooks will halt for that packet and callbacks will run without the states.\n *\n * NOTE: This is permanent, if a hook is added, it can't be removed.\n */\n addHook(hook) {\n // if (this.callbacks[\"raw\"] === undefined) this.callbacks[\"raw\"] = [];\n // this.hooks.oldChatMessagesPacket\n this.hooks.push(hook);\n // this.callbacks[\"raw\"].unshift(hook);\n return this;\n }\n addCallback(type, ...cbs) {\n // this.callbacks[type] = cb;\n if (this.callbacks[type] === undefined)\n this.callbacks[type] = [];\n if (cbs.length === 0)\n return this;\n this.callbacks[type].push(...cbs);\n return this;\n }\n prependCallback(type, ...cbs) {\n // this.callbacks[type] = cb;\n if (this.callbacks[type] === undefined)\n this.callbacks[type] = [];\n if (cbs.length === 0)\n return this;\n this.callbacks[type].unshift(...cbs);\n return this;\n }\n /**\n * @param type The type of the event\n * @param cb It can be the function itself (to remove that specific function). If undefined, it will remove ALL functions from that list, it will return undefined.\n */\n removeCallback(type, cb) {\n const callbacks = this.callbacks[type];\n if (callbacks === undefined || cb === undefined) {\n callbacks === null || callbacks === void 0 ? void 0 : callbacks.splice(0);\n return;\n }\n else {\n for (let i = 0, len = callbacks.length; i < len; i++) {\n if (callbacks[i] === cb) {\n return callbacks.splice(i, 1)[0];\n }\n }\n }\n return;\n }\n invoke(type, data, states) {\n return (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__awaiter)(this, void 0, void 0, function* () {\n const cbs = this.callbacks[type];\n let result = {\n count: 0, stopped: false\n };\n if (cbs === undefined)\n return result;\n for (let i = 0, len = cbs.length; i < len; i++) {\n const res = yield ((0,_util_Misc_js__WEBPACK_IMPORTED_MODULE_4__.isCustomPacket)(type) ? cbs[i](data) : cbs[i](data, states));\n result.count++;\n if (typeof res === \"object\") {\n const keys = Object.keys(res);\n for (let j = 0, jen = keys.length; j < jen; j++) {\n data[keys[j]] = res[keys[j]];\n }\n }\n if (res === \"STOP\") {\n result.stopped = true;\n return result;\n }\n }\n return result;\n });\n }\n /**\n * This assumes that the connection\n *\n * @param type Type of the packet.\n * @param value Value of the packet to send along with, note that some properties are optional.\n * @param direct If it should skip queue.\n */\n send(type, value, direct = false) {\n this.invoke(\"debug\", \"Sent \" + type + \" with \" + (value === undefined ? \"0\" : Object.keys(value).length) + \" parameters.\");\n const send = () => {\n var _a;\n return (_a = this.socket) === null || _a === void 0 ? void 0 : _a.send((0,_bufbuild_protobuf__WEBPACK_IMPORTED_MODULE_8__.toBinary)(_gen_world_pb_js__WEBPACK_IMPORTED_MODULE_0__.WorldPacketSchema, (0,_bufbuild_protobuf__WEBPACK_IMPORTED_MODULE_9__.create)(_gen_world_pb_js__WEBPACK_IMPORTED_MODULE_0__.WorldPacketSchema, { packet: { case: type, value } })));\n };\n if (direct)\n return send();\n this.totalBucket.queue(() => {\n if (type !== \"playerChatPacket\")\n send();\n else\n this.chatBucket.queue(() => { send(); });\n }, type === \"playerChatPacket\");\n }\n /**\n * By default this will set the game client settings reconnectable to false.\n *\n * If reconnect is true, an additionl parameter can be passed which is the amount of time to wait before it attempts to reconnect (DEFAULT: none)\n */\n disconnect(reconnect = false) {\n var _a, _b;\n // Accept the possibility that people may try to \n if (reconnect === true)\n this.settings.reconnectable = true;\n else\n this.settings.reconnectable = false;\n (_a = this.socket) === null || _a === void 0 ? void 0 : _a.close();\n return ((_b = this.socket) === null || _b === void 0 ? void 0 : _b.readyState) === isows__WEBPACK_IMPORTED_MODULE_5__.WebSocket.CLOSED;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFdHYW1lQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2dhbWUvUFdHYW1lQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQTJHLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEssT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxFLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUlqRCxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQVk7SUF3QjdCLFlBQVksR0FBK0MsRUFBRSxRQUFzQzs7UUFiekYsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEMsZUFBVSxHQUFHLElBQUksTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVsQyxvQkFBZSxHQUFHO1lBQ3hCLElBQUksRUFBRSxDQUFDLENBQUM7WUFDUixLQUFLLEVBQUUsQ0FBQztTQUNYLENBQUE7UUF3T0QseURBQXlEO1FBQ3pELGtCQUFrQjtRQUNsQixJQUFJO1FBRUo7Ozs7O1dBS0c7UUFDTyxjQUFTLEdBQUcsRUFFaUgsQ0FBQztRQUV4SSxvQkFBb0I7UUFFcEIsMkVBQTJFO1FBRTNFOztXQUVHO1FBQ0ssVUFBSyxHQUFrQyxFQUFFLENBQUM7UUFyUDlDLHdEQUF3RDtRQUN4RCxJQUFJLEdBQUcsSUFBSSxZQUFZLElBQUksR0FBRztZQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FB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\n\n//# sourceURL=webpack://PW/./esm/game/PWGameClient.js?");
39
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ PWGameClient)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! tslib */ \"./node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs\");\n/* harmony import */ var _gen_world_pb_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../gen/world_pb.js */ \"./esm/gen/world_pb.js\");\n/* harmony import */ var _util_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/Constants.js */ \"./esm/util/Constants.js\");\n/* harmony import */ var _util_Errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/Errors.js */ \"./esm/util/Errors.js\");\n/* harmony import */ var isows__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! isows */ \"./node_modules/.pnpm/isows@1.0.6_ws@8.18.0/node_modules/isows/_esm/native.js\");\n/* harmony import */ var _bufbuild_protobuf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @bufbuild/protobuf */ \"./node_modules/.pnpm/@bufbuild+protobuf@2.2.3/node_modules/@bufbuild/protobuf/dist/esm/from-binary.js\");\n/* harmony import */ var _bufbuild_protobuf__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @bufbuild/protobuf */ \"./node_modules/.pnpm/@bufbuild+protobuf@2.2.3/node_modules/@bufbuild/protobuf/dist/esm/to-binary.js\");\n/* harmony import */ var _bufbuild_protobuf__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @bufbuild/protobuf */ \"./node_modules/.pnpm/@bufbuild+protobuf@2.2.3/node_modules/@bufbuild/protobuf/dist/esm/create.js\");\n/* harmony import */ var _util_Queue_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/Queue.js */ \"./esm/util/Queue.js\");\n/* harmony import */ var _util_Misc_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/Misc.js */ \"./esm/util/Misc.js\");\n\n\n\n\n\n\n\n\nclass PWGameClient {\n constructor(api, settings) {\n var _a, _b, _c, _d, _e;\n this.totalBucket = new _util_Queue_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](100, 1000);\n this.chatBucket = new _util_Queue_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](10, 1000);\n this.connectAttempts = {\n time: -1,\n count: 0,\n };\n // listen<Event extends keyof WorldEvents>(type: Event) {\n // type === \"\"\n // }\n /**\n * For faster performance (even if it seems insignificant),\n * direct functions are used instead of events which are also inconsistent with browsers/nodejs etc.\n *\n * NOTE: the \"this\" won't be the client itself. You will need to bind yourself if you want to keep this.\n */\n this.callbacks = {};\n // private hooks = {\n // } as Partial<{ [K in keyof P]: Array<(statey: P[K]) => Promisable<K>> }>\n /**\n * Poorly documented because I cba\n */\n this.hooks = [];\n // I can't use instanceof cos of circular reference kms.\n if (api && \"getJoinKey\" in api)\n this.api = api;\n else if (api) {\n settings = api;\n api = undefined;\n }\n this.settings = {\n reconnectable: (_a = settings === null || settings === void 0 ? void 0 : settings.reconnectable) !== null && _a !== void 0 ? _a : true,\n reconnectCount: (_b = settings === null || settings === void 0 ? void 0 : settings.reconnectCount) !== null && _b !== void 0 ? _b : 5,\n reconnectInterval: (_c = settings === null || settings === void 0 ? void 0 : settings.reconnectInterval) !== null && _c !== void 0 ? _c : 4000,\n reconnectTimeGap: (_d = settings === null || settings === void 0 ? void 0 : settings.reconnectTimeGap) !== null && _d !== void 0 ? _d : 10000,\n handlePackets: (_e = settings === null || settings === void 0 ? void 0 : settings.handlePackets) !== null && _e !== void 0 ? _e : [\"PING\"],\n };\n }\n get connected() {\n var _a;\n return ((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === isows__WEBPACK_IMPORTED_MODULE_5__.WebSocket.OPEN;\n }\n /**\n * This will connect to the world.\n *\n * (This returns itself for chaining)\n */\n joinWorld(roomId, joinData) {\n return (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__awaiter)(this, void 0, void 0, function* () {\n var _a, _b, _c;\n if (!this.api)\n throw Error(\"This can only work if you've used APIClient to join the world in the first place.\");\n if (((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === isows__WEBPACK_IMPORTED_MODULE_5__.WebSocket.CONNECTING)\n throw Error(\"Already trying to connect.\");\n // if (!this.api.loggedIn) throw Error(\"API isn't logged in, you must use authenticate first.\");\n const roomType = (_c = (_b = this.api.roomTypes) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : yield this.api.getRoomTypes().then(rTypes => rTypes[0]);\n const joinReq = yield this.api.getJoinKey(roomType, roomId);\n if (!(\"token\" in joinReq) || joinReq.token.length === 0)\n throw Error(\"Unable to secure a join key - is account details valid?\");\n const connectUrl = `${_util_Constants_js__WEBPACK_IMPORTED_MODULE_1__.Endpoint.GameWS}/room/${joinReq.token}`\n + (joinData === undefined ? \"\" : \"?joinData=\" + btoa(JSON.stringify(joinData)));\n this.prevWorldId = roomId;\n if ((this.connectAttempts.time + this.settings.reconnectTimeGap) < Date.now()) {\n this.connectAttempts = {\n time: Date.now(), count: 0\n };\n }\n return new Promise((res, rej) => {\n var _a;\n if (this.connectAttempts.count++ > this.settings.reconnectCount)\n return rej(new Error(\"Unable to connect due to many attempts.\"));\n const timer = setInterval(() => {\n if (this.connectAttempts.count++ > this.settings.reconnectCount)\n return rej(new Error(\"Unable to (re)connect.\"));\n this.invoke(\"debug\", \"Failed to reconnect, retrying.\");\n this.socket = this.createSocket(connectUrl, timer, res, rej);\n }, (_a = this.settings.reconnectInterval) !== null && _a !== void 0 ? _a : 4000);\n this.socket = this.createSocket(connectUrl, timer, res, rej);\n });\n });\n }\n /**\n * INTERNAL\n */\n createSocket(url, timer, res, rej) {\n const socket = new isows__WEBPACK_IMPORTED_MODULE_5__.WebSocket(url);\n socket.binaryType = \"arraybuffer\";\n // For res/rej.\n let init = false;\n socket.onmessage = (evt) => {\n var _a;\n const rawPacket = (0,_bufbuild_protobuf__WEBPACK_IMPORTED_MODULE_7__.fromBinary)(_gen_world_pb_js__WEBPACK_IMPORTED_MODULE_0__.WorldPacketSchema, evt.data instanceof ArrayBuffer ? new Uint8Array(evt.data) : evt.data);\n const { packet } = rawPacket;\n this.invoke(\"debug\", \"Received \" + packet.case);\n this.invoke(\"raw\", rawPacket);\n if (packet.case === undefined) {\n return this.invoke(\"unknown\", packet.value);\n } //this.callbacks.raw?.(packet);;\n let states = {}; // | undefined;\n if (this.hooks.length) {\n try {\n states = {};\n for (let i = 0, len = this.hooks.length; i < len; i++) {\n const res = this.hooks[i](rawPacket);\n if (typeof res === \"object\") {\n const entries = Object.entries(res);\n for (let j = 0, jen = entries.length; j < jen; j++) {\n states[entries[j][0]] = entries[j][1];\n }\n }\n }\n }\n catch (err) {\n this.invoke(\"debug\", \"Unable to execute all hooks safely\");\n // TODO: separate event for error\n console.error(err);\n states = {};\n }\n }\n switch (packet.case) {\n case \"playerInitPacket\":\n if (this.settings.handlePackets.findIndex(v => v === \"INIT\") !== -1)\n this.send(\"playerInitReceived\");\n if ((_a = packet.value.playerProperties) === null || _a === void 0 ? void 0 : _a.isWorldOwner)\n this.totalBucket.interval = 250;\n else\n this.totalBucket.interval = 100;\n if (!init) {\n clearInterval(timer);\n init = true;\n res(this);\n // Give the client the init again as they might could have missed it even by a few milliseconds.\n return setTimeout(() => {\n // TODO: deduplicate this part.\n if (this.hooks.length) {\n try {\n states = {};\n for (let i = 0, len = this.hooks.length; i < len; i++) {\n const res = this.hooks[i](rawPacket);\n if (typeof res === \"object\") {\n const entries = Object.entries(res);\n for (let j = 0, jen = entries.length; j < jen; j++) {\n states[entries[j][0]] = entries[j][1];\n }\n }\n }\n }\n catch (err) {\n this.invoke(\"debug\", \"Unable to execute all hooks safely\");\n // TODO: separate event for error\n console.error(err);\n states = {};\n }\n }\n this.invoke(packet.case, packet.value, states);\n }, 1500);\n }\n break;\n case \"ping\":\n if (this.settings.handlePackets.findIndex(v => v === \"PING\") !== -1)\n this.send(\"ping\", undefined, true);\n break;\n }\n this.invoke(packet.case, packet.value, states);\n };\n socket.onopen = (evt) => {\n this.invoke(\"debug\", \"Connected successfully, waiting for init packet.\");\n };\n socket.onclose = (evt) => {\n this.invoke(\"debug\", `Server closed connection due to code ${evt.code}, reason: \"${evt.reason}\".`);\n if (!init) {\n clearInterval(timer);\n rej(new _util_Errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthError(evt.reason, (evt.code)));\n }\n if (this.settings.reconnectable) {\n if (this.api === undefined)\n return this.invoke(\"debug\", \"Not attempting to reconnect as this game client was created with a join token.\");\n // if (evt.reason === \"Failed to preload the world.\") {\n // return this.invoke(\"debug\", \"Not attempting to reconnect as the world don't exist.\");\n // }\n if (this.prevWorldId) {\n this.invoke(\"debug\", \"Attempting to reconnect.\");\n return this.joinWorld(this.prevWorldId).catch(err => {\n this.invoke(\"debug\", err);\n });\n }\n else\n this.invoke(\"debug\", \"Warning: Socket closed, attempt to reconnect was made but no previous world id was kept.\");\n }\n };\n return socket;\n }\n /**\n * This is a more direct route if you already have a join key acquired via Pixelwalker's API.\n *\n * Useful for those wary of security.\n */\n static joinWorld(joinKey, obj) {\n const connectUrl = `${_util_Constants_js__WEBPACK_IMPORTED_MODULE_1__.Endpoint.GameWS}/room/${joinKey}`\n + ((obj === null || obj === void 0 ? void 0 : obj.joinData) === undefined ? \"\" : \"?joinData=\" + btoa(JSON.stringify(obj.joinData)));\n const cli = new PWGameClient(obj === null || obj === void 0 ? void 0 : obj.gameSettings);\n if ((cli.connectAttempts.time + cli.settings.reconnectTimeGap) < Date.now()) {\n cli.connectAttempts = {\n time: Date.now(), count: 0\n };\n }\n return new Promise((res, rej) => {\n var _a;\n if (cli.connectAttempts.count++ > cli.settings.reconnectCount)\n return rej(new Error(\"Unable to connect due to many attempts.\"));\n const timer = setInterval(() => {\n var _a;\n (_a = cli.socket) === null || _a === void 0 ? void 0 : _a.close();\n if (cli.connectAttempts.count++ > cli.settings.reconnectCount)\n return rej(new Error(\"Unable to (re)connect.\"));\n cli.invoke(\"debug\", \"Failed to reconnect, retrying.\");\n cli.socket = cli.createSocket(connectUrl, timer, res, rej);\n }, (_a = cli.settings.reconnectInterval) !== null && _a !== void 0 ? _a : 4000);\n cli.socket = cli.createSocket(connectUrl, timer, res, rej);\n });\n }\n /**\n * This is different to addCallback as all hooks (regardless of the type) will execute first before the callbacks, each hook may modify something or do something in the background\n * and may pass it to callbacks (via the second parameter in callbacks). If an error occurs while executing one of the hooks,\n * the execution of hooks will halt for that packet and callbacks will run without the states.\n *\n * NOTE: This is permanent, if a hook is added, it can't be removed.\n */\n addHook(hook) {\n // if (this.callbacks[\"raw\"] === undefined) this.callbacks[\"raw\"] = [];\n // this.hooks.oldChatMessagesPacket\n this.hooks.push(hook);\n // this.callbacks[\"raw\"].unshift(hook);\n return this;\n }\n addCallback(type, ...cbs) {\n // this.callbacks[type] = cb;\n if (this.callbacks[type] === undefined)\n this.callbacks[type] = [];\n if (cbs.length === 0)\n return this;\n this.callbacks[type].push(...cbs);\n return this;\n }\n prependCallback(type, ...cbs) {\n // this.callbacks[type] = cb;\n if (this.callbacks[type] === undefined)\n this.callbacks[type] = [];\n if (cbs.length === 0)\n return this;\n this.callbacks[type].unshift(...cbs);\n return this;\n }\n /**\n * @param type The type of the event\n * @param cb It can be the function itself (to remove that specific function). If undefined, it will remove ALL functions from that list, it will return undefined.\n */\n removeCallback(type, cb) {\n const callbacks = this.callbacks[type];\n if (callbacks === undefined || cb === undefined) {\n callbacks === null || callbacks === void 0 ? void 0 : callbacks.splice(0);\n return;\n }\n else {\n for (let i = 0, len = callbacks.length; i < len; i++) {\n if (callbacks[i] === cb) {\n return callbacks.splice(i, 1)[0];\n }\n }\n }\n return;\n }\n invoke(type, data, states) {\n return (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__awaiter)(this, void 0, void 0, function* () {\n const cbs = this.callbacks[type];\n let result = {\n count: 0, stopped: false\n };\n if (cbs === undefined)\n return result;\n for (let i = 0, len = cbs.length; i < len; i++) {\n const res = yield ((0,_util_Misc_js__WEBPACK_IMPORTED_MODULE_4__.isCustomPacket)(type) ? cbs[i](data) : cbs[i](data, states));\n result.count++;\n if (typeof res === \"object\") {\n const keys = Object.keys(res);\n for (let j = 0, jen = keys.length; j < jen; j++) {\n data[keys[j]] = res[keys[j]];\n }\n }\n if (res === \"STOP\") {\n result.stopped = true;\n return result;\n }\n }\n return result;\n });\n }\n /**\n * This assumes that the connection\n *\n * @param type Type of the packet.\n * @param value Value of the packet to send along with, note that some properties are optional.\n * @param direct If it should skip queue.\n */\n send(type, value, direct = false) {\n this.invoke(\"debug\", \"Sent \" + type + \" with \" + (value === undefined ? \"0\" : Object.keys(value).length) + \" parameters.\");\n const send = () => {\n var _a;\n return (_a = this.socket) === null || _a === void 0 ? void 0 : _a.send((0,_bufbuild_protobuf__WEBPACK_IMPORTED_MODULE_8__.toBinary)(_gen_world_pb_js__WEBPACK_IMPORTED_MODULE_0__.WorldPacketSchema, (0,_bufbuild_protobuf__WEBPACK_IMPORTED_MODULE_9__.create)(_gen_world_pb_js__WEBPACK_IMPORTED_MODULE_0__.WorldPacketSchema, { packet: { case: type, value } })));\n };\n if (direct)\n return send();\n this.totalBucket.queue(() => {\n if (type !== \"playerChatPacket\")\n send();\n // yeah this is not good, need to rewrite the queueing bit for now.\n else\n this.chatBucket.queue(() => { send(); });\n }, type === \"playerChatPacket\");\n }\n /**\n * By default this will set the game client settings reconnectable to false.\n *\n * If reconnect is true, an additionl parameter can be passed which is the amount of time to wait before it attempts to reconnect (DEFAULT: none)\n */\n disconnect(reconnect = false) {\n var _a, _b;\n // Accept the possibility that people may try to \n if (reconnect === true)\n this.settings.reconnectable = true;\n else\n this.settings.reconnectable = false;\n (_a = this.socket) === null || _a === void 0 ? void 0 : _a.close();\n return ((_b = this.socket) === null || _b === void 0 ? void 0 : _b.readyState) === isows__WEBPACK_IMPORTED_MODULE_5__.WebSocket.CLOSED;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFdHYW1lQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2dhbWUvUFdHYW1lQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQTJHLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEssT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxFLE9BQU8sS0FBSyxNQUFNLGtCQUFrQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUlqRCxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQVk7SUF3QjdCLFlBQVksR0FBK0MsRUFBRSxRQUFzQzs7UUFiekYsZ0JBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkMsZUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVqQyxvQkFBZSxHQUFHO1lBQ3hCLElBQUksRUFBRSxDQUFDLENBQUM7WUFDUixLQUFLLEVBQUUsQ0FBQztTQUNYLENBQUE7UUF3T0QseURBQXlEO1FBQ3pELGtCQUFrQjtRQUNsQixJQUFJO1FBRUo7Ozs7O1dBS0c7UUFDTyxjQUFTLEdBQUcsRUFFaUgsQ0FBQztRQUV4SSxvQkFBb0I7UUFFcEIsMkVBQTJFO1FBRTNFOztXQUVHO1FBQ0ssVUFBSyxHQUFrQyxFQUFFLENBQUM7UUFyUDlDLHdEQUF3RDtRQUN4RCxJQUFJLEdBQUcsSUFBSSxZQUFZLElBQUksR0FBRztZQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO2FBQzFDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDWCxRQUFRLEdBQUcsR0FBRyxDQUFDO1lBQ2YsR0FBRyxHQUFHLFNBQVMsQ0FBQztRQUNwQixDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNaLGFBQWEsRUFBRSxNQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxhQUFhLG1DQUFJLElBQUk7WUFDOUMsY0FBYyxFQUFFLE1BQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLGNBQWMsbUNBQUksQ0FBQztZQUM3QyxpQkFBaUIsRUFBRSxNQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxpQkFBaUIsbUNBQUksSUFBSTtZQUN0RCxnQkFBZ0IsRUFBRSxNQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxnQkFBZ0IsbUNBQUksS0FBSztZQUNyRCxhQUFhLEVBQUUsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsYUFBYSxtQ0FBSSxDQUFDLE1BQU0sQ0FBQztTQUNyRCxDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksU0FBUzs7UUFDVCxPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxVQUFVLE1BQUssU0FBUyxDQUFDLElBQUksQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNHLFNBQVMsQ0FBQyxNQUFjLEVBQUUsUUFBd0I7OztZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsTUFBTSxLQUFLLENBQUMsbUZBQW1GLENBQUMsQ0FBQztZQUVoSCxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxVQUFVLE1BQUssU0FBUyxDQUFDLFVBQVU7Z0JBQUUsTUFBTSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNoRyxnR0FBZ0c7WUFFaEcsTUFBTSxRQUFRLEdBQUcsTUFBQSxNQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUywwQ0FBRyxDQUFDLENBQUMsbUNBQUksTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXBHLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRTVELElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUFFLE1BQU0sS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7WUFFaEksTUFBTSxVQUFVLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7a0JBQ3ZELENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXBGLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO1lBRTFCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7Z0JBQzVFLElBQUksQ0FBQyxlQUFlLEdBQUc7b0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7aUJBQzdCLENBQUM7WUFDTixDQUFDO1lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTs7Z0JBQzVCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWM7b0JBQUUsT0FBTyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQyxDQUFDO2dCQUVsSSxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO29CQUMzQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjO3dCQUFFLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztvQkFDakgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztvQkFFdkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxLQUEwQixFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDdEYsQ0FBQyxFQUFFLE1BQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsbUNBQUksSUFBSSxDQUFDLENBQUM7Z0JBRTVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsS0FBMEIsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdEYsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0tBQUE7SUFFRDs7T0FFRztJQUNLLFlBQVksQ0FBQyxHQUFXLEVBQUUsS0FBYSxFQUFFLEdBQTBCLEVBQUUsR0FBMEI7UUFDbkcsTUFBTSxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsTUFBTSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7UUFFbEMsZUFBZTtRQUNmLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQztRQUVqQixNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7O1lBQ3ZCLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsSUFBSSxZQUFZLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLElBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RJLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUM7WUFFN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVoRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztZQUU5QixJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQy9DLENBQUMsQ0FBQyxnQ0FBZ0M7WUFFbEMsSUFBSSxNQUFNLEdBQUcsRUFBeUIsQ0FBQyxDQUFBLGVBQWU7WUFFdEQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUM7b0JBQ0QsTUFBTSxHQUFHLEVBQUUsQ0FBQztvQkFFWixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO3dCQUNwRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO3dCQUVyQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDOzRCQUMxQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0NBQ2pELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQzFDLENBQUM7d0JBQ0wsQ0FBQztvQkFDTCxDQUFDO2dCQUNMLENBQUM7Z0JBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDO29CQUMzRCxpQ0FBaUM7b0JBQ2pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBRW5CLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2hCLENBQUM7WUFDTCxDQUFDO1lBRUQsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssa0JBQWtCO29CQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztvQkFFcEMsSUFBSSxNQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLDBDQUFFLFlBQVk7d0JBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDOzt3QkFDNUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO29CQUVyQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ1IsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNyQixJQUFJLEdBQUcsSUFBSSxDQUFDO3dCQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFFdkIsZ0dBQWdHO3dCQUNoRyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUU7NEJBQ25CLCtCQUErQjs0QkFDL0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dDQUNwQixJQUFJLENBQUM7b0NBQ0QsTUFBTSxHQUFHLEVBQUUsQ0FBQztvQ0FFWixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO3dDQUNwRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO3dDQUVyQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDOzRDQUMxQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRDQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0RBQ2pELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7NENBQzFDLENBQUM7d0NBQ0wsQ0FBQztvQ0FDTCxDQUFDO2dDQUNMLENBQUM7Z0NBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztvQ0FDWCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDO29DQUMzRCxpQ0FBaUM7b0NBQ2pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0NBRW5CLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0NBQ2hCLENBQUM7NEJBQ0wsQ0FBQzs0QkFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFhLENBQUMsQ0FBQzt3QkFDMUQsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNiLENBQUM7b0JBQ0QsTUFBTTtnQkFDVixLQUFLLE1BQU07b0JBQ1AsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUMvRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3ZDLE1BQU07WUFDZCxDQUFDO1lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBYSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFBO1FBRUQsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLGtEQUFrRCxDQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDO1FBRUYsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLHdDQUF3QyxHQUFHLENBQUMsSUFBSSxjQUFjLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBRW5HLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDUixhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUM5QixJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssU0FBUztvQkFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLGdGQUFnRixDQUFDLENBQUM7Z0JBQzFJLHVEQUF1RDtnQkFDdkQsNEZBQTRGO2dCQUM1RixJQUFJO2dCQUVKLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO29CQUVqRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTt3QkFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQzlCLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUM7O29CQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLDBGQUEwRixDQUFDLENBQUM7WUFDNUgsQ0FBQztRQUNMLENBQUMsQ0FBQTtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFlLEVBQUUsR0FBOEU7UUFDNUcsTUFBTSxVQUFVLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxTQUFTLE9BQU8sRUFBRTtjQUNqRCxDQUFDLENBQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFFBQVEsTUFBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFN0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxZQUFZLENBQUMsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFlBQVksQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDMUUsR0FBRyxDQUFDLGVBQWUsR0FBRztnQkFDbEIsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUM3QixDQUFDO1FBQ04sQ0FBQztRQUVELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7O1lBQzVCLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLGNBQWM7Z0JBQUUsT0FBTyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQyxDQUFDO1lBRWhJLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7O2dCQUMzQixNQUFBLEdBQUcsQ0FBQyxNQUFNLDBDQUFFLEtBQUssRUFBRSxDQUFDO2dCQUVwQixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxjQUFjO29CQUFFLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztnQkFDL0csR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztnQkFFdEQsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxLQUEwQixFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNwRixDQUFDLEVBQUUsTUFBQSxHQUFHLENBQUMsUUFBUSxDQUFDLGlCQUFpQixtQ0FBSSxJQUFJLENBQUMsQ0FBQztZQUUzQyxHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEtBQTBCLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3BGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQXlCRDs7Ozs7O09BTUc7SUFDSCxPQUFPLENBQXdGLElBQXFCO1FBQ2hILHVFQUF1RTtRQUV2RSxtQ0FBbUM7UUFFbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEIsdUNBQXVDO1FBRXZDLE9BQU8sSUFBbUQsQ0FBQztJQUMvRCxDQUFDO0lBVUQsV0FBVyxDQUFtQyxJQUFXLEVBQUUsR0FBRyxHQUF1RztRQUNqSyw2QkFBNkI7UUFFN0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVsRSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRWxDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFFbEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQVVELGVBQWUsQ0FBbUMsSUFBVyxFQUFFLEdBQUcsR0FBdUc7UUFDckssNkJBQTZCO1FBRTdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFbEUsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUVsQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBRXJDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQW1DLElBQVcsRUFBRSxFQUErRjtRQUN6SixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZDLElBQUksU0FBUyxLQUFLLFNBQVMsSUFBSSxFQUFFLEtBQUssU0FBUyxFQUFFLENBQUM7WUFBQyxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7YUFDN0UsQ0FBQztZQUNGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ3RCLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU87SUFDWCxDQUFDO0lBT2UsTUFBTSxDQUFtQyxJQUFXLEVBQUUsSUFBeUIsRUFBRSxNQUFpQzs7WUFDOUgsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVqQyxJQUFJLE1BQU0sR0FBRztnQkFDVCxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLO2FBQzNCLENBQUM7WUFFRixJQUFJLEdBQUcsS0FBSyxTQUFTO2dCQUFFLE9BQU8sTUFBTSxDQUFDO1lBRXJDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDN0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBRS9FLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFFZixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUMxQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUU5QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7d0JBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2pDLENBQUM7Z0JBQ0wsQ0FBQztnQkFFRCxJQUFJLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FBQztvQkFDakIsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7b0JBRXRCLE9BQU8sTUFBTSxDQUFDO2dCQUNsQixDQUFDO1lBQ0wsQ0FBQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7S0FBQTtJQUVEOzs7Ozs7T0FNRztJQUNILElBQUksQ0FBa0MsSUFBVyxFQUFFLEtBQTZFLEVBQUUsTUFBTSxHQUFHLEtBQUs7UUFDNUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLElBQUksR0FBRyxRQUFRLEdBQUcsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUM7UUFFM0gsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFOztZQUFDLE9BQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxJQUFJLENBQ2hDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBOEMsRUFBRSxDQUFDLENBQUMsQ0FDeEksQ0FBQTtTQUFBLENBQUM7UUFFRixJQUFJLE1BQU07WUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUN4QixJQUFJLElBQUksS0FBSyxrQkFBa0I7Z0JBQUUsSUFBSSxFQUFFLENBQUE7WUFDbkMsbUVBQW1FOztnQkFDbEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDLEVBQUUsSUFBSSxLQUFLLGtCQUFrQixDQUFDLENBQUE7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsWUFBNkIsS0FBSzs7UUFDekMsaURBQWlEO1FBQ2pELElBQUksU0FBUyxLQUFLLElBQUk7WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7O1lBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUV6QyxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLEtBQUssRUFBRSxDQUFDO1FBRXJCLE9BQU8sQ0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLFVBQVUsTUFBSyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQ3hELENBQUM7Q0FDSiJ9\n\n//# sourceURL=webpack://PW/./esm/game/PWGameClient.js?");
40
40
 
41
41
  /***/ }),
42
42
 
@@ -46,7 +46,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
46
46
  \*****************************/
47
47
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
48
48
 
49
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalSwitchChangedPacketSchema: () => (/* binding */ GlobalSwitchChangedPacketSchema),\n/* harmony export */ GlobalSwitchResetPacketSchema: () => (/* binding */ GlobalSwitchResetPacketSchema),\n/* harmony export */ OldChatMessageSchema: () => (/* binding */ OldChatMessageSchema),\n/* harmony export */ OldChatMessagesPacketSchema: () => (/* binding */ OldChatMessagesPacketSchema),\n/* harmony export */ PerformWorldActionPacketSchema: () => (/* binding */ PerformWorldActionPacketSchema),\n/* harmony export */ PerformWorldActionPacket_Action: () => (/* binding */ PerformWorldActionPacket_Action),\n/* harmony export */ PerformWorldActionPacket_ActionSchema: () => (/* binding */ PerformWorldActionPacket_ActionSchema),\n/* harmony export */ PingSchema: () => (/* binding */ PingSchema),\n/* harmony export */ PlayerAddEffectPacketSchema: () => (/* binding */ PlayerAddEffectPacketSchema),\n/* harmony export */ PlayerChatPacketSchema: () => (/* binding */ PlayerChatPacketSchema),\n/* harmony export */ PlayerCountersUpdatePacketSchema: () => (/* binding */ PlayerCountersUpdatePacketSchema),\n/* harmony export */ PlayerDirectMessagePacketSchema: () => (/* binding */ PlayerDirectMessagePacketSchema),\n/* harmony export */ PlayerFacePacketSchema: () => (/* binding */ PlayerFacePacketSchema),\n/* harmony export */ PlayerGodModePacketSchema: () => (/* binding */ PlayerGodModePacketSchema),\n/* harmony export */ PlayerInitPacketSchema: () => (/* binding */ PlayerInitPacketSchema),\n/* harmony export */ PlayerInitReceivedPacketSchema: () => (/* binding */ PlayerInitReceivedPacketSchema),\n/* harmony export */ PlayerJoinedPacketSchema: () => (/* binding */ PlayerJoinedPacketSchema),\n/* harmony export */ PlayerLeftPacketSchema: () => (/* binding */ PlayerLeftPacketSchema),\n/* harmony export */ PlayerLocalSwitchChangedPacketSchema: () => (/* binding */ PlayerLocalSwitchChangedPacketSchema),\n/* harmony export */ PlayerLocalSwitchResetPacketSchema: () => (/* binding */ PlayerLocalSwitchResetPacketSchema),\n/* harmony export */ PlayerModModePacketSchema: () => (/* binding */ PlayerModModePacketSchema),\n/* harmony export */ PlayerMovedPacketSchema: () => (/* binding */ PlayerMovedPacketSchema),\n/* harmony export */ PlayerPropertiesSchema: () => (/* binding */ PlayerPropertiesSchema),\n/* harmony export */ PlayerRemoveEffectPacketSchema: () => (/* binding */ PlayerRemoveEffectPacketSchema),\n/* harmony export */ PlayerResetEffectsPacketSchema: () => (/* binding */ PlayerResetEffectsPacketSchema),\n/* harmony export */ PlayerResetPacketSchema: () => (/* binding */ PlayerResetPacketSchema),\n/* harmony export */ PlayerRespawnPacketSchema: () => (/* binding */ PlayerRespawnPacketSchema),\n/* harmony export */ PlayerRightsSchema: () => (/* binding */ PlayerRightsSchema),\n/* harmony export */ PlayerSpectatePacketSchema: () => (/* binding */ PlayerSpectatePacketSchema),\n/* harmony export */ PlayerTeamUpdatePacketSchema: () => (/* binding */ PlayerTeamUpdatePacketSchema),\n/* harmony export */ PlayerTeleportedPacketSchema: () => (/* binding */ PlayerTeleportedPacketSchema),\n/* harmony export */ PlayerTouchBlockPacketSchema: () => (/* binding */ PlayerTouchBlockPacketSchema),\n/* harmony export */ PlayerTouchPlayerPacketSchema: () => (/* binding */ PlayerTouchPlayerPacketSchema),\n/* harmony export */ PlayerTouchPlayerPacket_TouchType: () => (/* binding */ PlayerTouchPlayerPacket_TouchType),\n/* harmony export */ PlayerTouchPlayerPacket_TouchTypeSchema: () => (/* binding */ PlayerTouchPlayerPacket_TouchTypeSchema),\n/* harmony export */ PlayerUpdateRightsPacketSchema: () => (/* binding */ PlayerUpdateRightsPacketSchema),\n/* harmony export */ PlayerWorldStateSchema: () => (/* binding */ PlayerWorldStateSchema),\n/* harmony export */ PointDoubleSchema: () => (/* binding */ PointDoubleSchema),\n/* harmony export */ PointIntegerSchema: () => (/* binding */ PointIntegerSchema),\n/* harmony export */ SystemMessagePacketSchema: () => (/* binding */ SystemMessagePacketSchema),\n/* harmony export */ WorldBlockFilledPacketSchema: () => (/* binding */ WorldBlockFilledPacketSchema),\n/* harmony export */ WorldBlockPlacedPacketSchema: () => (/* binding */ WorldBlockPlacedPacketSchema),\n/* harmony export */ WorldClearedPacketSchema: () => (/* binding */ WorldClearedPacketSchema),\n/* harmony export */ WorldMetaSchema: () => (/* binding */ WorldMetaSchema),\n/* harmony export */ WorldMetaUpdatePacketSchema: () => (/* binding */ WorldMetaUpdatePacketSchema),\n/* harmony export */ WorldMeta_WorldType: () => (/* binding */ WorldMeta_WorldType),\n/* harmony export */ WorldMeta_WorldTypeSchema: () => (/* binding */ WorldMeta_WorldTypeSchema),\n/* harmony export */ WorldPacketSchema: () => (/* binding */ WorldPacketSchema),\n/* harmony export */ WorldReloadedPacketSchema: () => (/* binding */ WorldReloadedPacketSchema),\n/* harmony export */ file_world: () => (/* binding */ file_world)\n/* harmony export */ });\n/* harmony import */ var _bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @bufbuild/protobuf/codegenv1 */ \"./node_modules/.pnpm/@bufbuild+protobuf@2.2.3/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/file.js\");\n/* harmony import */ var _bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @bufbuild/protobuf/codegenv1 */ \"./node_modules/.pnpm/@bufbuild+protobuf@2.2.3/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/message.js\");\n/* harmony import */ var _bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @bufbuild/protobuf/codegenv1 */ \"./node_modules/.pnpm/@bufbuild+protobuf@2.2.3/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/enum.js\");\n// @generated by protoc-gen-es v2.2.3 with parameter \"target=ts\"\n// @generated from file world.proto (package WorldPackets, syntax proto3)\n/* eslint-disable */\n\n/**\n * Describes the file world.proto.\n */\nconst file_world = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_0__.fileDesc)(\"Cgt3b3JsZC5wcm90bxIMV29ybGRQYWNrZXRzIusTCgtXb3JsZFBhY2tldBIiCgRwaW5nGAEgASgLMhIuV29ybGRQYWNrZXRzLlBpbmdIABI8ChJwbGF5ZXJfaW5pdF9wYWNrZXQYAiABKAsyHi5Xb3JsZFBhY2tldHMuUGxheWVySW5pdFBhY2tldEgAEkYKFHBsYXllcl9pbml0X3JlY2VpdmVkGAMgASgLMiYuV29ybGRQYWNrZXRzLlBsYXllckluaXRSZWNlaXZlZFBhY2tldEgAEkAKFHBsYXllcl9qb2luZWRfcGFja2V0GAQgASgLMiAuV29ybGRQYWNrZXRzLlBsYXllckpvaW5lZFBhY2tldEgAEjwKEnBsYXllcl9sZWZ0X3BhY2tldBgFIAEoCzIeLldvcmxkUGFja2V0cy5QbGF5ZXJMZWZ0UGFja2V0SAASPAoScGxheWVyX2NoYXRfcGFja2V0GAYgASgLMh4uV29ybGRQYWNrZXRzLlBsYXllckNoYXRQYWNrZXRIABJNChtwbGF5ZXJfdXBkYXRlX3JpZ2h0c19wYWNrZXQYByABKAsyJi5Xb3JsZFBhY2tldHMuUGxheWVyVXBkYXRlUmlnaHRzUGFja2V0SAASPgoTcGxheWVyX21vdmVkX3BhY2tldBgIIAEoCzIfLldvcmxkUGFja2V0cy5QbGF5ZXJNb3ZlZFBhY2tldEgAEjwKEnBsYXllcl9mYWNlX3BhY2tldBgJIAEoCzIeLldvcmxkUGFja2V0cy5QbGF5ZXJGYWNlUGFja2V0SAASQwoWcGxheWVyX2dvZF9tb2RlX3BhY2tldBgKIAEoCzIhLldvcmxkUGFja2V0cy5QbGF5ZXJHb2RNb2RlUGFja2V0SAASQwoWcGxheWVyX21vZF9tb2RlX3BhY2tldBgLIAEoCzIhLldvcmxkUGFja2V0cy5QbGF5ZXJNb2RNb2RlUGFja2V0SAASQgoVcGxheWVyX3Jlc3Bhd25fcGFja2V0GAwgASgLMiEuV29ybGRQYWNrZXRzLlBsYXllclJlc3Bhd25QYWNrZXRIABI+ChNwbGF5ZXJfcmVzZXRfcGFja2V0GA0gASgLMh8uV29ybGRQYWNrZXRzLlBsYXllclJlc2V0UGFja2V0SAASSQoZcGxheWVyX3RvdWNoX2Jsb2NrX3BhY2tldBgOIAEoCzIkLldvcmxkUGFja2V0cy5QbGF5ZXJUb3VjaEJsb2NrUGFja2V0SAASRwoYcGxheWVyX2FkZF9lZmZlY3RfcGFja2V0GA8gASgLMiMuV29ybGRQYWNrZXRzLlBsYXllckFkZEVmZmVjdFBhY2tldEgAEk0KG3BsYXllcl9yZW1vdmVfZWZmZWN0X3BhY2tldBgQIAEoCzImLldvcmxkUGFja2V0cy5QbGF5ZXJSZW1vdmVFZmZlY3RQYWNrZXRIABJNChtwbGF5ZXJfcmVzZXRfZWZmZWN0c19wYWNrZXQYESABKAsyJi5Xb3JsZFBhY2tldHMuUGxheWVyUmVzZXRFZmZlY3RzUGFja2V0SAASSQoZcGxheWVyX3RlYW1fdXBkYXRlX3BhY2tldBgSIAEoCzIkLldvcmxkUGFja2V0cy5QbGF5ZXJUZWFtVXBkYXRlUGFja2V0SAASUQodcGxheWVyX2NvdW50ZXJzX3VwZGF0ZV9wYWNrZXQYEyABKAsyKC5Xb3JsZFBhY2tldHMuUGxheWVyQ291bnRlcnNVcGRhdGVQYWNrZXRIABJaCiJwbGF5ZXJfbG9jYWxfc3dpdGNoX2NoYW5nZWRfcGFja2V0GBQgASgLMiwuV29ybGRQYWNrZXRzLlBsYXllckxvY2FsU3dpdGNoQ2hhbmdlZFBhY2tldEgAElYKIHBsYXllcl9sb2NhbF9zd2l0Y2hfcmVzZXRfcGFja2V0GBUgASgLMiouV29ybGRQYWNrZXRzLlBsYXllckxvY2FsU3dpdGNoUmVzZXRQYWNrZXRIABJPChxwbGF5ZXJfZGlyZWN0X21lc3NhZ2VfcGFja2V0GBYgASgLMicuV29ybGRQYWNrZXRzLlBsYXllckRpcmVjdE1lc3NhZ2VQYWNrZXRIABJLChpwbGF5ZXJfdG91Y2hfcGxheWVyX3BhY2tldBgXIAEoCzIlLldvcmxkUGFja2V0cy5QbGF5ZXJUb3VjaFBsYXllclBhY2tldEgAEkgKGHBsYXllcl90ZWxlcG9ydGVkX3BhY2tldBgYIAEoCzIkLldvcmxkUGFja2V0cy5QbGF5ZXJUZWxlcG9ydGVkUGFja2V0SAASQgoVd29ybGRfcmVsb2FkZWRfcGFja2V0GBkgASgLMiEuV29ybGRQYWNrZXRzLldvcmxkUmVsb2FkZWRQYWNrZXRIABJAChR3b3JsZF9jbGVhcmVkX3BhY2tldBgaIAEoCzIgLldvcmxkUGFja2V0cy5Xb3JsZENsZWFyZWRQYWNrZXRIABJHChh3b3JsZF9tZXRhX3VwZGF0ZV9wYWNrZXQYGyABKAsyIy5Xb3JsZFBhY2tldHMuV29ybGRNZXRhVXBkYXRlUGFja2V0SAASSQoZd29ybGRfYmxvY2tfcGxhY2VkX3BhY2tldBgcIAEoCzIkLldvcmxkUGFja2V0cy5Xb3JsZEJsb2NrUGxhY2VkUGFja2V0SAASSQoZd29ybGRfYmxvY2tfZmlsbGVkX3BhY2tldBgdIAEoCzIkLldvcmxkUGFja2V0cy5Xb3JsZEJsb2NrRmlsbGVkUGFja2V0SAASRwoYb2xkX2NoYXRfbWVzc2FnZXNfcGFja2V0GB4gASgLMiMuV29ybGRQYWNrZXRzLk9sZENoYXRNZXNzYWdlc1BhY2tldEgAEkIKFXN5c3RlbV9tZXNzYWdlX3BhY2tldBgfIAEoCzIhLldvcmxkUGFja2V0cy5TeXN0ZW1NZXNzYWdlUGFja2V0SAASTwocZ2xvYmFsX3N3aXRjaF9jaGFuZ2VkX3BhY2tldBggIAEoCzInLldvcmxkUGFja2V0cy5HbG9iYWxTd2l0Y2hDaGFuZ2VkUGFja2V0SAASSwoaZ2xvYmFsX3N3aXRjaF9yZXNldF9wYWNrZXQYISABKAsyJS5Xb3JsZFBhY2tldHMuR2xvYmFsU3dpdGNoUmVzZXRQYWNrZXRIABJNChtwZXJmb3JtX3dvcmxkX2FjdGlvbl9wYWNrZXQYIiABKAsyJi5Xb3JsZFBhY2tldHMuUGVyZm9ybVdvcmxkQWN0aW9uUGFja2V0SAASRAoWcGxheWVyX3NwZWN0YXRlX3BhY2tldBgjIAEoCzIiLldvcmxkUGFja2V0cy5QbGF5ZXJTcGVjdGF0ZVBhY2tldEgAQggKBnBhY2tldCIGCgRQaW5nIlIKGUdsb2JhbFN3aXRjaENoYW5nZWRQYWNrZXQSEQoJcGxheWVyX2lkGAEgASgFEhEKCXN3aXRjaF9pZBgCIAEoBRIPCgdlbmFibGVkGAMgASgIIj0KF0dsb2JhbFN3aXRjaFJlc2V0UGFja2V0EhEKCXBsYXllcl9pZBgBIAEoBRIPCgdlbmFibGVkGAIgASgIIkgKE1N5c3RlbU1lc3NhZ2VQYWNrZXQSDQoFdGl0bGUYASABKAkSDwoHbWVzc2FnZRgCIAEoCRIRCglpc19kaWFsb2cYAyABKAgiUAoVT2xkQ2hhdE1lc3NhZ2VzUGFja2V0EjcKEW9sZF9jaGF0X21lc3NhZ2VzGAEgAygLMhwuV29ybGRQYWNrZXRzLk9sZENoYXRNZXNzYWdlIpYBChhQZXJmb3JtV29ybGRBY3Rpb25QYWNrZXQSPQoGYWN0aW9uGAEgASgOMi0uV29ybGRQYWNrZXRzLlBlcmZvcm1Xb3JsZEFjdGlvblBhY2tldC5BY3Rpb24iOwoGQWN0aW9uEg4KClNBVkVfV09STEQQABIQCgxSRUxPQURfV09STEQQARIPCgtDTEVBUl9XT1JMRBADIikKE1dvcmxkUmVsb2FkZWRQYWNrZXQSEgoKd29ybGRfZGF0YRgBIAEoDCIUChJXb3JsZENsZWFyZWRQYWNrZXQivwEKFldvcmxkQmxvY2tQbGFjZWRQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESGQoRaXNfZmlsbF9vcGVyYXRpb24YAyABKAgSLQoJcG9zaXRpb25zGAQgAygLMhouV29ybGRQYWNrZXRzLlBvaW50SW50ZWdlchINCgVsYXllchgFIAEoBRIQCghibG9ja19pZBgGIAEoBRIUCgxleHRyYV9maWVsZHMYByABKAxCDAoKX3BsYXllcl9pZCKTAQoWV29ybGRCbG9ja0ZpbGxlZFBhY2tldBIsCghwb3NpdGlvbhgBIAEoCzIaLldvcmxkUGFja2V0cy5Qb2ludEludGVnZXISFAoMaWdub3JlTGF5ZXJzGAIgASgIEg0KBWxheWVyGAMgASgFEhAKCGJsb2NrX2lkGAQgASgFEhQKDGV4dHJhX2ZpZWxkcxgFIAEoDCI+ChVXb3JsZE1ldGFVcGRhdGVQYWNrZXQSJQoEbWV0YRgBIAEoCzIXLldvcmxkUGFja2V0cy5Xb3JsZE1ldGEi1gEKEFBsYXllckluaXRQYWNrZXQSOQoRcGxheWVyX3Byb3BlcnRpZXMYASABKAsyHi5Xb3JsZFBhY2tldHMuUGxheWVyUHJvcGVydGllcxIrCgp3b3JsZF9tZXRhGAIgASgLMhcuV29ybGRQYWNrZXRzLldvcmxkTWV0YRITCgt3b3JsZF93aWR0aBgDIAEoBRIUCgx3b3JsZF9oZWlnaHQYBCABKAUSGwoTZ2xvYmFsX3N3aXRjaF9zdGF0ZRgGIAEoDBISCgp3b3JsZF9kYXRhGAcgASgMIhoKGFBsYXllckluaXRSZWNlaXZlZFBhY2tldCJ9ChJQbGF5ZXJKb2luZWRQYWNrZXQSMgoKcHJvcGVydGllcxgBIAEoCzIeLldvcmxkUGFja2V0cy5QbGF5ZXJQcm9wZXJ0aWVzEjMKC3dvcmxkX3N0YXRlGAIgASgLMh4uV29ybGRQYWNrZXRzLlBsYXllcldvcmxkU3RhdGUiJQoQUGxheWVyTGVmdFBhY2tldBIRCglwbGF5ZXJfaWQYASABKAUiNgoQUGxheWVyQ2hhdFBhY2tldBIRCglwbGF5ZXJfaWQYASABKAUSDwoHbWVzc2FnZRgCIAEoCSJsChhQbGF5ZXJVcGRhdGVSaWdodHNQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESKgoGcmlnaHRzGAIgASgLMhouV29ybGRQYWNrZXRzLlBsYXllclJpZ2h0c0IMCgpfcGxheWVyX2lkIrMCChFQbGF5ZXJNb3ZlZFBhY2tldBIWCglwbGF5ZXJfaWQYASABKAVIAIgBARIrCghwb3NpdGlvbhgCIAEoCzIZLldvcmxkUGFja2V0cy5Qb2ludERvdWJsZRISCgp2ZWxvY2l0eV94GAMgASgBEhIKCnZlbG9jaXR5X3kYBCABKAESEgoKbW9kaWZpZXJfeBgFIAEoARISCgptb2RpZmllcl95GAYgASgBEhIKCmhvcml6b250YWwYByABKAUSEAoIdmVydGljYWwYCCABKAUSEgoKc3BhY2VfZG93bhgJIAEoCBIXCg9zcGFjZV9qdXN0X2Rvd24YCiABKAgSFwoPanVzdF90ZWxlcG9ydGVkGAsgASgIEg8KB3RpY2tfaWQYDCABKAVCDAoKX3BsYXllcl9pZCJrChZQbGF5ZXJUZWxlcG9ydGVkUGFja2V0EhYKCXBsYXllcl9pZBgBIAEoBUgAiAEBEisKCHBvc2l0aW9uGAIgASgLMhkuV29ybGRQYWNrZXRzLlBvaW50RG91YmxlQgwKCl9wbGF5ZXJfaWQiSQoQUGxheWVyRmFjZVBhY2tldBIWCglwbGF5ZXJfaWQYASABKAVIAIgBARIPCgdmYWNlX2lkGAIgASgFQgwKCl9wbGF5ZXJfaWQiVQoUUGxheWVyU3BlY3RhdGVQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESFwoPc3BlY3RhdGVfcGxheWVyGAIgASgFQgwKCl9wbGF5ZXJfaWQiTAoTUGxheWVyR29kTW9kZVBhY2tldBIWCglwbGF5ZXJfaWQYASABKAVIAIgBARIPCgdlbmFibGVkGAIgASgIQgwKCl9wbGF5ZXJfaWQiTAoTUGxheWVyTW9kTW9kZVBhY2tldBIWCglwbGF5ZXJfaWQYASABKAVIAIgBARIPCgdlbmFibGVkGAMgASgIQgwKCl9wbGF5ZXJfaWQiaQoTUGxheWVyUmVzcGF3blBhY2tldBIWCglwbGF5ZXJfaWQYASABKAVIAIgBARIsCghwb3NpdGlvbhgCIAEoCzIaLldvcmxkUGFja2V0cy5Qb2ludEludGVnZXJCDAoKX3BsYXllcl9pZCJ5ChFQbGF5ZXJSZXNldFBhY2tldBIWCglwbGF5ZXJfaWQYASABKAVIAIgBARIxCghwb3NpdGlvbhgCIAEoCzIaLldvcmxkUGFja2V0cy5Qb2ludEludGVnZXJIAYgBAUIMCgpfcGxheWVyX2lkQgsKCV9wb3NpdGlvbiKQAQoWUGxheWVyVG91Y2hCbG9ja1BhY2tldBIWCglwbGF5ZXJfaWQYASABKAVIAIgBARIxCghwb3NpdGlvbhgCIAEoCzIaLldvcmxkUGFja2V0cy5Qb2ludEludGVnZXJIAYgBARIQCghibG9ja19pZBgDIAEoBUIMCgpfcGxheWVyX2lkQgsKCV9wb3NpdGlvbiK9AQoXUGxheWVyVG91Y2hQbGF5ZXJQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESFgoOdG91Y2hlZF9wbGF5ZXIYAiABKAUSQwoKdG91Y2hfdHlwZRgDIAEoDjIvLldvcmxkUGFja2V0cy5QbGF5ZXJUb3VjaFBsYXllclBhY2tldC5Ub3VjaFR5cGUiHwoJVG91Y2hUeXBlEgkKBVNUQVJUEAASBwoDRU5EEAFCDAoKX3BsYXllcl9pZCKtAQoVUGxheWVyQWRkRWZmZWN0UGFja2V0EhYKCXBsYXllcl9pZBgBIAEoBUgAiAEBEhMKC2Zyb21fc2VydmVyGAIgASgIEhEKCWVmZmVjdF9pZBgDIAEoBRIVCghkdXJhdGlvbhgEIAEoBUgBiAEBEhUKCHN0cmVuZ3RoGAUgASgFSAKIAQFCDAoKX3BsYXllcl9pZEILCglfZHVyYXRpb25CCwoJX3N0cmVuZ3RoIlMKGFBsYXllclJlbW92ZUVmZmVjdFBhY2tldBIWCglwbGF5ZXJfaWQYASABKAVIAIgBARIRCgllZmZlY3RfaWQYBCABKAVCDAoKX3BsYXllcl9pZCJVChhQbGF5ZXJSZXNldEVmZmVjdHNQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESEwoLZnJvbV9zZXJ2ZXIYAiABKAhCDAoKX3BsYXllcl9pZCJPChZQbGF5ZXJUZWFtVXBkYXRlUGFja2V0EhYKCXBsYXllcl9pZBgBIAEoBUgAiAEBEg8KB3RlYW1faWQYAiABKAVCDAoKX3BsYXllcl9pZCKKAQoaUGxheWVyQ291bnRlcnNVcGRhdGVQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESDQoFY29pbnMYAiABKAUSEgoKYmx1ZV9jb2lucxgDIAEoBRIOCgZkZWF0aHMYBCABKAUSEwoLZnJvbV9zZXJ2ZXIYBSABKAhCDAoKX3BsYXllcl9pZCJxCh5QbGF5ZXJMb2NhbFN3aXRjaENoYW5nZWRQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESEQoJc3dpdGNoX2lkGAIgASgFEhYKDnN3aXRjaF9lbmFibGVkGAMgASgIQgwKCl9wbGF5ZXJfaWQibwocUGxheWVyTG9jYWxTd2l0Y2hSZXNldFBhY2tldBIWCglwbGF5ZXJfaWQYASABKAVIAIgBARIRCglzd2l0Y2hfaWQYAiABKAUSFgoOc3dpdGNoX2VuYWJsZWQYAyABKAhCDAoKX3BsYXllcl9pZCJeChlQbGF5ZXJEaXJlY3RNZXNzYWdlUGFja2V0EhYKDmZyb21fcGxheWVyX2lkGAEgASgFEhgKEHRhcmdldF9wbGF5ZXJfaWQYAiABKAUSDwoHbWVzc2FnZRgDIAEoCSL2AQoQUGxheWVyV29ybGRTdGF0ZRISCgpjb2luc19nb2xkGAEgASgFEhIKCmNvaW5zX2JsdWUYAiABKAUSDgoGZGVhdGhzGAMgASgFEjMKD2NvbGxlY3RlZF9pdGVtcxgEIAMoCzIaLldvcmxkUGFja2V0cy5Qb2ludEludGVnZXISFgoOaGFzX2dvbGRfY3Jvd24YBSABKAgSGAoQaGFzX3NpbHZlcl9jcm93bhgGIAEoCBIQCghzd2l0Y2hlcxgHIAEoDBIPCgdnb2Rtb2RlGAggASgIEg8KB21vZG1vZGUYCSABKAgSDwoHdGVhbV9pZBgKIAEoBSLrAQoQUGxheWVyUHJvcGVydGllcxIRCglwbGF5ZXJfaWQYASABKAUSEgoKYWNjb3VudF9pZBgCIAEoCRIQCgh1c2VybmFtZRgDIAEoCRIMCgRmYWNlGAQgASgFEgwKBHJvbGUYBSABKAkSEQoJaXNfZnJpZW5kGAYgASgIEisKCHBvc2l0aW9uGAcgASgLMhkuV29ybGRQYWNrZXRzLlBvaW50RG91YmxlEhYKDmlzX3dvcmxkX293bmVyGAggASgIEioKBnJpZ2h0cxgJIAEoCzIaLldvcmxkUGFja2V0cy5QbGF5ZXJSaWdodHMijAEKDFBsYXllclJpZ2h0cxIQCghjYW5fZWRpdBgBIAEoCBIPCgdjYW5fZ29kGAIgASgIEhoKEmNhbl90b2dnbGVfbWluaW1hcBgDIAEoCBIhChljYW5fY2hhbmdlX3dvcmxkX3NldHRpbmdzGAQgASgIEhoKEmF2YWlsYWJsZV9jb21tYW5kcxgFIAMoCSKoAgoJV29ybGRNZXRhEg0KBXRpdGxlGAEgASgJEg0KBXBsYXlzGAIgASgFEg0KBW93bmVyGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhIKCnZpc2liaWxpdHkYBSABKAkSNQoKd29ybGRfVHlwZRgGIAEoDjIhLldvcmxkUGFja2V0cy5Xb3JsZE1ldGEuV29ybGRUeXBlEhsKE2hhc191bnNhdmVkX2NoYW5nZXMYByABKAgSEwoLbWF4X3BsYXllcnMYCCABKAUSEgoKb3duZXJfcm9sZRgJIAEoCRIXCg9taW5pbWFwX2VuYWJsZWQYCiABKAgiLwoJV29ybGRUeXBlEgkKBVNhdmVkEAASCwoHVW5zYXZlZBABEgoKBkxlZ2FjeRACIl4KDk9sZENoYXRNZXNzYWdlEhMKC3BsYXllcl9uYW1lGAEgASgJEhMKC3BsYXllcl9yb2xlGAIgASgJEhEKCWlzX2ZyaWVuZBgDIAEoCBIPCgdtZXNzYWdlGAQgASgJIiQKDFBvaW50SW50ZWdlchIJCgF4GAEgASgFEgkKAXkYAiABKAUiIwoLUG9pbnREb3VibGUSCQoBeBgBIAEoARIJCgF5GAIgASgBQm4KEGNvbS5Xb3JsZFBhY2tldHNCCldvcmxkUHJvdG9QAaICA1dYWKoCDFdvcmxkUGFja2V0c8oCDFdvcmxkUGFja2V0c+ICGFdvcmxkUGFja2V0c1xHUEJNZXRhZGF0YeoCDFdvcmxkUGFja2V0c2IGcHJvdG8z\");\n/**\n * Describes the message WorldPackets.WorldPacket.\n * Use `create(WorldPacketSchema)` to create a new message.\n */\nconst WorldPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 0);\n/**\n * Describes the message WorldPackets.Ping.\n * Use `create(PingSchema)` to create a new message.\n */\nconst PingSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 1);\n/**\n * Describes the message WorldPackets.GlobalSwitchChangedPacket.\n * Use `create(GlobalSwitchChangedPacketSchema)` to create a new message.\n */\nconst GlobalSwitchChangedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 2);\n/**\n * Describes the message WorldPackets.GlobalSwitchResetPacket.\n * Use `create(GlobalSwitchResetPacketSchema)` to create a new message.\n */\nconst GlobalSwitchResetPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 3);\n/**\n * Describes the message WorldPackets.SystemMessagePacket.\n * Use `create(SystemMessagePacketSchema)` to create a new message.\n */\nconst SystemMessagePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 4);\n/**\n * Describes the message WorldPackets.OldChatMessagesPacket.\n * Use `create(OldChatMessagesPacketSchema)` to create a new message.\n */\nconst OldChatMessagesPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 5);\n/**\n * Describes the message WorldPackets.PerformWorldActionPacket.\n * Use `create(PerformWorldActionPacketSchema)` to create a new message.\n */\nconst PerformWorldActionPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 6);\n/**\n * @generated from enum WorldPackets.PerformWorldActionPacket.Action\n */\nvar PerformWorldActionPacket_Action;\n(function (PerformWorldActionPacket_Action) {\n /**\n * @generated from enum value: SAVE_WORLD = 0;\n */\n PerformWorldActionPacket_Action[PerformWorldActionPacket_Action[\"SAVE_WORLD\"] = 0] = \"SAVE_WORLD\";\n /**\n * @generated from enum value: RELOAD_WORLD = 1;\n */\n PerformWorldActionPacket_Action[PerformWorldActionPacket_Action[\"RELOAD_WORLD\"] = 1] = \"RELOAD_WORLD\";\n /**\n * @generated from enum value: CLEAR_WORLD = 3;\n */\n PerformWorldActionPacket_Action[PerformWorldActionPacket_Action[\"CLEAR_WORLD\"] = 3] = \"CLEAR_WORLD\";\n})(PerformWorldActionPacket_Action || (PerformWorldActionPacket_Action = {}));\n/**\n * Describes the enum WorldPackets.PerformWorldActionPacket.Action.\n */\nconst PerformWorldActionPacket_ActionSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_2__.enumDesc)(file_world, 6, 0);\n/**\n * Describes the message WorldPackets.WorldReloadedPacket.\n * Use `create(WorldReloadedPacketSchema)` to create a new message.\n */\nconst WorldReloadedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 7);\n/**\n * Describes the message WorldPackets.WorldClearedPacket.\n * Use `create(WorldClearedPacketSchema)` to create a new message.\n */\nconst WorldClearedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 8);\n/**\n * Describes the message WorldPackets.WorldBlockPlacedPacket.\n * Use `create(WorldBlockPlacedPacketSchema)` to create a new message.\n */\nconst WorldBlockPlacedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 9);\n/**\n * Describes the message WorldPackets.WorldBlockFilledPacket.\n * Use `create(WorldBlockFilledPacketSchema)` to create a new message.\n */\nconst WorldBlockFilledPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 10);\n/**\n * Describes the message WorldPackets.WorldMetaUpdatePacket.\n * Use `create(WorldMetaUpdatePacketSchema)` to create a new message.\n */\nconst WorldMetaUpdatePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 11);\n/**\n * Describes the message WorldPackets.PlayerInitPacket.\n * Use `create(PlayerInitPacketSchema)` to create a new message.\n */\nconst PlayerInitPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 12);\n/**\n * Describes the message WorldPackets.PlayerInitReceivedPacket.\n * Use `create(PlayerInitReceivedPacketSchema)` to create a new message.\n */\nconst PlayerInitReceivedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 13);\n/**\n * Describes the message WorldPackets.PlayerJoinedPacket.\n * Use `create(PlayerJoinedPacketSchema)` to create a new message.\n */\nconst PlayerJoinedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 14);\n/**\n * Describes the message WorldPackets.PlayerLeftPacket.\n * Use `create(PlayerLeftPacketSchema)` to create a new message.\n */\nconst PlayerLeftPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 15);\n/**\n * Describes the message WorldPackets.PlayerChatPacket.\n * Use `create(PlayerChatPacketSchema)` to create a new message.\n */\nconst PlayerChatPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 16);\n/**\n * Describes the message WorldPackets.PlayerUpdateRightsPacket.\n * Use `create(PlayerUpdateRightsPacketSchema)` to create a new message.\n */\nconst PlayerUpdateRightsPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 17);\n/**\n * Describes the message WorldPackets.PlayerMovedPacket.\n * Use `create(PlayerMovedPacketSchema)` to create a new message.\n */\nconst PlayerMovedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 18);\n/**\n * Describes the message WorldPackets.PlayerTeleportedPacket.\n * Use `create(PlayerTeleportedPacketSchema)` to create a new message.\n */\nconst PlayerTeleportedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 19);\n/**\n * Describes the message WorldPackets.PlayerFacePacket.\n * Use `create(PlayerFacePacketSchema)` to create a new message.\n */\nconst PlayerFacePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 20);\n/**\n * Describes the message WorldPackets.PlayerSpectatePacket.\n * Use `create(PlayerSpectatePacketSchema)` to create a new message.\n */\nconst PlayerSpectatePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 21);\n/**\n * Describes the message WorldPackets.PlayerGodModePacket.\n * Use `create(PlayerGodModePacketSchema)` to create a new message.\n */\nconst PlayerGodModePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 22);\n/**\n * Describes the message WorldPackets.PlayerModModePacket.\n * Use `create(PlayerModModePacketSchema)` to create a new message.\n */\nconst PlayerModModePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 23);\n/**\n * Describes the message WorldPackets.PlayerRespawnPacket.\n * Use `create(PlayerRespawnPacketSchema)` to create a new message.\n */\nconst PlayerRespawnPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 24);\n/**\n * Describes the message WorldPackets.PlayerResetPacket.\n * Use `create(PlayerResetPacketSchema)` to create a new message.\n */\nconst PlayerResetPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 25);\n/**\n * Describes the message WorldPackets.PlayerTouchBlockPacket.\n * Use `create(PlayerTouchBlockPacketSchema)` to create a new message.\n */\nconst PlayerTouchBlockPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 26);\n/**\n * Describes the message WorldPackets.PlayerTouchPlayerPacket.\n * Use `create(PlayerTouchPlayerPacketSchema)` to create a new message.\n */\nconst PlayerTouchPlayerPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 27);\n/**\n * @generated from enum WorldPackets.PlayerTouchPlayerPacket.TouchType\n */\nvar PlayerTouchPlayerPacket_TouchType;\n(function (PlayerTouchPlayerPacket_TouchType) {\n /**\n * @generated from enum value: START = 0;\n */\n PlayerTouchPlayerPacket_TouchType[PlayerTouchPlayerPacket_TouchType[\"START\"] = 0] = \"START\";\n /**\n * @generated from enum value: END = 1;\n */\n PlayerTouchPlayerPacket_TouchType[PlayerTouchPlayerPacket_TouchType[\"END\"] = 1] = \"END\";\n})(PlayerTouchPlayerPacket_TouchType || (PlayerTouchPlayerPacket_TouchType = {}));\n/**\n * Describes the enum WorldPackets.PlayerTouchPlayerPacket.TouchType.\n */\nconst PlayerTouchPlayerPacket_TouchTypeSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_2__.enumDesc)(file_world, 27, 0);\n/**\n * Describes the message WorldPackets.PlayerAddEffectPacket.\n * Use `create(PlayerAddEffectPacketSchema)` to create a new message.\n */\nconst PlayerAddEffectPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 28);\n/**\n * Describes the message WorldPackets.PlayerRemoveEffectPacket.\n * Use `create(PlayerRemoveEffectPacketSchema)` to create a new message.\n */\nconst PlayerRemoveEffectPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 29);\n/**\n * Describes the message WorldPackets.PlayerResetEffectsPacket.\n * Use `create(PlayerResetEffectsPacketSchema)` to create a new message.\n */\nconst PlayerResetEffectsPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 30);\n/**\n * Describes the message WorldPackets.PlayerTeamUpdatePacket.\n * Use `create(PlayerTeamUpdatePacketSchema)` to create a new message.\n */\nconst PlayerTeamUpdatePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 31);\n/**\n * Describes the message WorldPackets.PlayerCountersUpdatePacket.\n * Use `create(PlayerCountersUpdatePacketSchema)` to create a new message.\n */\nconst PlayerCountersUpdatePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 32);\n/**\n * Describes the message WorldPackets.PlayerLocalSwitchChangedPacket.\n * Use `create(PlayerLocalSwitchChangedPacketSchema)` to create a new message.\n */\nconst PlayerLocalSwitchChangedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 33);\n/**\n * Describes the message WorldPackets.PlayerLocalSwitchResetPacket.\n * Use `create(PlayerLocalSwitchResetPacketSchema)` to create a new message.\n */\nconst PlayerLocalSwitchResetPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 34);\n/**\n * Describes the message WorldPackets.PlayerDirectMessagePacket.\n * Use `create(PlayerDirectMessagePacketSchema)` to create a new message.\n */\nconst PlayerDirectMessagePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 35);\n/**\n * Describes the message WorldPackets.PlayerWorldState.\n * Use `create(PlayerWorldStateSchema)` to create a new message.\n */\nconst PlayerWorldStateSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 36);\n/**\n * Describes the message WorldPackets.PlayerProperties.\n * Use `create(PlayerPropertiesSchema)` to create a new message.\n */\nconst PlayerPropertiesSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 37);\n/**\n * Describes the message WorldPackets.PlayerRights.\n * Use `create(PlayerRightsSchema)` to create a new message.\n */\nconst PlayerRightsSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 38);\n/**\n * Describes the message WorldPackets.WorldMeta.\n * Use `create(WorldMetaSchema)` to create a new message.\n */\nconst WorldMetaSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 39);\n/**\n * @generated from enum WorldPackets.WorldMeta.WorldType\n */\nvar WorldMeta_WorldType;\n(function (WorldMeta_WorldType) {\n /**\n * @generated from enum value: Saved = 0;\n */\n WorldMeta_WorldType[WorldMeta_WorldType[\"Saved\"] = 0] = \"Saved\";\n /**\n * @generated from enum value: Unsaved = 1;\n */\n WorldMeta_WorldType[WorldMeta_WorldType[\"Unsaved\"] = 1] = \"Unsaved\";\n /**\n * @generated from enum value: Legacy = 2;\n */\n WorldMeta_WorldType[WorldMeta_WorldType[\"Legacy\"] = 2] = \"Legacy\";\n})(WorldMeta_WorldType || (WorldMeta_WorldType = {}));\n/**\n * Describes the enum WorldPackets.WorldMeta.WorldType.\n */\nconst WorldMeta_WorldTypeSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_2__.enumDesc)(file_world, 39, 0);\n/**\n * Describes the message WorldPackets.OldChatMessage.\n * Use `create(OldChatMessageSchema)` to create a new message.\n */\nconst OldChatMessageSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 40);\n/**\n * Describes the message WorldPackets.PointInteger.\n * Use `create(PointIntegerSchema)` to create a new message.\n */\nconst PointIntegerSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 41);\n/**\n * Describes the message WorldPackets.PointDouble.\n * Use `create(PointDoubleSchema)` to create a new message.\n */\nconst PointDoubleSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 42);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ybGRfcGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZ2VuL3dvcmxkX3BiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUNoRSx5RUFBeUU7QUFDekUsb0JBQW9CO0FBR3BCLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRy9FOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFZLGFBQWEsQ0FDOUMsUUFBUSxDQUFDLHN4VEFBc3hULENBQUMsQ0FBQztBQXdPbnlUOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE0QixhQUFhLENBQ3JFLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFVN0I7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFxQixhQUFhLENBQ3ZELFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUF5QjdCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUEwQyxhQUFhLENBQ2pHLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFpQjdCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUF3QyxhQUFhLENBQzdGLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFzQjdCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFvQyxhQUFhLENBQ3JGLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFZN0I7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQXNDLGFBQWEsQ0FDekYsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQVk3Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBeUMsYUFB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\n\n//# sourceURL=webpack://PW/./esm/gen/world_pb.js?");
49
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CounterTransactionPacketSchema: () => (/* binding */ CounterTransactionPacketSchema),\n/* harmony export */ GlobalSwitchChangedPacketSchema: () => (/* binding */ GlobalSwitchChangedPacketSchema),\n/* harmony export */ GlobalSwitchResetPacketSchema: () => (/* binding */ GlobalSwitchResetPacketSchema),\n/* harmony export */ OldChatMessageSchema: () => (/* binding */ OldChatMessageSchema),\n/* harmony export */ OldChatMessagesPacketSchema: () => (/* binding */ OldChatMessagesPacketSchema),\n/* harmony export */ PerformWorldActionPacketSchema: () => (/* binding */ PerformWorldActionPacketSchema),\n/* harmony export */ PerformWorldActionPacket_Action: () => (/* binding */ PerformWorldActionPacket_Action),\n/* harmony export */ PerformWorldActionPacket_ActionSchema: () => (/* binding */ PerformWorldActionPacket_ActionSchema),\n/* harmony export */ PingSchema: () => (/* binding */ PingSchema),\n/* harmony export */ PlayerAddEffectPacketSchema: () => (/* binding */ PlayerAddEffectPacketSchema),\n/* harmony export */ PlayerChatPacketSchema: () => (/* binding */ PlayerChatPacketSchema),\n/* harmony export */ PlayerCountersUpdatePacketSchema: () => (/* binding */ PlayerCountersUpdatePacketSchema),\n/* harmony export */ PlayerDirectMessagePacketSchema: () => (/* binding */ PlayerDirectMessagePacketSchema),\n/* harmony export */ PlayerFacePacketSchema: () => (/* binding */ PlayerFacePacketSchema),\n/* harmony export */ PlayerGodModePacketSchema: () => (/* binding */ PlayerGodModePacketSchema),\n/* harmony export */ PlayerInitPacketSchema: () => (/* binding */ PlayerInitPacketSchema),\n/* harmony export */ PlayerInitReceivedPacketSchema: () => (/* binding */ PlayerInitReceivedPacketSchema),\n/* harmony export */ PlayerJoinedPacketSchema: () => (/* binding */ PlayerJoinedPacketSchema),\n/* harmony export */ PlayerLeftPacketSchema: () => (/* binding */ PlayerLeftPacketSchema),\n/* harmony export */ PlayerLocalSwitchChangedPacketSchema: () => (/* binding */ PlayerLocalSwitchChangedPacketSchema),\n/* harmony export */ PlayerLocalSwitchResetPacketSchema: () => (/* binding */ PlayerLocalSwitchResetPacketSchema),\n/* harmony export */ PlayerModModePacketSchema: () => (/* binding */ PlayerModModePacketSchema),\n/* harmony export */ PlayerMovedPacketSchema: () => (/* binding */ PlayerMovedPacketSchema),\n/* harmony export */ PlayerPropertiesSchema: () => (/* binding */ PlayerPropertiesSchema),\n/* harmony export */ PlayerRemoveEffectPacketSchema: () => (/* binding */ PlayerRemoveEffectPacketSchema),\n/* harmony export */ PlayerResetEffectsPacketSchema: () => (/* binding */ PlayerResetEffectsPacketSchema),\n/* harmony export */ PlayerResetPacketSchema: () => (/* binding */ PlayerResetPacketSchema),\n/* harmony export */ PlayerRespawnPacketSchema: () => (/* binding */ PlayerRespawnPacketSchema),\n/* harmony export */ PlayerRightsSchema: () => (/* binding */ PlayerRightsSchema),\n/* harmony export */ PlayerSpectatePacketSchema: () => (/* binding */ PlayerSpectatePacketSchema),\n/* harmony export */ PlayerTeamUpdatePacketSchema: () => (/* binding */ PlayerTeamUpdatePacketSchema),\n/* harmony export */ PlayerTeleportedPacketSchema: () => (/* binding */ PlayerTeleportedPacketSchema),\n/* harmony export */ PlayerTouchBlockPacketSchema: () => (/* binding */ PlayerTouchBlockPacketSchema),\n/* harmony export */ PlayerTouchPlayerPacketSchema: () => (/* binding */ PlayerTouchPlayerPacketSchema),\n/* harmony export */ PlayerTouchPlayerPacket_TouchType: () => (/* binding */ PlayerTouchPlayerPacket_TouchType),\n/* harmony export */ PlayerTouchPlayerPacket_TouchTypeSchema: () => (/* binding */ PlayerTouchPlayerPacket_TouchTypeSchema),\n/* harmony export */ PlayerUpdateRightsPacketSchema: () => (/* binding */ PlayerUpdateRightsPacketSchema),\n/* harmony export */ PlayerWorldStateSchema: () => (/* binding */ PlayerWorldStateSchema),\n/* harmony export */ PointDoubleSchema: () => (/* binding */ PointDoubleSchema),\n/* harmony export */ PointIntegerSchema: () => (/* binding */ PointIntegerSchema),\n/* harmony export */ SystemMessagePacketSchema: () => (/* binding */ SystemMessagePacketSchema),\n/* harmony export */ WorldBlockFilledPacketSchema: () => (/* binding */ WorldBlockFilledPacketSchema),\n/* harmony export */ WorldBlockPlacedPacketSchema: () => (/* binding */ WorldBlockPlacedPacketSchema),\n/* harmony export */ WorldClearedPacketSchema: () => (/* binding */ WorldClearedPacketSchema),\n/* harmony export */ WorldMetaSchema: () => (/* binding */ WorldMetaSchema),\n/* harmony export */ WorldMetaUpdatePacketSchema: () => (/* binding */ WorldMetaUpdatePacketSchema),\n/* harmony export */ WorldMeta_WorldType: () => (/* binding */ WorldMeta_WorldType),\n/* harmony export */ WorldMeta_WorldTypeSchema: () => (/* binding */ WorldMeta_WorldTypeSchema),\n/* harmony export */ WorldPacketSchema: () => (/* binding */ WorldPacketSchema),\n/* harmony export */ WorldReloadedPacketSchema: () => (/* binding */ WorldReloadedPacketSchema),\n/* harmony export */ file_world: () => (/* binding */ file_world)\n/* harmony export */ });\n/* harmony import */ var _bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @bufbuild/protobuf/codegenv1 */ \"./node_modules/.pnpm/@bufbuild+protobuf@2.2.3/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/file.js\");\n/* harmony import */ var _bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @bufbuild/protobuf/codegenv1 */ \"./node_modules/.pnpm/@bufbuild+protobuf@2.2.3/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/message.js\");\n/* harmony import */ var _bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @bufbuild/protobuf/codegenv1 */ \"./node_modules/.pnpm/@bufbuild+protobuf@2.2.3/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/enum.js\");\n// @generated by protoc-gen-es v2.2.3 with parameter \"target=ts\"\n// @generated from file world.proto (package WorldPackets, syntax proto3)\n/* eslint-disable */\n\n/**\n * Describes the file world.proto.\n */\nconst file_world = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_0__.fileDesc)(\"Cgt3b3JsZC5wcm90bxIMV29ybGRQYWNrZXRzIrkUCgtXb3JsZFBhY2tldBIiCgRwaW5nGAEgASgLMhIuV29ybGRQYWNrZXRzLlBpbmdIABI8ChJwbGF5ZXJfaW5pdF9wYWNrZXQYAiABKAsyHi5Xb3JsZFBhY2tldHMuUGxheWVySW5pdFBhY2tldEgAEkYKFHBsYXllcl9pbml0X3JlY2VpdmVkGAMgASgLMiYuV29ybGRQYWNrZXRzLlBsYXllckluaXRSZWNlaXZlZFBhY2tldEgAEkAKFHBsYXllcl9qb2luZWRfcGFja2V0GAQgASgLMiAuV29ybGRQYWNrZXRzLlBsYXllckpvaW5lZFBhY2tldEgAEjwKEnBsYXllcl9sZWZ0X3BhY2tldBgFIAEoCzIeLldvcmxkUGFja2V0cy5QbGF5ZXJMZWZ0UGFja2V0SAASPAoScGxheWVyX2NoYXRfcGFja2V0GAYgASgLMh4uV29ybGRQYWNrZXRzLlBsYXllckNoYXRQYWNrZXRIABJNChtwbGF5ZXJfdXBkYXRlX3JpZ2h0c19wYWNrZXQYByABKAsyJi5Xb3JsZFBhY2tldHMuUGxheWVyVXBkYXRlUmlnaHRzUGFja2V0SAASPgoTcGxheWVyX21vdmVkX3BhY2tldBgIIAEoCzIfLldvcmxkUGFja2V0cy5QbGF5ZXJNb3ZlZFBhY2tldEgAEjwKEnBsYXllcl9mYWNlX3BhY2tldBgJIAEoCzIeLldvcmxkUGFja2V0cy5QbGF5ZXJGYWNlUGFja2V0SAASQwoWcGxheWVyX2dvZF9tb2RlX3BhY2tldBgKIAEoCzIhLldvcmxkUGFja2V0cy5QbGF5ZXJHb2RNb2RlUGFja2V0SAASQwoWcGxheWVyX21vZF9tb2RlX3BhY2tldBgLIAEoCzIhLldvcmxkUGFja2V0cy5QbGF5ZXJNb2RNb2RlUGFja2V0SAASQgoVcGxheWVyX3Jlc3Bhd25fcGFja2V0GAwgASgLMiEuV29ybGRQYWNrZXRzLlBsYXllclJlc3Bhd25QYWNrZXRIABI+ChNwbGF5ZXJfcmVzZXRfcGFja2V0GA0gASgLMh8uV29ybGRQYWNrZXRzLlBsYXllclJlc2V0UGFja2V0SAASSQoZcGxheWVyX3RvdWNoX2Jsb2NrX3BhY2tldBgOIAEoCzIkLldvcmxkUGFja2V0cy5QbGF5ZXJUb3VjaEJsb2NrUGFja2V0SAASRwoYcGxheWVyX2FkZF9lZmZlY3RfcGFja2V0GA8gASgLMiMuV29ybGRQYWNrZXRzLlBsYXllckFkZEVmZmVjdFBhY2tldEgAEk0KG3BsYXllcl9yZW1vdmVfZWZmZWN0X3BhY2tldBgQIAEoCzImLldvcmxkUGFja2V0cy5QbGF5ZXJSZW1vdmVFZmZlY3RQYWNrZXRIABJNChtwbGF5ZXJfcmVzZXRfZWZmZWN0c19wYWNrZXQYESABKAsyJi5Xb3JsZFBhY2tldHMuUGxheWVyUmVzZXRFZmZlY3RzUGFja2V0SAASSQoZcGxheWVyX3RlYW1fdXBkYXRlX3BhY2tldBgSIAEoCzIkLldvcmxkUGFja2V0cy5QbGF5ZXJUZWFtVXBkYXRlUGFja2V0SAASUQodcGxheWVyX2NvdW50ZXJzX3VwZGF0ZV9wYWNrZXQYEyABKAsyKC5Xb3JsZFBhY2tldHMuUGxheWVyQ291bnRlcnNVcGRhdGVQYWNrZXRIABJaCiJwbGF5ZXJfbG9jYWxfc3dpdGNoX2NoYW5nZWRfcGFja2V0GBQgASgLMiwuV29ybGRQYWNrZXRzLlBsYXllckxvY2FsU3dpdGNoQ2hhbmdlZFBhY2tldEgAElYKIHBsYXllcl9sb2NhbF9zd2l0Y2hfcmVzZXRfcGFja2V0GBUgASgLMiouV29ybGRQYWNrZXRzLlBsYXllckxvY2FsU3dpdGNoUmVzZXRQYWNrZXRIABJPChxwbGF5ZXJfZGlyZWN0X21lc3NhZ2VfcGFja2V0GBYgASgLMicuV29ybGRQYWNrZXRzLlBsYXllckRpcmVjdE1lc3NhZ2VQYWNrZXRIABJLChpwbGF5ZXJfdG91Y2hfcGxheWVyX3BhY2tldBgXIAEoCzIlLldvcmxkUGFja2V0cy5QbGF5ZXJUb3VjaFBsYXllclBhY2tldEgAEkgKGHBsYXllcl90ZWxlcG9ydGVkX3BhY2tldBgYIAEoCzIkLldvcmxkUGFja2V0cy5QbGF5ZXJUZWxlcG9ydGVkUGFja2V0SAASQgoVd29ybGRfcmVsb2FkZWRfcGFja2V0GBkgASgLMiEuV29ybGRQYWNrZXRzLldvcmxkUmVsb2FkZWRQYWNrZXRIABJAChR3b3JsZF9jbGVhcmVkX3BhY2tldBgaIAEoCzIgLldvcmxkUGFja2V0cy5Xb3JsZENsZWFyZWRQYWNrZXRIABJHChh3b3JsZF9tZXRhX3VwZGF0ZV9wYWNrZXQYGyABKAsyIy5Xb3JsZFBhY2tldHMuV29ybGRNZXRhVXBkYXRlUGFja2V0SAASSQoZd29ybGRfYmxvY2tfcGxhY2VkX3BhY2tldBgcIAEoCzIkLldvcmxkUGFja2V0cy5Xb3JsZEJsb2NrUGxhY2VkUGFja2V0SAASSQoZd29ybGRfYmxvY2tfZmlsbGVkX3BhY2tldBgdIAEoCzIkLldvcmxkUGFja2V0cy5Xb3JsZEJsb2NrRmlsbGVkUGFja2V0SAASRwoYb2xkX2NoYXRfbWVzc2FnZXNfcGFja2V0GB4gASgLMiMuV29ybGRQYWNrZXRzLk9sZENoYXRNZXNzYWdlc1BhY2tldEgAEkIKFXN5c3RlbV9tZXNzYWdlX3BhY2tldBgfIAEoCzIhLldvcmxkUGFja2V0cy5TeXN0ZW1NZXNzYWdlUGFja2V0SAASTwocZ2xvYmFsX3N3aXRjaF9jaGFuZ2VkX3BhY2tldBggIAEoCzInLldvcmxkUGFja2V0cy5HbG9iYWxTd2l0Y2hDaGFuZ2VkUGFja2V0SAASSwoaZ2xvYmFsX3N3aXRjaF9yZXNldF9wYWNrZXQYISABKAsyJS5Xb3JsZFBhY2tldHMuR2xvYmFsU3dpdGNoUmVzZXRQYWNrZXRIABJNChtwZXJmb3JtX3dvcmxkX2FjdGlvbl9wYWNrZXQYIiABKAsyJi5Xb3JsZFBhY2tldHMuUGVyZm9ybVdvcmxkQWN0aW9uUGFja2V0SAASRAoWcGxheWVyX3NwZWN0YXRlX3BhY2tldBgjIAEoCzIiLldvcmxkUGFja2V0cy5QbGF5ZXJTcGVjdGF0ZVBhY2tldEgAEkwKGmNvdW50ZXJfdHJhbnNhY3Rpb25fcGFja2V0GCQgASgLMiYuV29ybGRQYWNrZXRzLkNvdW50ZXJUcmFuc2FjdGlvblBhY2tldEgAQggKBnBhY2tldCIGCgRQaW5nIlIKGUdsb2JhbFN3aXRjaENoYW5nZWRQYWNrZXQSEQoJcGxheWVyX2lkGAEgASgFEhEKCXN3aXRjaF9pZBgCIAEoBRIPCgdlbmFibGVkGAMgASgIIj0KF0dsb2JhbFN3aXRjaFJlc2V0UGFja2V0EhEKCXBsYXllcl9pZBgBIAEoBRIPCgdlbmFibGVkGAIgASgIIkgKE1N5c3RlbU1lc3NhZ2VQYWNrZXQSDQoFdGl0bGUYASABKAkSDwoHbWVzc2FnZRgCIAEoCRIRCglpc19kaWFsb2cYAyABKAgiUAoVT2xkQ2hhdE1lc3NhZ2VzUGFja2V0EjcKEW9sZF9jaGF0X21lc3NhZ2VzGAEgAygLMhwuV29ybGRQYWNrZXRzLk9sZENoYXRNZXNzYWdlIpYBChhQZXJmb3JtV29ybGRBY3Rpb25QYWNrZXQSPQoGYWN0aW9uGAEgASgOMi0uV29ybGRQYWNrZXRzLlBlcmZvcm1Xb3JsZEFjdGlvblBhY2tldC5BY3Rpb24iOwoGQWN0aW9uEg4KClNBVkVfV09STEQQABIQCgxSRUxPQURfV09STEQQARIPCgtDTEVBUl9XT1JMRBADIlAKGENvdW50ZXJUcmFuc2FjdGlvblBhY2tldBIRCglwbGF5ZXJfaWQYASABKAUSEgoKY291bnRlcl9pZBgCIAEoBRINCgVjb3VudBgDIAEoBSIpChNXb3JsZFJlbG9hZGVkUGFja2V0EhIKCndvcmxkX2RhdGEYASABKAwiFAoSV29ybGRDbGVhcmVkUGFja2V0Ir8BChZXb3JsZEJsb2NrUGxhY2VkUGFja2V0EhYKCXBsYXllcl9pZBgBIAEoBUgAiAEBEhkKEWlzX2ZpbGxfb3BlcmF0aW9uGAMgASgIEi0KCXBvc2l0aW9ucxgEIAMoCzIaLldvcmxkUGFja2V0cy5Qb2ludEludGVnZXISDQoFbGF5ZXIYBSABKAUSEAoIYmxvY2tfaWQYBiABKAUSFAoMZXh0cmFfZmllbGRzGAcgASgMQgwKCl9wbGF5ZXJfaWQikwEKFldvcmxkQmxvY2tGaWxsZWRQYWNrZXQSLAoIcG9zaXRpb24YASABKAsyGi5Xb3JsZFBhY2tldHMuUG9pbnRJbnRlZ2VyEhQKDGlnbm9yZUxheWVycxgCIAEoCBINCgVsYXllchgDIAEoBRIQCghibG9ja19pZBgEIAEoBRIUCgxleHRyYV9maWVsZHMYBSABKAwiPgoVV29ybGRNZXRhVXBkYXRlUGFja2V0EiUKBG1ldGEYASABKAsyFy5Xb3JsZFBhY2tldHMuV29ybGRNZXRhItYBChBQbGF5ZXJJbml0UGFja2V0EjkKEXBsYXllcl9wcm9wZXJ0aWVzGAEgASgLMh4uV29ybGRQYWNrZXRzLlBsYXllclByb3BlcnRpZXMSKwoKd29ybGRfbWV0YRgCIAEoCzIXLldvcmxkUGFja2V0cy5Xb3JsZE1ldGESEwoLd29ybGRfd2lkdGgYAyABKAUSFAoMd29ybGRfaGVpZ2h0GAQgASgFEhsKE2dsb2JhbF9zd2l0Y2hfc3RhdGUYBiABKAwSEgoKd29ybGRfZGF0YRgHIAEoDCIaChhQbGF5ZXJJbml0UmVjZWl2ZWRQYWNrZXQifQoSUGxheWVySm9pbmVkUGFja2V0EjIKCnByb3BlcnRpZXMYASABKAsyHi5Xb3JsZFBhY2tldHMuUGxheWVyUHJvcGVydGllcxIzCgt3b3JsZF9zdGF0ZRgCIAEoCzIeLldvcmxkUGFja2V0cy5QbGF5ZXJXb3JsZFN0YXRlIiUKEFBsYXllckxlZnRQYWNrZXQSEQoJcGxheWVyX2lkGAEgASgFIjYKEFBsYXllckNoYXRQYWNrZXQSEQoJcGxheWVyX2lkGAEgASgFEg8KB21lc3NhZ2UYAiABKAkibAoYUGxheWVyVXBkYXRlUmlnaHRzUGFja2V0EhYKCXBsYXllcl9pZBgBIAEoBUgAiAEBEioKBnJpZ2h0cxgCIAEoCzIaLldvcmxkUGFja2V0cy5QbGF5ZXJSaWdodHNCDAoKX3BsYXllcl9pZCKzAgoRUGxheWVyTW92ZWRQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESKwoIcG9zaXRpb24YAiABKAsyGS5Xb3JsZFBhY2tldHMuUG9pbnREb3VibGUSEgoKdmVsb2NpdHlfeBgDIAEoARISCgp2ZWxvY2l0eV95GAQgASgBEhIKCm1vZGlmaWVyX3gYBSABKAESEgoKbW9kaWZpZXJfeRgGIAEoARISCgpob3Jpem9udGFsGAcgASgFEhAKCHZlcnRpY2FsGAggASgFEhIKCnNwYWNlX2Rvd24YCSABKAgSFwoPc3BhY2VfanVzdF9kb3duGAogASgIEhcKD2p1c3RfdGVsZXBvcnRlZBgLIAEoCBIPCgd0aWNrX2lkGAwgASgFQgwKCl9wbGF5ZXJfaWQiawoWUGxheWVyVGVsZXBvcnRlZFBhY2tldBIWCglwbGF5ZXJfaWQYASABKAVIAIgBARIrCghwb3NpdGlvbhgCIAEoCzIZLldvcmxkUGFja2V0cy5Qb2ludERvdWJsZUIMCgpfcGxheWVyX2lkIkkKEFBsYXllckZhY2VQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESDwoHZmFjZV9pZBgCIAEoBUIMCgpfcGxheWVyX2lkIlUKFFBsYXllclNwZWN0YXRlUGFja2V0EhYKCXBsYXllcl9pZBgBIAEoBUgAiAEBEhcKD3NwZWN0YXRlX3BsYXllchgCIAEoBUIMCgpfcGxheWVyX2lkIkwKE1BsYXllckdvZE1vZGVQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESDwoHZW5hYmxlZBgCIAEoCEIMCgpfcGxheWVyX2lkIkwKE1BsYXllck1vZE1vZGVQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESDwoHZW5hYmxlZBgDIAEoCEIMCgpfcGxheWVyX2lkImkKE1BsYXllclJlc3Bhd25QYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESLAoIcG9zaXRpb24YAiABKAsyGi5Xb3JsZFBhY2tldHMuUG9pbnRJbnRlZ2VyQgwKCl9wbGF5ZXJfaWQieQoRUGxheWVyUmVzZXRQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESMQoIcG9zaXRpb24YAiABKAsyGi5Xb3JsZFBhY2tldHMuUG9pbnRJbnRlZ2VySAGIAQFCDAoKX3BsYXllcl9pZEILCglfcG9zaXRpb24ikAEKFlBsYXllclRvdWNoQmxvY2tQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESMQoIcG9zaXRpb24YAiABKAsyGi5Xb3JsZFBhY2tldHMuUG9pbnRJbnRlZ2VySAGIAQESEAoIYmxvY2tfaWQYAyABKAVCDAoKX3BsYXllcl9pZEILCglfcG9zaXRpb24ivQEKF1BsYXllclRvdWNoUGxheWVyUGFja2V0EhYKCXBsYXllcl9pZBgBIAEoBUgAiAEBEhYKDnRvdWNoZWRfcGxheWVyGAIgASgFEkMKCnRvdWNoX3R5cGUYAyABKA4yLy5Xb3JsZFBhY2tldHMuUGxheWVyVG91Y2hQbGF5ZXJQYWNrZXQuVG91Y2hUeXBlIh8KCVRvdWNoVHlwZRIJCgVTVEFSVBAAEgcKA0VORBABQgwKCl9wbGF5ZXJfaWQirQEKFVBsYXllckFkZEVmZmVjdFBhY2tldBIWCglwbGF5ZXJfaWQYASABKAVIAIgBARITCgtmcm9tX3NlcnZlchgCIAEoCBIRCgllZmZlY3RfaWQYAyABKAUSFQoIZHVyYXRpb24YBCABKAVIAYgBARIVCghzdHJlbmd0aBgFIAEoBUgCiAEBQgwKCl9wbGF5ZXJfaWRCCwoJX2R1cmF0aW9uQgsKCV9zdHJlbmd0aCJTChhQbGF5ZXJSZW1vdmVFZmZlY3RQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESEQoJZWZmZWN0X2lkGAQgASgFQgwKCl9wbGF5ZXJfaWQiVQoYUGxheWVyUmVzZXRFZmZlY3RzUGFja2V0EhYKCXBsYXllcl9pZBgBIAEoBUgAiAEBEhMKC2Zyb21fc2VydmVyGAIgASgIQgwKCl9wbGF5ZXJfaWQiTwoWUGxheWVyVGVhbVVwZGF0ZVBhY2tldBIWCglwbGF5ZXJfaWQYASABKAVIAIgBARIPCgd0ZWFtX2lkGAIgASgFQgwKCl9wbGF5ZXJfaWQiigEKGlBsYXllckNvdW50ZXJzVXBkYXRlUGFja2V0EhYKCXBsYXllcl9pZBgBIAEoBUgAiAEBEg0KBWNvaW5zGAIgASgFEhIKCmJsdWVfY29pbnMYAyABKAUSDgoGZGVhdGhzGAQgASgFEhMKC2Zyb21fc2VydmVyGAUgASgIQgwKCl9wbGF5ZXJfaWQicQoeUGxheWVyTG9jYWxTd2l0Y2hDaGFuZ2VkUGFja2V0EhYKCXBsYXllcl9pZBgBIAEoBUgAiAEBEhEKCXN3aXRjaF9pZBgCIAEoBRIWCg5zd2l0Y2hfZW5hYmxlZBgDIAEoCEIMCgpfcGxheWVyX2lkIm8KHFBsYXllckxvY2FsU3dpdGNoUmVzZXRQYWNrZXQSFgoJcGxheWVyX2lkGAEgASgFSACIAQESEQoJc3dpdGNoX2lkGAIgASgFEhYKDnN3aXRjaF9lbmFibGVkGAMgASgIQgwKCl9wbGF5ZXJfaWQiXgoZUGxheWVyRGlyZWN0TWVzc2FnZVBhY2tldBIWCg5mcm9tX3BsYXllcl9pZBgBIAEoBRIYChB0YXJnZXRfcGxheWVyX2lkGAIgASgFEg8KB21lc3NhZ2UYAyABKAkiiAIKEFBsYXllcldvcmxkU3RhdGUSEgoKY29pbnNfZ29sZBgBIAEoBRISCgpjb2luc19ibHVlGAIgASgFEg4KBmRlYXRocxgDIAEoBRIzCg9jb2xsZWN0ZWRfaXRlbXMYBCADKAsyGi5Xb3JsZFBhY2tldHMuUG9pbnRJbnRlZ2VyEhYKDmhhc19nb2xkX2Nyb3duGAUgASgIEhgKEGhhc19zaWx2ZXJfY3Jvd24YBiABKAgSEAoIc3dpdGNoZXMYByABKAwSDwoHZ29kbW9kZRgIIAEoCBIPCgdtb2Rtb2RlGAkgASgIEg8KB3RlYW1faWQYCiABKAUSEAoIY291bnRlcnMYCyADKAUi6wEKEFBsYXllclByb3BlcnRpZXMSEQoJcGxheWVyX2lkGAEgASgFEhIKCmFjY291bnRfaWQYAiABKAkSEAoIdXNlcm5hbWUYAyABKAkSDAoEZmFjZRgEIAEoBRIMCgRyb2xlGAUgASgJEhEKCWlzX2ZyaWVuZBgGIAEoCBIrCghwb3NpdGlvbhgHIAEoCzIZLldvcmxkUGFja2V0cy5Qb2ludERvdWJsZRIWCg5pc193b3JsZF9vd25lchgIIAEoCBIqCgZyaWdodHMYCSABKAsyGi5Xb3JsZFBhY2tldHMuUGxheWVyUmlnaHRzIowBCgxQbGF5ZXJSaWdodHMSEAoIY2FuX2VkaXQYASABKAgSDwoHY2FuX2dvZBgCIAEoCBIaChJjYW5fdG9nZ2xlX21pbmltYXAYAyABKAgSIQoZY2FuX2NoYW5nZV93b3JsZF9zZXR0aW5ncxgEIAEoCBIaChJhdmFpbGFibGVfY29tbWFuZHMYBSADKAkiqAIKCVdvcmxkTWV0YRINCgV0aXRsZRgBIAEoCRINCgVwbGF5cxgCIAEoBRINCgVvd25lchgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRISCgp2aXNpYmlsaXR5GAUgASgJEjUKCndvcmxkX1R5cGUYBiABKA4yIS5Xb3JsZFBhY2tldHMuV29ybGRNZXRhLldvcmxkVHlwZRIbChNoYXNfdW5zYXZlZF9jaGFuZ2VzGAcgASgIEhMKC21heF9wbGF5ZXJzGAggASgFEhIKCm93bmVyX3JvbGUYCSABKAkSFwoPbWluaW1hcF9lbmFibGVkGAogASgIIi8KCVdvcmxkVHlwZRIJCgVTYXZlZBAAEgsKB1Vuc2F2ZWQQARIKCgZMZWdhY3kQAiJeCg5PbGRDaGF0TWVzc2FnZRITCgtwbGF5ZXJfbmFtZRgBIAEoCRITCgtwbGF5ZXJfcm9sZRgCIAEoCRIRCglpc19mcmllbmQYAyABKAgSDwoHbWVzc2FnZRgEIAEoCSIkCgxQb2ludEludGVnZXISCQoBeBgBIAEoBRIJCgF5GAIgASgFIiMKC1BvaW50RG91YmxlEgkKAXgYASABKAESCQoBeRgCIAEoAUJuChBjb20uV29ybGRQYWNrZXRzQgpXb3JsZFByb3RvUAGiAgNXWFiqAgxXb3JsZFBhY2tldHPKAgxXb3JsZFBhY2tldHPiAhhXb3JsZFBhY2tldHNcR1BCTWV0YWRhdGHqAgxXb3JsZFBhY2tldHNiBnByb3RvMw\");\n/**\n * Describes the message WorldPackets.WorldPacket.\n * Use `create(WorldPacketSchema)` to create a new message.\n */\nconst WorldPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 0);\n/**\n * Describes the message WorldPackets.Ping.\n * Use `create(PingSchema)` to create a new message.\n */\nconst PingSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 1);\n/**\n * Describes the message WorldPackets.GlobalSwitchChangedPacket.\n * Use `create(GlobalSwitchChangedPacketSchema)` to create a new message.\n */\nconst GlobalSwitchChangedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 2);\n/**\n * Describes the message WorldPackets.GlobalSwitchResetPacket.\n * Use `create(GlobalSwitchResetPacketSchema)` to create a new message.\n */\nconst GlobalSwitchResetPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 3);\n/**\n * Describes the message WorldPackets.SystemMessagePacket.\n * Use `create(SystemMessagePacketSchema)` to create a new message.\n */\nconst SystemMessagePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 4);\n/**\n * Describes the message WorldPackets.OldChatMessagesPacket.\n * Use `create(OldChatMessagesPacketSchema)` to create a new message.\n */\nconst OldChatMessagesPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 5);\n/**\n * Describes the message WorldPackets.PerformWorldActionPacket.\n * Use `create(PerformWorldActionPacketSchema)` to create a new message.\n */\nconst PerformWorldActionPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 6);\n/**\n * @generated from enum WorldPackets.PerformWorldActionPacket.Action\n */\nvar PerformWorldActionPacket_Action;\n(function (PerformWorldActionPacket_Action) {\n /**\n * @generated from enum value: SAVE_WORLD = 0;\n */\n PerformWorldActionPacket_Action[PerformWorldActionPacket_Action[\"SAVE_WORLD\"] = 0] = \"SAVE_WORLD\";\n /**\n * @generated from enum value: RELOAD_WORLD = 1;\n */\n PerformWorldActionPacket_Action[PerformWorldActionPacket_Action[\"RELOAD_WORLD\"] = 1] = \"RELOAD_WORLD\";\n /**\n * @generated from enum value: CLEAR_WORLD = 3;\n */\n PerformWorldActionPacket_Action[PerformWorldActionPacket_Action[\"CLEAR_WORLD\"] = 3] = \"CLEAR_WORLD\";\n})(PerformWorldActionPacket_Action || (PerformWorldActionPacket_Action = {}));\n/**\n * Describes the enum WorldPackets.PerformWorldActionPacket.Action.\n */\nconst PerformWorldActionPacket_ActionSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_2__.enumDesc)(file_world, 6, 0);\n/**\n * Describes the message WorldPackets.CounterTransactionPacket.\n * Use `create(CounterTransactionPacketSchema)` to create a new message.\n */\nconst CounterTransactionPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 7);\n/**\n * Describes the message WorldPackets.WorldReloadedPacket.\n * Use `create(WorldReloadedPacketSchema)` to create a new message.\n */\nconst WorldReloadedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 8);\n/**\n * Describes the message WorldPackets.WorldClearedPacket.\n * Use `create(WorldClearedPacketSchema)` to create a new message.\n */\nconst WorldClearedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 9);\n/**\n * Describes the message WorldPackets.WorldBlockPlacedPacket.\n * Use `create(WorldBlockPlacedPacketSchema)` to create a new message.\n */\nconst WorldBlockPlacedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 10);\n/**\n * Describes the message WorldPackets.WorldBlockFilledPacket.\n * Use `create(WorldBlockFilledPacketSchema)` to create a new message.\n */\nconst WorldBlockFilledPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 11);\n/**\n * Describes the message WorldPackets.WorldMetaUpdatePacket.\n * Use `create(WorldMetaUpdatePacketSchema)` to create a new message.\n */\nconst WorldMetaUpdatePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 12);\n/**\n * Describes the message WorldPackets.PlayerInitPacket.\n * Use `create(PlayerInitPacketSchema)` to create a new message.\n */\nconst PlayerInitPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 13);\n/**\n * Describes the message WorldPackets.PlayerInitReceivedPacket.\n * Use `create(PlayerInitReceivedPacketSchema)` to create a new message.\n */\nconst PlayerInitReceivedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 14);\n/**\n * Describes the message WorldPackets.PlayerJoinedPacket.\n * Use `create(PlayerJoinedPacketSchema)` to create a new message.\n */\nconst PlayerJoinedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 15);\n/**\n * Describes the message WorldPackets.PlayerLeftPacket.\n * Use `create(PlayerLeftPacketSchema)` to create a new message.\n */\nconst PlayerLeftPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 16);\n/**\n * Describes the message WorldPackets.PlayerChatPacket.\n * Use `create(PlayerChatPacketSchema)` to create a new message.\n */\nconst PlayerChatPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 17);\n/**\n * Describes the message WorldPackets.PlayerUpdateRightsPacket.\n * Use `create(PlayerUpdateRightsPacketSchema)` to create a new message.\n */\nconst PlayerUpdateRightsPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 18);\n/**\n * Describes the message WorldPackets.PlayerMovedPacket.\n * Use `create(PlayerMovedPacketSchema)` to create a new message.\n */\nconst PlayerMovedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 19);\n/**\n * Describes the message WorldPackets.PlayerTeleportedPacket.\n * Use `create(PlayerTeleportedPacketSchema)` to create a new message.\n */\nconst PlayerTeleportedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 20);\n/**\n * Describes the message WorldPackets.PlayerFacePacket.\n * Use `create(PlayerFacePacketSchema)` to create a new message.\n */\nconst PlayerFacePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 21);\n/**\n * Describes the message WorldPackets.PlayerSpectatePacket.\n * Use `create(PlayerSpectatePacketSchema)` to create a new message.\n */\nconst PlayerSpectatePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 22);\n/**\n * Describes the message WorldPackets.PlayerGodModePacket.\n * Use `create(PlayerGodModePacketSchema)` to create a new message.\n */\nconst PlayerGodModePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 23);\n/**\n * Describes the message WorldPackets.PlayerModModePacket.\n * Use `create(PlayerModModePacketSchema)` to create a new message.\n */\nconst PlayerModModePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 24);\n/**\n * Describes the message WorldPackets.PlayerRespawnPacket.\n * Use `create(PlayerRespawnPacketSchema)` to create a new message.\n */\nconst PlayerRespawnPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 25);\n/**\n * Describes the message WorldPackets.PlayerResetPacket.\n * Use `create(PlayerResetPacketSchema)` to create a new message.\n */\nconst PlayerResetPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 26);\n/**\n * Describes the message WorldPackets.PlayerTouchBlockPacket.\n * Use `create(PlayerTouchBlockPacketSchema)` to create a new message.\n */\nconst PlayerTouchBlockPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 27);\n/**\n * Describes the message WorldPackets.PlayerTouchPlayerPacket.\n * Use `create(PlayerTouchPlayerPacketSchema)` to create a new message.\n */\nconst PlayerTouchPlayerPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 28);\n/**\n * @generated from enum WorldPackets.PlayerTouchPlayerPacket.TouchType\n */\nvar PlayerTouchPlayerPacket_TouchType;\n(function (PlayerTouchPlayerPacket_TouchType) {\n /**\n * @generated from enum value: START = 0;\n */\n PlayerTouchPlayerPacket_TouchType[PlayerTouchPlayerPacket_TouchType[\"START\"] = 0] = \"START\";\n /**\n * @generated from enum value: END = 1;\n */\n PlayerTouchPlayerPacket_TouchType[PlayerTouchPlayerPacket_TouchType[\"END\"] = 1] = \"END\";\n})(PlayerTouchPlayerPacket_TouchType || (PlayerTouchPlayerPacket_TouchType = {}));\n/**\n * Describes the enum WorldPackets.PlayerTouchPlayerPacket.TouchType.\n */\nconst PlayerTouchPlayerPacket_TouchTypeSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_2__.enumDesc)(file_world, 28, 0);\n/**\n * Describes the message WorldPackets.PlayerAddEffectPacket.\n * Use `create(PlayerAddEffectPacketSchema)` to create a new message.\n */\nconst PlayerAddEffectPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 29);\n/**\n * Describes the message WorldPackets.PlayerRemoveEffectPacket.\n * Use `create(PlayerRemoveEffectPacketSchema)` to create a new message.\n */\nconst PlayerRemoveEffectPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 30);\n/**\n * Describes the message WorldPackets.PlayerResetEffectsPacket.\n * Use `create(PlayerResetEffectsPacketSchema)` to create a new message.\n */\nconst PlayerResetEffectsPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 31);\n/**\n * Describes the message WorldPackets.PlayerTeamUpdatePacket.\n * Use `create(PlayerTeamUpdatePacketSchema)` to create a new message.\n */\nconst PlayerTeamUpdatePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 32);\n/**\n * Describes the message WorldPackets.PlayerCountersUpdatePacket.\n * Use `create(PlayerCountersUpdatePacketSchema)` to create a new message.\n */\nconst PlayerCountersUpdatePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 33);\n/**\n * Describes the message WorldPackets.PlayerLocalSwitchChangedPacket.\n * Use `create(PlayerLocalSwitchChangedPacketSchema)` to create a new message.\n */\nconst PlayerLocalSwitchChangedPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 34);\n/**\n * Describes the message WorldPackets.PlayerLocalSwitchResetPacket.\n * Use `create(PlayerLocalSwitchResetPacketSchema)` to create a new message.\n */\nconst PlayerLocalSwitchResetPacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 35);\n/**\n * Describes the message WorldPackets.PlayerDirectMessagePacket.\n * Use `create(PlayerDirectMessagePacketSchema)` to create a new message.\n */\nconst PlayerDirectMessagePacketSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 36);\n/**\n * Describes the message WorldPackets.PlayerWorldState.\n * Use `create(PlayerWorldStateSchema)` to create a new message.\n */\nconst PlayerWorldStateSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 37);\n/**\n * Describes the message WorldPackets.PlayerProperties.\n * Use `create(PlayerPropertiesSchema)` to create a new message.\n */\nconst PlayerPropertiesSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 38);\n/**\n * Describes the message WorldPackets.PlayerRights.\n * Use `create(PlayerRightsSchema)` to create a new message.\n */\nconst PlayerRightsSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 39);\n/**\n * Describes the message WorldPackets.WorldMeta.\n * Use `create(WorldMetaSchema)` to create a new message.\n */\nconst WorldMetaSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 40);\n/**\n * @generated from enum WorldPackets.WorldMeta.WorldType\n */\nvar WorldMeta_WorldType;\n(function (WorldMeta_WorldType) {\n /**\n * @generated from enum value: Saved = 0;\n */\n WorldMeta_WorldType[WorldMeta_WorldType[\"Saved\"] = 0] = \"Saved\";\n /**\n * @generated from enum value: Unsaved = 1;\n */\n WorldMeta_WorldType[WorldMeta_WorldType[\"Unsaved\"] = 1] = \"Unsaved\";\n /**\n * @generated from enum value: Legacy = 2;\n */\n WorldMeta_WorldType[WorldMeta_WorldType[\"Legacy\"] = 2] = \"Legacy\";\n})(WorldMeta_WorldType || (WorldMeta_WorldType = {}));\n/**\n * Describes the enum WorldPackets.WorldMeta.WorldType.\n */\nconst WorldMeta_WorldTypeSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_2__.enumDesc)(file_world, 40, 0);\n/**\n * Describes the message WorldPackets.OldChatMessage.\n * Use `create(OldChatMessageSchema)` to create a new message.\n */\nconst OldChatMessageSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 41);\n/**\n * Describes the message WorldPackets.PointInteger.\n * Use `create(PointIntegerSchema)` to create a new message.\n */\nconst PointIntegerSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 42);\n/**\n * Describes the message WorldPackets.PointDouble.\n * Use `create(PointDoubleSchema)` to create a new message.\n */\nconst PointDoubleSchema = /*@__PURE__*/ (0,_bufbuild_protobuf_codegenv1__WEBPACK_IMPORTED_MODULE_1__.messageDesc)(file_world, 43);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ybGRfcGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZ2VuL3dvcmxkX3BiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUNoRSx5RUFBeUU7QUFDekUsb0JBQW9CO0FBR3BCLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRy9FOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFZLGFBQWEsQ0FDOUMsUUFBUSxDQUFDLG9nVUFBb2dVLENBQUMsQ0FBQztBQThPamhVOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE0QixhQUFhLENBQ3JFLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFVN0I7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFxQixhQUFhLENBQ3ZELFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUF5QjdCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUEwQyxhQUFhLENBQ2pHLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFpQjdCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUF3QyxhQUFhLENBQzdGLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFzQjdCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFvQyxhQUFhLENBQ3JGLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFZN0I7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQXNDLGFBQWEsQ0FDekYsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQVk3Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBeUMsYUFBYSxDQUMvRixXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRTdCOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksK0JBZVg7QUFmRCxXQUFZLCtCQUErQjtJQUN6Qzs7T0FFRztJQUNILGlHQUFjLENBQUE7SUFFZDs7T0FFRztJQUNILHFHQUFnQixDQUFBO0lBRWhCOztPQUVHO0lBQ0gsbUdBQWUsQ0FBQTtBQUNqQixDQUFDLEVBZlcsK0JBQStCLEtBQS9CLCtCQUErQixRQWUxQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQTZDLGFBQWEsQ0FDMUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFzQjdCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUF5QyxhQUFhLENBQy9GLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFlN0I7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQW9DLGFBQWEsQ0FDckYsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQVU3Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBbUMsYUFBYSxDQUNuRixXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBeUM3Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBdUMsYUFBYSxDQUMzRixXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBa0M5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBdUMsYUFBYSxDQUMzRixXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBWTlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFzQyxhQUFhLENBQ3pGLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUE4QzlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFpQyxhQUFhLENBQy9FLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFVOUI7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQXlDLGFBQWEsQ0FDL0YsV0FBVyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQWlCOUI7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQW1DLGFBQWEsQ0FDbkYsV0FBVyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQWM5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBaUMsYUFBYSxDQUMvRSxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBaUI5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBaUMsYUFBYSxDQUMvRSxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBaUI5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBeUMsYUFBYSxDQUMvRixXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBbUU5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBa0MsYUFBYSxDQUNqRixXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBaUI5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBdUMsYUFBYSxDQUMzRixXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBaUI5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBaUMsYUFBYSxDQUMvRSxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBaUI5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBcUMsYUFBYSxDQUN2RixXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBaUI5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBb0MsYUFBYSxDQUNyRixXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBaUI5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBb0MsYUFBYSxDQUNyRixXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBaUI5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBb0MsYUFBYSxDQUNyRixXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBaUI5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBa0MsYUFBYSxDQUNqRixXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBc0I5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBdUMsYUFBYSxDQUMzRixXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBc0I5Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBd0MsYUFBYSxDQUM3RixXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRTlCOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksaUNBVVg7QUFWRCxXQUFZLGlDQUFpQztJQUMzQzs7T0FFRztJQUNILDJGQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILHVGQUFPLENBQUE7QUFDVCxDQUFDLEVBVlcsaUNBQWlDLEtBQWpDLGlDQUFpQyxRQVU1QztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQStDLGFBQWEsQ0FDOUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFvQzlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFzQyxhQUFhLENBQ3pGLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFtQjlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUF5QyxhQUFhLENBQy9GLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFpQjlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUF5QyxhQUFhLENBQy9GLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFpQjlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUF1QyxhQUFhLENBQzNGLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFnQzlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUEyQyxhQUFhLENBQ25HLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFzQjlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUErQyxhQUFhLENBQzNHLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFzQjlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUE2QyxhQUFhLENBQ3ZHLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFzQjlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUEwQyxhQUFhLENBQ2pHLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFtRTlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFpQyxhQUFhLENBQy9FLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFvRDlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFpQyxhQUFhLENBQy9FLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFnQzlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUE2QixhQUFhLENBQ3ZFLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUF5RDlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBMEIsYUFBYSxDQUNqRSxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRTlCOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksbUJBZVg7QUFmRCxXQUFZLG1CQUFtQjtJQUM3Qjs7T0FFRztJQUNILCtEQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILG1FQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILGlFQUFVLENBQUE7QUFDWixDQUFDLEVBZlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQWU5QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQWlDLGFBQWEsQ0FDbEYsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUEyQjlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUErQixhQUFhLENBQzNFLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFvQjlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUE2QixhQUFhLENBQ3ZFLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFvQjlCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE0QixhQUFhLENBQ3JFLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMifQ==\n\n//# sourceURL=webpack://PW/./esm/gen/world_pb.js?");
50
50
 
51
51
  /***/ }),
52
52
 
@@ -60,16 +60,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
60
60
 
61
61
  /***/ }),
62
62
 
63
- /***/ "./esm/util/Bucket.js":
64
- /*!****************************!*\
65
- !*** ./esm/util/Bucket.js ***!
66
- \****************************/
67
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
68
-
69
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Bucket)\n/* harmony export */ });\n/** @module Bucket */\n/**\n * lovingly borrowed from oceanic.js :3\n * https://github.com/OceanicJS/Oceanic/blob/9ca907f46d45da4afa8c9be9e81e3093925c73c5/lib/rest/Bucket.ts\n */\n/** A bucket. */\nclass Bucket {\n constructor(tokenLimit, interval, options) {\n var _a, _b;\n this._queue = [];\n this.tokenLimit = tokenLimit;\n this.interval = interval;\n this.latencyRef = (_a = options === null || options === void 0 ? void 0 : options.latencyRef) !== null && _a !== void 0 ? _a : { latency: 0 };\n this.lastReset = this.tokens = this.lastSend = 0;\n this.reservedTokens = (_b = options === null || options === void 0 ? void 0 : options.reservedTokens) !== null && _b !== void 0 ? _b : 0;\n this.timeout = null;\n }\n check() {\n if (this.timeout || this._queue.length === 0) {\n return;\n }\n if (this.lastReset + this.interval + this.tokenLimit * this.latencyRef.latency < Date.now()) {\n this.lastReset = Date.now();\n this.tokens = Math.max(0, this.tokens - this.tokenLimit);\n }\n let val;\n let tokensAvailable = this.tokens < this.tokenLimit;\n let unreservedTokensAvailable = this.tokens < (this.tokenLimit - this.reservedTokens);\n while (this._queue.length !== 0 && (unreservedTokensAvailable || (tokensAvailable && this._queue[0].priority))) {\n this.tokens++;\n tokensAvailable = this.tokens < this.tokenLimit;\n unreservedTokensAvailable = this.tokens < (this.tokenLimit - this.reservedTokens);\n const item = this._queue.shift();\n val = this.latencyRef.latency - Date.now() + this.lastSend;\n if (this.latencyRef.latency === 0 || val <= 0) {\n item.func();\n this.lastSend = Date.now();\n }\n else {\n setTimeout(() => {\n item.func();\n }, val);\n this.lastSend = Date.now() + val;\n }\n }\n if (this._queue.length !== 0 && !this.timeout) {\n this.timeout = setTimeout(() => {\n this.timeout = null;\n this.check();\n }, this.tokens < this.tokenLimit ? this.latencyRef.latency : Math.max(0, this.lastReset + this.interval + this.tokenLimit * this.latencyRef.latency - Date.now()));\n }\n }\n /**\n * Add an item to the queue.\n * @param func The function to queue.\n * @param priority If true, the item will be added to the front of the queue.\n */\n queue(func, priority = false) {\n if (priority) {\n this._queue.unshift({ func, priority });\n }\n else {\n this._queue.push({ func, priority });\n }\n this.check();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnVja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWwvQnVja2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFCQUFxQjtBQUNyQjs7O0dBR0c7QUFFSCxnQkFBZ0I7QUFDaEIsTUFBTSxDQUFDLE9BQU8sT0FBTyxNQUFNO0lBVXZCLFlBQVksVUFBa0IsRUFBRSxRQUFnQixFQUFFLE9BQXlFOztRQVRuSCxXQUFNLEdBQStDLEVBQUUsQ0FBQztRQVU1RCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFVBQVUsbUNBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsY0FBYyxtQ0FBSSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVPLEtBQUs7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0MsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQzFGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdB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\n\n//# sourceURL=webpack://PW/./esm/util/Bucket.js?");
70
-
71
- /***/ }),
72
-
73
63
  /***/ "./esm/util/Constants.js":
74
64
  /*!*******************************!*\
75
65
  !*** ./esm/util/Constants.js ***!
@@ -100,6 +90,16 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
100
90
 
101
91
  /***/ }),
102
92
 
93
+ /***/ "./esm/util/Queue.js":
94
+ /*!***************************!*\
95
+ !*** ./esm/util/Queue.js ***!
96
+ \***************************/
97
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
98
+
99
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Queue)\n/* harmony export */ });\nclass Queue {\n /**\n *\n * @param tokenLimit How many tokens in an interval.\n * @param interval How long the bucket is valid for.\n */\n constructor(tokenLimit, interval) {\n this._queue = [];\n this.tokenLimit = tokenLimit;\n this.interval = interval;\n this.lastReset = this.tokens = 0;\n this.timeout = null;\n }\n check() {\n if (this.timeout !== null || this.queue.length === 0)\n return;\n if (this.lastReset + this.interval < Date.now()) {\n this.lastReset = Date.now();\n this.tokens = 0;\n }\n while (this._queue.length !== 0 && this.tokens < this.tokenLimit) {\n this.tokens++;\n const item = this._queue.shift();\n item.func();\n }\n if (this._queue.length !== 0 && this.timeout === null) {\n this.timeout = setTimeout(() => {\n this.timeout = null;\n this.check();\n }, this.tokens < this.tokenLimit ? 1 : Math.max(0, this.lastReset + this.interval - Date.now()));\n }\n }\n /**\n * Add an item to the queue.\n * @param func The function to queue.\n * @param priority If true, the item will be added to the front of the queue.\n */\n queue(func, priority = false) {\n if (priority)\n this._queue.unshift({ func, priority });\n else\n this._queue.push({ func, priority });\n this.check();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbC9RdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsT0FBTyxPQUFPLEtBQUs7SUFhdEI7Ozs7T0FJRztJQUNILFlBQVksVUFBa0IsRUFBRSxRQUFnQjtRQWpCeEMsV0FBTSxHQUErQyxFQUFFLENBQUM7UUFrQjVELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRXpCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVPLEtBQUs7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPO1FBRTdELElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRWpDLElBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDakIsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyRyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsSUFBZ0IsRUFBRSxRQUFRLEdBQUcsS0FBSztRQUNwQyxJQUFJLFFBQVE7WUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDOztZQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0NBQ0oifQ==\n\n//# sourceURL=webpack://PW/./esm/util/Queue.js?");
100
+
101
+ /***/ }),
102
+
103
103
  /***/ "./esm/util/block.js":
104
104
  /*!***************************!*\
105
105
  !*** ./esm/util/block.js ***!