@nsshunt/ststestrunner 1.1.184 → 1.1.186
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/dist/ststestrunner.cjs.map +1 -1
- package/dist/ststestrunner.mjs.map +1 -1
- package/package.json +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ststestrunner.mjs","names":["module","module","module","module","module","module","seedrandom","core","duplex","jsonpatch","jsonpatch","e","r","e","n","t","faker","TinyEmitter","TinyEmitter"],"sources":["../node_modules/http-status-codes/build/es/status-codes.js","../node_modules/seedrandom/lib/alea.js","../node_modules/seedrandom/lib/xor128.js","../node_modules/seedrandom/lib/xorwow.js","../node_modules/seedrandom/lib/xorshift7.js","../node_modules/seedrandom/lib/xor4096.js","../node_modules/seedrandom/lib/tychei.js","../__vite-browser-external","../node_modules/seedrandom/seedrandom.js","../node_modules/seedrandom/index.js","../src/libmodule/randomSequence.ts","../src/libmodule/testCaseFhirBase.ts","../src/libmodule/testCaseFhirQueryBase.ts","../src/libmodule/testCaseFhir01.ts","../src/libmodule/testCaseFhir02.ts","../src/libmodule/testCaseFhir03.ts","../src/libmodule/testCaseFhir04.ts","../src/libmodule/testCaseFhir05.ts","../node_modules/fast-json-patch/module/helpers.mjs","../node_modules/fast-json-patch/module/core.mjs","../node_modules/fast-json-patch/module/duplex.mjs","../node_modules/fast-json-patch/index.mjs","../src/libmodule/testCaseFhir06.ts","../src/libmodule/testCaseFhir07.ts","../src/libmodule/testCaseFhir08.ts","../src/libmodule/testCaseFhir09.ts","../src/libmodule/testCaseFhir20.ts","../src/libmodule/testCase01.ts","../src/libmodule/testCase02.ts","../src/libmodule/asyncRunnerFactory.ts","../node_modules/@faker-js/faker/dist/base-BpJm8uRb.js","../node_modules/@faker-js/faker/dist/en-Blck6vH3.js","../node_modules/@faker-js/faker/dist/locale/en.js","../src/libmodule/resourceDataGenerator.ts","../node_modules/tiny-emitter/index.js","../src/libmodule/lockHelper.ts","../src/libmodule/authHelper.ts","../src/libmodule/clientHelper.ts","../src/libmodule/workerFhirTestCases.ts"],"sourcesContent":["// Generated file. Do not edit\nexport var StatusCodes;\n(function (StatusCodes) {\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.2.1\n *\n * This interim response indicates that everything so far is OK and that the client should continue with the request or ignore it if it is already finished.\n */\n StatusCodes[StatusCodes[\"CONTINUE\"] = 100] = \"CONTINUE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.2.2\n *\n * This code is sent in response to an Upgrade request header by the client, and indicates the protocol the server is switching too.\n */\n StatusCodes[StatusCodes[\"SWITCHING_PROTOCOLS\"] = 101] = \"SWITCHING_PROTOCOLS\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.1\n *\n * This code indicates that the server has received and is processing the request, but no response is available yet.\n */\n StatusCodes[StatusCodes[\"PROCESSING\"] = 102] = \"PROCESSING\";\n /**\n * Official Documentation @ https://www.rfc-editor.org/rfc/rfc8297#page-3\n *\n * This code indicates to the client that the server is likely to send a final response with the header fields included in the informational response.\n */\n StatusCodes[StatusCodes[\"EARLY_HINTS\"] = 103] = \"EARLY_HINTS\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.3.1\n *\n * The request has succeeded. The meaning of a success varies depending on the HTTP method:\n * GET: The resource has been fetched and is transmitted in the message body.\n * HEAD: The entity headers are in the message body.\n * POST: The resource describing the result of the action is transmitted in the message body.\n * TRACE: The message body contains the request message as received by the server\n */\n StatusCodes[StatusCodes[\"OK\"] = 200] = \"OK\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.3.2\n *\n * The request has succeeded and a new resource has been created as a result of it. This is typically the response sent after a PUT request.\n */\n StatusCodes[StatusCodes[\"CREATED\"] = 201] = \"CREATED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.3.3\n *\n * The request has been received but not yet acted upon. It is non-committal, meaning that there is no way in HTTP to later send an asynchronous response indicating the outcome of processing the request. It is intended for cases where another process or server handles the request, or for batch processing.\n */\n StatusCodes[StatusCodes[\"ACCEPTED\"] = 202] = \"ACCEPTED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.3.4\n *\n * This response code means returned meta-information set is not exact set as available from the origin server, but collected from a local or a third party copy. Except this condition, 200 OK response should be preferred instead of this response.\n */\n StatusCodes[StatusCodes[\"NON_AUTHORITATIVE_INFORMATION\"] = 203] = \"NON_AUTHORITATIVE_INFORMATION\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.3.5\n *\n * There is no content to send for this request, but the headers may be useful. The user-agent may update its cached headers for this resource with the new ones.\n */\n StatusCodes[StatusCodes[\"NO_CONTENT\"] = 204] = \"NO_CONTENT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.3.6\n *\n * This response code is sent after accomplishing request to tell user agent reset document view which sent this request.\n */\n StatusCodes[StatusCodes[\"RESET_CONTENT\"] = 205] = \"RESET_CONTENT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7233#section-4.1\n *\n * This response code is used because of range header sent by the client to separate download into multiple streams.\n */\n StatusCodes[StatusCodes[\"PARTIAL_CONTENT\"] = 206] = \"PARTIAL_CONTENT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.2\n *\n * A Multi-Status response conveys information about multiple resources in situations where multiple status codes might be appropriate.\n */\n StatusCodes[StatusCodes[\"MULTI_STATUS\"] = 207] = \"MULTI_STATUS\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.4.1\n *\n * The request has more than one possible responses. User-agent or user should choose one of them. There is no standardized way to choose one of the responses.\n */\n StatusCodes[StatusCodes[\"MULTIPLE_CHOICES\"] = 300] = \"MULTIPLE_CHOICES\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.4.2\n *\n * This response code means that URI of requested resource has been changed. Probably, new URI would be given in the response.\n */\n StatusCodes[StatusCodes[\"MOVED_PERMANENTLY\"] = 301] = \"MOVED_PERMANENTLY\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.4.3\n *\n * This response code means that URI of requested resource has been changed temporarily. New changes in the URI might be made in the future. Therefore, this same URI should be used by the client in future requests.\n */\n StatusCodes[StatusCodes[\"MOVED_TEMPORARILY\"] = 302] = \"MOVED_TEMPORARILY\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.4.4\n *\n * Server sent this response to directing client to get requested resource to another URI with an GET request.\n */\n StatusCodes[StatusCodes[\"SEE_OTHER\"] = 303] = \"SEE_OTHER\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7232#section-4.1\n *\n * This is used for caching purposes. It is telling to client that response has not been modified. So, client can continue to use same cached version of response.\n */\n StatusCodes[StatusCodes[\"NOT_MODIFIED\"] = 304] = \"NOT_MODIFIED\";\n /**\n * @deprecated\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.4.6\n *\n * Was defined in a previous version of the HTTP specification to indicate that a requested response must be accessed by a proxy. It has been deprecated due to security concerns regarding in-band configuration of a proxy.\n */\n StatusCodes[StatusCodes[\"USE_PROXY\"] = 305] = \"USE_PROXY\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.4.7\n *\n * Server sent this response to directing client to get requested resource to another URI with same method that used prior request. This has the same semantic than the 302 Found HTTP response code, with the exception that the user agent must not change the HTTP method used: if a POST was used in the first request, a POST must be used in the second request.\n */\n StatusCodes[StatusCodes[\"TEMPORARY_REDIRECT\"] = 307] = \"TEMPORARY_REDIRECT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7538#section-3\n *\n * This means that the resource is now permanently located at another URI, specified by the Location: HTTP Response header. This has the same semantics as the 301 Moved Permanently HTTP response code, with the exception that the user agent must not change the HTTP method used: if a POST was used in the first request, a POST must be used in the second request.\n */\n StatusCodes[StatusCodes[\"PERMANENT_REDIRECT\"] = 308] = \"PERMANENT_REDIRECT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.1\n *\n * This response means that server could not understand the request due to invalid syntax.\n */\n StatusCodes[StatusCodes[\"BAD_REQUEST\"] = 400] = \"BAD_REQUEST\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7235#section-3.1\n *\n * Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response.\n */\n StatusCodes[StatusCodes[\"UNAUTHORIZED\"] = 401] = \"UNAUTHORIZED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.2\n *\n * This response code is reserved for future use. Initial aim for creating this code was using it for digital payment systems however this is not used currently.\n */\n StatusCodes[StatusCodes[\"PAYMENT_REQUIRED\"] = 402] = \"PAYMENT_REQUIRED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.3\n *\n * The client does not have access rights to the content, i.e. they are unauthorized, so server is rejecting to give proper response. Unlike 401, the client's identity is known to the server.\n */\n StatusCodes[StatusCodes[\"FORBIDDEN\"] = 403] = \"FORBIDDEN\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.4\n *\n * The server can not find requested resource. In the browser, this means the URL is not recognized. In an API, this can also mean that the endpoint is valid but the resource itself does not exist. Servers may also send this response instead of 403 to hide the existence of a resource from an unauthorized client. This response code is probably the most famous one due to its frequent occurence on the web.\n */\n StatusCodes[StatusCodes[\"NOT_FOUND\"] = 404] = \"NOT_FOUND\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.5\n *\n * The request method is known by the server but has been disabled and cannot be used. For example, an API may forbid DELETE-ing a resource. The two mandatory methods, GET and HEAD, must never be disabled and should not return this error code.\n */\n StatusCodes[StatusCodes[\"METHOD_NOT_ALLOWED\"] = 405] = \"METHOD_NOT_ALLOWED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.6\n *\n * This response is sent when the web server, after performing server-driven content negotiation, doesn't find any content following the criteria given by the user agent.\n */\n StatusCodes[StatusCodes[\"NOT_ACCEPTABLE\"] = 406] = \"NOT_ACCEPTABLE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7235#section-3.2\n *\n * This is similar to 401 but authentication is needed to be done by a proxy.\n */\n StatusCodes[StatusCodes[\"PROXY_AUTHENTICATION_REQUIRED\"] = 407] = \"PROXY_AUTHENTICATION_REQUIRED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.7\n *\n * This response is sent on an idle connection by some servers, even without any previous request by the client. It means that the server would like to shut down this unused connection. This response is used much more since some browsers, like Chrome, Firefox 27+, or IE9, use HTTP pre-connection mechanisms to speed up surfing. Also note that some servers merely shut down the connection without sending this message.\n */\n StatusCodes[StatusCodes[\"REQUEST_TIMEOUT\"] = 408] = \"REQUEST_TIMEOUT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.8\n *\n * This response is sent when a request conflicts with the current state of the server.\n */\n StatusCodes[StatusCodes[\"CONFLICT\"] = 409] = \"CONFLICT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.9\n *\n * This response would be sent when the requested content has been permenantly deleted from server, with no forwarding address. Clients are expected to remove their caches and links to the resource. The HTTP specification intends this status code to be used for \"limited-time, promotional services\". APIs should not feel compelled to indicate resources that have been deleted with this status code.\n */\n StatusCodes[StatusCodes[\"GONE\"] = 410] = \"GONE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.10\n *\n * The server rejected the request because the Content-Length header field is not defined and the server requires it.\n */\n StatusCodes[StatusCodes[\"LENGTH_REQUIRED\"] = 411] = \"LENGTH_REQUIRED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7232#section-4.2\n *\n * The client has indicated preconditions in its headers which the server does not meet.\n */\n StatusCodes[StatusCodes[\"PRECONDITION_FAILED\"] = 412] = \"PRECONDITION_FAILED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.11\n *\n * Request entity is larger than limits defined by server; the server might close the connection or return an Retry-After header field.\n */\n StatusCodes[StatusCodes[\"REQUEST_TOO_LONG\"] = 413] = \"REQUEST_TOO_LONG\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.12\n *\n * The URI requested by the client is longer than the server is willing to interpret.\n */\n StatusCodes[StatusCodes[\"REQUEST_URI_TOO_LONG\"] = 414] = \"REQUEST_URI_TOO_LONG\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.13\n *\n * The media format of the requested data is not supported by the server, so the server is rejecting the request.\n */\n StatusCodes[StatusCodes[\"UNSUPPORTED_MEDIA_TYPE\"] = 415] = \"UNSUPPORTED_MEDIA_TYPE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7233#section-4.4\n *\n * The range specified by the Range header field in the request can't be fulfilled; it's possible that the range is outside the size of the target URI's data.\n */\n StatusCodes[StatusCodes[\"REQUESTED_RANGE_NOT_SATISFIABLE\"] = 416] = \"REQUESTED_RANGE_NOT_SATISFIABLE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.14\n *\n * This response code means the expectation indicated by the Expect request header field can't be met by the server.\n */\n StatusCodes[StatusCodes[\"EXPECTATION_FAILED\"] = 417] = \"EXPECTATION_FAILED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2324#section-2.3.2\n *\n * Any attempt to brew coffee with a teapot should result in the error code \"418 I'm a teapot\". The resulting entity body MAY be short and stout.\n */\n StatusCodes[StatusCodes[\"IM_A_TEAPOT\"] = 418] = \"IM_A_TEAPOT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.6\n *\n * The 507 (Insufficient Storage) status code means the method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request. This condition is considered to be temporary. If the request which received this status code was the result of a user action, the request MUST NOT be repeated until it is requested by a separate user action.\n */\n StatusCodes[StatusCodes[\"INSUFFICIENT_SPACE_ON_RESOURCE\"] = 419] = \"INSUFFICIENT_SPACE_ON_RESOURCE\";\n /**\n * @deprecated\n * Official Documentation @ https://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-webdav-protocol-06.txt\n *\n * A deprecated response used by the Spring Framework when a method has failed.\n */\n StatusCodes[StatusCodes[\"METHOD_FAILURE\"] = 420] = \"METHOD_FAILURE\";\n /**\n * Official Documentation @ https://datatracker.ietf.org/doc/html/rfc7540#section-9.1.2\n *\n * Defined in the specification of HTTP/2 to indicate that a server is not able to produce a response for the combination of scheme and authority that are included in the request URI.\n */\n StatusCodes[StatusCodes[\"MISDIRECTED_REQUEST\"] = 421] = \"MISDIRECTED_REQUEST\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.3\n *\n * The request was well-formed but was unable to be followed due to semantic errors.\n */\n StatusCodes[StatusCodes[\"UNPROCESSABLE_ENTITY\"] = 422] = \"UNPROCESSABLE_ENTITY\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.4\n *\n * The resource that is being accessed is locked.\n */\n StatusCodes[StatusCodes[\"LOCKED\"] = 423] = \"LOCKED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.5\n *\n * The request failed due to failure of a previous request.\n */\n StatusCodes[StatusCodes[\"FAILED_DEPENDENCY\"] = 424] = \"FAILED_DEPENDENCY\";\n /**\n * Official Documentation @ https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.15\n *\n * The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.\n */\n StatusCodes[StatusCodes[\"UPGRADE_REQUIRED\"] = 426] = \"UPGRADE_REQUIRED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc6585#section-3\n *\n * The origin server requires the request to be conditional. Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict.\n */\n StatusCodes[StatusCodes[\"PRECONDITION_REQUIRED\"] = 428] = \"PRECONDITION_REQUIRED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc6585#section-4\n *\n * The user has sent too many requests in a given amount of time (\"rate limiting\").\n */\n StatusCodes[StatusCodes[\"TOO_MANY_REQUESTS\"] = 429] = \"TOO_MANY_REQUESTS\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc6585#section-5\n *\n * The server is unwilling to process the request because its header fields are too large. The request MAY be resubmitted after reducing the size of the request header fields.\n */\n StatusCodes[StatusCodes[\"REQUEST_HEADER_FIELDS_TOO_LARGE\"] = 431] = \"REQUEST_HEADER_FIELDS_TOO_LARGE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7725\n *\n * The user-agent requested a resource that cannot legally be provided, such as a web page censored by a government.\n */\n StatusCodes[StatusCodes[\"UNAVAILABLE_FOR_LEGAL_REASONS\"] = 451] = \"UNAVAILABLE_FOR_LEGAL_REASONS\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.6.1\n *\n * The server encountered an unexpected condition that prevented it from fulfilling the request.\n */\n StatusCodes[StatusCodes[\"INTERNAL_SERVER_ERROR\"] = 500] = \"INTERNAL_SERVER_ERROR\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.6.2\n *\n * The request method is not supported by the server and cannot be handled. The only methods that servers are required to support (and therefore that must not return this code) are GET and HEAD.\n */\n StatusCodes[StatusCodes[\"NOT_IMPLEMENTED\"] = 501] = \"NOT_IMPLEMENTED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.6.3\n *\n * This error response means that the server, while working as a gateway to get a response needed to handle the request, got an invalid response.\n */\n StatusCodes[StatusCodes[\"BAD_GATEWAY\"] = 502] = \"BAD_GATEWAY\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.6.4\n *\n * The server is not ready to handle the request. Common causes are a server that is down for maintenance or that is overloaded. Note that together with this response, a user-friendly page explaining the problem should be sent. This responses should be used for temporary conditions and the Retry-After: HTTP header should, if possible, contain the estimated time before the recovery of the service. The webmaster must also take care about the caching-related headers that are sent along with this response, as these temporary condition responses should usually not be cached.\n */\n StatusCodes[StatusCodes[\"SERVICE_UNAVAILABLE\"] = 503] = \"SERVICE_UNAVAILABLE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.6.5\n *\n * This error response is given when the server is acting as a gateway and cannot get a response in time.\n */\n StatusCodes[StatusCodes[\"GATEWAY_TIMEOUT\"] = 504] = \"GATEWAY_TIMEOUT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.6.6\n *\n * The HTTP version used in the request is not supported by the server.\n */\n StatusCodes[StatusCodes[\"HTTP_VERSION_NOT_SUPPORTED\"] = 505] = \"HTTP_VERSION_NOT_SUPPORTED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.6\n *\n * The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is therefore not a proper end point in the negotiation process.\n */\n StatusCodes[StatusCodes[\"INSUFFICIENT_STORAGE\"] = 507] = \"INSUFFICIENT_STORAGE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc6585#section-6\n *\n * The 511 status code indicates that the client needs to authenticate to gain network access.\n */\n StatusCodes[StatusCodes[\"NETWORK_AUTHENTICATION_REQUIRED\"] = 511] = \"NETWORK_AUTHENTICATION_REQUIRED\";\n})(StatusCodes || (StatusCodes = {}));\n","// A port of an algorithm by Johannes Baagøe <baagoe@baagoe.com>, 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baagøe <baagoe@baagoe.org>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = String(data);\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xorshift7\" algorithm by\n// François Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n","// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n","// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","module.exports = {}","/*\nCopyright 2019 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (global, pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\n\nvar width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n} else {\n // When included as a plain script, set up Math.seedrandom global.\n math['seed' + rngname] = seedrandom;\n}\n\n\n// End anonymous scope, and pass initial values.\n})(\n // global: `self` in browsers (including strict mode and web workers),\n // otherwise `this` in Node and other environments\n (typeof self !== 'undefined') ? self : this,\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n","// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baagøe.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by François Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n","import seedrandom from \"seedrandom\";\n\nexport function getRandomIterationOrder(\n iterations: number,\n seed: string\n): number[] {\n const rng = seedrandom(seed);\n\n const values = Array.from({ length: iterations }, (_, i) => i);\n\n for (let i = values.length - 1; i > 0; i--) {\n const j = Math.floor(rng() * (i + 1));\n [values[i], values[j]] = [values[j], values[i]];\n }\n\n return values;\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF\nimport { Sleep } from \"@nsshunt/stsutils\";\nimport { Person } from \"@nsshunt/stsfhirclient\";\n\nimport {\n IRunner,\n AbstractRunnerExecutionWorker,\n} from \"@nsshunt/stsrunnerframework\";\n\nimport chalk from \"chalk\";\n\nimport { IWorkerTestCases } from \"./commonTypes.js\";\n\nimport { isNode } from \"@nsshunt/stsutils\";\n\nimport {\n ITestCaseFhirBaseOptions,\n ITestingAgentOptions,\n} from \"./../commonTypes.js\";\n\nimport axios, { AxiosError } from \"axios\";\nimport { StatusCodes } from \"http-status-codes\";\n\nimport { IFhirClient, IDomainResource } from \"@nsshunt/stsfhirclient\";\n\nimport { WorkerFhirTestCases } from \"./workerFhirTestCases.js\";\n\nimport { getRandomIterationOrder } from \"./randomSequence.js\";\n\nexport interface IGetAPITokenFromAuthServerUsingScopeOptions {\n clientId: string;\n authClientSecret: string;\n scope: string;\n endPoint: string;\n}\n\nexport abstract class TestCaseFhirBase {\n #options: ITestCaseFhirBaseOptions;\n #runner: IRunner;\n #runnerExecutionWorker: AbstractRunnerExecutionWorker;\n //#clientId: string = '36615b3a-b71b-49af-a68b-4180daed7a5a'; // ststestrunnernode\n //#clientSecret: string = '7fbbf116-0537-424b-904f-d8d0a62adf9e'; // ststestrunnernode password\n #publishTelemetryCount: number = 0;\n #maxBufferSize = 50; // Max number of PostTelemetry calls before a publish. This should always be less than the logger instrtument maxSize buffer (default 200)\n #publishTelemetryTimeout: any = null;\n #publishTelemetryTimeoutVal = 1000; // Maximum time to wait between telemetry publish. The logic is what ever case comes first wins (see maxBufferSize).\n private randomSequence: number[] = [];\n\n protected _RetryMap = [100, 250, 500, 1000, 2000, 3000];\n\n private _id: string = crypto.randomUUID();\n\n protected retryCount = 0;\n protected maxAuthRetryCount = 5;\n\n protected runnerDurationList: number[] = [];\n\n constructor(\n runnerExecutionWorker: AbstractRunnerExecutionWorker,\n runner: IRunner\n ) {\n this.#options = runner.options as ITestCaseFhirBaseOptions;\n\n this.#runnerExecutionWorker = runnerExecutionWorker;\n this.#runner = runner;\n }\n\n protected get runnerExecutionWorker(): WorkerFhirTestCases {\n return this.#runnerExecutionWorker as WorkerFhirTestCases;\n }\n\n GetMaxIteration(key: string) {\n return this.runnerExecutionWorker.GetMaxIteration(key);\n }\n\n SetMaxIteration(key: string, maxIteration: number) {\n this.runnerExecutionWorker.SetMaxIteration(key, maxIteration);\n }\n\n protected ResetClient = () => {\n return;\n //this.restFhirClient = null;\n //this.fhirClient = null;\n //this.Debug(`TestCaseFhirBase:ResetClient() Invoked`);\n };\n\n protected GetRandomSequenceFromIteration = () => {\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n const maxIterations = this.GetMaxIteration(prefix);\n if (this.runner.iteration === 0) {\n const seedId = prefix;\n this.randomSequence = getRandomIterationOrder(\n maxIterations,\n seedId\n );\n // Old method below ...\n //const { workerIndex, runnerIndex } = (this.#runner.options as ITestCaseFhirBaseOptions);\n //const seedId = `seed-${workerIndex}-${runnerIndex}`;\n //this.randomSequence = getRandomIterationOrder(this.runner.options.executionProfile.iterations, seedId);\n }\n // Wrap around if our iteration is smaller that the run set (i.e. the create stage is slower than the get stage if using duration rather than iterations in the run profile)\n const useIteration = this.runner.iteration % maxIterations;\n return this.randomSequence[useIteration];\n // Old method below ...\n //return this.randomSequence[this.runner.iteration];\n };\n\n Error = (message: any) => {\n this.#runnerExecutionWorker.logger.error(message);\n this.#runner.instrumentData.message.push(chalk.red(`${message}`));\n };\n\n Debug = (message: any) => {\n this.#runnerExecutionWorker.logger.debug(message);\n };\n\n get runner(): IRunner {\n return this.#runner;\n }\n\n SleepImmediate(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isNode) {\n setImmediate(resolve);\n } else {\n resolve();\n }\n });\n }\n\n async SleepImmediateEx(): Promise<void> {\n return new Promise((resolve, reject) => {\n resolve();\n });\n }\n\n SleepImmediateEx2(): Promise<void> {\n return new Promise((resolve, reject) => {\n process.nextTick(resolve);\n });\n }\n\n #CalculatePercentile = () => {\n this.runnerDurationList.sort((a, b) => a - b);\n const size = this.runnerDurationList.length;\n\n const _GetP = (factor: number) => {\n const pos = Math.floor(size * factor);\n if (pos >= 0 && pos < size) {\n return this.runnerDurationList[pos];\n } else {\n return -1;\n }\n };\n\n this.#runner.instrumentData.perc[\"50\"] = _GetP(0.5);\n this.#runner.instrumentData.perc[\"80\"] = _GetP(0.8);\n this.#runner.instrumentData.perc[\"90\"] = _GetP(0.9);\n this.#runner.instrumentData.perc[\"95\"] = _GetP(0.95);\n this.#runner.instrumentData.perc[\"98\"] = _GetP(0.98);\n };\n\n #PublishTelemetryData = async () => {\n this.#CalculatePercentile();\n this.#runnerExecutionWorker.PostTelemetryById(this.#runner.id);\n\n // Now reset any instruments ready for the next cycle\n this.#runner.instrumentData.velocity = 0;\n this.#runner.instrumentData.message = [];\n this.#runner.instrumentData.tx = 0;\n this.#runner.instrumentData.rx = 0;\n\n await this.SleepImmediate();\n };\n\n HandleError = (error: any): boolean => {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] Error: [${error}]`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] description: [${this.runner.options.description}]`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] iteration: [${this.runner.iteration}]`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] asyncRunnerContext: [${JSON.stringify(this.runner.asyncRunnerContext)}]`\n )\n );\n if (axios.isAxiosError(error)) {\n const axiosError: AxiosError = error;\n if (axiosError.response) {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] AXIOS Error Response.Status = [${axiosError.response.status}]`\n )\n );\n if (axiosError.response.headers) {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] headers: [${JSON.stringify(axiosError.response.headers)}]`\n )\n );\n }\n if (axiosError.response.data) {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] data: [${JSON.stringify(axiosError.response.data)}]`\n )\n );\n }\n try {\n // Skip config - too much text - perhaps make an option ?\n /*\n if (axiosError.response.config) {\n this.Error(chalk.red(`TestCaseFhirBase:HandleError(): config: [${JSON.stringify(axiosError.response.config)}]`));\n }\n */\n } catch (innererror: any) {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] could not get response config, error: [${innererror}]`\n )\n );\n }\n\n if (axiosError.response.status === StatusCodes.UNAUTHORIZED) {\n this.runner.instrumentData.authenticationErrorCount++;\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] UNAUTHORIZED - Reset Access Token`\n )\n );\n this.runnerExecutionWorker.authHelper.ResetAccessToken();\n return true;\n }\n } else {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] AXIOS Error = [${axiosError}]`\n )\n );\n }\n } else if (error.message === \"UNAUTHORIZED\") {\n this.runner.instrumentData.authenticationErrorCount++;\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] UNAUTHORIZED - Reset Access Token`\n )\n );\n this.runnerExecutionWorker.authHelper.ResetAccessToken();\n return true;\n }\n return false;\n };\n\n GetPersonRecord = async (\n prefix: string,\n index: number,\n version: string\n ): Promise<Person> => {\n const { workerIndex, runnerIndex, runId } = this.#options;\n\n const useId = `${prefix}-${index}`;\n\n let firstName;\n let lastName;\n /*\n if (this.#options.useRedisForNames === true) {\n const store = await (this.runnerExecutionWorker as WorkerTestCases).GetStore();\n const loaded = await store.getRecord(runId, `${workerIndex}_${runnerIndex}_${this.runner.iteration}`);\n //this.Debug('Loaded first record:', loaded);\n firstName = loaded!.givenName;\n lastName = loaded!.familyName;\n } else {\n const name = (this.runnerExecutionWorker as WorkerTestCases).GetFakerName(this.runner.iteration);\n firstName = name.firstName;\n lastName = name.lastName;\n }\n */\n\n // const name = ((this.runnerExecutionWorker as unknown) as IWorkerTestCases).resourceDataGenerator.GetFakerName(this.runner.iteration);\n const name = (\n this.runnerExecutionWorker as unknown as IWorkerTestCases\n ).resourceDataGenerator.GetFakerName(index);\n firstName = name.firstName;\n lastName = name.lastName;\n\n const personRecord: Person = {\n id: useId,\n resourceType: \"Person\",\n name: [\n {\n family: lastName,\n given: [firstName],\n use: `usual`,\n },\n ],\n text: {\n //div: `New Record ${this.runner.iteration}`,\n div: `New Record ${index}`,\n status: \"generated\",\n },\n meta: {\n versionId: version,\n lastUpdated: new Date().toISOString(),\n },\n };\n\n return personRecord;\n };\n\n #ForcePublishTelemetryData = async () => {\n await this.#PublishTelemetryData();\n };\n\n #SetupTimeout = async () => {\n if (!this.#publishTelemetryTimeout) {\n this.#publishTelemetryTimeout = setTimeout(async () => {\n await this.#PublishTelemetryData();\n this.#publishTelemetryCount = 0;\n this.#publishTelemetryTimeout = null;\n }, this.#publishTelemetryTimeoutVal);\n if (isNode) {\n this.#publishTelemetryTimeout.unref();\n }\n }\n };\n\n PublishTelemetry = async () => {\n this.#publishTelemetryCount++;\n\n if (this.#publishTelemetryCount % this.#maxBufferSize === 0) {\n this.#publishTelemetryCount = 0;\n if (this.#publishTelemetryTimeout) {\n clearTimeout(this.#publishTelemetryTimeout);\n this.#publishTelemetryTimeout = null;\n }\n await this.#PublishTelemetryData();\n }\n\n if (!this.#publishTelemetryTimeout) {\n this.#SetupTimeout();\n }\n };\n\n #OutputLogMessage = async (message: string): Promise<void> => {\n const messageOutput = chalk.grey(message);\n this.#runner.instrumentData.message.push(messageOutput);\n await this.PublishTelemetry();\n };\n\n StartRunner = async (): Promise<boolean> => {\n this.runner.instrumentData.timer = performance.now();\n this.runnerDurationList = [];\n await this.#OutputLogMessage(`StartRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n StopRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`StopRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n TerminateRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`TerminateRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n Completed = async (): Promise<boolean> => {\n const start = this.runner.instrumentData.timer;\n this.runner.instrumentData.timer = performance.now() - start;\n await this.#OutputLogMessage(\n `Completed [${this.#runner.id}] [${JSON.stringify(this.#runner.instrumentData)}]`\n );\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n PauseRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`PauseRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n ResumeRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`ResumeRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n ResetRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`ResetRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n UpdateRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`UpdateOptions [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n abstract PerformExecuteQuery(): Promise<IDomainResource | null>;\n\n hashString(str: string): number {\n let hash = 0x811c9dc5; // FNV offset basis\n\n for (let i = 0; i < str.length; i++) {\n hash ^= str.charCodeAt(i);\n hash = Math.imul(hash, 0x01000193); // FNV prime\n }\n\n return hash >>> 0; // convert to unsigned 32-bit\n }\n\n protected _GetDetail = (): string => {\n const options = this.runner.options as ITestCaseFhirBaseOptions;\n const { runPrefix, testType, description } = options;\n const { workerManagerId, iteration } = this.runner;\n\n const rgbTable = [\n [0, 100, 255],\n [75, 150, 255],\n [150, 180, 255],\n [190, 200, 255],\n [210, 230, 255],\n ];\n\n const workerManagerRGBTable = [\n [200, 0, 255],\n [210, 60, 255],\n [220, 114, 255],\n [235, 170, 255],\n [240, 210, 255],\n\n [0, 255, 130],\n [75, 255, 160],\n [130, 255, 190],\n [190, 255, 220],\n [215, 255, 230],\n\n [255, 150, 0],\n [255, 170, 65],\n [255, 200, 130],\n [255, 220, 180],\n [255, 235, 210],\n ];\n\n const rgbTableRow = rgbTable[options.workerIndex % rgbTable.length];\n const workerManagerRGBTableRow =\n workerManagerRGBTable[\n this.hashString(workerManagerId) % workerManagerRGBTable.length\n ];\n\n const wkCol = chalk.rgb(rgbTableRow[0], rgbTableRow[1], rgbTableRow[2]);\n const wkColWM = chalk.rgb(\n workerManagerRGBTableRow[0],\n workerManagerRGBTableRow[1],\n workerManagerRGBTableRow[2]\n );\n\n return wkCol(\n `runPrefix: [${chalk.bold(runPrefix)}], testType: [${chalk.bold(testType)}], description: [${chalk.bold(description)}], workerManagerId: [${wkColWM(chalk.bold(workerManagerId))}], Iteration: [${chalk.bold(iteration.toString())}]`\n );\n };\n\n protected _CheckOutputLongDurationError = (\n snapshotStart: number,\n message: string\n ): number => {\n const snapShotEnd = performance.now();\n\n if (snapShotEnd - snapshotStart > 1000) {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:_CheckOutputLongDurationError(): [${this._id}] *** ==> Long execution: [${snapShotEnd - snapshotStart}] message: [${message}]`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirBase:_CheckOutputLongDurationError(): [${this._id}] ==> ${this._GetDetail()}`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirBase:_CheckOutputLongDurationError(): [${this._id}] ==> Note: While not specifically an error, this is logged as an error.`\n )\n );\n }\n return snapShotEnd;\n };\n\n ExecuteQuery = async (): Promise<IDomainResource | null> => {\n this.retryCount = 0;\n return this._ExecuteQuery();\n };\n\n _ExecuteQuery = async (): Promise<IDomainResource | null> => {\n const dummyIterationSleepDuration = (\n this.runner.options as ITestCaseFhirBaseOptions\n ).dummyIterationSleepDuration;\n if (dummyIterationSleepDuration > 0) {\n await Sleep(dummyIterationSleepDuration);\n return null;\n } else if (dummyIterationSleepDuration < 0) {\n const client = await this.GetClient();\n await client.GetLatency({});\n return null;\n }\n\n try {\n const retVal = await this.PerformExecuteQuery();\n return retVal;\n } catch (error: any) {\n this.runner.instrumentData.errorCount++;\n if (this.HandleError(error) === true) {\n if (this.retryCount < this.maxAuthRetryCount) {\n // Retry due to 401\n this.retryCount++;\n this.runner.instrumentData.authenticationRetryCount++;\n const message = `TestCaseFhirBase:ExecuteQuery(): [${this._id}] Retry auth attempt: retryCount: [${this.retryCount}], maxAuthRetryCount: [${this.maxAuthRetryCount}]`;\n this.Error(message);\n if (this.retryCount > this._RetryMap.length) {\n await Sleep(this._RetryMap[this._RetryMap.length - 1]);\n } else {\n await Sleep(this._RetryMap[this.retryCount - 1]);\n }\n return await this._ExecuteQuery();\n } else {\n const message = `TestCaseFhirBase:_ExecuteQuery(): [${this._id}] Max auth retries exceeded: retryCount: [${this.retryCount}], maxAuthRetryCount: [${this.maxAuthRetryCount}], Error: [${error}]`;\n this.Error(message);\n error.message = message;\n throw error;\n }\n } else {\n throw error;\n }\n }\n };\n\n GetClient = async (): Promise<IFhirClient> => {\n return this.runnerExecutionWorker.GetClient();\n };\n\n CheckReturnData = (p1obj: any, p2obj: any) => {\n const p1 = JSON.stringify(p1obj);\n const p2 = JSON.stringify(p2obj);\n if (p1.localeCompare(p2) !== 0) {\n this.runner.instrumentData.errorCount++;\n console.log(\n chalk.red(\n `TestCaseFhirBase:CheckReturnData(): Compare return data check failed.`\n )\n );\n console.log(p1);\n console.log(p2);\n process.exit(1);\n }\n };\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF\nimport {\n IRunnerInstance,\n IRunnerOptions,\n IRunner,\n AbstractRunnerExecutionWorker,\n} from \"@nsshunt/stsrunnerframework\";\n\nimport chalk from \"chalk\";\n\nimport { IFhirClient, IDomainResource } from \"@nsshunt/stsfhirclient\";\nimport { TestCaseFhirBase } from \"./testCaseFhirBase.js\";\n\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\n\n/*\nexport interface IRunnerTestCaseFhirQueryBase extends IRunnerOptions {\n agentResetMod: number\n personPrefix: string\n}\n*/\n\nexport abstract class TestCaseFhirQueryBase\n extends TestCaseFhirBase\n implements IRunnerInstance\n{\n private _longExecTimeoutVal = 5000;\n private _durationList: number[] = [];\n\n constructor(\n workerInstance: AbstractRunnerExecutionWorker,\n runner: IRunner\n ) {\n super(workerInstance, runner);\n }\n\n #ResetClient = (reason: string) => {\n this.ResetClient();\n };\n\n #CheckResetClient = () => {\n if (this.runner.instrumentData.requestCount > 0) {\n if (\n this.runner.instrumentData.requestCount %\n (this.runner.options as ITestCaseFhirBaseOptions)\n .clientResetMod ===\n 0\n ) {\n this.#ResetClient(\"#ResetClient triggered\");\n }\n }\n };\n\n //@@ also monitor # of DB postgrews connections\n //@@ monitor open ports\n //@@ time wait\n ExecuteRunner = async (): Promise<boolean> => {\n if (this.runner.iteration % 100 === 0) {\n this.Debug(\n `TestCaseFhirQueryBase:ExecuteRunner(): ${this._GetDetail()}`\n );\n }\n\n const start = performance.now();\n\n this.runner.instrumentData.activeRequestCount++;\n\n this.#CheckResetClient();\n\n const longExecTimeout = setTimeout(() => {\n this.Debug(\n chalk.magenta(\n `TestCaseFhirQueryBase:ExecuteRunner(): *** ==> Long execution: [${this._longExecTimeoutVal}] exceeded - still waiting ...`\n )\n );\n this.Debug(\n chalk.magenta(\n `TestCaseFhirQueryBase:ExecuteRunner(): ==> ${this._GetDetail()}`\n )\n );\n }, this._longExecTimeoutVal);\n\n try {\n await this.ExecuteQuery();\n clearInterval(longExecTimeout);\n } catch (error) {\n clearInterval(longExecTimeout);\n this.runner.instrumentData.errorCount++;\n const message = `TestCaseFhirQueryBase:ExecuteRunner(): Error: [${error}], Error Count: [${this.runner.instrumentData.errorCount}], ${this._GetDetail()}`;\n this.Error(message);\n this.#ResetClient(message);\n }\n\n this.runner.instrumentData.coreCount = 1;\n this.runner.instrumentData.requestCount++;\n this.runner.instrumentData.velocity++;\n this.runner.instrumentData.activeRequestCount--;\n\n const end = performance.now();\n const diff = end - start;\n this.runner.instrumentData.duration = diff;\n\n this.runnerDurationList.push(diff);\n\n if (diff <= 5) {\n this.runner.instrumentData.duration5++;\n } else if (diff <= 10) {\n this.runner.instrumentData.duration10++;\n } else if (diff <= 20) {\n this.runner.instrumentData.duration20++;\n } else if (diff <= 30) {\n this.runner.instrumentData.duration30++;\n } else if (diff <= 40) {\n this.runner.instrumentData.duration40++;\n } else if (diff <= 50) {\n this.runner.instrumentData.duration50++;\n } else if (diff <= 60) {\n this.runner.instrumentData.duration60++;\n } else if (diff <= 80) {\n this.runner.instrumentData.duration80++;\n } else if (diff <= 100) {\n this.runner.instrumentData.duration100++;\n } else if (diff <= 120) {\n this.runner.instrumentData.duration120++;\n } else if (diff <= 150) {\n this.runner.instrumentData.duration150++;\n } else if (diff <= 250) {\n this.runner.instrumentData.duration250++;\n } else if (diff <= 500) {\n this.runner.instrumentData.duration500++;\n } else if (diff <= 1000) {\n this.runner.instrumentData.duration1000++;\n } else {\n this.runner.instrumentData.duratione++;\n }\n\n if (diff > this._longExecTimeoutVal) {\n this.Error(\n chalk.red(\n `TestCaseFhirQueryBase:ExecuteRunner(): *** ==> Long execution: [${diff}] Completed`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirQueryBase:ExecuteRunner(): ==> ${this._GetDetail()}`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirQueryBase:ExecuteRunner(): ==> Note: While not specifically an error, this is logged as an error.`\n )\n );\n } else if (diff > 200) {\n this.Debug(\n chalk.rgb(\n 155,\n 120,\n 200\n )(\n `TestCaseFhirQueryBase:ExecuteRunner(): *** ==> Long execution: [${diff}] Completed`\n )\n );\n this.Debug(\n chalk.rgb(\n 155,\n 120,\n 200\n )(\n `TestCaseFhirQueryBase:ExecuteRunner(): ==> ${this._GetDetail()}`\n )\n );\n }\n\n const longExecTimeoutpublishTelemetry = setTimeout(() => {\n this.Error(\n chalk.red(\n `TestCaseFhirQueryBase:ExecuteRunner(): *** ==> Long execution: [${this._longExecTimeoutVal}] for PublishTelemetry()`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirQueryBase:ExecuteRunner(): ==> ${this._GetDetail()}`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirQueryBase:ExecuteRunner(): ==> Note: While not specifically an error, this is logged as an error.`\n )\n );\n }, this._longExecTimeoutVal);\n\n await this.PublishTelemetry();\n clearInterval(longExecTimeoutpublishTelemetry);\n\n return true;\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource } from \"@nsshunt/stsfhirclient\";\n\nexport class TestCaseFhir01\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const retVal =\n await this.runnerExecutionWorker.authHelper.GetAccessToken();\n this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetAccessToken()\"\n );\n\n this.runnerExecutionWorker.authHelper.ResetAccessToken(); // Force a new token\n\n return null;\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\n/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource, Person, Bundle } from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\nimport { Sleep } from \"@nsshunt/stsutils\";\nexport class TestCaseFhir02\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n private bundleBatch: any;\n private personRecords: Person[] = [];\n\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n const bundleSize = (this.runner.options as ITestCaseFhirBaseOptions)\n .bundleSize;\n\n if (this.runner.iteration === 0) {\n this.bundleBatch = {\n resourceType: \"Bundle\",\n type: \"transaction\",\n entry: [],\n };\n }\n\n const personRecord: Person = await this.GetPersonRecord(\n prefix,\n this.runner.iteration,\n \"1\"\n );\n\n this.SetMaxIteration(prefix, this.runner.iteration);\n\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n // Only push the person if not already in the batch\n // We already have this person if we are in a retry post error state ...\n const foundIndexPersonRecords = this.personRecords.findIndex(\n (p) => p.id?.localeCompare(personRecord.id!) === 0\n );\n const foundIndexBindlePersonRecords = this.bundleBatch.entry.findIndex(\n (p: any) => p.resource.id?.localeCompare(personRecord.id!) === 0\n );\n\n if (foundIndexPersonRecords === -1) {\n if (foundIndexBindlePersonRecords !== -1) {\n // Error state ...\n throw new Error(\n `TestCaseFhir02:PerformExecuteQuery(): Invalid record state for batch transaction, foundIndexPersonRecords: [${foundIndexPersonRecords}], foundIndexBindlePersonRecords: [${foundIndexBindlePersonRecords}], personRecord.id: [${personRecord.id}]`\n );\n }\n this.personRecords.push(personRecord);\n\n this.bundleBatch.entry!.push({\n fullUrl: (personRecord as any).id,\n resource: personRecord as any,\n request: {\n method: \"POST\",\n url: \"Person\",\n },\n });\n }\n\n let retVal = undefined;\n if (this.runner.iteration % bundleSize === bundleSize - 1) {\n retVal = await client.ProcessBatchOrTransactionResources(\n this.bundleBatch\n );\n this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.PostResource()\"\n );\n } else if (\n this.runner.iteration ===\n (this.runner.options as ITestCaseFhirBaseOptions).executionProfile\n .iterations -\n 1\n ) {\n retVal = await client.ProcessBatchOrTransactionResources(\n this.bundleBatch\n );\n this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.PostResource()\"\n );\n }\n\n //@@ this is horrid (code smell) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal && retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n if (retVal) {\n for (let i = 0; i < retVal.body.entry.length - 1; i++) {\n const personRecord: Person = this.personRecords[i];\n delete personRecord.meta;\n\n const retPersonData = { ...retVal.body.entry[i].resource };\n delete retPersonData.meta;\n\n this.CheckReturnData(personRecord, retPersonData);\n }\n this.bundleBatch.entry = [];\n this.personRecords = [];\n }\n\n // Go slow on purpose to force wrapping on all subsequent tests (remove once tested)\n // await Sleep(500);\n\n // just return the first one - its not used anyway (code smell - should return void)\n return personRecord as any;\n };\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\n/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource } from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir03\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n\n const personRecord = await this.GetPersonRecord(\n prefix,\n this.GetRandomSequenceFromIteration(),\n \"1\"\n );\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n const retVal = await client.GetResource(\n \"Person\",\n personRecord.id as string\n );\n this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n delete personRecord.meta;\n delete retVal.body.meta;\n\n this.CheckReturnData(personRecord, retVal.body);\n\n return retVal.body;\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\n/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource, IPerson } from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir04\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n const personRecord = await this.GetPersonRecord(\n `${prefix}`,\n this.GetRandomSequenceFromIteration(),\n \"1\"\n );\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n const retVal = await client.GetResource(\n \"Person\",\n personRecord.id as string\n );\n const __snapshot4 = this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n // We add the extra requestCount here beucase we are doing more than 1 transaction in this execute cycle as\n // the stsrunnerframework always add one automatically.\n this.runner.instrumentData.requestCount++;\n\n const compPersonRecord = { ...personRecord };\n const loadedPersonRecorded = { ...retVal.body };\n\n //console.log(` ==> version id: [${loadedPersonRecorded.meta.versionId}]`);\n //console.log(` ==> tag: [${loadedPersonRecorded.meta.tag}]`);\n\n const loadedRecordVersion: number = parseInt(\n loadedPersonRecorded.meta.versionId\n );\n\n delete compPersonRecord.meta;\n delete loadedPersonRecorded.meta;\n\n if (loadedRecordVersion > 1) {\n compPersonRecord.text!.div = `Put record TestCaseFhir04 ${this.runner.iteration % this.GetMaxIteration(prefix)}`; //@@ needs to use wrapped id\n }\n\n this.CheckReturnData(compPersonRecord, loadedPersonRecorded);\n\n const originalPersonRecord = retVal.body as IPerson;\n if (originalPersonRecord && originalPersonRecord.text) {\n originalPersonRecord.text.div = `Put record TestCaseFhir04 ${this.runner.iteration % this.GetMaxIteration(prefix)}`; //@@ needs to use wrapped id\n\n //@@ need to use actual returned record as this may execute more than once for the same person (iteration wrap around from the original create set)\n const retVal = await client.PutResource(\n \"Person\",\n originalPersonRecord as any,\n `W/\"${loadedRecordVersion}\"`\n );\n this._CheckOutputLongDurationError(\n __snapshot4,\n \"await this.PutResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n const updatedRecord = { ...retVal.body };\n\n delete updatedRecord.meta;\n delete originalPersonRecord.meta;\n\n this.CheckReturnData(updatedRecord, originalPersonRecord);\n\n return retVal.body;\n } else {\n this.runner.instrumentData.errorCount++;\n return null;\n }\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource, Person } from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir05\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const baseUrl = (this.runner.options as ITestCaseFhirBaseOptions)\n .fhirOptions.stsfhirbaseurl;\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n\n const personRecord: Person = await this.GetPersonRecord(\n prefix,\n this.GetRandomSequenceFromIteration(),\n \"3\"\n );\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n // Broad query - slow\n //const url = new URL(`${baseUrl}/Person?family=${searchLetter}`);\n\n // Get record based on family and given name (complete name)\n //const url = new URL(`${baseUrl}/Person?family=${personRecord.name![0].family}&given=${personRecord.name![0].given![0]}`);\n\n // Get record based on family name only\n const url = new URL(\n `${baseUrl}/Person?family=${personRecord.name![0].family}`\n );\n\n // Get record based on given name only\n //const url = new URL(`${baseUrl}/Person?given=${personRecord.name![0].given![0]}`);\n\n let retVal;\n if (\n (this.runner.options as ITestCaseFhirBaseOptions).useDirectQuery ===\n true\n ) {\n const data = {\n queryTestingMode: (\n this.runner.options as ITestCaseFhirBaseOptions\n ).queryTestingMode,\n family: personRecord.name![0].family,\n };\n retVal = await client.GenericSearchTesting(\"Person\", data);\n this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GenericSearchTesting()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n } else {\n retVal = await client.GetResources(url);\n this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetResources()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n }\n\n const checkRetVal = { ...retVal.body };\n\n const searchRetValCheck = {\n resourceType: \"Bundle\",\n type: \"searchset\",\n };\n\n delete checkRetVal.total;\n delete checkRetVal.link;\n delete checkRetVal.entry;\n\n this.CheckReturnData(searchRetValCheck, checkRetVal);\n\n return retVal.body;\n };\n}\n","/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2022 Joachim Wester\n * MIT licensed\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function hasOwnProperty(obj, key) {\n return _hasOwnProperty.call(obj, key);\n}\nexport function _objectKeys(obj) {\n if (Array.isArray(obj)) {\n var keys_1 = new Array(obj.length);\n for (var k = 0; k < keys_1.length; k++) {\n keys_1[k] = \"\" + k;\n }\n return keys_1;\n }\n if (Object.keys) {\n return Object.keys(obj);\n }\n var keys = [];\n for (var i in obj) {\n if (hasOwnProperty(obj, i)) {\n keys.push(i);\n }\n }\n return keys;\n}\n;\n/**\n* Deeply clone the object.\n* https://jsperf.com/deep-copy-vs-json-stringify-json-parse/25 (recursiveDeepCopy)\n* @param {any} obj value to clone\n* @return {any} cloned obj\n*/\nexport function _deepClone(obj) {\n switch (typeof obj) {\n case \"object\":\n return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5\n case \"undefined\":\n return null; //this is how JSON.stringify behaves for array items\n default:\n return obj; //no need to clone primitives\n }\n}\n//3x faster than cached /^\\d+$/.test(str)\nexport function isInteger(str) {\n var i = 0;\n var len = str.length;\n var charCode;\n while (i < len) {\n charCode = str.charCodeAt(i);\n if (charCode >= 48 && charCode <= 57) {\n i++;\n continue;\n }\n return false;\n }\n return true;\n}\n/**\n* Escapes a json pointer path\n* @param path The raw pointer\n* @return the Escaped path\n*/\nexport function escapePathComponent(path) {\n if (path.indexOf('/') === -1 && path.indexOf('~') === -1)\n return path;\n return path.replace(/~/g, '~0').replace(/\\//g, '~1');\n}\n/**\n * Unescapes a json pointer path\n * @param path The escaped pointer\n * @return The unescaped path\n */\nexport function unescapePathComponent(path) {\n return path.replace(/~1/g, '/').replace(/~0/g, '~');\n}\nexport function _getPathRecursive(root, obj) {\n var found;\n for (var key in root) {\n if (hasOwnProperty(root, key)) {\n if (root[key] === obj) {\n return escapePathComponent(key) + '/';\n }\n else if (typeof root[key] === 'object') {\n found = _getPathRecursive(root[key], obj);\n if (found != '') {\n return escapePathComponent(key) + '/' + found;\n }\n }\n }\n }\n return '';\n}\nexport function getPath(root, obj) {\n if (root === obj) {\n return '/';\n }\n var path = _getPathRecursive(root, obj);\n if (path === '') {\n throw new Error(\"Object not found in root\");\n }\n return \"/\" + path;\n}\n/**\n* Recursively checks whether an object has any undefined values inside.\n*/\nexport function hasUndefined(obj) {\n if (obj === undefined) {\n return true;\n }\n if (obj) {\n if (Array.isArray(obj)) {\n for (var i_1 = 0, len = obj.length; i_1 < len; i_1++) {\n if (hasUndefined(obj[i_1])) {\n return true;\n }\n }\n }\n else if (typeof obj === \"object\") {\n var objKeys = _objectKeys(obj);\n var objKeysLength = objKeys.length;\n for (var i = 0; i < objKeysLength; i++) {\n if (hasUndefined(obj[objKeys[i]])) {\n return true;\n }\n }\n }\n }\n return false;\n}\nfunction patchErrorMessageFormatter(message, args) {\n var messageParts = [message];\n for (var key in args) {\n var value = typeof args[key] === 'object' ? JSON.stringify(args[key], null, 2) : args[key]; // pretty print\n if (typeof value !== 'undefined') {\n messageParts.push(key + \": \" + value);\n }\n }\n return messageParts.join('\\n');\n}\nvar PatchError = /** @class */ (function (_super) {\n __extends(PatchError, _super);\n function PatchError(message, name, index, operation, tree) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, patchErrorMessageFormatter(message, { name: name, index: index, operation: operation, tree: tree })) || this;\n _this.name = name;\n _this.index = index;\n _this.operation = operation;\n _this.tree = tree;\n Object.setPrototypeOf(_this, _newTarget.prototype); // restore prototype chain, see https://stackoverflow.com/a/48342359\n _this.message = patchErrorMessageFormatter(message, { name: name, index: index, operation: operation, tree: tree });\n return _this;\n }\n return PatchError;\n}(Error));\nexport { PatchError };\n","import { PatchError, _deepClone, isInteger, unescapePathComponent, hasUndefined } from './helpers.mjs';\nexport var JsonPatchError = PatchError;\nexport var deepClone = _deepClone;\n/* We use a Javascript hash to store each\n function. Each hash entry (property) uses\n the operation identifiers specified in rfc6902.\n In this way, we can map each patch operation\n to its dedicated function in efficient way.\n */\n/* The operations applicable to an object */\nvar objOps = {\n add: function (obj, key, document) {\n obj[key] = this.value;\n return { newDocument: document };\n },\n remove: function (obj, key, document) {\n var removed = obj[key];\n delete obj[key];\n return { newDocument: document, removed: removed };\n },\n replace: function (obj, key, document) {\n var removed = obj[key];\n obj[key] = this.value;\n return { newDocument: document, removed: removed };\n },\n move: function (obj, key, document) {\n /* in case move target overwrites an existing value,\n return the removed value, this can be taxing performance-wise,\n and is potentially unneeded */\n var removed = getValueByPointer(document, this.path);\n if (removed) {\n removed = _deepClone(removed);\n }\n var originalValue = applyOperation(document, { op: \"remove\", path: this.from }).removed;\n applyOperation(document, { op: \"add\", path: this.path, value: originalValue });\n return { newDocument: document, removed: removed };\n },\n copy: function (obj, key, document) {\n var valueToCopy = getValueByPointer(document, this.from);\n // enforce copy by value so further operations don't affect source (see issue #177)\n applyOperation(document, { op: \"add\", path: this.path, value: _deepClone(valueToCopy) });\n return { newDocument: document };\n },\n test: function (obj, key, document) {\n return { newDocument: document, test: _areEquals(obj[key], this.value) };\n },\n _get: function (obj, key, document) {\n this.value = obj[key];\n return { newDocument: document };\n }\n};\n/* The operations applicable to an array. Many are the same as for the object */\nvar arrOps = {\n add: function (arr, i, document) {\n if (isInteger(i)) {\n arr.splice(i, 0, this.value);\n }\n else { // array props\n arr[i] = this.value;\n }\n // this may be needed when using '-' in an array\n return { newDocument: document, index: i };\n },\n remove: function (arr, i, document) {\n var removedList = arr.splice(i, 1);\n return { newDocument: document, removed: removedList[0] };\n },\n replace: function (arr, i, document) {\n var removed = arr[i];\n arr[i] = this.value;\n return { newDocument: document, removed: removed };\n },\n move: objOps.move,\n copy: objOps.copy,\n test: objOps.test,\n _get: objOps._get\n};\n/**\n * Retrieves a value from a JSON document by a JSON pointer.\n * Returns the value.\n *\n * @param document The document to get the value from\n * @param pointer an escaped JSON pointer\n * @return The retrieved value\n */\nexport function getValueByPointer(document, pointer) {\n if (pointer == '') {\n return document;\n }\n var getOriginalDestination = { op: \"_get\", path: pointer };\n applyOperation(document, getOriginalDestination);\n return getOriginalDestination.value;\n}\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the {newDocument, result} of the operation.\n * It modifies the `document` and `operation` objects - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyOperation(document, jsonpatch._deepClone(operation))`.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return `{newDocument, result}` after the operation\n */\nexport function applyOperation(document, operation, validateOperation, mutateDocument, banPrototypeModifications, index) {\n if (validateOperation === void 0) { validateOperation = false; }\n if (mutateDocument === void 0) { mutateDocument = true; }\n if (banPrototypeModifications === void 0) { banPrototypeModifications = true; }\n if (index === void 0) { index = 0; }\n if (validateOperation) {\n if (typeof validateOperation == 'function') {\n validateOperation(operation, 0, document, operation.path);\n }\n else {\n validator(operation, 0);\n }\n }\n /* ROOT OPERATIONS */\n if (operation.path === \"\") {\n var returnValue = { newDocument: document };\n if (operation.op === 'add') {\n returnValue.newDocument = operation.value;\n return returnValue;\n }\n else if (operation.op === 'replace') {\n returnValue.newDocument = operation.value;\n returnValue.removed = document; //document we removed\n return returnValue;\n }\n else if (operation.op === 'move' || operation.op === 'copy') { // it's a move or copy to root\n returnValue.newDocument = getValueByPointer(document, operation.from); // get the value by json-pointer in `from` field\n if (operation.op === 'move') { // report removed item\n returnValue.removed = document;\n }\n return returnValue;\n }\n else if (operation.op === 'test') {\n returnValue.test = _areEquals(document, operation.value);\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n returnValue.newDocument = document;\n return returnValue;\n }\n else if (operation.op === 'remove') { // a remove on root\n returnValue.removed = document;\n returnValue.newDocument = null;\n return returnValue;\n }\n else if (operation.op === '_get') {\n operation.value = document;\n return returnValue;\n }\n else { /* bad operation */\n if (validateOperation) {\n throw new JsonPatchError('Operation `op` property is not one of operations defined in RFC-6902', 'OPERATION_OP_INVALID', index, operation, document);\n }\n else {\n return returnValue;\n }\n }\n } /* END ROOT OPERATIONS */\n else {\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n var path = operation.path || \"\";\n var keys = path.split('/');\n var obj = document;\n var t = 1; //skip empty element - http://jsperf.com/to-shift-or-not-to-shift\n var len = keys.length;\n var existingPathFragment = undefined;\n var key = void 0;\n var validateFunction = void 0;\n if (typeof validateOperation == 'function') {\n validateFunction = validateOperation;\n }\n else {\n validateFunction = validator;\n }\n while (true) {\n key = keys[t];\n if (key && key.indexOf('~') != -1) {\n key = unescapePathComponent(key);\n }\n if (banPrototypeModifications &&\n (key == '__proto__' ||\n (key == 'prototype' && t > 0 && keys[t - 1] == 'constructor'))) {\n throw new TypeError('JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README');\n }\n if (validateOperation) {\n if (existingPathFragment === undefined) {\n if (obj[key] === undefined) {\n existingPathFragment = keys.slice(0, t).join('/');\n }\n else if (t == len - 1) {\n existingPathFragment = operation.path;\n }\n if (existingPathFragment !== undefined) {\n validateFunction(operation, 0, document, existingPathFragment);\n }\n }\n }\n t++;\n if (Array.isArray(obj)) {\n if (key === '-') {\n key = obj.length;\n }\n else {\n if (validateOperation && !isInteger(key)) {\n throw new JsonPatchError(\"Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index\", \"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\", index, operation, document);\n } // only parse key when it's an integer for `arr.prop` to work\n else if (isInteger(key)) {\n key = ~~key;\n }\n }\n if (t >= len) {\n if (validateOperation && operation.op === \"add\" && key > obj.length) {\n throw new JsonPatchError(\"The specified index MUST NOT be greater than the number of elements in the array\", \"OPERATION_VALUE_OUT_OF_BOUNDS\", index, operation, document);\n }\n var returnValue = arrOps[operation.op].call(operation, obj, key, document); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return returnValue;\n }\n }\n else {\n if (t >= len) {\n var returnValue = objOps[operation.op].call(operation, obj, key, document); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return returnValue;\n }\n }\n obj = obj[key];\n // If we have more keys in the path, but the next value isn't a non-null object,\n // throw an OPERATION_PATH_UNRESOLVABLE error instead of iterating again.\n if (validateOperation && t < len && (!obj || typeof obj !== \"object\")) {\n throw new JsonPatchError('Cannot perform operation at the desired path', 'OPERATION_PATH_UNRESOLVABLE', index, operation, document);\n }\n }\n }\n}\n/**\n * Apply a full JSON Patch array on a JSON document.\n * Returns the {newDocument, result} of the patch.\n * It modifies the `document` object and `patch` - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyPatch(document, jsonpatch._deepClone(patch))`.\n *\n * @param document The document to patch\n * @param patch The patch to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return An array of `{newDocument, result}` after the patch\n */\nexport function applyPatch(document, patch, validateOperation, mutateDocument, banPrototypeModifications) {\n if (mutateDocument === void 0) { mutateDocument = true; }\n if (banPrototypeModifications === void 0) { banPrototypeModifications = true; }\n if (validateOperation) {\n if (!Array.isArray(patch)) {\n throw new JsonPatchError('Patch sequence must be an array', 'SEQUENCE_NOT_AN_ARRAY');\n }\n }\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n var results = new Array(patch.length);\n for (var i = 0, length_1 = patch.length; i < length_1; i++) {\n // we don't need to pass mutateDocument argument because if it was true, we already deep cloned the object, we'll just pass `true`\n results[i] = applyOperation(document, patch[i], validateOperation, true, banPrototypeModifications, i);\n document = results[i].newDocument; // in case root was replaced\n }\n results.newDocument = document;\n return results;\n}\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the updated document.\n * Suitable as a reducer.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @return The updated document\n */\nexport function applyReducer(document, operation, index) {\n var operationResult = applyOperation(document, operation);\n if (operationResult.test === false) { // failed test\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return operationResult.newDocument;\n}\n/**\n * Validates a single operation. Called from `jsonpatch.validate`. Throws `JsonPatchError` in case of an error.\n * @param {object} operation - operation object (patch)\n * @param {number} index - index of operation in the sequence\n * @param {object} [document] - object where the operation is supposed to be applied\n * @param {string} [existingPathFragment] - comes along with `document`\n */\nexport function validator(operation, index, document, existingPathFragment) {\n if (typeof operation !== 'object' || operation === null || Array.isArray(operation)) {\n throw new JsonPatchError('Operation is not an object', 'OPERATION_NOT_AN_OBJECT', index, operation, document);\n }\n else if (!objOps[operation.op]) {\n throw new JsonPatchError('Operation `op` property is not one of operations defined in RFC-6902', 'OPERATION_OP_INVALID', index, operation, document);\n }\n else if (typeof operation.path !== 'string') {\n throw new JsonPatchError('Operation `path` property is not a string', 'OPERATION_PATH_INVALID', index, operation, document);\n }\n else if (operation.path.indexOf('/') !== 0 && operation.path.length > 0) {\n // paths that aren't empty string should start with \"/\"\n throw new JsonPatchError('Operation `path` property must start with \"/\"', 'OPERATION_PATH_INVALID', index, operation, document);\n }\n else if ((operation.op === 'move' || operation.op === 'copy') && typeof operation.from !== 'string') {\n throw new JsonPatchError('Operation `from` property is not present (applicable in `move` and `copy` operations)', 'OPERATION_FROM_REQUIRED', index, operation, document);\n }\n else if ((operation.op === 'add' || operation.op === 'replace' || operation.op === 'test') && operation.value === undefined) {\n throw new JsonPatchError('Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)', 'OPERATION_VALUE_REQUIRED', index, operation, document);\n }\n else if ((operation.op === 'add' || operation.op === 'replace' || operation.op === 'test') && hasUndefined(operation.value)) {\n throw new JsonPatchError('Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)', 'OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED', index, operation, document);\n }\n else if (document) {\n if (operation.op == \"add\") {\n var pathLen = operation.path.split(\"/\").length;\n var existingPathLen = existingPathFragment.split(\"/\").length;\n if (pathLen !== existingPathLen + 1 && pathLen !== existingPathLen) {\n throw new JsonPatchError('Cannot perform an `add` operation at the desired path', 'OPERATION_PATH_CANNOT_ADD', index, operation, document);\n }\n }\n else if (operation.op === 'replace' || operation.op === 'remove' || operation.op === '_get') {\n if (operation.path !== existingPathFragment) {\n throw new JsonPatchError('Cannot perform the operation at a path that does not exist', 'OPERATION_PATH_UNRESOLVABLE', index, operation, document);\n }\n }\n else if (operation.op === 'move' || operation.op === 'copy') {\n var existingValue = { op: \"_get\", path: operation.from, value: undefined };\n var error = validate([existingValue], document);\n if (error && error.name === 'OPERATION_PATH_UNRESOLVABLE') {\n throw new JsonPatchError('Cannot perform the operation from a path that does not exist', 'OPERATION_FROM_UNRESOLVABLE', index, operation, document);\n }\n }\n }\n}\n/**\n * Validates a sequence of operations. If `document` parameter is provided, the sequence is additionally validated against the object document.\n * If error is encountered, returns a JsonPatchError object\n * @param sequence\n * @param document\n * @returns {JsonPatchError|undefined}\n */\nexport function validate(sequence, document, externalValidator) {\n try {\n if (!Array.isArray(sequence)) {\n throw new JsonPatchError('Patch sequence must be an array', 'SEQUENCE_NOT_AN_ARRAY');\n }\n if (document) {\n //clone document and sequence so that we can safely try applying operations\n applyPatch(_deepClone(document), _deepClone(sequence), externalValidator || true);\n }\n else {\n externalValidator = externalValidator || validator;\n for (var i = 0; i < sequence.length; i++) {\n externalValidator(sequence[i], i, document, undefined);\n }\n }\n }\n catch (e) {\n if (e instanceof JsonPatchError) {\n return e;\n }\n else {\n throw e;\n }\n }\n}\n// based on https://github.com/epoberezkin/fast-deep-equal\n// MIT License\n// Copyright (c) 2017 Evgeny Poberezkin\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\nexport function _areEquals(a, b) {\n if (a === b)\n return true;\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = Array.isArray(a), arrB = Array.isArray(b), i, length, key;\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0;)\n if (!_areEquals(a[i], b[i]))\n return false;\n return true;\n }\n if (arrA != arrB)\n return false;\n var keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length)\n return false;\n for (i = length; i-- !== 0;)\n if (!b.hasOwnProperty(keys[i]))\n return false;\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!_areEquals(a[key], b[key]))\n return false;\n }\n return true;\n }\n return a !== a && b !== b;\n}\n;\n","/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2021 Joachim Wester\n * MIT license\n */\nimport { _deepClone, _objectKeys, escapePathComponent, hasOwnProperty } from './helpers.mjs';\nimport { applyPatch } from './core.mjs';\nvar beforeDict = new WeakMap();\nvar Mirror = /** @class */ (function () {\n function Mirror(obj) {\n this.observers = new Map();\n this.obj = obj;\n }\n return Mirror;\n}());\nvar ObserverInfo = /** @class */ (function () {\n function ObserverInfo(callback, observer) {\n this.callback = callback;\n this.observer = observer;\n }\n return ObserverInfo;\n}());\nfunction getMirror(obj) {\n return beforeDict.get(obj);\n}\nfunction getObserverFromMirror(mirror, callback) {\n return mirror.observers.get(callback);\n}\nfunction removeObserverFromMirror(mirror, observer) {\n mirror.observers.delete(observer.callback);\n}\n/**\n * Detach an observer from an object\n */\nexport function unobserve(root, observer) {\n observer.unobserve();\n}\n/**\n * Observes changes made to an object, which can then be retrieved using generate\n */\nexport function observe(obj, callback) {\n var patches = [];\n var observer;\n var mirror = getMirror(obj);\n if (!mirror) {\n mirror = new Mirror(obj);\n beforeDict.set(obj, mirror);\n }\n else {\n var observerInfo = getObserverFromMirror(mirror, callback);\n observer = observerInfo && observerInfo.observer;\n }\n if (observer) {\n return observer;\n }\n observer = {};\n mirror.value = _deepClone(obj);\n if (callback) {\n observer.callback = callback;\n observer.next = null;\n var dirtyCheck = function () {\n generate(observer);\n };\n var fastCheck = function () {\n clearTimeout(observer.next);\n observer.next = setTimeout(dirtyCheck);\n };\n if (typeof window !== 'undefined') { //not Node\n window.addEventListener('mouseup', fastCheck);\n window.addEventListener('keyup', fastCheck);\n window.addEventListener('mousedown', fastCheck);\n window.addEventListener('keydown', fastCheck);\n window.addEventListener('change', fastCheck);\n }\n }\n observer.patches = patches;\n observer.object = obj;\n observer.unobserve = function () {\n generate(observer);\n clearTimeout(observer.next);\n removeObserverFromMirror(mirror, observer);\n if (typeof window !== 'undefined') {\n window.removeEventListener('mouseup', fastCheck);\n window.removeEventListener('keyup', fastCheck);\n window.removeEventListener('mousedown', fastCheck);\n window.removeEventListener('keydown', fastCheck);\n window.removeEventListener('change', fastCheck);\n }\n };\n mirror.observers.set(callback, new ObserverInfo(callback, observer));\n return observer;\n}\n/**\n * Generate an array of patches from an observer\n */\nexport function generate(observer, invertible) {\n if (invertible === void 0) { invertible = false; }\n var mirror = beforeDict.get(observer.object);\n _generate(mirror.value, observer.object, observer.patches, \"\", invertible);\n if (observer.patches.length) {\n applyPatch(mirror.value, observer.patches);\n }\n var temp = observer.patches;\n if (temp.length > 0) {\n observer.patches = [];\n if (observer.callback) {\n observer.callback(temp);\n }\n }\n return temp;\n}\n// Dirty check if obj is different from mirror, generate patches and update mirror\nfunction _generate(mirror, obj, patches, path, invertible) {\n if (obj === mirror) {\n return;\n }\n if (typeof obj.toJSON === \"function\") {\n obj = obj.toJSON();\n }\n var newKeys = _objectKeys(obj);\n var oldKeys = _objectKeys(mirror);\n var changed = false;\n var deleted = false;\n //if ever \"move\" operation is implemented here, make sure this test runs OK: \"should not generate the same patch twice (move)\"\n for (var t = oldKeys.length - 1; t >= 0; t--) {\n var key = oldKeys[t];\n var oldVal = mirror[key];\n if (hasOwnProperty(obj, key) && !(obj[key] === undefined && oldVal !== undefined && Array.isArray(obj) === false)) {\n var newVal = obj[key];\n if (typeof oldVal == \"object\" && oldVal != null && typeof newVal == \"object\" && newVal != null && Array.isArray(oldVal) === Array.isArray(newVal)) {\n _generate(oldVal, newVal, patches, path + \"/\" + escapePathComponent(key), invertible);\n }\n else {\n if (oldVal !== newVal) {\n changed = true;\n if (invertible) {\n patches.push({ op: \"test\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(oldVal) });\n }\n patches.push({ op: \"replace\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(newVal) });\n }\n }\n }\n else if (Array.isArray(mirror) === Array.isArray(obj)) {\n if (invertible) {\n patches.push({ op: \"test\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(oldVal) });\n }\n patches.push({ op: \"remove\", path: path + \"/\" + escapePathComponent(key) });\n deleted = true; // property has been deleted\n }\n else {\n if (invertible) {\n patches.push({ op: \"test\", path: path, value: mirror });\n }\n patches.push({ op: \"replace\", path: path, value: obj });\n changed = true;\n }\n }\n if (!deleted && newKeys.length == oldKeys.length) {\n return;\n }\n for (var t = 0; t < newKeys.length; t++) {\n var key = newKeys[t];\n if (!hasOwnProperty(mirror, key) && obj[key] !== undefined) {\n patches.push({ op: \"add\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(obj[key]) });\n }\n }\n}\n/**\n * Create an array of patches from the differences in two objects\n */\nexport function compare(tree1, tree2, invertible) {\n if (invertible === void 0) { invertible = false; }\n var patches = [];\n _generate(tree1, tree2, patches, '', invertible);\n return patches;\n}\n","export * from './module/core.mjs';\nexport * from './module/duplex.mjs';\nexport {\n PatchError as JsonPatchError,\n _deepClone as deepClone,\n escapePathComponent,\n unescapePathComponent\n} from './module/helpers.mjs';\n\n\n/**\n * Default export for backwards compat\n */\n\nimport * as core from './module/core.mjs';\nimport * as duplex from './module/duplex.mjs';\nimport {\n PatchError as JsonPatchError,\n _deepClone as deepClone,\n escapePathComponent,\n unescapePathComponent\n} from './module/helpers.mjs';\n\nexport default Object.assign({}, core, duplex, {\n JsonPatchError,\n deepClone,\n escapePathComponent,\n unescapePathComponent\n});","/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { IDomainResource } from \"@nsshunt/stsfhirclient\";\nimport jsonpatch from \"fast-json-patch\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir06\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n const personRecord = await this.GetPersonRecord(\n `${prefix}`,\n this.GetRandomSequenceFromIteration(),\n \"3\"\n );\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n const retVal = await client.GetResource(\n \"Person\",\n personRecord.id as string\n );\n const __snapshot4 = this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n const resource = retVal.body;\n const loadedRecordVersion: number = parseInt(resource.meta.versionId);\n\n const patchText = `Json Patched record TestCaseFhir07 ${this.runner.iteration % this.GetMaxIteration(prefix)}`;\n const observer: any = jsonpatch.observe(resource);\n resource.text.div = patchText;\n const patchRecord: jsonpatch.Operation[] = jsonpatch.generate(observer);\n\n // `application/merge-patch+json`\n const retValPatched = await client.PatchResource(\n \"Person\",\n personRecord.id!,\n patchRecord,\n `application/json-patch+json`,\n `W/\"${loadedRecordVersion}\"`\n );\n this._CheckOutputLongDurationError(\n __snapshot4,\n \"await this.PatchResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retValPatched.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n //console.log('07');\n //console.log(personRecord);\n //console.log(retValPatched.body);\n\n const retRecordCheck = { ...retValPatched.body };\n personRecord.text!.div = patchText;\n\n //const zz = (loadedRecordVersion + 1).toString();\n //console.log(loadedRecordVersion);\n //console.log(typeof loadedRecordVersion);\n //console.log(typeof (loadedRecordVersion + 1));\n //console.log(typeof zz);\n //console.log(zz);\n\n personRecord.meta!.versionId = (loadedRecordVersion + 1).toString(); // We are expected the increased version number\n\n delete personRecord.meta!.lastUpdated;\n delete retRecordCheck.meta.lastUpdated;\n\n this.CheckReturnData(personRecord, retRecordCheck);\n\n return retValPatched.body;\n };\n}\n","import { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { IDomainResource } from \"@nsshunt/stsfhirclient\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir07\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n const personRecord = await this.GetPersonRecord(\n `${prefix}`,\n this.GetRandomSequenceFromIteration(),\n \"4\"\n );\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n const retVal = await client.GetResource(\n \"Person\",\n personRecord.id as string\n );\n const __snapshot4 = this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n const resource = retVal.body;\n const loadedRecordVersion: number = parseInt(resource.meta.versionId);\n const patchText = `Merge Patched record TestCaseFhir08 ${this.runner.iteration & this.GetMaxIteration(prefix)}`;\n resource.text.div = patchText;\n\n const retValPatched = await client.PatchResource(\n \"Person\",\n personRecord.id!,\n resource,\n `application/merge-patch+json`,\n `W/\"${loadedRecordVersion}\"`\n );\n this._CheckOutputLongDurationError(\n __snapshot4,\n \"await this.PatchResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retValPatched.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n const retRecordCheck = { ...retValPatched.body };\n personRecord.text!.div = patchText;\n personRecord.meta!.versionId = (loadedRecordVersion + 1).toString(); // We are expected the increased version number\n\n delete personRecord.meta!.lastUpdated;\n delete retRecordCheck.meta.lastUpdated;\n\n this.CheckReturnData(personRecord, retRecordCheck);\n\n return retValPatched.body;\n };\n}\n","import { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource } from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\n\nimport axios, { AxiosError } from \"axios\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir08\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n const personRecord = await this.GetPersonRecord(\n prefix,\n this.GetRandomSequenceFromIteration(),\n \"5\"\n );\n\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n const retVal = await client.GetResource(\n \"Person\",\n personRecord.id as string\n );\n const __snapshot4 = this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n // Check if this record is already deleted ...\n const resource = retVal.body;\n if (resource.meta) {\n const loadedRecordVersion: number = parseInt(\n resource.meta.versionId\n );\n\n // We are expecting 410 Gone for delete response\n try {\n const retVal = await client.DeleteResource(\n \"Person\",\n personRecord.id as string,\n `W/\"${loadedRecordVersion}\"`\n );\n this._CheckOutputLongDurationError(\n __snapshot4,\n \"await this.DeleteResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n const deletedRetValCheck = {\n resourceType: \"OperationOutcome\",\n issue: [\n {\n severity: \"error\",\n code: \"deleted\",\n diagnostics: `DeleteResource: Resource ${personRecord.id} version ${loadedRecordVersion + 1} has been deleted.`,\n },\n ],\n };\n\n this.CheckReturnData(deletedRetValCheck, retVal.body);\n\n return retVal.body;\n } catch (error) {\n if (axios.isAxiosError(error)) {\n const axiosError: AxiosError = error;\n if (axiosError.response) {\n if (axiosError.response.status !== StatusCodes.GONE) {\n throw error;\n }\n return null;\n } else {\n throw error;\n }\n } else {\n throw error;\n }\n }\n } else {\n if (retVal.status === 404) {\n return null;\n } else {\n const message = `Unknown return value for delete, retVal.status: [${retVal.status}], resource: [${JSON.stringify(resource)}]`;\n console.error(message);\n throw new Error(message);\n }\n }\n };\n}\n","import { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource } from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir09\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const personRecord = await this.GetPersonRecord(\n `${(this.runner.options as ITestCaseFhirBaseOptions).personPrefix}`,\n this.GetRandomSequenceFromIteration(),\n \"1\"\n );\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n const retVal = await client.GetHistoryInstanceFhirResource(\n \"Person\",\n personRecord.id as string,\n \"1\"\n );\n this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetHistoryInstanceFhirResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n if (retVal.status === StatusCodes.GONE) {\n // The version 2 record may be deleted if the duration of the other tests that perform updates didn't get to this record in time\n // So the delete has occured on an earlier version of the record.\n return null;\n } else {\n delete personRecord.meta;\n delete retVal.body.meta;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete (personRecord!.text! as any).div;\n delete retVal.body.text.div;\n\n this.CheckReturnData(personRecord, retVal.body);\n\n return retVal.body;\n }\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\n/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport {\n IDomainResource,\n Person,\n Bundle,\n IFhirResponse,\n} from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\nimport jsonpatch from \"fast-json-patch\";\nimport chalk from \"chalk\";\n\nexport class TestCaseFhir20\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const client = await this.GetClient();\n const prefix = `${(this.runner.options as ITestCaseFhirBaseOptions).personPrefix}-AIO`;\n const personRecord: Person = await this.GetPersonRecord(\n prefix,\n this.runner.iteration,\n \"1\"\n );\n const baseUrl = (this.runner.options as ITestCaseFhirBaseOptions)\n .fhirOptions.stsfhirbaseurl;\n let stage = 1;\n\n //@@ this is horrid (code smell) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n const checkStatus = (stage: number, fr: IFhirResponse) => {\n if (fr.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n return fr;\n };\n\n try {\n const retVal1 = checkStatus(\n stage++,\n await client.PostResource(\"Person\", personRecord as any)\n );\n\n const retVal2 = checkStatus(\n stage++,\n await client.GetResource(\"Person\", personRecord.id as string)\n );\n\n retVal2.body.text.div = `Put record TestCaseFhir20 ${this.runner.iteration}`;\n\n const retVal3 = checkStatus(\n stage++,\n await client.PutResource(\"Person\", retVal2.body as any, `W/\"1\"`)\n );\n\n retVal3.body.text.div = `Put record TestCaseFhir20 ${this.runner.iteration}`;\n\n const retVal4 = checkStatus(\n stage++,\n await client.PutResource(\"Person\", retVal3.body as any, `W/\"2\"`)\n );\n\n const url = new URL(\n `${baseUrl}/Person?family=${personRecord.name![0].family}`\n );\n\n const retVal5 = checkStatus(\n stage++,\n await client.GetResources(url)\n );\n\n const patchText1 = `Json Patched record TestCaseFhir20 ${this.runner.iteration}`;\n const observer: any = jsonpatch.observe(retVal4.body);\n retVal4.body.text.div = patchText1;\n const patchRecord: jsonpatch.Operation[] =\n jsonpatch.generate(observer);\n\n const retVal6 = checkStatus(\n stage++,\n await client.PatchResource(\n \"Person\",\n personRecord.id!,\n patchRecord,\n `application/json-patch+json`,\n `W/\"3\"`\n )\n );\n\n const patchText2 = `Merge Patched record TestCaseFhir20 ${this.runner.iteration}`;\n retVal6.body.text.div = patchText2;\n const retVal7 = checkStatus(\n stage++,\n await client.PatchResource(\n \"Person\",\n personRecord.id!,\n retVal6.body,\n `application/merge-patch+json`,\n `W/\"4\"`\n )\n );\n\n const retVal8 = checkStatus(\n stage++,\n await client.DeleteResource(\n \"Person\",\n personRecord.id as string,\n `W/\"5\"`\n )\n );\n\n const retVal9 = checkStatus(\n stage++,\n await client.GetHistoryInstanceFhirResource(\n \"Person\",\n personRecord.id as string,\n \"2\"\n )\n );\n\n return retVal1.body;\n } catch (error) {\n console.error(\n chalk.red(\n `TestCaseFhir20(): Stage: [${stage}], Error: [${error}]`\n )\n );\n console.error(error);\n throw error;\n }\n };\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF\n\n/**\n * TestCase01\n * ==========\n *\n * Concrete test runner implementation used to validate the runner framework.\n *\n * Purpose\n * -------\n * `TestCase01` is a synthetic/example runner that performs predictable,\n * low-risk work so the surrounding framework can be tested.\n *\n * It is designed to exercise and demonstrate:\n *\n * - runner lifecycle methods\n * - start\n * - stop\n * - pause\n * - resume\n * - reset\n * - update\n * - complete\n * - terminate\n * - telemetry generation and batching\n * - log message generation\n * - metric updates\n * - active request tracking\n * - duration measurement\n * - delayed work simulation using `Sleep(...)`\n *\n * It does not perform real business work. Instead, it simulates work by:\n *\n * - updating telemetry counters\n * - optionally sleeping for a configured duration\n * - generating periodic messages\n * - publishing telemetry using batching and timeout logic\n *\n * Architectural role\n * ------------------\n * This class is a concrete implementation of {@link IRunnerInstance}.\n *\n * It is hosted by a concrete worker-side execution host such as\n * `WorkerTestCases`, which in turn derives from\n * {@link AbstractRunnerExecutionWorker}.\n *\n * The framework uses this runner to validate that:\n *\n * - worker command routing works\n * - runner execution loops work\n * - telemetry publication works\n * - runner lifecycle messages behave as expected\n */\n\nimport {\n AbstractRunnerExecutionWorker,\n IRunnerInstance,\n IRunnerOptions,\n IRunner,\n} from \"@nsshunt/stsrunnerframework\";\n\nimport chalk from \"chalk\";\n\nimport { Sleep, isNode } from \"@nsshunt/stsutils\";\n\n/**\n * Internal mutable state used to generate the animated/indented \"Hello World\"\n * log output for each runner.\n *\n * Fields:\n * - `indent`: current indentation level for the next message\n * - `adder`: direction/step used to move indentation left/right\n */\ndeclare interface LogMessageData {\n /**\n * Current indentation width for the next generated log line.\n */\n indent: number;\n\n /**\n * Current directional increment applied to `indent`.\n *\n * Usually:\n * - `1` while indentation is increasing\n * - `-1` while indentation is decreasing\n */\n adder: number;\n}\n\n/**\n * Map of per-runner log message animation state.\n *\n * Key:\n * - runner id\n *\n * Value:\n * - the current indentation/direction state for generated log lines\n */\ndeclare type LogMessageDataSet = Record<string, LogMessageData>;\n\n/**\n * Extended runner options used specifically by `TestCase01`.\n *\n * In addition to standard framework runner options, this test case supports:\n *\n * - `sleepDuration`\n * - `logMessageMod`\n * - `colourIndex`\n *\n * These fields allow the test runner to simulate work and produce predictable\n * telemetry/logging behaviour.\n */\nexport interface IRunnerOptionsEx extends IRunnerOptions {\n /**\n * Simulated work delay in milliseconds for each execution iteration.\n *\n * If greater than zero, the runner sleeps for this duration inside `ExecuteRunner()`.\n * If zero, it yields immediately instead.\n */\n sleepDuration: number;\n\n /**\n * Frequency for generating animated log messages.\n *\n * Example:\n * - if `logMessageMod` is `5`, a generated log message is emitted every 5 requests.\n */\n logMessageMod: number;\n\n /**\n * Placeholder/example option for colour selection.\n *\n * Currently present for test flexibility but not actively used in the logic shown here.\n */\n colourIndex: number;\n}\n\n/**\n * Concrete synthetic test runner implementation.\n *\n * This runner:\n * - simulates work\n * - updates telemetry counters\n * - batches telemetry publishing\n * - emits lifecycle log messages\n */\nexport class TestCase01 implements IRunnerInstance {\n /**\n * The live serialisable runner model/state owned by this test runner.\n *\n * This object is mutated as telemetry and execution progress change.\n */\n #runner: IRunner;\n\n /**\n * Owning worker-side execution host.\n *\n * Used primarily to publish telemetry back to the manager by runner id.\n */\n #runnerExecutionWorker: AbstractRunnerExecutionWorker;\n\n /**\n * Per-runner state used for animated/indented generated log messages.\n */\n #logMessageDataSet: LogMessageDataSet = {};\n\n /**\n * Timeout handle used to perform delayed telemetry publication.\n *\n * This supports the \"publish on timeout if buffer threshold is not reached\"\n * batching strategy.\n */\n #publishTelemetryTimeout: any = null;\n\n /**\n * Counter of buffered telemetry publication events since the last publish.\n *\n * When this reaches `#maxBufferSize`, telemetry is published immediately.\n */\n #publishTelemetryCount: number = 0;\n\n /**\n * Maximum number of telemetry buffer events allowed before forcing a publish.\n *\n * This is intended to remain lower than the logging/instrument buffer size\n * used elsewhere in the observability stack.\n */\n #maxBufferSize = 50;\n\n /**\n * Maximum time in milliseconds to wait before publishing buffered telemetry.\n *\n * Telemetry publish strategy:\n * - whichever happens first wins:\n * - max buffer count reached\n * - timeout reached\n */\n #publishTelemetryTimeoutVal = 1000;\n\n /**\n * Construct a new synthetic test runner.\n *\n * @param runnerExecutionWorker Owning worker-side execution host.\n * @param runner Live runner model/state for this test runner.\n */\n constructor(\n runnerExecutionWorker: AbstractRunnerExecutionWorker,\n runner: IRunner\n ) {\n this.#runnerExecutionWorker = runnerExecutionWorker;\n this.#runner = runner;\n }\n\n Debug = (message: any) => {\n this.#runnerExecutionWorker.logger.debug(message);\n };\n\n /**\n * Generate an animated indented log message for the runner.\n *\n * Behaviour:\n * - lazily initialises per-runner indentation state\n * - creates a message with varying indentation\n * - appends that message to runner telemetry messages\n * - updates indentation direction when bounds are reached\n *\n * Indentation behaviour:\n * - increases from 0 upward\n * - reverses direction after passing 20\n * - reverses again when returning to 0\n *\n * This exists purely to generate visually changing test log output.\n *\n * @param runner Runner whose message should be generated.\n * @param iteration Current runner iteration number.\n */\n #GenLogMessage = (runner: IRunner, iteration: number) => {\n if (!this.#logMessageDataSet[runner.id]) {\n this.#logMessageDataSet[runner.id] = {\n adder: 1,\n indent: 0,\n };\n }\n\n const logMessageData = this.#logMessageDataSet[runner.id];\n const message = `${\" \".repeat(logMessageData.indent)} [${runner.id}] >> Hello World << ${iteration}`;\n\n this.Debug(message);\n runner.instrumentData.message.push(message);\n\n logMessageData.indent += logMessageData.adder;\n\n if (logMessageData.indent > 20) {\n logMessageData.adder = -1;\n } else if (logMessageData.indent === 0) {\n logMessageData.adder = 1;\n }\n };\n\n /**\n * Ensure a timeout-based telemetry publish is scheduled.\n *\n * Behaviour:\n * - if no publish timeout exists, creates one\n * - when the timeout fires:\n * - publishes telemetry\n * - resets buffered publish count\n * - clears the timeout handle\n *\n * In Node.js the timer is `unref()`'d so it does not keep the process alive.\n */\n #SetupTimeout = async () => {\n if (!this.#publishTelemetryTimeout) {\n this.#publishTelemetryTimeout = setTimeout(async () => {\n this.Debug(\n chalk.yellow(\n ` PublishTelemetryData - Normal Behaviour (**** TIMEOUT ****) `\n )\n );\n await this.#PublishTelemetryData();\n this.#publishTelemetryCount = 0;\n this.#publishTelemetryTimeout = null;\n }, this.#publishTelemetryTimeoutVal);\n\n if (isNode) {\n this.#publishTelemetryTimeout.unref();\n }\n }\n };\n\n /**\n * Publish the current runner telemetry snapshot immediately.\n *\n * Behaviour:\n * - asks the owning worker execution host to post telemetry for this runner\n * - writes a separator line to the local log sink\n * - resets selected per-cycle telemetry fields ready for the next publish window\n * - yields immediately before returning\n *\n * Telemetry fields reset after publish:\n * - `velocity`\n * - `message`\n * - `tx`\n * - `rx`\n *\n * Notes:\n * - not all telemetry fields are reset here; only those intended to behave\n * as per-publish-window accumulators\n */\n #PublishTelemetryData = async () => {\n this.#runnerExecutionWorker.PostTelemetryById(this.#runner.id);\n\n this.Debug(\n chalk.red(\n `------------------------------------------------------------------------------------------------------------`\n )\n );\n\n // Reset transient/per-publish telemetry fields for the next cycle.\n this.#runner.instrumentData.velocity = 0;\n this.#runner.instrumentData.message = [];\n this.#runner.instrumentData.tx = 0;\n this.#runner.instrumentData.rx = 0;\n\n await this.SleepImmediate();\n };\n\n /**\n * Force an immediate telemetry publish regardless of current buffer count.\n *\n * Used for important lifecycle transitions such as:\n * - start\n * - stop\n * - pause\n * - resume\n * - reset\n * - terminate\n * - complete\n */\n #ForcePublishTelemetryData = async () => {\n this.Debug(chalk.magenta(` **** FORCED PUBLISH **** `));\n await this.#PublishTelemetryData();\n };\n\n /**\n * Buffer and publish telemetry using a mixed threshold/timeout strategy.\n *\n * Behaviour:\n * - increments the buffered telemetry count\n * - if the count reaches `#maxBufferSize`:\n * - clears any pending timeout\n * - publishes immediately\n * - resets the buffered count\n * - otherwise ensures a timeout is scheduled\n *\n * This creates a \"whichever happens first\" batching model:\n * - count threshold\n * - timeout threshold\n */\n #PublishTelemetry = async () => {\n this.#publishTelemetryCount++;\n\n if (this.#publishTelemetryCount % this.#maxBufferSize === 0) {\n this.Debug(chalk.cyan(` **** MAX COUNT REACHED **** `));\n this.#publishTelemetryCount = 0;\n\n if (this.#publishTelemetryTimeout) {\n clearTimeout(this.#publishTelemetryTimeout);\n this.#publishTelemetryTimeout = null;\n }\n\n await this.#PublishTelemetryData();\n }\n\n if (!this.#publishTelemetryTimeout) {\n this.#SetupTimeout();\n }\n };\n\n /**\n * Yield immediately to the event loop/microtask queue.\n *\n * Used when the runner wants to behave asynchronously but does not need\n * a real delay.\n *\n * @returns Resolved promise.\n */\n SleepImmediate(): Promise<void> {\n return new Promise((resolve, reject) => {\n resolve();\n });\n }\n\n /**\n * Execute one synthetic unit of work for this runner.\n *\n * Behaviour\n * ---------\n * - captures start time\n * - reads extended runner options\n * - updates telemetry counters/metrics\n * - optionally generates log messages\n * - optionally emits status/progress messages\n * - simulates actual work using:\n * - `Sleep(options.sleepDuration)`, or\n * - immediate yield\n * - decrements active request count\n * - records duration\n * - publishes telemetry using buffered publish logic\n *\n * Telemetry updates performed\n * ---------------------------\n * - `coreCount = 1`\n * - `activeRequestCount++`\n * - `requestCount++`\n * - `velocity++`\n * - `tx += 256000`\n * - `rx += 6500000`\n * - `duration = measured execution time`\n *\n * Notes\n * -----\n * - This method simulates real work rather than performing domain logic\n * - It is intended to validate the framework's runner/telemetry lifecycle\n * - After the awaited work delay, the actual framework runner state may have\n * changed externally, but this test implementation does not directly react here\n *\n * @returns `true` when the synthetic work cycle completes.\n */\n ExecuteRunner = async (): Promise<any> => {\n const start = performance.now();\n const options = this.#runner.options as IRunnerOptionsEx;\n\n this.#runner.instrumentData.coreCount = 1;\n this.#runner.instrumentData.activeRequestCount++;\n this.#runner.instrumentData.requestCount++;\n this.#runner.instrumentData.velocity++;\n this.#runner.instrumentData.tx += 256000;\n this.#runner.instrumentData.rx += 6500000;\n\n if (\n this.#runner.instrumentData.requestCount % options.logMessageMod ===\n 0\n ) {\n this.#GenLogMessage(this.#runner, this.#runner.iteration);\n }\n\n if (this.#runner.instrumentData.requestCount % 1 === 0) {\n const message = `Worker: [${this.#runner.asyncRunnerContext.threadId}], Runner: [${this.#runner.asyncRunnerContext.id}] has completed: [${this.#runner.instrumentData.requestCount}] iterations of max: [${options.executionProfile.iterations}]`;\n this.Debug(message);\n this.#runner.instrumentData.message = [message];\n }\n\n /**\n * Simulate actual work.\n *\n * In real runner implementations this is where domain-specific work would occur:\n * - REST calls\n * - DB access\n * - browser automation\n * - file processing\n * etc.\n */\n if (options.sleepDuration > 0) {\n await Sleep(options.sleepDuration);\n } else {\n await this.SleepImmediate();\n }\n\n this.#runner.instrumentData.activeRequestCount--;\n\n const end = performance.now();\n const diff = end - start;\n this.#runner.instrumentData.duration = diff;\n\n await this.#PublishTelemetry();\n\n return true;\n };\n\n /**\n * Write a grey-coloured lifecycle message into the runner telemetry message buffer\n * and publish telemetry using normal buffered publish logic.\n *\n * @param message Lifecycle/status message to emit.\n */\n #OutputLogMessage = async (message: string): Promise<void> => {\n const messageOutput = chalk.grey(message);\n this.Debug(messageOutput);\n this.#runner.instrumentData.message.push(messageOutput);\n await this.#PublishTelemetry();\n };\n\n /**\n * Handle framework \"start\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n StartRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`StartRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"stop\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n StopRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`StopRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"terminate\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n TerminateRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`TerminateRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"completed\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a completion lifecycle message including current telemetry snapshot\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n Completed = async (): Promise<any> => {\n await this.#OutputLogMessage(\n `Completed [${this.#runner.id}] [${JSON.stringify(this.#runner.instrumentData)}]`\n );\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"pause\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n * - returns a descriptive diagnostic string\n *\n * @returns Diagnostic pause message.\n */\n PauseRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`PauseRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return `I have been paused at iteration: [${this.#runner.iteration}] Date: [${new Date()}] Performance: [${performance.now()}]`;\n };\n\n /**\n * Handle framework \"resume\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n * - returns a descriptive diagnostic string\n *\n * @returns Diagnostic resume message.\n */\n ResumeRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`ResumeRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return `I have been resumed at iteration: [${this.#runner.iteration}] Date: [${new Date()}] Performance: [${performance.now()}]`;\n };\n\n /**\n * Handle framework \"reset\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - resets `requestCount` to zero\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n ResetRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`ResetRunner [${this.#runner.id}]`);\n this.#runner.instrumentData.requestCount = 0;\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"update\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * Note:\n * - this implementation does not directly apply option changes itself;\n * it simply acknowledges the lifecycle event for framework testing\n *\n * @returns `true`\n */\n UpdateRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`UpdateOptions [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF\n\n/**\n * TestCase02\n * ==========\n *\n * Second concrete example runner used to test and demonstrate the runner framework.\n *\n * Purpose\n * -------\n * `TestCase02` is a synthetic runner implementation very similar to `TestCase01`,\n * but with slightly different behaviour and output style. It is intended to help\n * validate that the framework can host multiple concrete runner types behind the\n * same worker/runtime abstraction.\n *\n * This test runner is useful for exercising:\n *\n * - runner lifecycle callbacks\n * - telemetry batching and publishing\n * - execution timing/duration capture\n * - log message generation\n * - active request tracking\n * - update/reset/pause/resume/terminate flows\n * - multiple concrete test runner implementations in the same framework\n *\n * Key difference from TestCase01\n * ------------------------------\n * While structurally very similar to `TestCase01`, this runner also writes a\n * per-iteration status message directly to the provided logger.\n *\n * That makes this class useful when you want:\n *\n * - visible console progress while testing\n * - easier manual observation of iteration flow\n * - a second runner implementation to verify type-based runner selection\n *\n * Architectural role\n * ------------------\n * `TestCase02` is a concrete implementation of {@link IRunnerInstance}.\n *\n * It is hosted by a worker-side execution host such as `WorkerTestCases`,\n * which itself derives from {@link AbstractRunnerExecutionWorker}.\n *\n * Like `TestCase01`, this runner does not perform real business work. Instead,\n * it simulates repeatable work and emits telemetry so the surrounding framework\n * can be validated.\n */\n\nimport {\n AbstractRunnerExecutionWorker,\n IRunnerInstance,\n IRunnerOptions,\n IRunner,\n} from \"@nsshunt/stsrunnerframework\";\n\nimport chalk from \"chalk\";\n\nimport { Sleep, isNode } from \"@nsshunt/stsutils\";\n\n/**\n * Internal mutable state used to generate animated/indented log messages.\n *\n * Fields:\n * - `indent`: current indentation level\n * - `adder`: current direction/step applied to the indentation\n */\ndeclare interface LogMessageData {\n /**\n * Current indentation width used when generating the next message.\n */\n indent: number;\n\n /**\n * Current step/direction for indentation movement.\n *\n * Usually:\n * - `1` when indentation is increasing\n * - `-1` when indentation is decreasing\n */\n adder: number;\n}\n\n/**\n * Per-runner map of generated-log indentation state.\n *\n * Key:\n * - runner id\n *\n * Value:\n * - current indentation/direction state for that runner's generated messages\n */\ndeclare type LogMessageDataSet = Record<string, LogMessageData>;\n\n/**\n * Extended runner options used by `TestCase02`.\n *\n * In addition to the standard runner options, this test runner supports:\n *\n * - `sleepDuration`\n * - `logMessageMod`\n * - `colourIndex`\n */\nexport interface IRunnerOptionsEx extends IRunnerOptions {\n /**\n * Simulated work delay in milliseconds for each execution cycle.\n */\n sleepDuration: number;\n\n /**\n * Frequency used for generated \"Hello World\" log messages.\n *\n * Example:\n * - if set to `10`, an animated log message is generated every 10 requests.\n */\n logMessageMod: number;\n\n /**\n * Placeholder/example option for colour selection.\n *\n * Present for testing/extensibility, though not directly used in the logic shown.\n */\n colourIndex: number;\n}\n\n/**\n * Concrete synthetic test runner implementation.\n *\n * This runner simulates work, updates telemetry, batches telemetry publishing,\n * and writes both internal telemetry messages and visible console progress.\n */\nexport class TestCase02 implements IRunnerInstance {\n /**\n * Live serialisable runner model/state for this test runner.\n *\n * This object is mutated as execution and telemetry progress.\n */\n #runner: IRunner;\n\n /**\n * Owning worker-side execution host.\n *\n * Used primarily to publish telemetry for this runner back to the manager.\n */\n #runnerExecutionWorker: AbstractRunnerExecutionWorker;\n\n /**\n * Per-runner animated log message state.\n */\n #logMessageDataSet: LogMessageDataSet = {};\n\n /**\n * Timeout handle used for delayed telemetry publication.\n *\n * Supports timeout-based flush behaviour when the publish count threshold\n * has not yet been reached.\n */\n #publishTelemetryTimeout: any = null;\n\n /**\n * Count of buffered telemetry-publish requests since the last flush.\n */\n #publishTelemetryCount: number = 0;\n\n /**\n * Maximum buffered publish count before telemetry is flushed immediately.\n *\n * This should remain lower than the maximum observability/logging buffer size\n * used elsewhere in the framework.\n */\n #maxBufferSize = 50;\n\n /**\n * Maximum time in milliseconds to wait before flushing telemetry.\n *\n * Publish strategy:\n * - whichever happens first:\n * - max buffer size reached\n * - timeout reached\n */\n #publishTelemetryTimeoutVal = 1000;\n\n /**\n * Construct a new `TestCase02` runner.\n *\n * @param runnerExecutionWorker Owning worker-side execution host.\n * @param runner Live runner model/state.\n */\n constructor(\n runnerExecutionWorker: AbstractRunnerExecutionWorker,\n runner: IRunner\n ) {\n this.#runnerExecutionWorker = runnerExecutionWorker;\n this.#runner = runner;\n }\n\n Debug = (message: any) => {\n this.#runnerExecutionWorker.logger.debug(message);\n };\n\n /**\n * Generate an animated indented \"Hello World\" style log message.\n *\n * Behaviour:\n * - initialises per-runner indentation state if needed\n * - builds a message with variable indentation\n * - appends the message to the runner telemetry message buffer\n * - updates indentation direction when bounds are reached\n *\n * Indentation pattern:\n * - grows from 0 upward\n * - reverses after exceeding 20\n * - reverses again when returning to 0\n *\n * @param runner Runner whose message should be generated.\n * @param iteration Current iteration number.\n */\n #GenLogMessage = (runner: IRunner, iteration: number) => {\n if (!this.#logMessageDataSet[runner.id]) {\n this.#logMessageDataSet[runner.id] = {\n adder: 1,\n indent: 0,\n };\n }\n\n const logMessageData = this.#logMessageDataSet[runner.id];\n const message = `${\" \".repeat(logMessageData.indent)} [${runner.id}] >> Hello World << ${iteration}`;\n\n this.Debug(message);\n runner.instrumentData.message.push(message);\n\n logMessageData.indent += logMessageData.adder;\n\n if (logMessageData.indent > 20) {\n logMessageData.adder = -1;\n } else if (logMessageData.indent === 0) {\n logMessageData.adder = 1;\n }\n };\n\n /**\n * Schedule a timeout-based telemetry flush if one is not already active.\n *\n * Behaviour:\n * - creates a timeout only when no current timeout exists\n * - when the timeout fires:\n * - telemetry is published\n * - buffered publish count is reset\n * - timeout handle is cleared\n *\n * In Node.js, the timer is `unref()`'d so it does not keep the process alive.\n */\n #SetupTimeout = async () => {\n if (!this.#publishTelemetryTimeout) {\n this.#publishTelemetryTimeout = setTimeout(async () => {\n this.Debug(\n chalk.yellow(\n ` PublishTelemetryData - Normal Behaviour (**** TIMEOUT ****) `\n )\n );\n await this.#PublishTelemetryData();\n this.#publishTelemetryCount = 0;\n this.#publishTelemetryTimeout = null;\n }, this.#publishTelemetryTimeoutVal);\n\n if (isNode) {\n this.#publishTelemetryTimeout.unref();\n }\n }\n };\n\n /**\n * Publish the current telemetry snapshot immediately.\n *\n * Behaviour:\n * - asks the owning execution worker to post telemetry for this runner\n * - writes a separator line to the local test log sink\n * - resets transient per-publish telemetry fields\n * - yields immediately before returning\n *\n * Reset after publish:\n * - `velocity`\n * - `message`\n * - `tx`\n * - `rx`\n */\n #PublishTelemetryData = async () => {\n this.#runnerExecutionWorker.PostTelemetryById(this.#runner.id);\n\n this.Debug(\n chalk.red(\n `------------------------------------------------------------------------------------------------------------`\n )\n );\n\n // Reset transient/per-flush telemetry values.\n this.#runner.instrumentData.velocity = 0;\n this.#runner.instrumentData.message = [];\n this.#runner.instrumentData.tx = 0;\n this.#runner.instrumentData.rx = 0;\n\n await this.SleepImmediate();\n };\n\n /**\n * Force an immediate telemetry publication.\n *\n * Used for lifecycle transitions where immediate visibility is desirable.\n */\n #ForcePublishTelemetryData = async () => {\n this.Debug(chalk.magenta(` **** FORCED PUBLISH **** `));\n await this.#PublishTelemetryData();\n };\n\n /**\n * Buffer telemetry and publish using a threshold-or-timeout strategy.\n *\n * Behaviour:\n * - increments buffered telemetry count\n * - when the count reaches `#maxBufferSize`:\n * - clears any pending timeout\n * - immediately publishes telemetry\n * - resets buffered count\n * - otherwise ensures a timeout flush is scheduled\n *\n * This gives a \"first trigger wins\" strategy:\n * - count threshold reached\n * - timeout reached\n */\n #PublishTelemetry = async () => {\n this.#publishTelemetryCount++;\n\n if (this.#publishTelemetryCount % this.#maxBufferSize === 0) {\n this.Debug(chalk.cyan(` **** MAX COUNT REACHED **** `));\n this.#publishTelemetryCount = 0;\n\n if (this.#publishTelemetryTimeout) {\n clearTimeout(this.#publishTelemetryTimeout);\n this.#publishTelemetryTimeout = null;\n }\n\n await this.#PublishTelemetryData();\n }\n\n if (!this.#publishTelemetryTimeout) {\n this.#SetupTimeout();\n }\n };\n\n /**\n * Yield immediately to the event loop/microtask queue.\n *\n * Used when asynchronous behaviour is desired but no real delay is needed.\n *\n * @returns Resolved promise.\n */\n SleepImmediate(): Promise<void> {\n return new Promise((resolve, reject) => {\n resolve();\n });\n }\n\n /**\n * Execute one synthetic unit of work for this runner.\n *\n * Behaviour\n * ---------\n * - captures start time\n * - reads extended test options\n * - updates runner telemetry\n * - optionally generates animated telemetry messages\n * - always generates a progress message for telemetry\n * - simulates work with either:\n * - `Sleep(options.sleepDuration)`, or\n * - immediate yield\n * - decrements active request count\n * - calculates and stores execution duration\n * - performs buffered telemetry publication\n *\n * Telemetry fields updated\n * ------------------------\n * - `coreCount = 1`\n * - `activeRequestCount++`\n * - `requestCount++`\n * - `velocity++`\n * - `tx += 256000`\n * - `rx += 6500000`\n * - `duration = measured elapsed time`\n *\n * Additional visible behaviour\n * ----------------------------\n * Unlike `TestCase01`, this implementation always writes a progress message\n * directly to the process/browser console using the provided logger.\n *\n * This makes it more useful for manually watching test progress while the\n * framework is running.\n *\n * @returns `true` when the simulated work cycle completes.\n */\n ExecuteRunner = async (): Promise<boolean> => {\n const start = performance.now();\n const options = this.#runner.options as IRunnerOptionsEx;\n\n this.#runner.instrumentData.coreCount = 1;\n this.#runner.instrumentData.activeRequestCount++;\n this.#runner.instrumentData.requestCount++;\n this.#runner.instrumentData.velocity++;\n this.#runner.instrumentData.tx += 256000;\n this.#runner.instrumentData.rx += 6500000;\n\n if (\n this.#runner.instrumentData.requestCount % options.logMessageMod ===\n 0\n ) {\n this.#GenLogMessage(this.#runner, this.#runner.iteration);\n }\n\n if (this.#runner.instrumentData.requestCount % 1 === 0) {\n const message = `Worker: [${this.#runner.asyncRunnerContext.threadId}], Runner: [${this.#runner.asyncRunnerContext.id}] has completed: [${this.#runner.instrumentData.requestCount}] iterations of max: [${options.executionProfile.iterations}]`;\n this.Debug(message);\n this.#runner.instrumentData.message = [message];\n }\n\n /**\n * Visible console output for manual observation/debugging.\n *\n * This is the main behavioural difference from `TestCase01`.\n */\n const message = `Worker: [${this.#runner.asyncRunnerContext.threadId}], Runner: [${this.#runner.asyncRunnerContext.id}] has completed: [${this.#runner.instrumentData.requestCount}] iterations of max: [${options.executionProfile.iterations}]`;\n\n this.Debug(message);\n\n /**\n * Simulate actual work.\n *\n * In a real runner implementation this would be replaced with\n * domain-specific work such as:\n * - REST/API calls\n * - browser interactions\n * - DB operations\n * - file processing\n * etc.\n */\n if (options.sleepDuration > 0) {\n await Sleep(options.sleepDuration);\n } else {\n await this.SleepImmediate();\n }\n\n this.#runner.instrumentData.activeRequestCount--;\n\n const end = performance.now();\n const diff = end - start;\n this.#runner.instrumentData.duration = diff;\n\n await this.#PublishTelemetry();\n\n return true;\n };\n\n /**\n * Write a grey-coloured lifecycle message into the runner telemetry message buffer\n * and publish telemetry using normal buffered publish rules.\n *\n * @param message Lifecycle/status message to emit.\n */\n #OutputLogMessage = async (message: string): Promise<void> => {\n const messageOutput = chalk.grey(message);\n this.Debug(messageOutput);\n this.#runner.instrumentData.message.push(messageOutput);\n await this.#PublishTelemetry();\n };\n\n /**\n * Handle framework \"start\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n StartRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`StartRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"stop\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n StopRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`StopRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"terminate\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n TerminateRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`TerminateRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"completed\" lifecycle event.\n *\n * Behaviour:\n * - writes a completion message including the current telemetry snapshot\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n Completed = async (): Promise<boolean> => {\n await this.#OutputLogMessage(\n `Completed [${this.#runner.id}] [${JSON.stringify(this.#runner.instrumentData)}]`\n );\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"pause\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n PauseRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`PauseRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"resume\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n ResumeRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`ResumeRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"reset\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - resets `requestCount` to zero\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n ResetRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`ResetRunner [${this.#runner.id}]`);\n this.#runner.instrumentData.requestCount = 0;\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"update\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * Note:\n * - this implementation acknowledges the update event but does not apply\n * custom update logic itself\n *\n * @returns `true`\n */\n UpdateRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`UpdateOptions [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n}\n","import {\n IRunnerInstance,\n ITestRunnerTelemetryPayload,\n AbstractRunnerExecutionWorker,\n} from \"@nsshunt/stsrunnerframework\";\n\nimport { TestCaseFhir01 } from \"./testCaseFhir01.js\";\nimport { TestCaseFhir02 } from \"./testCaseFhir02.js\";\nimport { TestCaseFhir03 } from \"./testCaseFhir03.js\";\nimport { TestCaseFhir04 } from \"./testCaseFhir04.js\";\nimport { TestCaseFhir05 } from \"./testCaseFhir05.js\";\nimport { TestCaseFhir06 } from \"./testCaseFhir06.js\";\nimport { TestCaseFhir07 } from \"./testCaseFhir07.js\";\nimport { TestCaseFhir08 } from \"./testCaseFhir08.js\";\nimport { TestCaseFhir09 } from \"./testCaseFhir09.js\";\nimport { TestCaseFhir20 } from \"./testCaseFhir20.js\";\n\nimport { TestCase01 } from \"./testCase01.js\";\nimport { TestCase02 } from \"./testCase02.js\";\n\nexport class AsyncRunnerFactory {\n static CreateAsyncRunner = async (\n runnerExecutionWorker: AbstractRunnerExecutionWorker,\n testRunnerTelemetryPayload: ITestRunnerTelemetryPayload\n ): Promise<IRunnerInstance | null> => {\n const { runner } = testRunnerTelemetryPayload;\n switch (runner.options.testType) {\n case \"TestCase01\":\n return new TestCase01(runnerExecutionWorker, runner);\n case \"TestCase02\":\n return new TestCase02(runnerExecutionWorker, runner);\n case \"TestCaseFhir01\":\n return new TestCaseFhir01(runnerExecutionWorker, runner);\n case \"TestCaseFhir02\":\n return new TestCaseFhir02(runnerExecutionWorker, runner);\n case \"TestCaseFhir03\":\n return new TestCaseFhir03(runnerExecutionWorker, runner);\n case \"TestCaseFhir04\":\n return new TestCaseFhir04(runnerExecutionWorker, runner);\n case \"TestCaseFhir05\":\n return new TestCaseFhir05(runnerExecutionWorker, runner);\n case \"TestCaseFhir06\":\n return new TestCaseFhir06(runnerExecutionWorker, runner);\n case \"TestCaseFhir07\":\n return new TestCaseFhir07(runnerExecutionWorker, runner);\n case \"TestCaseFhir08\":\n return new TestCaseFhir08(runnerExecutionWorker, runner);\n case \"TestCaseFhir09\":\n return new TestCaseFhir09(runnerExecutionWorker, runner);\n case \"TestCaseFhir20\":\n return new TestCaseFhir20(runnerExecutionWorker, runner);\n }\n return null;\n };\n}\n","var e=class extends Error{};const t=Symbol(`FakerLocaleProxy`),n=()=>{throw new e(`You cannot edit the locale data on the faker instance`)};function r(e){return typeof e==`object`&&!!e&&e?.[t]===!0}function i(e){if(r(e))return e;let i={raw:e};return new Proxy(e,{has(){return!0},get(e,n){return typeof n==`symbol`?n===t||e[n]:n===`nodeType`?e[n]:i[n]??=o(n,e[n])},set:n,deleteProperty:n})}function a(t,...n){if(t===null)throw new e(`The locale data for '${n.join(`.`)}' aren't applicable to this locale.\n If you think this is a bug, please report it at: https://github.com/faker-js/faker`);if(t===void 0)throw new e(`The locale data for '${n.join(`.`)}' are missing in this locale.\n If this is a custom Faker instance, please make sure all required locales are used e.g. '[de_AT, de, en, base]'.\n Please contribute the missing data to the project or use a locale/Faker instance that has these data.\n For more information see https://fakerjs.dev/guide/localization.html`)}function o(e,t={}){return new Proxy(t,{has(e,t){return e[t]!=null},get(t,n){let r=t[n];return typeof n==`symbol`||n===`nodeType`||a(r,e,n.toString()),r},set:n,deleteProperty:n})}function s(e){let t={};for(let n of e)for(let e in n){let r=n[e];t[e]===void 0?t[e]={...r}:t[e]={...r,...t[e]}}return t}const c=2567483615,l=2**31-1,u=2**31,{imul:d,trunc:f}=Math;function p(e){return typeof e==`number`?m(e):h(e)}function m(e){let t=Array.from({length:624});t[0]=e;for(let e=1;e!==624;++e){let n=t[e-1]^t[e-1]>>>30;t[e]=f(d(1812433253,n)+e)}return t}function h(e){let t=m(19650218),n=1,r=0;for(let i=Math.max(624,e.length);i!==0;--i){let i=t[n-1]^t[n-1]>>>30;t[n]=f((t[n]^d(i,1664525))+e[r]+r),n++,r++,n>=624&&(t[0]=t[623],n=1),r>=e.length&&(r=0)}for(let e=623;e!==0;e--)t[n]=f((t[n]^d(t[n-1]^t[n-1]>>>30,1566083941))-n),n++,n>=624&&(t[0]=t[623],n=1);return t[0]=2147483648,t}function g(e){for(let t=0;t!==227;++t){let n=(e[t]&u)+(e[t+1]&l);e[t]=e[t+397]^n>>>1^-(n&1)&c}for(let t=227;t!==623;++t){let n=(e[t]&u)+(e[t+1]&l);e[t]=e[t+397-624]^n>>>1^-(n&1)&c}let t=(e[623]&u)+(e[0]&l);return e[623]=e[396]^t>>>1^-(t&1)&c,e}var _=class{states;index;constructor(e=Math.random()*(2**53-1),t=g(p(e)),n=0){this.states=t,this.index=n}nextU32(){let e=this.states[this.index];return e^=this.states[this.index]>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,++this.index>=624&&(this.states=g(this.states),this.index=0),e>>>0}nextF32(){return this.nextU32()*23283064365386963e-26}nextU53(){let e=this.nextU32()>>>5,t=this.nextU32()>>>6;return e*67108864+t}nextF53(){return this.nextU53()*11102230246251565e-32}seed(e){this.states=g(p(e)),this.index=0}};function v(){return Math.ceil(Math.random()*(2**53-1))}function ee(e=v()){let t=new _(e);return{next(){return t.nextF32()},seed(e){t.seed(e)}}}function y(e=v()){let t=new _(e);return{next(){return t.nextF53()},seed(e){t.seed(e)}}}function te(e={}){let{locale:t={},randomizer:n=y(),config:r={},seed:a}=e;return n!=null&&a!=null&&n.seed(a),{locale:i(Array.isArray(t)?s(t):t),randomizer:n,config:r}}function b(){return ne}const ne=({next:e})=>e();function re(e){let t=Object.getPrototypeOf(e);do{for(let n of Object.getOwnPropertyNames(t))typeof e[n]==`function`&&n!==`constructor`&&(e[n]=e[n].bind(e));t=Object.getPrototypeOf(t)}while(t!==Object.prototype)}var x=class{faker;constructor(e){this.faker=e,re(this)}},S=class extends x{faker;constructor(e){super(e),this.faker=e}};let C=function(e){return e.Narrowbody=`narrowbody`,e.Regional=`regional`,e.Widebody=`widebody`,e}({});const ie=[`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`],ae=[`0`,`O`,`1`,`I`,`L`],oe={regional:20,narrowbody:35,widebody:60},se={regional:[`A`,`B`,`C`,`D`],narrowbody:[`A`,`B`,`C`,`D`,`E`,`F`],widebody:[`A`,`B`,`C`,`D`,`E`,`F`,`G`,`H`,`J`,`K`]};var ce=class extends S{airport(){return this.faker.helpers.arrayElement(this.faker.definitions.airline.airport)}airline(){return this.faker.helpers.arrayElement(this.faker.definitions.airline.airline)}airplane(){return this.faker.helpers.arrayElement(this.faker.definitions.airline.airplane)}recordLocator(e={}){let{allowNumerics:t=!1,allowVisuallySimilarCharacters:n=!1}=e,r=[];return t||r.push(...ie),n||r.push(...ae),this.faker.string.alphanumeric({length:6,casing:`upper`,exclude:r})}seat(e={}){let{aircraftType:t=`narrowbody`}=e,n=oe[t],r=se[t];return`${this.faker.number.int({min:1,max:n})}${this.faker.helpers.arrayElement(r)}`}aircraftType(){return this.faker.helpers.enumValue(C)}flightNumber(e={}){let{length:t={min:1,max:4},addLeadingZeros:n=!1}=e,r=this.faker.string.numeric({length:t,allowLeadingZeros:!1});return n?r.padStart(4,`0`):r}},le=class extends S{dog(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.dog)}cat(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.cat)}snake(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.snake)}bear(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.bear)}lion(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.lion)}cetacean(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.cetacean)}horse(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.horse)}bird(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.bird)}cow(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.cow)}fish(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.fish)}crocodilia(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.crocodilia)}insect(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.insect)}rabbit(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.rabbit)}rodent(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.rodent)}type(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.type)}petName(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.pet_name)}},ue=class extends S{author(){return this.faker.helpers.arrayElement(this.faker.definitions.book.author)}format(){return this.faker.helpers.arrayElement(this.faker.definitions.book.format)}genre(){return this.faker.helpers.arrayElement(this.faker.definitions.book.genre)}publisher(){return this.faker.helpers.arrayElement(this.faker.definitions.book.publisher)}series(){return this.faker.helpers.arrayElement(this.faker.definitions.book.series)}title(){return this.faker.helpers.arrayElement(this.faker.definitions.book.title)}};let w=function(e){return e.SRGB=`sRGB`,e.DisplayP3=`display-p3`,e.REC2020=`rec2020`,e.A98RGB=`a98-rgb`,e.ProphotoRGB=`prophoto-rgb`,e}({}),T=function(e){return e.RGB=`rgb`,e.RGBA=`rgba`,e.HSL=`hsl`,e.HSLA=`hsla`,e.HWB=`hwb`,e.CMYK=`cmyk`,e.LAB=`lab`,e.LCH=`lch`,e.COLOR=`color`,e}({});function de(e,t){let{prefix:n,casing:r}=t;switch(r){case`upper`:e=e.toUpperCase();break;case`lower`:e=e.toLowerCase();break;case`mixed`:}return n&&(e=n+e),e}function E(e){return e.map(e=>{if(e%1!=0){let t=new ArrayBuffer(4);return new DataView(t).setFloat32(0,e),E([...new Uint8Array(t)]).replaceAll(` `,``)}return(e>>>0).toString(2).padStart(8,`0`)}).join(` `)}function D(e){return Math.round(e*100)}function fe(e,t=`rgb`,n=`sRGB`){switch(t){case`rgba`:return`rgba(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]})`;case`color`:return`color(${n} ${e[0]} ${e[1]} ${e[2]})`;case`cmyk`:return`cmyk(${D(e[0])}%, ${D(e[1])}%, ${D(e[2])}%, ${D(e[3])}%)`;case`hsl`:return`hsl(${e[0]}deg ${D(e[1])}% ${D(e[2])}%)`;case`hsla`:return`hsl(${e[0]}deg ${D(e[1])}% ${D(e[2])}% / ${e[3]})`;case`hwb`:return`hwb(${e[0]} ${D(e[1])}% ${D(e[2])}%)`;case`lab`:return`lab(${D(e[0])}% ${e[1]} ${e[2]})`;case`lch`:return`lch(${D(e[0])}% ${e[1]} ${e[2]})`;case`rgb`:return`rgb(${e[0]}, ${e[1]}, ${e[2]})`}}function O(e,t,n=`rgb`,r=`sRGB`){switch(t){case`css`:return fe(e,n,r);case`binary`:return E(e);case`decimal`:return e}}var pe=class extends S{human(){return this.faker.helpers.arrayElement(this.faker.definitions.color.human)}space(){return this.faker.helpers.arrayElement(this.faker.definitions.color.space)}cssSupportedFunction(){return this.faker.helpers.enumValue(T)}cssSupportedSpace(){return this.faker.helpers.enumValue(w)}rgb(e={}){let{format:t=`hex`,includeAlpha:n=!1,prefix:r=`#`,casing:i=`lower`}=e,a;if(t===`hex`)return a=this.faker.string.hexadecimal({length:n?8:6,prefix:``}),a=de(a,{prefix:r,casing:i}),a;let o=`rgb`;return a=Array.from({length:3},()=>this.faker.number.int(255)),n&&(a.push(this.faker.number.float({multipleOf:.01})),o=`rgba`),O(a,t,o)}cmyk(e={}){let{format:t=`decimal`}=e;return O(Array.from({length:4},()=>this.faker.number.float({multipleOf:.01})),t,`cmyk`)}hsl(e={}){let{format:t=`decimal`,includeAlpha:n=!1}=e,r=[this.faker.number.int(360)];for(let t=0;t<(e?.includeAlpha?3:2);t++)r.push(this.faker.number.float({multipleOf:.01}));return O(r,t,n?`hsla`:`hsl`)}hwb(e={}){let{format:t=`decimal`}=e,n=[this.faker.number.int(360)];for(let e=0;e<2;e++)n.push(this.faker.number.float({multipleOf:.01}));return O(n,t,`hwb`)}lab(e={}){let{format:t=`decimal`}=e,n=[this.faker.number.float({multipleOf:1e-6})];for(let e=0;e<2;e++)n.push(this.faker.number.float({min:-100,max:100,multipleOf:1e-4}));return O(n,t,`lab`)}lch(e={}){let{format:t=`decimal`}=e;return O([this.faker.number.float({multipleOf:1e-6}),this.faker.number.float({max:230,multipleOf:.1}),this.faker.number.float({max:360,multipleOf:.1})],t,`lch`)}colorByCSSColorSpace(e={}){let{format:t=`decimal`,space:n=`sRGB`}=e;return O(Array.from({length:3},()=>this.faker.number.float({multipleOf:1e-4})),t,`color`,n)}};function me(t){if(!/^\\d{11}$/.test(t))throw new e(`calculateUPCCheckDigit expects exactly 11 numeric digits`);let n=0,r=0;for(let e of t)n+=Number.parseInt(e,10)*(r%2==0?3:1),r++;return(10-n%10)%10}const he={0:[[1999999,2],[2279999,3],[2289999,4],[3689999,3],[3699999,4],[6389999,3],[6397999,4],[6399999,7],[6449999,3],[6459999,7],[6479999,3],[6489999,7],[6549999,3],[6559999,4],[6999999,3],[8499999,4],[8999999,5],[9499999,6],[9999999,7]],1:[[99999,3],[299999,2],[349999,3],[399999,4],[499999,3],[699999,2],[999999,4],[3979999,3],[5499999,4],[6499999,5],[6799999,4],[6859999,5],[7139999,4],[7169999,3],[7319999,4],[7399999,7],[7749999,5],[7753999,7],[7763999,5],[7764999,7],[7769999,5],[7782999,7],[7899999,5],[7999999,4],[8004999,5],[8049999,5],[8379999,5],[8384999,7],[8671999,5],[8675999,4],[8697999,5],[9159999,6],[9165059,7],[9168699,6],[9169079,7],[9195999,6],[9196549,7],[9729999,6],[9877999,4],[9911499,6],[9911999,7],[9989899,6],[9999999,7]]};var ge=class extends S{department(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.department)}productName(){let e=this.faker.definitions.commerce.product_name.pattern;return this.faker.helpers.fake(e)}price(e={}){let{dec:t=2,max:n=1e3,min:r=1,symbol:i=``}=e;if(r<0||n<0)return`${i}0`;if(r===n)return`${i}${r.toFixed(t)}`;let a=this.faker.number.float({min:r,max:n,fractionDigits:t});if(t===0)return`${i}${a.toFixed(t)}`;let o=a*10**t%10,s=this.faker.helpers.weightedArrayElement([{weight:5,value:9},{weight:3,value:5},{weight:1,value:0},{weight:1,value:this.faker.number.int({min:0,max:9})}]),c=(1/10)**t,l=o*c,u=s*c,d=a-l+u;return r<=d&&d<=n?`${i}${d.toFixed(t)}`:`${i}${a.toFixed(t)}`}productAdjective(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_name.adjective)}productMaterial(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_name.material)}product(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_name.product)}productDescription(){return this.faker.helpers.fake(this.faker.definitions.commerce.product_description)}isbn(t={}){typeof t==`number`&&(t={variant:t});let{variant:n=13,separator:r=`-`}=t,[i,a]=this.faker.helpers.objectEntry(he),o=this.faker.string.numeric(8),s=Number.parseInt(o.slice(0,-1)),c=a.find(([e])=>s<=e)?.[1];if(!c)throw new e(`Unable to find a registrant length for the group ${i}`);let l=[`978`,i,o.slice(0,c),o.slice(c)];n===10&&l.shift();let u=l.join(``),d=0;for(let e=0;e<n-1;e++){let t=n===10?e+1:e%2?3:1;d+=t*Number.parseInt(u[e])}return d=n===10?d%11:(10-d%10)%10,l.push(d===10?`X`:d.toString()),l.join(r)}upc(t={}){let{prefix:n=``}=t;if(n&&/\\D/.test(n))throw new e(`Prefix must contain only numeric digits`);if(n.length>11)throw new e(`Prefix must be at most 11 numeric digits`);let r=11-n.length,i=`${n}${this.faker.string.numeric({length:r,allowLeadingZeros:!0})}`;return`${i}${me(i)}`}},_e=class extends S{name(){return this.faker.helpers.fake(this.faker.definitions.company.name_pattern)}catchPhrase(){return[this.catchPhraseAdjective(),this.catchPhraseDescriptor(),this.catchPhraseNoun()].join(` `)}buzzPhrase(){return[this.buzzVerb(),this.buzzAdjective(),this.buzzNoun()].join(` `)}catchPhraseAdjective(){return this.faker.helpers.arrayElement(this.faker.definitions.company.adjective)}catchPhraseDescriptor(){return this.faker.helpers.arrayElement(this.faker.definitions.company.descriptor)}catchPhraseNoun(){return this.faker.helpers.arrayElement(this.faker.definitions.company.noun)}buzzAdjective(){return this.faker.helpers.arrayElement(this.faker.definitions.company.buzz_adjective)}buzzVerb(){return this.faker.helpers.arrayElement(this.faker.definitions.company.buzz_verb)}buzzNoun(){return this.faker.helpers.arrayElement(this.faker.definitions.company.buzz_noun)}},ve=class extends S{column(){return this.faker.helpers.arrayElement(this.faker.definitions.database.column)}type(){return this.faker.helpers.arrayElement(this.faker.definitions.database.type)}collation(){return this.faker.helpers.arrayElement(this.faker.definitions.database.collation)}engine(){return this.faker.helpers.arrayElement(this.faker.definitions.database.engine)}mongodbObjectId(){return this.faker.string.hexadecimal({length:24,casing:`lower`,prefix:``})}};function k(t,n=`refDate`){let r=new Date(t);if(Number.isNaN(r.valueOf()))throw new e(`Invalid ${n} date: ${t.toString()}`);return r}var A=class extends x{anytime(e={}){let{refDate:t=this.faker.defaultRefDate()}=e,n=k(t).getTime();return this.between({from:n-1e3*60*60*24*365,to:n+1e3*60*60*24*365})}past(t={}){let{refDate:n=this.faker.defaultRefDate()}=t,{years:r=1}=t;if(typeof r==`number`&&(r={min:0,max:r}),r.max<=0)throw new e(`Years must be greater than 0.`);if(r.min>=r.max)throw new e(`The maximum amount of years must be greater than the minimum amount of years.`);let i=k(n),a=new Date(i);a.setUTCFullYear(a.getUTCFullYear()-r.max);let o=new Date(i);return o.setUTCFullYear(o.getUTCFullYear()-r.min),this.between({from:a,to:o.getTime()-1e3})}future(t={}){let{refDate:n=this.faker.defaultRefDate()}=t,{years:r=1}=t;if(typeof r==`number`&&(r={min:0,max:r}),r.max<=0)throw new e(`Years must be greater than 0.`);if(r.min>=r.max)throw new e(`The maximum amount of years must be greater than the minimum amount of years.`);let i=k(n),a=new Date(i);a.setUTCFullYear(a.getUTCFullYear()+r.min);let o=new Date(i);return o.setUTCFullYear(o.getUTCFullYear()+r.max),this.between({from:a.getTime()+1e3,to:o})}between(t){let{from:n,to:r}=t,i=k(n,`from`).getTime(),a=k(r,`to`).getTime();if(i>a)throw new e(\"`from` date must be before `to` date.\");return new Date(this.faker.number.int({min:i,max:a}))}betweens(e){let{from:t,to:n,count:r=3}=e;return this.faker.helpers.multiple(()=>this.between({from:t,to:n}),{count:r}).toSorted((e,t)=>e.getTime()-t.getTime())}recent(t={}){let{refDate:n=this.faker.defaultRefDate()}=t,{days:r=1}=t;if(typeof r==`number`&&(r={min:0,max:r}),r.max<=0)throw new e(`Days must be greater than 0.`);if(r.min>=r.max)throw new e(`The maximum amount of days must be greater than the minimum amount of days.`);let i=k(n),a=new Date(i);a.setUTCDate(a.getUTCDate()-r.max);let o=new Date(i);return o.setUTCDate(o.getUTCDate()-r.min),this.between({from:a,to:o.getTime()-1e3})}soon(t={}){let{refDate:n=this.faker.defaultRefDate()}=t,{days:r=1}=t;if(typeof r==`number`&&(r={min:0,max:r}),r.max<=0)throw new e(`Days must be greater than 0.`);if(r.min>=r.max)throw new e(`The maximum amount of days must be greater than the minimum amount of days.`);let i=k(n),a=new Date(i);a.setUTCDate(a.getUTCDate()+r.min);let o=new Date(i);return o.setUTCDate(o.getUTCDate()+r.max),this.between({from:a.getTime()+1e3,to:o})}birthdate(t={}){let{mode:n=`age`,min:r=18,max:i=80,refDate:a=this.faker.defaultRefDate()}=t,o=k(a),s=o.getUTCFullYear();switch(n){case`age`:{let t=new Date(o).setUTCFullYear(s-i-1)+1440*60*1e3,n=new Date(o).setUTCFullYear(s-r);if(t>n)throw new e(`Max age ${i} should be greater than or equal to min age ${r}.`);return this.between({from:t,to:n})}case`year`:{let t=new Date(Date.UTC(0,0,2)).setUTCFullYear(r),n=new Date(Date.UTC(0,11,30)).setUTCFullYear(i);if(t>n)throw new e(`Max year ${i} should be greater than or equal to min year ${r}.`);return this.between({from:t,to:n})}}}},ye=class extends A{faker;constructor(e){super(e),this.faker=e}month(e={}){let{abbreviated:t=!1,context:n=!1}=e,r=this.faker.definitions.date.month,i;i=t?n&&r.abbr_context!=null?`abbr_context`:`abbr`:n&&r.wide_context!=null?`wide_context`:`wide`;let o=r[i];return a(o,`date.month`,i),this.faker.helpers.arrayElement(o)}weekday(e={}){let{abbreviated:t=!1,context:n=!1}=e,r=this.faker.definitions.date.weekday,i;i=t?n&&r.abbr_context!=null?`abbr_context`:`abbr`:n&&r.wide_context!=null?`wide_context`:`wide`;let o=r[i];return a(o,`date.weekday`,i),this.faker.helpers.arrayElement(o)}timeZone(){return this.faker.helpers.arrayElement(this.faker.definitions.date.time_zone)}};let j=function(e){return e.Legacy=`legacy`,e.Segwit=`segwit`,e.Bech32=`bech32`,e.Taproot=`taproot`,e}({}),be=function(e){return e.Mainnet=`mainnet`,e.Testnet=`testnet`,e}({});const xe={legacy:{prefix:{mainnet:`1`,testnet:`m`},length:{min:26,max:34},casing:`mixed`,exclude:`0OIl`},segwit:{prefix:{mainnet:`3`,testnet:`2`},length:{min:26,max:34},casing:`mixed`,exclude:`0OIl`},bech32:{prefix:{mainnet:`bc1`,testnet:`tb1`},length:{min:42,max:42},casing:`lower`,exclude:`1bBiIoO`},taproot:{prefix:{mainnet:`bc1p`,testnet:`tb1p`},length:{min:62,max:62},casing:`lower`,exclude:`1bBiIoO`}},M={alpha:`ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``),formats:[{country:`AL`,total:28,bban:[{type:`n`,count:8},{type:`c`,count:16}],format:`ALkk bbbs sssx cccc cccc cccc cccc`},{country:`AD`,total:24,bban:[{type:`n`,count:8},{type:`c`,count:12}],format:`ADkk bbbb ssss cccc cccc cccc`},{country:`AT`,total:20,bban:[{type:`n`,count:5},{type:`n`,count:11}],format:`ATkk bbbb bccc cccc cccc`},{country:`AZ`,total:28,bban:[{type:`a`,count:4},{type:`n`,count:20}],format:`AZkk bbbb cccc cccc cccc cccc cccc`},{country:`BH`,total:22,bban:[{type:`a`,count:4},{type:`c`,count:14}],format:`BHkk bbbb cccc cccc cccc cc`},{country:`BE`,total:16,bban:[{type:`n`,count:3},{type:`n`,count:9}],format:`BEkk bbbc cccc ccxx`},{country:`BA`,total:20,bban:[{type:`n`,count:6},{type:`n`,count:10}],format:`BAkk bbbs sscc cccc ccxx`},{country:`BR`,total:29,bban:[{type:`n`,count:13},{type:`n`,count:10},{type:`a`,count:1},{type:`c`,count:1}],format:`BRkk bbbb bbbb ssss sccc cccc ccct n`},{country:`BG`,total:22,bban:[{type:`a`,count:4},{type:`n`,count:6},{type:`c`,count:8}],format:`BGkk bbbb ssss ddcc cccc cc`},{country:`CR`,total:22,bban:[{type:`n`,count:1},{type:`n`,count:3},{type:`n`,count:14}],format:`CRkk xbbb cccc cccc cccc cc`},{country:`HR`,total:21,bban:[{type:`n`,count:7},{type:`n`,count:10}],format:`HRkk bbbb bbbc cccc cccc c`},{country:`CY`,total:28,bban:[{type:`n`,count:8},{type:`c`,count:16}],format:`CYkk bbbs ssss cccc cccc cccc cccc`},{country:`CZ`,total:24,bban:[{type:`n`,count:10},{type:`n`,count:10}],format:`CZkk bbbb ssss sscc cccc cccc`},{country:`DK`,total:18,bban:[{type:`n`,count:4},{type:`n`,count:10}],format:`DKkk bbbb cccc cccc cc`},{country:`DO`,total:28,bban:[{type:`a`,count:4},{type:`n`,count:20}],format:`DOkk bbbb cccc cccc cccc cccc cccc`},{country:`TL`,total:23,bban:[{type:`n`,count:3},{type:`n`,count:16}],format:`TLkk bbbc cccc cccc cccc cxx`},{country:`EE`,total:20,bban:[{type:`n`,count:4},{type:`n`,count:12}],format:`EEkk bbss cccc cccc cccx`},{country:`FO`,total:18,bban:[{type:`n`,count:4},{type:`n`,count:10}],format:`FOkk bbbb cccc cccc cx`},{country:`FI`,total:18,bban:[{type:`n`,count:6},{type:`n`,count:8}],format:`FIkk bbbb bbcc cccc cx`},{country:`FR`,total:27,bban:[{type:`n`,count:10},{type:`c`,count:11},{type:`n`,count:2}],format:`FRkk bbbb bggg ggcc cccc cccc cxx`},{country:`GE`,total:22,bban:[{type:`a`,count:2},{type:`n`,count:16}],format:`GEkk bbcc cccc cccc cccc cc`},{country:`DE`,total:22,bban:[{type:`n`,count:8},{type:`n`,count:10}],format:`DEkk bbbb bbbb cccc cccc cc`},{country:`GI`,total:23,bban:[{type:`a`,count:4},{type:`c`,count:15}],format:`GIkk bbbb cccc cccc cccc ccc`},{country:`GR`,total:27,bban:[{type:`n`,count:7},{type:`c`,count:16}],format:`GRkk bbbs sssc cccc cccc cccc ccc`},{country:`GL`,total:18,bban:[{type:`n`,count:4},{type:`n`,count:10}],format:`GLkk bbbb cccc cccc cc`},{country:`GT`,total:28,bban:[{type:`c`,count:4},{type:`c`,count:4},{type:`c`,count:16}],format:`GTkk bbbb mmtt cccc cccc cccc cccc`},{country:`HU`,total:28,bban:[{type:`n`,count:8},{type:`n`,count:16}],format:`HUkk bbbs sssk cccc cccc cccc cccx`},{country:`IS`,total:26,bban:[{type:`n`,count:6},{type:`n`,count:16}],format:`ISkk bbbb sscc cccc iiii iiii ii`},{country:`IE`,total:22,bban:[{type:`a`,count:4},{type:`n`,count:6},{type:`n`,count:8}],format:`IEkk aaaa bbbb bbcc cccc cc`},{country:`IL`,total:23,bban:[{type:`n`,count:6},{type:`n`,count:13}],format:`ILkk bbbn nncc cccc cccc ccc`},{country:`IR`,total:26,bban:[{type:`n`,count:22}],format:`IRkk bbbb cccc cccc cccc cccc cc`},{country:`IT`,total:27,bban:[{type:`a`,count:1},{type:`n`,count:10},{type:`c`,count:12}],format:`ITkk xaaa aabb bbbc cccc cccc ccc`},{country:`JO`,total:30,bban:[{type:`a`,count:4},{type:`n`,count:4},{type:`n`,count:18}],format:`JOkk bbbb nnnn cccc cccc cccc cccc cc`},{country:`KZ`,total:20,bban:[{type:`n`,count:3},{type:`c`,count:13}],format:`KZkk bbbc cccc cccc cccc`},{country:`XK`,total:20,bban:[{type:`n`,count:4},{type:`n`,count:12}],format:`XKkk bbbb cccc cccc cccc`},{country:`KW`,total:30,bban:[{type:`a`,count:4},{type:`c`,count:22}],format:`KWkk bbbb cccc cccc cccc cccc cccc cc`},{country:`LV`,total:21,bban:[{type:`a`,count:4},{type:`c`,count:13}],format:`LVkk bbbb cccc cccc cccc c`},{country:`LB`,total:28,bban:[{type:`n`,count:4},{type:`c`,count:20}],format:`LBkk bbbb cccc cccc cccc cccc cccc`},{country:`LI`,total:21,bban:[{type:`n`,count:5},{type:`c`,count:12}],format:`LIkk bbbb bccc cccc cccc c`},{country:`LT`,total:20,bban:[{type:`n`,count:5},{type:`n`,count:11}],format:`LTkk bbbb bccc cccc cccc`},{country:`LU`,total:20,bban:[{type:`n`,count:3},{type:`c`,count:13}],format:`LUkk bbbc cccc cccc cccc`},{country:`MK`,total:19,bban:[{type:`n`,count:3},{type:`c`,count:10},{type:`n`,count:2}],format:`MKkk bbbc cccc cccc cxx`},{country:`MT`,total:31,bban:[{type:`a`,count:4},{type:`n`,count:5},{type:`c`,count:18}],format:`MTkk bbbb ssss sccc cccc cccc cccc ccc`},{country:`MR`,total:27,bban:[{type:`n`,count:10},{type:`n`,count:13}],format:`MRkk bbbb bsss sscc cccc cccc cxx`},{country:`MU`,total:30,bban:[{type:`a`,count:4},{type:`n`,count:4},{type:`n`,count:15},{type:`a`,count:3}],format:`MUkk bbbb bbss cccc cccc cccc 000d dd`},{country:`MC`,total:27,bban:[{type:`n`,count:10},{type:`c`,count:11},{type:`n`,count:2}],format:`MCkk bbbb bsss sscc cccc cccc cxx`},{country:`MD`,total:24,bban:[{type:`c`,count:2},{type:`c`,count:18}],format:`MDkk bbcc cccc cccc cccc cccc`},{country:`ME`,total:22,bban:[{type:`n`,count:3},{type:`n`,count:15}],format:`MEkk bbbc cccc cccc cccc xx`},{country:`NL`,total:18,bban:[{type:`a`,count:4},{type:`n`,count:10}],format:`NLkk bbbb cccc cccc cc`},{country:`NO`,total:15,bban:[{type:`n`,count:4},{type:`n`,count:7}],format:`NOkk bbbb cccc ccx`},{country:`PK`,total:24,bban:[{type:`a`,count:4},{type:`n`,count:16}],format:`PKkk bbbb cccc cccc cccc cccc`},{country:`PS`,total:29,bban:[{type:`a`,count:4},{type:`n`,count:9},{type:`n`,count:12}],format:`PSkk bbbb xxxx xxxx xccc cccc cccc c`},{country:`PL`,total:28,bban:[{type:`n`,count:8},{type:`n`,count:16}],format:`PLkk bbbs sssx cccc cccc cccc cccc`},{country:`PT`,total:25,bban:[{type:`n`,count:8},{type:`n`,count:13}],format:`PTkk bbbb ssss cccc cccc cccx x`},{country:`QA`,total:29,bban:[{type:`a`,count:4},{type:`c`,count:21}],format:`QAkk bbbb cccc cccc cccc cccc cccc c`},{country:`RO`,total:24,bban:[{type:`a`,count:4},{type:`c`,count:16}],format:`ROkk bbbb cccc cccc cccc cccc`},{country:`SM`,total:27,bban:[{type:`a`,count:1},{type:`n`,count:10},{type:`c`,count:12}],format:`SMkk xaaa aabb bbbc cccc cccc ccc`},{country:`SA`,total:24,bban:[{type:`n`,count:2},{type:`c`,count:18}],format:`SAkk bbcc cccc cccc cccc cccc`},{country:`RS`,total:22,bban:[{type:`n`,count:3},{type:`n`,count:15}],format:`RSkk bbbc cccc cccc cccc xx`},{country:`SK`,total:24,bban:[{type:`n`,count:10},{type:`n`,count:10}],format:`SKkk bbbb ssss sscc cccc cccc`},{country:`SI`,total:19,bban:[{type:`n`,count:5},{type:`n`,count:10}],format:`SIkk bbss sccc cccc cxx`},{country:`ES`,total:24,bban:[{type:`n`,count:10},{type:`n`,count:10}],format:`ESkk bbbb gggg xxcc cccc cccc`},{country:`SE`,total:24,bban:[{type:`n`,count:3},{type:`n`,count:17}],format:`SEkk bbbc cccc cccc cccc cccc`},{country:`CH`,total:21,bban:[{type:`n`,count:5},{type:`c`,count:12}],format:`CHkk bbbb bccc cccc cccc c`},{country:`TN`,total:24,bban:[{type:`n`,count:5},{type:`n`,count:15}],format:`TNkk bbss sccc cccc cccc cccc`},{country:`TR`,total:26,bban:[{type:`n`,count:5},{type:`n`,count:1},{type:`n`,count:16}],format:`TRkk bbbb bxcc cccc cccc cccc cc`},{country:`AE`,total:23,bban:[{type:`n`,count:3},{type:`n`,count:16}],format:`AEkk bbbc cccc cccc cccc ccc`},{country:`GB`,total:22,bban:[{type:`a`,count:4},{type:`n`,count:6},{type:`n`,count:8}],format:`GBkk bbbb ssss sscc cccc cc`},{country:`VG`,total:24,bban:[{type:`a`,count:4},{type:`n`,count:16}],format:`VGkk bbbb cccc cccc cccc cccc`}],iso3166:`AD.AE.AF.AG.AI.AL.AM.AO.AQ.AR.AS.AT.AU.AW.AX.AZ.BA.BB.BD.BE.BF.BG.BH.BI.BJ.BL.BM.BN.BO.BQ.BR.BS.BT.BV.BW.BY.BZ.CA.CC.CD.CF.CG.CH.CI.CK.CL.CM.CN.CO.CR.CU.CV.CW.CX.CY.CZ.DE.DJ.DK.DM.DO.DZ.EC.EE.EG.EH.ER.ES.ET.FI.FJ.FK.FM.FO.FR.GA.GB.GD.GE.GF.GG.GH.GI.GL.GM.GN.GP.GQ.GR.GS.GT.GU.GW.GY.HK.HM.HN.HR.HT.HU.ID.IE.IL.IM.IN.IO.IQ.IR.IS.IT.JE.JM.JO.JP.KE.KG.KH.KI.KM.KN.KP.KR.KW.KY.KZ.LA.LB.LC.LI.LK.LR.LS.LT.LU.LV.LY.MA.MC.MD.ME.MF.MG.MH.MK.ML.MM.MN.MO.MP.MQ.MR.MS.MT.MU.MV.MW.MX.MY.MZ.NA.NC.NE.NF.NG.NI.NL.NO.NP.NR.NU.NZ.OM.PA.PE.PF.PG.PH.PK.PL.PM.PN.PR.PS.PT.PW.PY.QA.RE.RO.RS.RU.RW.SA.SB.SC.SD.SE.SG.SH.SI.SJ.SK.SL.SM.SN.SO.SR.SS.ST.SV.SX.SY.SZ.TC.TD.TF.TG.TH.TJ.TK.TL.TM.TN.TO.TR.TT.TV.TW.TZ.UA.UG.UM.US.UY.UZ.VA.VC.VE.VG.VI.VN.VU.WF.WS.XK.YE.YT.ZA.ZM.ZW`.split(`.`),mod97:e=>{let t=0;for(let n of e)t=(t*10+ +n)%97;return t},pattern10:[`01`,`02`,`03`,`04`,`05`,`06`,`07`,`08`,`09`],pattern100:[`001`,`002`,`003`,`004`,`005`,`006`,`007`,`008`,`009`],toDigitString:e=>e.replaceAll(/[A-Z]/gi,e=>String((e.toUpperCase().codePointAt(0)??NaN)-55))};function Se(e){let t=``;for(let n=0;n<e.length;n+=4)t+=`${e.substring(n,n+4)} `;return t.trimEnd()}var Ce=class extends S{accountNumber(e={}){typeof e==`number`&&(e={length:e});let{length:t=8}=e;return this.faker.string.numeric({length:t,allowLeadingZeros:!0})}accountName(){return[this.faker.helpers.arrayElement(this.faker.definitions.finance.account_type),`Account`].join(` `)}routingNumber(){let e=this.faker.helpers.arrayElement(this.faker.definitions.finance.federal_reserve_routing_symbol)+this.faker.string.numeric({length:4,allowLeadingZeros:!0}),t=0;for(let n=0;n<e.length;n+=3)t+=Number(e[n])*3,t+=Number(e[n+1])*7,t+=Number(e[n+2])||0;return`${e}${Math.ceil(t/10)*10-t}`}amount(e={}){let{autoFormat:t=!1,dec:n=2,max:r=1e3,min:i=0,symbol:a=``}=e,o=this.faker.number.float({max:r,min:i,fractionDigits:n});return a+(t?o.toLocaleString(void 0,{minimumFractionDigits:n}):o.toFixed(n))}transactionType(){return this.faker.helpers.arrayElement(this.faker.definitions.finance.transaction_type)}currency(){return this.faker.helpers.arrayElement(this.faker.definitions.finance.currency)}currencyCode(){return this.currency().code}currencyName(){return this.currency().name}currencySymbol(){let e;do e=this.currency().symbol;while(e.length===0);return e}currencyNumericCode(){return this.currency().numericCode}bitcoinAddress(e={}){let{type:t=this.faker.helpers.enumValue(j),network:n=`mainnet`}=e,r=xe[t],i=r.prefix[n],a=this.faker.number.int(r.length);return i+this.faker.string.alphanumeric({length:a-i.length,casing:r.casing,exclude:r.exclude})}litecoinAddress(){let e=this.faker.number.int({min:26,max:33});return this.faker.string.fromCharacters(`LM3`)+this.faker.string.fromCharacters(`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`,e-1)}creditCardNumber(e={}){typeof e==`string`&&(e={issuer:e});let{issuer:t=``}=e,n,r=this.faker.definitions.finance.credit_card,i=t.toLowerCase();if(i in r)n=this.faker.helpers.arrayElement(r[i]);else if(t.includes(`#`))n=t;else{let e=this.faker.helpers.objectValue(r);n=this.faker.helpers.arrayElement(e)}return n=n.replaceAll(`/`,``),this.faker.helpers.replaceCreditCardSymbols(n)}creditCardCVV(){return this.faker.string.numeric({length:3,allowLeadingZeros:!0})}creditCardIssuer(){return this.faker.helpers.objectKey(this.faker.definitions.finance.credit_card)}pin(t={}){typeof t==`number`&&(t={length:t});let{length:n=4}=t;if(n<1)throw new e(`minimum length is 1`);return this.faker.string.numeric({length:n,allowLeadingZeros:!0})}ethereumAddress(){return this.faker.string.hexadecimal({length:40,casing:`lower`})}iban(t={}){let{countryCode:n,formatted:r=!1}=t,i=n?M.formats.find(e=>e.country===n):this.faker.helpers.arrayElement(M.formats);if(!i)throw new e(`Country code ${n} not supported.`);let a=``,o=0;for(let e of i.bban){let t=e.count;for(o+=e.count;t>0;)e.type===`a`?a+=this.faker.helpers.arrayElement(M.alpha):e.type===`c`?this.faker.datatype.boolean(.8)?a+=this.faker.number.int(9):a+=this.faker.helpers.arrayElement(M.alpha):t>=3&&this.faker.datatype.boolean(.3)?this.faker.datatype.boolean()?(a+=this.faker.helpers.arrayElement(M.pattern100),t-=2):(a+=this.faker.helpers.arrayElement(M.pattern10),t--):a+=this.faker.number.int(9),t--;a=a.substring(0,o)}let s=98-M.mod97(M.toDigitString(`${a}${i.country}00`));s<10&&(s=`0${s}`);let c=`${i.country}${s}${a}`;return r?Se(c):c}bic(e={}){let{includeBranchCode:t=this.faker.datatype.boolean()}=e;return`${this.faker.string.alpha({length:4,casing:`upper`})}${this.faker.helpers.arrayElement(M.iso3166)}${this.faker.string.alphanumeric({length:2,casing:`upper`})}${t?this.faker.datatype.boolean()?this.faker.string.alphanumeric({length:3,casing:`upper`}):`XXX`:``}`}transactionDescription(){return this.faker.helpers.fake(this.faker.definitions.finance.transaction_description_pattern)}};function we(e){return e.split(` `).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}var Te=class extends S{adjective(){return this.faker.helpers.arrayElement(this.faker.definitions.food.adjective)}description(){return this.faker.helpers.fake(this.faker.definitions.food.description_pattern)}dish(){return this.faker.datatype.boolean()?we(this.faker.helpers.fake(this.faker.definitions.food.dish_pattern)):we(this.faker.helpers.arrayElement(this.faker.definitions.food.dish))}ethnicCategory(){return this.faker.helpers.arrayElement(this.faker.definitions.food.ethnic_category)}fruit(){return this.faker.helpers.arrayElement(this.faker.definitions.food.fruit)}ingredient(){return this.faker.helpers.arrayElement(this.faker.definitions.food.ingredient)}meat(){return this.faker.helpers.arrayElement(this.faker.definitions.food.meat)}spice(){return this.faker.helpers.arrayElement(this.faker.definitions.food.spice)}vegetable(){return this.faker.helpers.arrayElement(this.faker.definitions.food.vegetable)}},Ee=class extends S{branch(){return`${this.faker.hacker.noun().replace(` `,`-`)}-${this.faker.hacker.verb().replace(` `,`-`)}`}commitEntry(e={}){let{merge:t=this.faker.datatype.boolean({probability:.2}),eol:n=`CRLF`,refDate:r}=e,i=[`commit ${this.faker.git.commitSha()}`];t&&i.push(`Merge: ${this.commitSha({length:7})} ${this.commitSha({length:7})}`);let a=this.faker.person.firstName(),o=this.faker.person.lastName(),s=this.faker.person.fullName({firstName:a,lastName:o}),c=this.faker.internet.username({firstName:a,lastName:o}),l=this.faker.helpers.arrayElement([s,c]),u=this.faker.internet.email({firstName:a,lastName:o});l=l.replaceAll(/^[.,:;\"\\\\']|[<>\\n]|[.,:;\"\\\\']$/g,``),i.push(`Author: ${l} <${u}>`,`Date: ${this.commitDate({refDate:r})}`,``,`${`\\xA0`.repeat(4)}${this.commitMessage()}`,``);let d=n===`CRLF`?`\\r\n`:`\n`;return i.join(d)}commitMessage(){return`${this.faker.hacker.verb()} ${this.faker.hacker.adjective()} ${this.faker.hacker.noun()}`}commitDate(e={}){let{refDate:t=this.faker.defaultRefDate()}=e,n=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],r=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],i=this.faker.date.recent({days:1,refDate:t}),a=n[i.getUTCDay()],o=r[i.getUTCMonth()],s=i.getUTCDate(),c=i.getUTCHours().toString().padStart(2,`0`),l=i.getUTCMinutes().toString().padStart(2,`0`),u=i.getUTCSeconds().toString().padStart(2,`0`),d=i.getUTCFullYear(),f=this.faker.number.int({min:-11,max:12}),p=Math.abs(f).toString().padStart(2,`0`);return`${a} ${o} ${s} ${c}:${l}:${u} ${d} ${f>=0?`+`:`-`}${p}00`}commitSha(e={}){let{length:t=40}=e;return this.faker.string.hexadecimal({length:t,casing:`lower`,prefix:``})}},De=class extends S{abbreviation(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.abbreviation)}adjective(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.adjective)}noun(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.noun)}verb(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.verb)}ingverb(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.ingverb)}phrase(){return this.faker.helpers.fake(this.faker.definitions.hacker.phrase)}};const Oe=/\\.|\\(/;function ke(t,n,r=[n,n.definitions.raw]){if(t.length===0)throw new e(`Eval expression cannot be empty.`);if(r.length===0)throw new e(`Eval entrypoints cannot be empty.`);let i=r,a=t;do{let e;a.startsWith(`(`)?[e,i]=Ae(a,i):[e,i]=Me(a,i),a=a.substring(e),i=i.filter(e=>e!=null).map(e=>Array.isArray(e)?n.helpers.arrayElement(e):e)}while(a.length>0&&i.length>0);if(i.length===0)throw new e(`Cannot resolve expression '${t}'`);let o=i[0];return typeof o==`function`?o():o}function Ae(t,n){let[r,i]=je(t),a=t[r+1];switch(a){case`.`:case`(`:case void 0:break;default:throw new e(`Expected dot ('.'), open parenthesis ('('), or nothing after function call but got '${a}'`)}return[r+(a===`.`?2:1),n.map(e=>typeof e==`function`?e(...i):void 0)]}function je(t){let n=t.indexOf(`)`,1);if(n===-1)throw new e(`Missing closing parenthesis in '${t}'`);for(;n!==-1;){let e=t.substring(1,n);try{return[n,JSON.parse(`[${e}]`)]}catch{if(!e.includes(`'`)&&!e.includes(`\"`))try{return[n,JSON.parse(`[\"${e}\"]`)]}catch{}}n=t.indexOf(`)`,n+1)}n=t.lastIndexOf(`)`);let r=t.substring(1,n);return[n,[r]]}function Me(t,n){let r=Oe.exec(t),i=(r?.[0]??``)===`.`,a=r?.index??t.length,o=t.substring(0,a);if(o.length===0)throw new e(`Expression parts cannot be empty in '${t}'`);let s=t[a+1];if(i&&(s==null||s===`.`||s===`(`))throw new e(`Found dot without property name in '${t}'`);return[a+ +!!i,n.map(e=>N(e,o))]}function N(e,t){switch(typeof e){case`function`:try{e=e()}catch{return}return N(e,t);case`object`:return e?.[t];default:return}}function Ne(e){let t=Pe(e.replace(/L?$/,`0`));return t===0?0:10-t}function Pe(e){e=e.replaceAll(/[\\s-]/g,``);let t=0,n=!1;for(let r=e.length-1;r>=0;r--){let i=Number.parseInt(e[r]);n&&(i*=2,i>9&&(i=i%10+1)),t+=i,n=!n}return t%10}function P(t,n,r,i){let a=1;if(n)switch(n){case`?`:a=+!t.datatype.boolean();break;case`*`:{let e=1;for(;t.datatype.boolean();)e*=2;a=t.number.int({min:0,max:e});break}case`+`:{let e=1;for(;t.datatype.boolean();)e*=2;a=t.number.int({min:1,max:e});break}default:throw new e(`Unknown quantifier symbol provided.`)}else r!=null&&i!=null?a=t.number.int({min:Number.parseInt(r),max:Number.parseInt(i)}):r!=null&&i==null&&(a=Number.parseInt(r));return a}function Fe(e,t=``){let n=/(.)\\{(\\d+),(\\d+)\\}/,r=/(.)\\{(\\d+)\\}/,i=/\\[(\\d+)-(\\d+)\\]/,a,o,s,c,l=n.exec(t);for(;l!=null;)a=Number.parseInt(l[2]),o=Number.parseInt(l[3]),a>o&&(s=o,o=a,a=s),c=e.number.int({min:a,max:o}),t=t.slice(0,l.index)+l[1].repeat(c)+t.slice(l.index+l[0].length),l=n.exec(t);for(l=r.exec(t);l!=null;)c=Number.parseInt(l[2]),t=t.slice(0,l.index)+l[1].repeat(c)+t.slice(l.index+l[0].length),l=r.exec(t);for(l=i.exec(t);l!=null;)a=Number.parseInt(l[1]),o=Number.parseInt(l[2]),a>o&&(s=o,o=a,a=s),t=t.slice(0,l.index)+e.number.int({min:a,max:o}).toString()+t.slice(l.index+l[0].length),l=i.exec(t);return t}function Ie(e,t,n){let r=``,i=!1;for(let a=0;a<t.length;a++){let o=t[a];if(o===`\\\\`){r+=o,a+1<t.length&&(r+=t[++a]);continue}if(o===`[`){i=!0,r+=o;continue}if(o===`]`){i=!1,r+=o;continue}let s=t[a+1],c=[`?`,`*`,`+`,`{`].includes(s);if(!i&&!c&&o===`.`){r+=e.string.alphanumeric();continue}if(!i&&!c&&n&&/^[a-z]$/i.test(o)){r+=e.string.fromCharacters([o.toLowerCase(),o.toUpperCase()]);continue}r+=o}return r}function F(e,t=``,n=`#`){let r=``;for(let i=0;i<t.length;i++)t.charAt(i)===n?r+=e.number.int(9):t.charAt(i)===`!`?r+=e.number.int({min:2,max:9}):r+=t.charAt(i);return r}var I=class extends x{slugify(e=``){return e.normalize(`NFKD`).replaceAll(/[\\u0300-\\u036F]/g,``).replaceAll(` `,`-`).replaceAll(/[^\\w.-]+/g,``)}replaceSymbols(e=``){let t=`ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``),n=``;for(let r=0;r<e.length;r++)e.charAt(r)===`#`?n+=this.faker.number.int(9):e.charAt(r)===`?`?n+=this.arrayElement(t):e.charAt(r)===`*`?n+=this.faker.datatype.boolean()?this.arrayElement(t):this.faker.number.int(9):n+=e.charAt(r);return n}replaceCreditCardSymbols(e=`6453-####-####-####-###L`,t=`#`){e=Fe(this.faker,e),e=F(this.faker,e,t);let n=Ne(e);return e.replace(`L`,String(n))}fromRegExp(t){let n=!1;if(t instanceof RegExp&&(n=t.flags.includes(`i`),t=t.source.replace(/^\\^+/,``).replace(/\\$+$/,``)),t===`.`)return this.faker.string.alphanumeric();if(n&&/^[a-z]$/i.test(t))return this.faker.string.fromCharacters([t.toLowerCase(),t.toUpperCase()]);t=Ie(this.faker,t,n);let r,i,a,o=/([.A-Za-z0-9])(?:\\{(\\d+)(?:,(\\d+)|)\\}|(\\?|\\*|\\+))(?![^[]*]|[^{]*})/,s=o.exec(t);for(;s!=null;){let e=s[2],r=s[3],i=s[4];a=P(this.faker,i,e,r);let c;c=s[1]===`.`?this.faker.string.alphanumeric(a):n?this.faker.string.fromCharacters([s[1].toLowerCase(),s[1].toUpperCase()],a):s[1].repeat(a),t=t.slice(0,s.index)+c+t.slice(s.index+s[0].length),s=o.exec(t)}let c=/(\\d-\\d|\\w-\\w|\\d|\\w|[-!@#$&()`.+,/\"])/,l=/\\[(\\^|)(-|)(.+?)\\](?:\\{(\\d+)(?:,(\\d+)|)\\}|(\\?|\\*|\\+)|)/;for(s=l.exec(t);s!=null;){let o=s[1]===`^`,u=s[2]===`-`,d=s[4],f=s[5],p=s[6],m=[],h=s[3],g=c.exec(h);for(u&&m.push(45);g!=null;){if(g[0].includes(`-`)){let t=g[0].split(`-`).map(e=>e.codePointAt(0)??NaN);if(r=t[0],i=t[1],r>i)throw new e(`Character range provided is out of order.`);for(let e=r;e<=i;e++)if(n&&Number.isNaN(Number(String.fromCodePoint(e)))){let t=String.fromCodePoint(e);m.push(t.toUpperCase().codePointAt(0)??NaN,t.toLowerCase().codePointAt(0)??NaN)}else m.push(e)}else n&&Number.isNaN(Number(g[0]))?m.push(g[0].toUpperCase().codePointAt(0)??NaN,g[0].toLowerCase().codePointAt(0)??NaN):m.push(g[0].codePointAt(0)??NaN);h=h.substring(g[0].length),g=c.exec(h)}if(a=P(this.faker,p,d,f),o){let e;for(let t=48;t<=57;t++){if(e=m.indexOf(t),e>-1){m.splice(e,1);continue}m.push(t)}for(let t=65;t<=90;t++){if(e=m.indexOf(t),e>-1){m.splice(e,1);continue}m.push(t)}for(let t=97;t<=122;t++){if(e=m.indexOf(t),e>-1){m.splice(e,1);continue}m.push(t)}}let _=this.multiple(()=>String.fromCodePoint(this.arrayElement(m)),{count:a}).join(``);t=t.slice(0,s.index)+_+t.slice(s.index+s[0].length),s=l.exec(t)}let u=/(.)\\{(\\d+),(\\d+)\\}/;for(s=u.exec(t);s!=null;){if(r=Number.parseInt(s[2]),i=Number.parseInt(s[3]),r>i)throw new e(`Numbers out of order in {} quantifier.`);a=this.faker.number.int({min:r,max:i}),t=t.slice(0,s.index)+s[1].repeat(a)+t.slice(s.index+s[0].length),s=u.exec(t)}let d=/(.)\\{(\\d+)\\}/;for(s=d.exec(t);s!=null;)a=Number.parseInt(s[2]),t=t.slice(0,s.index)+s[1].repeat(a)+t.slice(s.index+s[0].length),s=d.exec(t);return t}shuffle(e,t={}){let{inplace:n=!1}=t;n||(e=[...e]);for(let t=e.length-1;t>0;--t){let n=this.faker.number.int(t);[e[t],e[n]]=[e[n],e[t]]}return e}uniqueArray(e,t){if(Array.isArray(e)){let n=[...new Set(e)];return this.shuffle(n).splice(0,t)}let n=new Set;try{if(typeof e==`function`){let r=1e3*t,i=0;for(;n.size<t&&i<r;)n.add(e()),i++}}catch{}return[...n]}mustache(e,t){if(e==null)return``;for(let n in t){let r=RegExp(`{{${n}}}`,`g`),i=t[n];typeof i==`string`&&(i=i.replaceAll(`$`,`$$$$`)),e=e.replace(r,i)}return e}maybe(e,t={}){if(this.faker.datatype.boolean(t))return e()}objectKey(e){let t=Object.keys(e);return this.arrayElement(t)}objectValue(e){return e[this.faker.helpers.objectKey(e)]}objectEntry(e){let t=this.faker.helpers.objectKey(e);return[t,e[t]]}arrayElement(t){if(t.length===0)throw new e(`Cannot get value from empty dataset.`);return t[t.length>1?this.faker.number.int({max:t.length-1}):0]}weightedArrayElement(t){if(t.length===0)throw new e(`weightedArrayElement expects an array with at least one element`);if(t.some(e=>e.weight<=0))throw new e(`weightedArrayElement expects an array of { weight, value } objects where weight is a positive number`);let n=t.reduce((e,{weight:t})=>e+t,0),r=this.faker.number.float({min:0,max:n}),i=0;for(let{weight:e,value:n}of t)if(i+=e,r<i)return n;return t.at(-1).value}arrayElements(e,t){if(e.length===0)return[];let n=this.rangeToNumber(t??{min:1,max:e.length});if(n>=e.length)return this.shuffle(e);if(n<=0)return[];let r=[...e],i=e.length,a=i-n;for(;i-->a;){let e=this.faker.number.int(i),t=r[e];r[e]=r[i],r[i]=t}return r.slice(a)}enumValue(e){let t=Object.keys(e).filter(e=>Number.isNaN(Number(e)));return e[this.arrayElement(t)]}rangeToNumber(e){return typeof e==`number`?e:this.faker.number.int(e)}multiple(e,t={}){let n=this.rangeToNumber(t.count??3);return n<=0?[]:Array.from({length:n},e)}},Le=class extends I{faker;constructor(e){super(e),this.faker=e}fake(e){e=typeof e==`string`?e:this.arrayElement(e);let t=e.search(/{{[a-z]/),n=e.indexOf(`}}`,t);if(t===-1||n===-1)return e;let r=ke(e.substring(t+2,n+2).replace(`}}`,``).replace(`{{`,``),this.faker),i=String(r),a=e.substring(0,t)+i+e.substring(n+2);return this.fake(a)}};const L=typeof Buffer>`u`||!z(`base64`)?e=>{let t=new TextEncoder().encode(e),n=Array.from(t,e=>String.fromCodePoint(e)).join(``);return btoa(n)}:e=>Buffer.from(e).toString(`base64`),R=typeof Buffer>`u`||!z(`base64url`)?e=>L(e).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replaceAll(/=+$/g,``):e=>Buffer.from(e).toString(`base64url`);function z(e){try{return typeof Buffer.from(`test`).toString(e)==`string`}catch{return!1}}function Re(e){let{deprecated:t,since:n,until:r,proposed:i}=e,a=`[@faker-js/faker]: ${t} is deprecated`;n&&(a+=` since v${n}`),r&&(a+=` and will be removed in v${r}`),i&&(a+=`. Please use ${i} instead`),console.warn(`${a}.`)}var ze=class extends S{avatar(){return this.faker.helpers.arrayElement([this.personPortrait,this.avatarGitHub])()}avatarGitHub(){return`https://avatars.githubusercontent.com/u/${this.faker.number.int(1e8)}`}personPortrait(e={}){let{size:t=512}=e,{sex:n=this.faker.person.sexType()}=e;return n===`generic`&&(n=this.faker.person.sexType()),`https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/${n}/${t}/${this.faker.number.int({min:0,max:99})}.jpg`}url(e={}){let{width:t=this.faker.number.int({min:1,max:3999}),height:n=this.faker.number.int({min:1,max:3999})}=e;return this.faker.helpers.arrayElement([({width:e,height:t})=>this.urlPicsumPhotos({width:e,height:t,grayscale:!1,blur:0})])({width:t,height:n})}urlLoremFlickr(e={}){Re({deprecated:`faker.image.urlLoremFlickr()`,proposed:`faker.image.url()`,since:`10.1.0`,until:`11.0.0`});let{width:t=this.faker.number.int({min:1,max:3999}),height:n=this.faker.number.int({min:1,max:3999}),category:r}=e;return`https://loremflickr.com/${t}/${n}${r==null?``:`/${r}`}?lock=${this.faker.number.int()}`}urlPicsumPhotos(e={}){let{width:t=this.faker.number.int({min:1,max:3999}),height:n=this.faker.number.int({min:1,max:3999}),grayscale:r=this.faker.datatype.boolean(),blur:i=this.faker.number.int({max:10})}=e,a=`https://picsum.photos/seed/${this.faker.string.alphanumeric({length:{min:5,max:10}})}/${t}/${n}`,o=typeof i==`number`&&i>=1&&i<=10;return(r||o)&&(a+=`?`,r&&(a+=`grayscale`),r&&o&&(a+=`&`),o&&(a+=`blur=${i}`)),a}dataUri(e={}){let{width:t=this.faker.number.int({min:1,max:3999}),height:n=this.faker.number.int({min:1,max:3999}),color:r=this.faker.color.rgb(),type:i=this.faker.helpers.arrayElement([`svg-uri`,`svg-base64`])}=e,a=`<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" baseProfile=\"full\" width=\"${t}\" height=\"${n}\"><rect width=\"100%\" height=\"100%\" fill=\"${r}\"/><text x=\"${t/2}\" y=\"${n/2}\" font-size=\"20\" alignment-baseline=\"middle\" text-anchor=\"middle\" fill=\"white\">${t}x${n}</text></svg>`;return i===`svg-uri`?`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(a)}`:`data:image/svg+xml;base64,${L(a)}`}};const Be=Object.fromEntries([[`А`,`A`],[`а`,`a`],[`Б`,`B`],[`б`,`b`],[`В`,`V`],[`в`,`v`],[`Г`,`G`],[`г`,`g`],[`Д`,`D`],[`д`,`d`],[`ъе`,`ye`],[`Ъе`,`Ye`],[`ъЕ`,`yE`],[`ЪЕ`,`YE`],[`Е`,`E`],[`е`,`e`],[`Ё`,`Yo`],[`ё`,`yo`],[`Ж`,`Zh`],[`ж`,`zh`],[`З`,`Z`],[`з`,`z`],[`И`,`I`],[`и`,`i`],[`ый`,`iy`],[`Ый`,`Iy`],[`ЫЙ`,`IY`],[`ыЙ`,`iY`],[`Й`,`Y`],[`й`,`y`],[`К`,`K`],[`к`,`k`],[`Л`,`L`],[`л`,`l`],[`М`,`M`],[`м`,`m`],[`Н`,`N`],[`н`,`n`],[`О`,`O`],[`о`,`o`],[`П`,`P`],[`п`,`p`],[`Р`,`R`],[`р`,`r`],[`С`,`S`],[`с`,`s`],[`Т`,`T`],[`т`,`t`],[`У`,`U`],[`у`,`u`],[`Ф`,`F`],[`ф`,`f`],[`Х`,`Kh`],[`х`,`kh`],[`Ц`,`Ts`],[`ц`,`ts`],[`Ч`,`Ch`],[`ч`,`ch`],[`Ш`,`Sh`],[`ш`,`sh`],[`Щ`,`Sch`],[`щ`,`sch`],[`Ъ`,``],[`ъ`,``],[`Ы`,`Y`],[`ы`,`y`],[`Ь`,``],[`ь`,``],[`Э`,`E`],[`э`,`e`],[`Ю`,`Yu`],[`ю`,`yu`],[`Я`,`Ya`],[`я`,`ya`]]),Ve=Object.fromEntries([[`α`,`a`],[`β`,`v`],[`γ`,`g`],[`δ`,`d`],[`ε`,`e`],[`ζ`,`z`],[`η`,`i`],[`θ`,`th`],[`ι`,`i`],[`κ`,`k`],[`λ`,`l`],[`μ`,`m`],[`ν`,`n`],[`ξ`,`ks`],[`ο`,`o`],[`π`,`p`],[`ρ`,`r`],[`σ`,`s`],[`τ`,`t`],[`υ`,`y`],[`φ`,`f`],[`χ`,`x`],[`ψ`,`ps`],[`ω`,`o`],[`ά`,`a`],[`έ`,`e`],[`ί`,`i`],[`ό`,`o`],[`ύ`,`y`],[`ή`,`i`],[`ώ`,`o`],[`ς`,`s`],[`ϊ`,`i`],[`ΰ`,`y`],[`ϋ`,`y`],[`ΐ`,`i`],[`Α`,`A`],[`Β`,`B`],[`Γ`,`G`],[`Δ`,`D`],[`Ε`,`E`],[`Ζ`,`Z`],[`Η`,`I`],[`Θ`,`TH`],[`Ι`,`I`],[`Κ`,`K`],[`Λ`,`L`],[`Μ`,`M`],[`Ν`,`N`],[`Ξ`,`KS`],[`Ο`,`O`],[`Π`,`P`],[`Ρ`,`R`],[`Σ`,`S`],[`Τ`,`T`],[`Υ`,`Y`],[`Φ`,`F`],[`Χ`,`X`],[`Ψ`,`PS`],[`Ω`,`O`],[`Ά`,`A`],[`Έ`,`E`],[`Ί`,`I`],[`Ό`,`O`],[`Ύ`,`Y`],[`Ή`,`I`],[`Ώ`,`O`],[`Ϊ`,`I`],[`Ϋ`,`Y`]]),He=Object.fromEntries([[`ء`,`e`],[`آ`,`a`],[`أ`,`a`],[`ؤ`,`w`],[`إ`,`i`],[`ئ`,`y`],[`ا`,`a`],[`ب`,`b`],[`ة`,`t`],[`ت`,`t`],[`ث`,`th`],[`ج`,`j`],[`ح`,`h`],[`خ`,`kh`],[`د`,`d`],[`ذ`,`dh`],[`ر`,`r`],[`ز`,`z`],[`س`,`s`],[`ش`,`sh`],[`ص`,`s`],[`ض`,`d`],[`ط`,`t`],[`ظ`,`z`],[`ع`,`e`],[`غ`,`gh`],[`ـ`,`_`],[`ف`,`f`],[`ق`,`q`],[`ك`,`k`],[`ل`,`l`],[`م`,`m`],[`ن`,`n`],[`ه`,`h`],[`و`,`w`],[`ى`,`a`],[`ي`,`y`],[`َ`,`a`],[`ُ`,`u`],[`ِ`,`i`]]),Ue=Object.fromEntries([[`ա`,`a`],[`Ա`,`A`],[`բ`,`b`],[`Բ`,`B`],[`գ`,`g`],[`Գ`,`G`],[`դ`,`d`],[`Դ`,`D`],[`ե`,`ye`],[`Ե`,`Ye`],[`զ`,`z`],[`Զ`,`Z`],[`է`,`e`],[`Է`,`E`],[`ը`,`y`],[`Ը`,`Y`],[`թ`,`t`],[`Թ`,`T`],[`ժ`,`zh`],[`Ժ`,`Zh`],[`ի`,`i`],[`Ի`,`I`],[`լ`,`l`],[`Լ`,`L`],[`խ`,`kh`],[`Խ`,`Kh`],[`ծ`,`ts`],[`Ծ`,`Ts`],[`կ`,`k`],[`Կ`,`K`],[`հ`,`h`],[`Հ`,`H`],[`ձ`,`dz`],[`Ձ`,`Dz`],[`ղ`,`gh`],[`Ղ`,`Gh`],[`ճ`,`tch`],[`Ճ`,`Tch`],[`մ`,`m`],[`Մ`,`M`],[`յ`,`y`],[`Յ`,`Y`],[`ն`,`n`],[`Ն`,`N`],[`շ`,`sh`],[`Շ`,`Sh`],[`ո`,`vo`],[`Ո`,`Vo`],[`չ`,`ch`],[`Չ`,`Ch`],[`պ`,`p`],[`Պ`,`P`],[`ջ`,`j`],[`Ջ`,`J`],[`ռ`,`r`],[`Ռ`,`R`],[`ս`,`s`],[`Ս`,`S`],[`վ`,`v`],[`Վ`,`V`],[`տ`,`t`],[`Տ`,`T`],[`ր`,`r`],[`Ր`,`R`],[`ց`,`c`],[`Ց`,`C`],[`ու`,`u`],[`ՈՒ`,`U`],[`Ու`,`U`],[`փ`,`p`],[`Փ`,`P`],[`ք`,`q`],[`Ք`,`Q`],[`օ`,`o`],[`Օ`,`O`],[`ֆ`,`f`],[`Ֆ`,`F`],[`և`,`yev`]]),We=Object.fromEntries([[`چ`,`ch`],[`ک`,`k`],[`گ`,`g`],[`پ`,`p`],[`ژ`,`zh`],[`ی`,`y`]]),Ge=Object.fromEntries([[`א`,`a`],[`ב`,`b`],[`ג`,`g`],[`ד`,`d`],[`ה`,`h`],[`ו`,`v`],[`ז`,`z`],[`ח`,`ch`],[`ט`,`t`],[`י`,`y`],[`כ`,`k`],[`ך`,`kh`],[`ל`,`l`],[`ם`,`m`],[`מ`,`m`],[`ן`,`n`],[`נ`,`n`],[`ס`,`s`],[`ע`,`a`],[`פ`,`f`],[`ף`,`ph`],[`צ`,`ts`],[`ץ`,`ts`],[`ק`,`k`],[`ר`,`r`],[`ש`,`sh`],[`ת`,`t`],[`ו`,`v`]]),B={...Be,...Ve,...He,...We,...Ue,...Ge};let Ke=function(e){return e.Any=`any`,e.Loopback=`loopback`,e.PrivateA=`private-a`,e.PrivateB=`private-b`,e.PrivateC=`private-c`,e.TestNet1=`test-net-1`,e.TestNet2=`test-net-2`,e.TestNet3=`test-net-3`,e.LinkLocal=`link-local`,e.Multicast=`multicast`,e}({});const qe={any:`0.0.0.0/0`,loopback:`127.0.0.0/8`,\"private-a\":`10.0.0.0/8`,\"private-b\":`172.16.0.0/12`,\"private-c\":`192.168.0.0/16`,\"test-net-1\":`192.0.2.0/24`,\"test-net-2\":`198.51.100.0/24`,\"test-net-3\":`203.0.113.0/24`,\"link-local\":`169.254.0.0/16`,multicast:`224.0.0.0/4`};function V(e){return/^[a-z][a-z-]*[a-z]$/i.exec(e)!==null}function H(e,t){let n=e.helpers.slugify(t);if(V(n))return n;let r=e.helpers.slugify(e.lorem.word());return V(r)?r:e.string.alpha({casing:`lower`,length:e.number.int({min:4,max:8})})}var Je=class extends S{email(e={}){let{firstName:t,lastName:n,provider:r=this.faker.helpers.arrayElement(this.faker.definitions.internet.free_email),allowSpecialCharacters:i=!1}=e,a=this.username({firstName:t,lastName:n});if(a=a.replaceAll(/[^A-Za-z0-9._+-]+/g,``),a=a.substring(0,50),i){let e=[...`._-`],t=[...\".!#$%&'*+-/=?^_`{|}~\"];a=a.replace(this.faker.helpers.arrayElement(e),this.faker.helpers.arrayElement(t))}return a=a.replaceAll(/\\.{2,}/g,`.`),a=a.replace(/^\\./,``),a=a.replace(/\\.$/,``),`${a}@${r}`}exampleEmail(e={}){let{firstName:t,lastName:n,allowSpecialCharacters:r=!1}=e,i=this.faker.helpers.arrayElement(this.faker.definitions.internet.example_email);return this.email({firstName:t,lastName:n,provider:i,allowSpecialCharacters:r})}username(e={}){let{firstName:t=this.faker.person.firstName(),lastName:n=this.faker.person.lastName(),lastName:r}=e,i=this.faker.helpers.arrayElement([`.`,`_`]),a=this.faker.number.int(99),o=[()=>`${t}${i}${n}${a}`,()=>`${t}${i}${n}`];r||o.push(()=>`${t}${a}`);let s=this.faker.helpers.arrayElement(o)();return s=s.normalize(`NFKD`).replaceAll(/[\\u0300-\\u036F]/g,``),s=[...s].map(e=>{if(B[e])return B[e];let t=e.codePointAt(0)??NaN;return t<128?e:t.toString(36)}).join(``),s=s.replaceAll(`'`,``),s=s.replaceAll(` `,``),s}displayName(e={}){let{firstName:t=this.faker.person.firstName(),lastName:n=this.faker.person.lastName()}=e,r=this.faker.helpers.arrayElement([`.`,`_`]),i=this.faker.number.int(99),a=this.faker.helpers.arrayElement([()=>`${t}${i}`,()=>`${t}${r}${n}`,()=>`${t}${r}${n}${i}`])();return a=a.replaceAll(`'`,``),a=a.replaceAll(` `,``),a}protocol(){return this.faker.helpers.arrayElement([`http`,`https`])}httpMethod(){return this.faker.helpers.arrayElement([`GET`,`POST`,`PUT`,`DELETE`,`PATCH`])}httpStatusCode(e={}){let{types:t=Object.keys(this.faker.definitions.internet.http_status_code)}=e,n=this.faker.helpers.arrayElement(t);return this.faker.helpers.arrayElement(this.faker.definitions.internet.http_status_code[n])}url(e={}){let{appendSlash:t=this.faker.datatype.boolean(),protocol:n=`https`}=e;return`${n}://${this.domainName()}${t?`/`:``}`}domainName(){return`${this.domainWord()}.${this.domainSuffix()}`}domainSuffix(){return this.faker.helpers.arrayElement(this.faker.definitions.internet.domain_suffix)}domainWord(){return`${H(this.faker,this.faker.word.adjective())}-${H(this.faker,this.faker.word.noun())}`.toLowerCase()}ip(){return this.faker.datatype.boolean()?this.ipv4():this.ipv6()}ipv4(t={}){let{network:n=`any`,cidrBlock:r=qe[n]}=t;if(!/^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\/\\d{1,2}$/.test(r))throw new e(`Invalid CIDR block provided: ${r}. Must be in the format x.x.x.x/y.`);let[i,a]=r.split(`/`),o=Number.parseInt(a,10);if(o>32)throw new e(`Invalid CIDR block provided: ${r}. Prefix length must be between 0 and 32.`);let s=i.split(`.`).map(Number);if(s.some(e=>e>255))throw new e(`Invalid CIDR block provided: ${r}. Each octet must be between 0 and 255.`);if(o===32)return i;let c=4294967295>>>o,[l,u,d,f]=s,p=(l<<24|u<<16|d<<8|f)&~c|this.faker.number.int(c);return[p>>>24&255,p>>>16&255,p>>>8&255,p&255].join(`.`)}ipv6(){return Array.from({length:8},()=>this.faker.string.hexadecimal({length:4,casing:`lower`,prefix:``})).join(`:`)}port(){return this.faker.number.int({min:1,max:65535})}userAgent(){return this.faker.helpers.fake(this.faker.definitions.internet.user_agent_pattern)}mac(e={}){typeof e==`string`&&(e={separator:e});let{separator:t=`:`}=e,n,r=``;for([`:`,`-`,``].includes(t)||(t=`:`),n=0;n<12;n++)r+=this.faker.number.hex(15),n%2==1&&n!==11&&(r+=t);return r}password(e={}){let t=/[aeiouAEIOU]$/,n=/[bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]$/,{length:r=15,memorable:i=!1,pattern:a=/\\w/,prefix:o=``}=e,s=a,c=o;for(;c.length<r;){i&&(s=n.test(c)?t:n);let e=this.faker.number.int(94)+33,r=String.fromCodePoint(e);i&&(r=r.toLowerCase()),s.test(r)&&(c+=r)}return c}emoji(e={}){let{types:t=Object.keys(this.faker.definitions.internet.emoji)}=e,n=this.faker.helpers.arrayElement(t);return this.faker.helpers.arrayElement(this.faker.definitions.internet.emoji[n])}jwtAlgorithm(){return this.faker.helpers.arrayElement(this.faker.definitions.internet.jwt_algorithm)}jwt(e={}){let{refDate:t=this.faker.defaultRefDate()}=e,n=this.faker.date.recent({refDate:t}),{header:r={alg:this.jwtAlgorithm(),typ:`JWT`},payload:i={iat:Math.round(n.valueOf()/1e3),exp:Math.round(this.faker.date.soon({refDate:n}).valueOf()/1e3),nbf:Math.round(this.faker.date.anytime({refDate:t}).valueOf()/1e3),iss:this.faker.company.name(),sub:this.faker.string.uuid(),aud:this.faker.string.uuid(),jti:this.faker.string.uuid()}}=e;return`${R(JSON.stringify(r))}.${R(JSON.stringify(i))}.${this.faker.string.alphanumeric(64)}`}},U=class extends x{latitude(e={}){let{max:t=90,min:n=-90,precision:r=4}=e;return this.faker.number.float({min:n,max:t,fractionDigits:r})}longitude(e={}){let{max:t=180,min:n=-180,precision:r=4}=e;return this.faker.number.float({max:t,min:n,fractionDigits:r})}nearbyGPSCoordinate(e={}){let{origin:t,radius:n=10,isMetric:r=!1}=e;if(t==null)return[this.latitude(),this.longitude()];let i=this.faker.number.float({max:2*Math.PI,fractionDigits:5}),a=r?n:n*1.60934,o=this.faker.number.float({max:a,fractionDigits:3})*.995/(4e4/360),s=[t[0]+Math.sin(i)*o,t[1]+Math.cos(i)*o];return s[0]%=180,Math.abs(s[0])>90&&(s[0]=Math.sign(s[0])*180-s[0],s[1]+=180),s[1]=(s[1]%360+540)%360-180,[s[0],s[1]]}},Ye=class extends U{faker;constructor(e){super(e),this.faker=e}zipCode(t={}){typeof t==`string`&&(t={format:t});let{state:n}=t;if(n!=null){let t=this.faker.definitions.location.postcode_by_state[n];if(t==null)throw new e(`No zip code definition found for state \"${n}\"`);return this.faker.helpers.fake(t)}let{format:r=this.faker.definitions.location.postcode}=t;return typeof r==`string`&&(r=[r]),r=this.faker.helpers.arrayElement(r),this.faker.helpers.replaceSymbols(r)}city(){return this.faker.helpers.fake(this.faker.definitions.location.city_pattern)}buildingNumber(){return this.faker.helpers.arrayElement(this.faker.definitions.location.building_number).replaceAll(/#+/g,e=>this.faker.string.numeric({length:e.length,allowLeadingZeros:!1}))}street(){return this.faker.helpers.fake(this.faker.definitions.location.street_pattern)}streetAddress(e={}){typeof e==`boolean`&&(e={useFullAddress:e});let{useFullAddress:t}=e,n=this.faker.definitions.location.street_address[t?`full`:`normal`];return this.faker.helpers.fake(n)}postalAddress(){return this.faker.helpers.fake(this.faker.definitions.location.postal_address)}secondaryAddress(){return this.faker.helpers.fake(this.faker.definitions.location.secondary_address).replaceAll(/#+/g,e=>this.faker.string.numeric({length:e.length,allowLeadingZeros:!1}))}county(){return this.faker.helpers.arrayElement(this.faker.definitions.location.county)}country(){return this.faker.helpers.arrayElement(this.faker.definitions.location.country)}continent(){return this.faker.helpers.arrayElement(this.faker.definitions.location.continent)}countryCode(e={}){typeof e==`string`&&(e={variant:e});let{variant:t=`alpha-2`}=e,n=(()=>{switch(t){case`numeric`:return`numeric`;case`alpha-3`:return`alpha3`;case`alpha-2`:return`alpha2`}})();return this.faker.helpers.arrayElement(this.faker.definitions.location.country_code)[n]}state(e={}){let{abbreviated:t=!1}=e,n=t?this.faker.definitions.location.state_abbr:this.faker.definitions.location.state;return this.faker.helpers.arrayElement(n)}direction(e={}){let{abbreviated:t=!1}=e,n=this.faker.definitions.location.direction,r=t?[...n.cardinal_abbr,...n.ordinal_abbr]:[...n.cardinal,...n.ordinal];return this.faker.helpers.arrayElement(r)}cardinalDirection(e={}){let{abbreviated:t=!1}=e,n=this.faker.definitions.location.direction,r=t?n.cardinal_abbr:n.cardinal;return this.faker.helpers.arrayElement(r)}ordinalDirection(e={}){let{abbreviated:t=!1}=e,n=this.faker.definitions.location.direction,r=t?n.ordinal_abbr:n.ordinal;return this.faker.helpers.arrayElement(r)}timeZone(){return this.faker.helpers.arrayElement(this.faker.definitions.location.time_zone)}language(){return this.faker.helpers.arrayElement(this.faker.definitions.location.language)}};function Xe(e,t,n=e=>e){let r=Object.create(null);for(let i of e){let e=t(i);r[e]===void 0&&(r[e]=[]),r[e].push(n(i))}return r}const W={fail:()=>{throw new e(`No words found that match the given length.`)},closest:(e,t)=>{let n=Xe(e,e=>e.length),r=Object.keys(n).map(Number),i=Math.max(...r.filter(e=>e<t.min)),a=Math.min(...r.filter(e=>e>t.max)),o=Math.min(t.min-i,a-t.max);return e.filter(e=>e.length===t.min-o||e.length===t.max+o)},shortest:e=>{let t=Math.min(...e.map(e=>e.length));return e.filter(e=>e.length===t)},longest:e=>{let t=Math.max(...e.map(e=>e.length));return e.filter(e=>e.length===t)},\"any-length\":e=>[...e]};function G(e){let{wordList:t,length:n,strategy:r=`fail`}=e;if(n!=null){let e=typeof n==`number`?e=>e.length===n:e=>e.length>=n.min&&e.length<=n.max,i=t.filter(e);return i.length>0?i:typeof n==`number`?W[r](t,{min:n,max:n}):W[r](t,n)}else if(r===`shortest`||r===`longest`)return W[r](t);return[...t]}var Ze=class extends S{word(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.lorem.word}))}words(e=3){return this.faker.helpers.multiple(()=>this.word(),{count:e}).join(` `)}sentence(e={min:3,max:10}){let t=this.words(e);return`${t.charAt(0).toUpperCase()+t.substring(1)}.`}slug(e=3){let t=this.words(e);return this.faker.helpers.slugify(t)}sentences(e={min:2,max:6},t=` `){return this.faker.helpers.multiple(()=>this.sentence(),{count:e}).join(t)}paragraph(e=3){return this.sentences(e)}paragraphs(e=3,t=`\n`){return this.faker.helpers.multiple(()=>this.paragraph(),{count:e}).join(t)}text(){let e=this.faker.helpers.arrayElement([`sentence`,`sentences`,`paragraph`,`paragraphs`,`lines`]);return this[e]()}lines(e={min:1,max:5}){return this.sentences(e,`\n`)}},Qe=class extends S{album(){return this.faker.helpers.arrayElement(this.faker.definitions.music.album)}artist(){return this.faker.helpers.arrayElement(this.faker.definitions.music.artist)}genre(){return this.faker.helpers.arrayElement(this.faker.definitions.music.genre)}songName(){return this.faker.helpers.arrayElement(this.faker.definitions.music.song_name)}};let K=function(e){return e.Female=`female`,e.Generic=`generic`,e.Male=`male`,e}({});function q(e,t=e.person.sexType(),n){let{generic:r,female:i,male:a}=n;if(t===`generic`)return r??e.helpers.arrayElement([i,a])??[];let o=t===`female`?i:a;return o==null?r??[]:r==null?o:e.helpers.weightedArrayElement([{weight:3*Math.sqrt(o.length),value:o},{weight:Math.sqrt(r.length),value:r}])}var $e=class extends S{firstName(e){return this.faker.helpers.arrayElement(q(this.faker,e,this.faker.definitions.person.first_name))}lastName(e){let t=this.faker.definitions.raw.person?.last_name_pattern;if(t!=null){let n=this.faker.helpers.weightedArrayElement(q(this.faker,e,t));return this.faker.helpers.fake(n)}return this.faker.helpers.arrayElement(q(this.faker,e,this.faker.definitions.person.last_name))}middleName(e){return this.faker.helpers.arrayElement(q(this.faker,e,this.faker.definitions.person.middle_name))}fullName(e={}){let{sex:t=this.faker.helpers.arrayElement([`female`,`male`]),firstName:n=this.firstName(t),lastName:r=this.lastName(t)}=e,i=this.faker.helpers.weightedArrayElement(this.faker.definitions.person.name);return this.faker.helpers.mustache(i,{\"person.prefix\":()=>this.prefix(t),\"person.firstName\":()=>n,\"person.middleName\":()=>this.middleName(t),\"person.lastName\":()=>r,\"person.suffix\":()=>this.suffix()})}gender(){return this.faker.helpers.arrayElement(this.faker.definitions.person.gender)}sex(){return this.faker.helpers.arrayElement(this.faker.definitions.person.sex)}sexType(e={}){let{includeGeneric:t=!1}=e;return t?this.faker.helpers.enumValue(K):this.faker.helpers.arrayElement([`female`,`male`])}bio(){return this.faker.helpers.fake(this.faker.definitions.person.bio_pattern)}prefix(e){return this.faker.helpers.arrayElement(q(this.faker,e,this.faker.definitions.person.prefix))}suffix(){return this.faker.helpers.arrayElement(this.faker.definitions.person.suffix)}jobTitle(){return this.faker.helpers.fake(this.faker.definitions.person.job_title_pattern)}jobDescriptor(){return this.faker.helpers.arrayElement(this.faker.definitions.person.job_descriptor)}jobArea(){return this.faker.helpers.arrayElement(this.faker.definitions.person.job_area)}jobType(){return this.faker.helpers.arrayElement(this.faker.definitions.person.job_type)}zodiacSign(){return this.faker.helpers.arrayElement(this.faker.definitions.person.western_zodiac_sign)}},et=class extends S{number(e={}){let{style:t=`human`}=e,n=this.faker.definitions.phone_number.format[t];if(!n)throw Error(`No definitions for ${t} in this locale`);let r=this.faker.helpers.arrayElement(n);return F(this.faker,r)}imei(){return this.faker.helpers.replaceCreditCardSymbols(`##-######-######-L`,`#`)}},tt=class extends S{chemicalElement(){return this.faker.helpers.arrayElement(this.faker.definitions.science.chemical_element)}unit(){return this.faker.helpers.arrayElement(this.faker.definitions.science.unit)}};const nt=[`video`,`audio`,`image`,`text`,`application`],rt=[`application/pdf`,`audio/mpeg`,`audio/wav`,`image/png`,`image/jpeg`,`image/gif`,`video/mp4`,`video/mpeg`,`text/html`],it=[`en`,`wl`,`ww`],J={index:`o`,slot:`s`,mac:`x`,pci:`p`},at=[`SUN`,`MON`,`TUE`,`WED`,`THU`,`FRI`,`SAT`];var ot=class extends S{fileName(e={}){let{extensionCount:t=1}=e,n=this.faker.word.words().toLowerCase().replaceAll(/\\W/g,`_`),r=this.faker.helpers.multiple(()=>this.fileExt(),{count:t}).join(`.`);return r.length===0?n:`${n}.${r}`}commonFileName(e){return`${this.fileName({extensionCount:0})}.${e||this.commonFileExt()}`}mimeType(){let e=Object.keys(this.faker.definitions.system.mime_type);return this.faker.helpers.arrayElement(e)}commonFileType(){return this.faker.helpers.arrayElement(nt)}commonFileExt(){return this.fileExt(this.faker.helpers.arrayElement(rt))}fileType(){let e=this.faker.definitions.system.mime_type,t=new Set(Object.keys(e).map(e=>e.split(`/`,1)[0]));return this.faker.helpers.arrayElement([...t])}fileExt(t){let n=this.faker.definitions.system.mime_type;if(typeof t==`string`){let r=n[t];if(r==null)throw new e(`MIME type ${t} is not supported.`);return this.faker.helpers.arrayElement(r.extensions)}let r=new Set(Object.values(n).flatMap(({extensions:e})=>e));return this.faker.helpers.arrayElement([...r])}directoryPath(){let e=this.faker.definitions.system.directory_path;return this.faker.helpers.arrayElement(e)}filePath(){return`${this.directoryPath()}/${this.fileName()}`}semver(){return[this.faker.number.int(9),this.faker.number.int(20),this.faker.number.int(20)].join(`.`)}networkInterface(e={}){let{interfaceType:t=this.faker.helpers.arrayElement(it),interfaceSchema:n=this.faker.helpers.objectKey(J)}=e,r,i=``;switch(n){case`index`:r=this.faker.string.numeric();break;case`slot`:r=`${this.faker.string.numeric()}${this.faker.helpers.maybe(()=>`f${this.faker.string.numeric()}`)??``}${this.faker.helpers.maybe(()=>`d${this.faker.string.numeric()}`)??``}`;break;case`mac`:r=this.faker.internet.mac(``);break;case`pci`:i=this.faker.helpers.maybe(()=>`P${this.faker.string.numeric()}`)??``,r=`${this.faker.string.numeric()}s${this.faker.string.numeric()}${this.faker.helpers.maybe(()=>`f${this.faker.string.numeric()}`)??``}${this.faker.helpers.maybe(()=>`d${this.faker.string.numeric()}`)??``}`;break}return`${i}${t}${J[n]}${r}`}cron(e={}){let{includeYear:t=!1,includeNonStandard:n=!1}=e,r=[this.faker.number.int(59),`*`],i=[this.faker.number.int(23),`*`],a=[this.faker.number.int({min:1,max:31}),`*`,`?`],o=[this.faker.number.int({min:1,max:12}),`*`],s=[this.faker.number.int(6),this.faker.helpers.arrayElement(at),`*`,`?`],c=[this.faker.number.int({min:1970,max:2099}),`*`],l=this.faker.helpers.arrayElement(r),u=this.faker.helpers.arrayElement(i),d=this.faker.helpers.arrayElement(a),f=this.faker.helpers.arrayElement(o),p=this.faker.helpers.arrayElement(s),m=this.faker.helpers.arrayElement(c),h=`${l} ${u} ${d} ${f} ${p}`;return t&&(h+=` ${m}`),!n||this.faker.datatype.boolean()?h:this.faker.helpers.arrayElement([`@annually`,`@daily`,`@hourly`,`@monthly`,`@reboot`,`@weekly`,`@yearly`])}};const st=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],ct={A:1,B:2,C:3,D:4,E:5,F:6,G:7,H:8,J:1,K:2,L:3,M:4,N:5,P:7,R:9,S:2,T:3,U:4,V:5,W:6,X:7,Y:8,Z:9};function lt(e){let t=0;for(let[n,r]of e.split(``).entries()){let e=ct[r]??Number(r);t+=e*st[n]}return t%11==10?`X`:String(t%11)}var ut=class extends S{vehicle(){return`${this.manufacturer()} ${this.model()}`}manufacturer(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.manufacturer)}model(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.model)}type(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.type)}fuel(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.fuel)}vin(){let e=[`o`,`i`,`q`,`O`,`I`,`Q`],t=`${this.faker.string.alphanumeric({length:10,casing:`upper`,exclude:e})}${this.faker.string.alpha({length:1,casing:`upper`,exclude:e})}${this.faker.string.alphanumeric({length:1,casing:`upper`,exclude:e})}${this.faker.string.numeric({length:5,allowLeadingZeros:!0})}`;return`${t.slice(0,8)}${lt(t)}${t.slice(9)}`}color(){return this.faker.color.human()}vrm(){return`${this.faker.string.alpha({length:2,casing:`upper`})}${this.faker.string.numeric({length:2,allowLeadingZeros:!0})}${this.faker.string.alpha({length:3,casing:`upper`})}`}bicycle(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.bicycle_type)}},dt=class extends S{adjective(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.adjective}))}adverb(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.adverb}))}conjunction(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.conjunction}))}interjection(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.interjection}))}noun(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.noun}))}preposition(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.preposition}))}verb(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.verb}))}sample(t={}){let n=this.faker.helpers.shuffle([this.adjective,this.adverb,this.conjunction,this.interjection,this.noun,this.preposition,this.verb]);for(let e of n)try{return e(t)}catch{continue}throw new e(`No matching word data available for the current locale`)}words(e={}){typeof e==`number`&&(e={count:e});let{count:t={min:1,max:3}}=e;return this.faker.helpers.multiple(()=>this.sample(),{count:t}).join(` `)}},ft=class extends x{boolean(e={}){typeof e==`number`&&(e={probability:e});let{probability:t=.5}=e;return t<=0?!1:t>=1||this.faker.number.float()<t}},pt=class extends x{int(t={}){typeof t==`number`&&(t={max:t});let{min:n=0,max:r=2**53-1,multipleOf:i=1,distributor:a=b()}=t;if(!Number.isSafeInteger(i))throw new e(`multipleOf should be an integer.`);if(i<=0)throw new e(`multipleOf should be greater than 0.`);let o=Math.ceil(n/i),s=Math.floor(r/i);if(o===s)return o*i;if(s<o)throw r>=n?new e(`No suitable integer value between ${n} and ${r} found.`):new e(`Max ${r} should be greater than min ${n}.`);let c=a(this.faker.fakerCore.randomizer),l=s-o+1;return Math.floor(c*l+o)*i}float(t={}){typeof t==`number`&&(t={max:t});let{min:n=0,max:r=1,fractionDigits:i,multipleOf:a,multipleOf:o=i==null?void 0:10**-i,distributor:s=b()}=t;if(r<n)throw new e(`Max ${r} should be greater than min ${n}.`);if(i!=null){if(a!=null)throw new e(`multipleOf and fractionDigits cannot be set at the same time.`);if(!Number.isSafeInteger(i))throw new e(`fractionDigits should be an integer.`);if(i<0)throw new e(`fractionDigits should be greater than or equal to 0.`)}if(o!=null){if(o<=0)throw new e(`multipleOf should be greater than 0.`);let t=Math.log10(o),i=o<1&&Number.isSafeInteger(t)?10**-t:1/o;return this.int({min:n*i,max:r*i,distributor:s})/i}return s(this.faker.fakerCore.randomizer)*(r-n)+n}binary(e={}){typeof e==`number`&&(e={max:e});let{min:t=0,max:n=1}=e;return this.int({max:n,min:t}).toString(2)}octal(e={}){typeof e==`number`&&(e={max:e});let{min:t=0,max:n=7}=e;return this.int({max:n,min:t}).toString(8)}hex(e={}){typeof e==`number`&&(e={max:e});let{min:t=0,max:n=15}=e;return this.int({max:n,min:t}).toString(16)}bigInt(t={}){(typeof t==`bigint`||typeof t==`number`||typeof t==`string`||typeof t==`boolean`)&&(t={max:t});let n=BigInt(t.min??0),r=BigInt(t.max??n+BigInt(999999999999999));if(r<n)throw new e(`Max ${r} should be larger than min ${n}.`);let i=BigInt(t.multipleOf??1);if(i<=BigInt(0))throw new e(`multipleOf should be greater than 0.`);let a=n/i+(n%i>0n?1n:0n),o=r/i-(r%i<0n?1n:0n);if(a===o)return a*i;if(o<a)throw new e(`No suitable bigint value between ${n} and ${r} found.`);let s=o-a+1n;return(a+BigInt(this.faker.string.numeric({length:s.toString(10).length,allowLeadingZeros:!0}))%s)*i}romanNumeral(t={}){let n=3999;typeof t==`number`&&(t={max:t});let{min:r=1,max:i=n}=t;if(r<1)throw new e(`Min value ${r} should be 1 or greater.`);if(i>n)throw new e(`Max value ${i} should be ${n} or less.`);let a=this.int({min:r,max:i}),o=[[`M`,1e3],[`CM`,900],[`D`,500],[`CD`,400],[`C`,100],[`XC`,90],[`L`,50],[`XL`,40],[`X`,10],[`IX`,9],[`V`,5],[`IV`,4],[`I`,1]],s=``;for(let[e,t]of o)s+=e.repeat(Math.floor(a/t)),a%=t;return s}};const Y=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`;function mt(e){let t=e.valueOf(),n=``;for(let e=10;e>0;e--){let e=t%32;n=Y[e]+n,t=(t-e)/32}return n}function ht(e){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replaceAll(`x`,()=>e.number.hex({min:0,max:15})).replaceAll(`y`,()=>e.number.hex({min:8,max:11}))}function gt(e,t){let n=t.valueOf(),r=Math.max(n,0).toString(16).padStart(12,`0`).slice(-12);return`${[r.substring(0,8),r.substring(8)].join(`-`)}-${`7xxx-yxxx-xxxxxxxxxxxx`.replaceAll(`x`,()=>e.number.hex({min:0,max:15})).replaceAll(`y`,()=>e.number.hex({min:8,max:11}))}`}const X=2**48-1,Z=[...`ABCDEFGHIJKLMNOPQRSTUVWXYZ`],Q=[...`abcdefghijklmnopqrstuvwxyz`],_t=[...`0123456789`];var vt=class extends x{fromCharacters(t,n=1){if(n=this.faker.helpers.rangeToNumber(n),n<=0)return``;if(typeof t==`string`&&(t=[...t]),t.length===0)throw new e(`Unable to generate string: No characters to select from.`);return this.faker.helpers.multiple(()=>this.faker.helpers.arrayElement(t),{count:n}).join(``)}alpha(e={}){typeof e==`number`&&(e={length:e});let t=this.faker.helpers.rangeToNumber(e.length??1);if(t<=0)return``;let{casing:n=`mixed`}=e,{exclude:r=[]}=e;typeof r==`string`&&(r=[...r]);let i;switch(n){case`upper`:i=[...Z];break;case`lower`:i=[...Q];break;case`mixed`:i=[...Q,...Z];break}return i=i.filter(e=>!r.includes(e)),this.fromCharacters(i,t)}alphanumeric(e={}){typeof e==`number`&&(e={length:e});let t=this.faker.helpers.rangeToNumber(e.length??1);if(t<=0)return``;let{casing:n=`mixed`}=e,{exclude:r=[]}=e;typeof r==`string`&&(r=[...r]);let i=[..._t];switch(n){case`upper`:i.push(...Z);break;case`lower`:i.push(...Q);break;case`mixed`:i.push(...Q,...Z);break}return i=i.filter(e=>!r.includes(e)),this.fromCharacters(i,t)}binary(e={}){let{prefix:t=`0b`}=e,n=t;return n+=this.fromCharacters([`0`,`1`],e.length??1),n}octal(e={}){let{prefix:t=`0o`}=e,n=t;return n+=this.fromCharacters([`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`],e.length??1),n}hexadecimal(e={}){let{casing:t=`mixed`,prefix:n=`0x`}=e,r=this.faker.helpers.rangeToNumber(e.length??1);if(r<=0)return n;let i=this.fromCharacters([`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`a`,`b`,`c`,`d`,`e`,`f`,`A`,`B`,`C`,`D`,`E`,`F`],r);return t===`upper`?i=i.toUpperCase():t===`lower`&&(i=i.toLowerCase()),`${n}${i}`}numeric(t={}){typeof t==`number`&&(t={length:t});let n=this.faker.helpers.rangeToNumber(t.length??1);if(n<=0)return``;let{allowLeadingZeros:r=!0}=t,{exclude:i=[]}=t;typeof i==`string`&&(i=[...i]);let a=_t.filter(e=>!i.includes(e));if(a.length===0||a.length===1&&!r&&a[0]===`0`)throw new e(`Unable to generate numeric string, because all possible digits are excluded.`);let o=``;return!r&&!i.includes(`0`)&&(o+=this.faker.helpers.arrayElement(a.filter(e=>e!==`0`))),o+=this.fromCharacters(a,n-o.length),o}sample(e=10){e=this.faker.helpers.rangeToNumber(e);let t={min:33,max:125},n=``;for(;n.length<e;)n+=String.fromCodePoint(this.faker.number.int(t));return n}uuid(e={}){let{version:t=4,refDate:n=this.faker.defaultRefDate()}=e;switch(t){case 7:return gt(this.faker,k(n));default:return ht(this.faker)}}ulid(t={}){let{refDate:n=this.faker.defaultRefDate()}=t,r=k(n);if(r.valueOf()<0||r.valueOf()>X)throw new e(`Unable to generate ULID: the refDate must be between ${new Date(0).toISOString()} and ${new Date(X).toISOString()}, but was ${r.toISOString()}.`);return mt(r)+this.fromCharacters(Y,16)}nanoid(e=21){if(e=this.faker.helpers.rangeToNumber(e),e<=0)return``;let t=[{value:()=>this.alphanumeric(1),weight:62},{value:()=>this.faker.helpers.arrayElement([`_`,`-`]),weight:2}],n=``;for(;n.length<e;){let e=this.faker.helpers.weightedArrayElement(t);n+=e()}return n}symbol(e=1){return this.fromCharacters(`!\"#$%&'()*+,-./:;<=>?@[\\\\]^_\\`{|}~`.split(``),e)}};const yt=()=>new Date;function bt(e){return(e.config.defaultRefDate??yt)()}function xt(e,t=()=>new Date){typeof t==`function`?e.config.defaultRefDate=t:e.config.defaultRefDate=()=>new Date(t)}var $=class{fakerCore;get defaultRefDate(){return()=>bt(this.fakerCore)}setDefaultRefDate(e=()=>new Date){xt(this.fakerCore,e)}datatype=new ft(this);date=new A(this);helpers=new I(this);location=new U(this);number=new pt(this);string=new vt(this);constructor(e){this.fakerCore=te(e)}seed(e=v()){return this.fakerCore.randomizer.seed(e),e}};const St=new $;var Ct=class extends ${airline=new ce(this);animal=new le(this);book=new ue(this);color=new pe(this);commerce=new ge(this);company=new _e(this);database=new ve(this);date=new ye(this);finance=new Ce(this);food=new Te(this);git=new Ee(this);hacker=new De(this);helpers=new Le(this);image=new ze(this);internet=new Je(this);location=new Ye(this);lorem=new Ze(this);music=new Qe(this);person=new $e(this);phone=new et(this);science=new tt(this);system=new ot(this);vehicle=new ut(this);word=new dt(this);get rawDefinitions(){return this.fakerCore.locale.raw}get definitions(){return this.fakerCore.locale}constructor(t){super(t);let{locale:n}=t;if(Array.isArray(n)&&n.length===0)throw new e(`The locale option must contain at least one locale definition.`)}getMetadata(){return this.fakerCore.locale.raw.metadata??{}}};const wt={space:`Academy Color Encoding System (ACES),Adobe RGB,Adobe Wide Gamut RGB,British Standard Colour (BS),CIE 1931 XYZ,CIELAB,CIELUV,CIEUVW,CMY,CMYK,DCI-P3,Display-P3,Federal Standard 595C,HKS,HSL,HSLA,HSLuv,HSV,HWB,LCh,LMS,Munsell Color System,Natural Color System (NSC),Pantone Matching System (PMS),ProPhoto RGB Color Space,RAL,RG,RGBA,RGK,Rec. 2020,Rec. 2100,Rec. 601,Rec. 709,Uniform Color Spaces (UCSs),YDbDr,YIQ,YPbPr,sRGB,sYCC,scRGB,xvYCC`.split(`,`)},Tt={collation:[`ascii_bin`,`ascii_general_ci`,`cp1250_bin`,`cp1250_general_ci`,`utf8_bin`,`utf8_general_ci`,`utf8_unicode_ci`],engine:[`ARCHIVE`,`BLACKHOLE`,`CSV`,`InnoDB`,`MEMORY`,`MyISAM`],type:[`bigint`,`binary`,`bit`,`blob`,`boolean`,`date`,`datetime`,`decimal`,`double`,`enum`,`float`,`geometry`,`int`,`mediumint`,`point`,`real`,`serial`,`set`,`smallint`,`text`,`time`,`timestamp`,`tinyint`,`varchar`]};var Et=`Africa/Abidjan.Africa/Accra.Africa/Addis_Ababa.Africa/Algiers.Africa/Asmara.Africa/Bamako.Africa/Bangui.Africa/Banjul.Africa/Bissau.Africa/Blantyre.Africa/Brazzaville.Africa/Bujumbura.Africa/Cairo.Africa/Casablanca.Africa/Ceuta.Africa/Conakry.Africa/Dakar.Africa/Dar_es_Salaam.Africa/Djibouti.Africa/Douala.Africa/El_Aaiun.Africa/Freetown.Africa/Gaborone.Africa/Harare.Africa/Johannesburg.Africa/Juba.Africa/Kampala.Africa/Khartoum.Africa/Kigali.Africa/Kinshasa.Africa/Lagos.Africa/Libreville.Africa/Lome.Africa/Luanda.Africa/Lubumbashi.Africa/Lusaka.Africa/Malabo.Africa/Maputo.Africa/Maseru.Africa/Mbabane.Africa/Mogadishu.Africa/Monrovia.Africa/Nairobi.Africa/Ndjamena.Africa/Niamey.Africa/Nouakchott.Africa/Ouagadougou.Africa/Porto-Novo.Africa/Sao_Tome.Africa/Tripoli.Africa/Tunis.Africa/Windhoek.America/Adak.America/Anchorage.America/Anguilla.America/Antigua.America/Araguaina.America/Argentina/Buenos_Aires.America/Argentina/Catamarca.America/Argentina/Cordoba.America/Argentina/Jujuy.America/Argentina/La_Rioja.America/Argentina/Mendoza.America/Argentina/Rio_Gallegos.America/Argentina/Salta.America/Argentina/San_Juan.America/Argentina/San_Luis.America/Argentina/Tucuman.America/Argentina/Ushuaia.America/Aruba.America/Asuncion.America/Atikokan.America/Bahia.America/Bahia_Banderas.America/Barbados.America/Belem.America/Belize.America/Blanc-Sablon.America/Boa_Vista.America/Bogota.America/Boise.America/Cambridge_Bay.America/Campo_Grande.America/Cancun.America/Caracas.America/Cayenne.America/Cayman.America/Chicago.America/Chihuahua.America/Ciudad_Juarez.America/Costa_Rica.America/Creston.America/Cuiaba.America/Curacao.America/Danmarkshavn.America/Dawson.America/Dawson_Creek.America/Denver.America/Detroit.America/Dominica.America/Edmonton.America/Eirunepe.America/El_Salvador.America/Fort_Nelson.America/Fortaleza.America/Glace_Bay.America/Goose_Bay.America/Grand_Turk.America/Grenada.America/Guadeloupe.America/Guatemala.America/Guayaquil.America/Guyana.America/Halifax.America/Havana.America/Hermosillo.America/Indiana/Indianapolis.America/Indiana/Knox.America/Indiana/Marengo.America/Indiana/Petersburg.America/Indiana/Tell_City.America/Indiana/Vevay.America/Indiana/Vincennes.America/Indiana/Winamac.America/Inuvik.America/Iqaluit.America/Jamaica.America/Juneau.America/Kentucky/Louisville.America/Kentucky/Monticello.America/Kralendijk.America/La_Paz.America/Lima.America/Los_Angeles.America/Lower_Princes.America/Maceio.America/Managua.America/Manaus.America/Marigot.America/Martinique.America/Matamoros.America/Mazatlan.America/Menominee.America/Merida.America/Metlakatla.America/Mexico_City.America/Miquelon.America/Moncton.America/Monterrey.America/Montevideo.America/Montserrat.America/Nassau.America/New_York.America/Nome.America/Noronha.America/North_Dakota/Beulah.America/North_Dakota/Center.America/North_Dakota/New_Salem.America/Nuuk.America/Ojinaga.America/Panama.America/Paramaribo.America/Phoenix.America/Port-au-Prince.America/Port_of_Spain.America/Porto_Velho.America/Puerto_Rico.America/Punta_Arenas.America/Rankin_Inlet.America/Recife.America/Regina.America/Resolute.America/Rio_Branco.America/Santarem.America/Santiago.America/Santo_Domingo.America/Sao_Paulo.America/Scoresbysund.America/Sitka.America/St_Barthelemy.America/St_Johns.America/St_Kitts.America/St_Lucia.America/St_Thomas.America/St_Vincent.America/Swift_Current.America/Tegucigalpa.America/Thule.America/Tijuana.America/Toronto.America/Tortola.America/Vancouver.America/Whitehorse.America/Winnipeg.America/Yakutat.America/Yellowknife.Antarctica/Casey.Antarctica/Davis.Antarctica/DumontDUrville.Antarctica/Macquarie.Antarctica/Mawson.Antarctica/McMurdo.Antarctica/Palmer.Antarctica/Rothera.Antarctica/Syowa.Antarctica/Troll.Antarctica/Vostok.Arctic/Longyearbyen.Asia/Aden.Asia/Almaty.Asia/Amman.Asia/Anadyr.Asia/Aqtau.Asia/Aqtobe.Asia/Ashgabat.Asia/Atyrau.Asia/Baghdad.Asia/Bahrain.Asia/Baku.Asia/Bangkok.Asia/Barnaul.Asia/Beirut.Asia/Bishkek.Asia/Brunei.Asia/Chita.Asia/Choibalsan.Asia/Colombo.Asia/Damascus.Asia/Dhaka.Asia/Dili.Asia/Dubai.Asia/Dushanbe.Asia/Famagusta.Asia/Gaza.Asia/Hebron.Asia/Ho_Chi_Minh.Asia/Hong_Kong.Asia/Hovd.Asia/Irkutsk.Asia/Jakarta.Asia/Jayapura.Asia/Jerusalem.Asia/Kabul.Asia/Kamchatka.Asia/Karachi.Asia/Kathmandu.Asia/Khandyga.Asia/Kolkata.Asia/Krasnoyarsk.Asia/Kuala_Lumpur.Asia/Kuching.Asia/Kuwait.Asia/Macau.Asia/Magadan.Asia/Makassar.Asia/Manila.Asia/Muscat.Asia/Nicosia.Asia/Novokuznetsk.Asia/Novosibirsk.Asia/Omsk.Asia/Oral.Asia/Phnom_Penh.Asia/Pontianak.Asia/Pyongyang.Asia/Qatar.Asia/Qostanay.Asia/Qyzylorda.Asia/Riyadh.Asia/Sakhalin.Asia/Samarkand.Asia/Seoul.Asia/Shanghai.Asia/Singapore.Asia/Srednekolymsk.Asia/Taipei.Asia/Tashkent.Asia/Tbilisi.Asia/Tehran.Asia/Thimphu.Asia/Tokyo.Asia/Tomsk.Asia/Ulaanbaatar.Asia/Urumqi.Asia/Ust-Nera.Asia/Vientiane.Asia/Vladivostok.Asia/Yakutsk.Asia/Yangon.Asia/Yekaterinburg.Asia/Yerevan.Atlantic/Azores.Atlantic/Bermuda.Atlantic/Canary.Atlantic/Cape_Verde.Atlantic/Faroe.Atlantic/Madeira.Atlantic/Reykjavik.Atlantic/South_Georgia.Atlantic/St_Helena.Atlantic/Stanley.Australia/Adelaide.Australia/Brisbane.Australia/Broken_Hill.Australia/Darwin.Australia/Eucla.Australia/Hobart.Australia/Lindeman.Australia/Lord_Howe.Australia/Melbourne.Australia/Perth.Australia/Sydney.Europe/Amsterdam.Europe/Andorra.Europe/Astrakhan.Europe/Athens.Europe/Belgrade.Europe/Berlin.Europe/Bratislava.Europe/Brussels.Europe/Bucharest.Europe/Budapest.Europe/Busingen.Europe/Chisinau.Europe/Copenhagen.Europe/Dublin.Europe/Gibraltar.Europe/Guernsey.Europe/Helsinki.Europe/Isle_of_Man.Europe/Istanbul.Europe/Jersey.Europe/Kaliningrad.Europe/Kirov.Europe/Kyiv.Europe/Lisbon.Europe/Ljubljana.Europe/London.Europe/Luxembourg.Europe/Madrid.Europe/Malta.Europe/Mariehamn.Europe/Minsk.Europe/Monaco.Europe/Moscow.Europe/Oslo.Europe/Paris.Europe/Podgorica.Europe/Prague.Europe/Riga.Europe/Rome.Europe/Samara.Europe/San_Marino.Europe/Sarajevo.Europe/Saratov.Europe/Simferopol.Europe/Skopje.Europe/Sofia.Europe/Stockholm.Europe/Tallinn.Europe/Tirane.Europe/Ulyanovsk.Europe/Vaduz.Europe/Vatican.Europe/Vienna.Europe/Vilnius.Europe/Volgograd.Europe/Warsaw.Europe/Zagreb.Europe/Zurich.Indian/Antananarivo.Indian/Chagos.Indian/Christmas.Indian/Cocos.Indian/Comoro.Indian/Kerguelen.Indian/Mahe.Indian/Maldives.Indian/Mauritius.Indian/Mayotte.Indian/Reunion.Pacific/Apia.Pacific/Auckland.Pacific/Bougainville.Pacific/Chatham.Pacific/Chuuk.Pacific/Easter.Pacific/Efate.Pacific/Fakaofo.Pacific/Fiji.Pacific/Funafuti.Pacific/Galapagos.Pacific/Gambier.Pacific/Guadalcanal.Pacific/Guam.Pacific/Honolulu.Pacific/Kanton.Pacific/Kiritimati.Pacific/Kosrae.Pacific/Kwajalein.Pacific/Majuro.Pacific/Marquesas.Pacific/Midway.Pacific/Nauru.Pacific/Niue.Pacific/Norfolk.Pacific/Noumea.Pacific/Pago_Pago.Pacific/Palau.Pacific/Pitcairn.Pacific/Pohnpei.Pacific/Port_Moresby.Pacific/Rarotonga.Pacific/Saipan.Pacific/Tahiti.Pacific/Tarawa.Pacific/Tongatapu.Pacific/Wake.Pacific/Wallis`.split(`.`);const Dt={color:wt,database:Tt,date:{time_zone:Et},finance:{federal_reserve_routing_symbol:`0110.0111.0112.0113.0114.0115.0116.0117.0118.0119.0210.0211.0212.0213.0214.0215.0216.0219.0220.0223.0260.0280.0310.0311.0312.0313.0319.0360.0410.0412.0420.0421.0422.0423.0430.0432.0433.0434.0440.0441.0442.0510.0514.0515.0519.0520.0521.0522.0530.0531.0532.0539.0540.0550.0560.0570.0610.0611.0612.0613.0620.0621.0622.0630.0631.0632.0640.0641.0642.0650.0651.0652.0653.0654.0655.0660.0670.0710.0711.0712.0719.0720.0724.0730.0739.0740.0749.0750.0759.0810.0812.0813.0815.0819.0820.0829.0830.0839.0840.0841.0842.0843.0863.0865.0910.0911.0912.0913.0914.0915.0918.0919.0920.0921.0929.0960.1010.1011.1012.1019.1020.1021.1022.1023.1030.1031.1039.1040.1041.1049.1070.1110.1111.1113.1119.1120.1122.1123.1130.1131.1140.1149.1163.1210.1211.1212.1213.1214.1220.1221.1222.1223.1224.1230.1231.1232.1233.1240.1241.1242.1243.1250.1251.1252`.split(`.`)},hacker:{abbreviation:`ADP.AGP.AI.API.ASCII.CLI.COM.CSS.DNS.DRAM.EXE.FTP.GB.HDD.HEX.HTTP.IB.IP.JBOD.JSON.OCR.PCI.PNG.RAM.RSS.SAS.SCSI.SDD.SMS.SMTP.SQL.SSD.SSL.TCP.THX.TLS.UDP.USB.UTF8.VGA.XML.XSS`.split(`.`)},internet:{emoji:{smiley:`☠️.☹️.☺️.❣️.❤️.❤️🔥.❤️🩹.👁️🗨️.👹.👺.👻.👽.👾.👿.💀.💋.💌.💓.💔.💕.💖.💗.💘.💙.💚.💛.💜.💝.💞.💟.💢.💣.💤.💥.💦.💨.💩.💫.💬.💭.💯.🕳️.🖤.🗨️.🗯️.😀.😁.😂.😃.😄.😅.😆.😇.😈.😉.😊.😋.😌.😍.😎.😏.😐.😑.😒.😓.😔.😕.😖.😗.😘.😙.😚.😛.😜.😝.😞.😟.😠.😡.😢.😣.😤.😥.😦.😧.😨.😩.😪.😫.😬.😭.😮.😮💨.😯.😰.😱.😲.😳.😴.😵.😵💫.😶.😶🌫️.😷.😸.😹.😺.😻.😼.😽.😾.😿.🙀.🙁.🙂.🙃.🙄.🙈.🙉.🙊.🤍.🤎.🤐.🤑.🤒.🤓.🤔.🤕.🤖.🤗.🤠.🤡.🤢.🤣.🤤.🤥.🤧.🤨.🤩.🤪.🤫.🤬.🤭.🤮.🤯.🥰.🥱.🥲.🥳.🥴.🥵.🥶.🥸.🥺.🧐.🧡`.split(`.`),body:`☝🏻.☝🏼.☝🏽.☝🏾.☝🏿.☝️.✊.✊🏻.✊🏼.✊🏽.✊🏾.✊🏿.✋.✋🏻.✋🏼.✋🏽.✋🏾.✋🏿.✌🏻.✌🏼.✌🏽.✌🏾.✌🏿.✌️.✍🏻.✍🏼.✍🏽.✍🏾.✍🏿.✍️.👀.👁️.👂.👂🏻.👂🏼.👂🏽.👂🏾.👂🏿.👃.👃🏻.👃🏼.👃🏽.👃🏾.👃🏿.👄.👅.👆.👆🏻.👆🏼.👆🏽.👆🏾.👆🏿.👇.👇🏻.👇🏼.👇🏽.👇🏾.👇🏿.👈.👈🏻.👈🏼.👈🏽.👈🏾.👈🏿.👉.👉🏻.👉🏼.👉🏽.👉🏾.👉🏿.👊.👊🏻.👊🏼.👊🏽.👊🏾.👊🏿.👋.👋🏻.👋🏼.👋🏽.👋🏾.👋🏿.👌.👌🏻.👌🏼.👌🏽.👌🏾.👌🏿.👍.👍🏻.👍🏼.👍🏽.👍🏾.👍🏿.👎.👎🏻.👎🏼.👎🏽.👎🏾.👎🏿.👏.👏🏻.👏🏼.👏🏽.👏🏾.👏🏿.👐.👐🏻.👐🏼.👐🏽.👐🏾.👐🏿.💅.💅🏻.💅🏼.💅🏽.💅🏾.💅🏿.💪.💪🏻.💪🏼.💪🏽.💪🏾.💪🏿.🖐🏻.🖐🏼.🖐🏽.🖐🏾.🖐🏿.🖐️.🖕.🖕🏻.🖕🏼.🖕🏽.🖕🏾.🖕🏿.🖖.🖖🏻.🖖🏼.🖖🏽.🖖🏾.🖖🏿.🙌.🙌🏻.🙌🏼.🙌🏽.🙌🏾.🙌🏿.🙏.🙏🏻.🙏🏼.🙏🏽.🙏🏾.🙏🏿.🤌.🤌🏻.🤌🏼.🤌🏽.🤌🏾.🤌🏿.🤏.🤏🏻.🤏🏼.🤏🏽.🤏🏾.🤏🏿.🤘.🤘🏻.🤘🏼.🤘🏽.🤘🏾.🤘🏿.🤙.🤙🏻.🤙🏼.🤙🏽.🤙🏾.🤙🏿.🤚.🤚🏻.🤚🏼.🤚🏽.🤚🏾.🤚🏿.🤛.🤛🏻.🤛🏼.🤛🏽.🤛🏾.🤛🏿.🤜.🤜🏻.🤜🏼.🤜🏽.🤜🏾.🤜🏿.🤝.🤞.🤞🏻.🤞🏼.🤞🏽.🤞🏾.🤞🏿.🤟.🤟🏻.🤟🏼.🤟🏽.🤟🏾.🤟🏿.🤲.🤲🏻.🤲🏼.🤲🏽.🤲🏾.🤲🏿.🤳.🤳🏻.🤳🏼.🤳🏽.🤳🏾.🤳🏿.🦴.🦵.🦵🏻.🦵🏼.🦵🏽.🦵🏾.🦵🏿.🦶.🦶🏻.🦶🏼.🦶🏽.🦶🏾.🦶🏿.🦷.🦻.🦻🏻.🦻🏼.🦻🏽.🦻🏾.🦻🏿.🦾.🦿.🧠.🫀.🫁`.split(`.`),person:`🎅.🎅🏻.🎅🏼.🎅🏽.🎅🏾.🎅🏿.👦.👦🏻.👦🏼.👦🏽.👦🏾.👦🏿.👧.👧🏻.👧🏼.👧🏽.👧🏾.👧🏿.👨.👨⚕️.👨⚖️.👨✈️.👨🌾.👨🍳.👨🍼.👨🎓.👨🎤.👨🎨.👨🏫.👨🏭.👨💻.👨💼.👨🔧.👨🔬.👨🚀.👨🚒.👨🦰.👨🦱.👨🦲.👨🦳.👨🏻.👨🏻⚕️.👨🏻⚖️.👨🏻✈️.👨🏻🌾.👨🏻🍳.👨🏻🍼.👨🏻🎓.👨🏻🎤.👨🏻🎨.👨🏻🏫.👨🏻🏭.👨🏻💻.👨🏻💼.👨🏻🔧.👨🏻🔬.👨🏻🚀.👨🏻🚒.👨🏻🦰.👨🏻🦱.👨🏻🦲.👨🏻🦳.👨🏼.👨🏼⚕️.👨🏼⚖️.👨🏼✈️.👨🏼🌾.👨🏼🍳.👨🏼🍼.👨🏼🎓.👨🏼🎤.👨🏼🎨.👨🏼🏫.👨🏼🏭.👨🏼💻.👨🏼💼.👨🏼🔧.👨🏼🔬.👨🏼🚀.👨🏼🚒.👨🏼🦰.👨🏼🦱.👨🏼🦲.👨🏼🦳.👨🏽.👨🏽⚕️.👨🏽⚖️.👨🏽✈️.👨🏽🌾.👨🏽🍳.👨🏽🍼.👨🏽🎓.👨🏽🎤.👨🏽🎨.👨🏽🏫.👨🏽🏭.👨🏽💻.👨🏽💼.👨🏽🔧.👨🏽🔬.👨🏽🚀.👨🏽🚒.👨🏽🦰.👨🏽🦱.👨🏽🦲.👨🏽🦳.👨🏾.👨🏾⚕️.👨🏾⚖️.👨🏾✈️.👨🏾🌾.👨🏾🍳.👨🏾🍼.👨🏾🎓.👨🏾🎤.👨🏾🎨.👨🏾🏫.👨🏾🏭.👨🏾💻.👨🏾💼.👨🏾🔧.👨🏾🔬.👨🏾🚀.👨🏾🚒.👨🏾🦰.👨🏾🦱.👨🏾🦲.👨🏾🦳.👨🏿.👨🏿⚕️.👨🏿⚖️.👨🏿✈️.👨🏿🌾.👨🏿🍳.👨🏿🍼.👨🏿🎓.👨🏿🎤.👨🏿🎨.👨🏿🏫.👨🏿🏭.👨🏿💻.👨🏿💼.👨🏿🔧.👨🏿🔬.👨🏿🚀.👨🏿🚒.👨🏿🦰.👨🏿🦱.👨🏿🦲.👨🏿🦳.👩.👩⚕️.👩⚖️.👩✈️.👩🌾.👩🍳.👩🍼.👩🎓.👩🎤.👩🎨.👩🏫.👩🏭.👩💻.👩💼.👩🔧.👩🔬.👩🚀.👩🚒.👩🦰.👩🦱.👩🦲.👩🦳.👩🏻.👩🏻⚕️.👩🏻⚖️.👩🏻✈️.👩🏻🌾.👩🏻🍳.👩🏻🍼.👩🏻🎓.👩🏻🎤.👩🏻🎨.👩🏻🏫.👩🏻🏭.👩🏻💻.👩🏻💼.👩🏻🔧.👩🏻🔬.👩🏻🚀.👩🏻🚒.👩🏻🦰.👩🏻🦱.👩🏻🦲.👩🏻🦳.👩🏼.👩🏼⚕️.👩🏼⚖️.👩🏼✈️.👩🏼🌾.👩🏼🍳.👩🏼🍼.👩🏼🎓.👩🏼🎤.👩🏼🎨.👩🏼🏫.👩🏼🏭.👩🏼💻.👩🏼💼.👩🏼🔧.👩🏼🔬.👩🏼🚀.👩🏼🚒.👩🏼🦰.👩🏼🦱.👩🏼🦲.👩🏼🦳.👩🏽.👩🏽⚕️.👩🏽⚖️.👩🏽✈️.👩🏽🌾.👩🏽🍳.👩🏽🍼.👩🏽🎓.👩🏽🎤.👩🏽🎨.👩🏽🏫.👩🏽🏭.👩🏽💻.👩🏽💼.👩🏽🔧.👩🏽🔬.👩🏽🚀.👩🏽🚒.👩🏽🦰.👩🏽🦱.👩🏽🦲.👩🏽🦳.👩🏾.👩🏾⚕️.👩🏾⚖️.👩🏾✈️.👩🏾🌾.👩🏾🍳.👩🏾🍼.👩🏾🎓.👩🏾🎤.👩🏾🎨.👩🏾🏫.👩🏾🏭.👩🏾💻.👩🏾💼.👩🏾🔧.👩🏾🔬.👩🏾🚀.👩🏾🚒.👩🏾🦰.👩🏾🦱.👩🏾🦲.👩🏾🦳.👩🏿.👩🏿⚕️.👩🏿⚖️.👩🏿✈️.👩🏿🌾.👩🏿🍳.👩🏿🍼.👩🏿🎓.👩🏿🎤.👩🏿🎨.👩🏿🏫.👩🏿🏭.👩🏿💻.👩🏿💼.👩🏿🔧.👩🏿🔬.👩🏿🚀.👩🏿🚒.👩🏿🦰.👩🏿🦱.👩🏿🦲.👩🏿🦳.👮.👮♀️.👮♂️.👮🏻.👮🏻♀️.👮🏻♂️.👮🏼.👮🏼♀️.👮🏼♂️.👮🏽.👮🏽♀️.👮🏽♂️.👮🏾.👮🏾♀️.👮🏾♂️.👮🏿.👮🏿♀️.👮🏿♂️.👰.👰♀️.👰♂️.👰🏻.👰🏻♀️.👰🏻♂️.👰🏼.👰🏼♀️.👰🏼♂️.👰🏽.👰🏽♀️.👰🏽♂️.👰🏾.👰🏾♀️.👰🏾♂️.👰🏿.👰🏿♀️.👰🏿♂️.👱.👱♀️.👱♂️.👱🏻.👱🏻♀️.👱🏻♂️.👱🏼.👱🏼♀️.👱🏼♂️.👱🏽.👱🏽♀️.👱🏽♂️.👱🏾.👱🏾♀️.👱🏾♂️.👱🏿.👱🏿♀️.👱🏿♂️.👲.👲🏻.👲🏼.👲🏽.👲🏾.👲🏿.👳.👳♀️.👳♂️.👳🏻.👳🏻♀️.👳🏻♂️.👳🏼.👳🏼♀️.👳🏼♂️.👳🏽.👳🏽♀️.👳🏽♂️.👳🏾.👳🏾♀️.👳🏾♂️.👳🏿.👳🏿♀️.👳🏿♂️.👴.👴🏻.👴🏼.👴🏽.👴🏾.👴🏿.👵.👵🏻.👵🏼.👵🏽.👵🏾.👵🏿.👶.👶🏻.👶🏼.👶🏽.👶🏾.👶🏿.👷.👷♀️.👷♂️.👷🏻.👷🏻♀️.👷🏻♂️.👷🏼.👷🏼♀️.👷🏼♂️.👷🏽.👷🏽♀️.👷🏽♂️.👷🏾.👷🏾♀️.👷🏾♂️.👷🏿.👷🏿♀️.👷🏿♂️.👸.👸🏻.👸🏼.👸🏽.👸🏾.👸🏿.👼.👼🏻.👼🏼.👼🏽.👼🏾.👼🏿.💁.💁♀️.💁♂️.💁🏻.💁🏻♀️.💁🏻♂️.💁🏼.💁🏼♀️.💁🏼♂️.💁🏽.💁🏽♀️.💁🏽♂️.💁🏾.💁🏾♀️.💁🏾♂️.💁🏿.💁🏿♀️.💁🏿♂️.💂.💂♀️.💂♂️.💂🏻.💂🏻♀️.💂🏻♂️.💂🏼.💂🏼♀️.💂🏼♂️.💂🏽.💂🏽♀️.💂🏽♂️.💂🏾.💂🏾♀️.💂🏾♂️.💂🏿.💂🏿♀️.💂🏿♂️.💆.💆♀️.💆♂️.💆🏻.💆🏻♀️.💆🏻♂️.💆🏼.💆🏼♀️.💆🏼♂️.💆🏽.💆🏽♀️.💆🏽♂️.💆🏾.💆🏾♀️.💆🏾♂️.💆🏿.💆🏿♀️.💆🏿♂️.💇.💇🏻.💇🏼.💇🏽.🕵🏻.🕵🏻♀️.🕵🏻♂️.🕵🏼.🕵🏼♀️.🕵🏼♂️.🕵🏽.🕵🏽♀️.🕵🏽♂️.🕵🏾.🕵🏾♀️.🕵🏾♂️.🕵🏿.🕵🏿♀️.🕵🏿♂️.🕵️.🕵️♀️.🕵️♂️.🙅.🙅♀️.🙅♂️.🙅🏻.🙅🏻♀️.🙅🏻♂️.🙅🏼.🙅🏼♀️.🙅🏼♂️.🙅🏽.🙅🏽♀️.🙅🏽♂️.🙅🏾.🙅🏾♀️.🙅🏾♂️.🙅🏿.🙅🏿♀️.🙅🏿♂️.🙆.🙆♀️.🙆♂️.🙆🏻.🙆🏻♀️.🙆🏻♂️.🙆🏼.🙆🏼♀️.🙆🏼♂️.🙆🏽.🙆🏽♀️.🙆🏽♂️.🙆🏾.🙆🏾♀️.🙆🏾♂️.🙆🏿.🙆🏿♀️.🙆🏿♂️.🙇.🙇♀️.🙇♂️.🙇🏻.🙇🏻♀️.🙇🏻♂️.🙇🏼.🙇🏼♀️.🙇🏼♂️.🙇🏽.🙇🏽♀️.🙇🏽♂️.🙇🏾.🙇🏾♀️.🙇🏾♂️.🙇🏿.🙇🏿♀️.🙇🏿♂️.🙋.🙋♀️.🙋♂️.🙋🏻.🙋🏻♀️.🙋🏻♂️.🙋🏼.🙋🏼♀️.🙋🏼♂️.🙋🏽.🙋🏽♀️.🙋🏽♂️.🙋🏾.🙋🏾♀️.🙋🏾♂️.🙋🏿.🙋🏿♀️.🙋🏿♂️.🙍.🙍♀️.🙍♂️.🙍🏻.🙍🏻♀️.🙍🏻♂️.🙍🏼.🙍🏼♀️.🙍🏼♂️.🙍🏽.🙍🏽♀️.🙍🏽♂️.🙍🏾.🙍🏾♀️.🙍🏾♂️.🙍🏿.🙍🏿♀️.🙍🏿♂️.🙎.🙎♀️.🙎♂️.🙎🏻.🙎🏻♀️.🙎🏻♂️.🙎🏼.🙎🏼♀️.🙎🏼♂️.🙎🏽.🙎🏽♀️.🙎🏽♂️.🙎🏾.🙎🏾♀️.🙎🏾♂️.🙎🏿.🙎🏿♀️.🙎🏿♂️.🤦.🤦♀️.🤦♂️.🤦🏻.🤦🏻♀️.🤦🏻♂️.🤦🏼.🤦🏼♀️.🤦🏼♂️.🤦🏽.🤦🏽♀️.🤦🏽♂️.🤦🏾.🤦🏾♀️.🤦🏾♂️.🤦🏿.🤦🏿♀️.🤦🏿♂️.🤰.🤰🏻.🤰🏼.🤰🏽.🤰🏾.🤰🏿.🤱.🤱🏻.🤱🏼.🤱🏽.🤱🏾.🤱🏿.🤴.🤴🏻.🤴🏼.🤴🏽.🤴🏾.🤴🏿.🤵.🤵♀️.🤵♂️.🤵🏻.🤵🏻♀️.🤵🏻♂️.🤵🏼.🤵🏼♀️.🤵🏼♂️.🤵🏽.🤵🏽♀️.🤵🏽♂️.🤵🏾.🤵🏾♀️.🤵🏾♂️.🤵🏿.🤵🏿♀️.🤵🏿♂️.🤶.🤶🏻.🤶🏼.🤶🏽.🤶🏾.🤶🏿.🤷.🤷♀️.🤷♂️.🤷🏻.🤷🏻♀️.🤷🏻♂️.🤷🏼.🤷🏼♀️.🤷🏼♂️.🤷🏽.🤷🏽♀️.🤷🏽♂️.🤷🏾.🤷🏾♀️.🤷🏾♂️.🤷🏿.🤷🏿♀️.🤷🏿♂️.🥷.🥷🏻.🥷🏼.🥷🏽.🥷🏾.🥷🏿.🦸.🦸♀️.🦸♂️.🦸🏻.🦸🏻♀️.🦸🏻♂️.🦸🏼.🦸🏼♀️.🦸🏼♂️.🦸🏽.🦸🏽♀️.🦸🏽♂️.🦸🏾.🦸🏾♀️.🦸🏾♂️.🦸🏿.🦸🏿♀️.🦸🏿♂️.🦹.🦹♀️.🦹♂️.🦹🏻.🦹🏻♀️.🦹🏻♂️.🦹🏼.🦹🏼♀️.🦹🏼♂️.🦹🏽.🦹🏽♀️.🦹🏽♂️.🦹🏾.🦹🏾♀️.🦹🏾♂️.🦹🏿.🦹🏿♀️.🦹🏿♂️.🧏.🧏♀️.🧏♂️.🧏🏻.🧏🏻♀️.🧏🏻♂️.🧏🏼.🧏🏼♀️.🧏🏼♂️.🧏🏽.🧏🏽♀️.🧏🏽♂️.🧏🏾.🧏🏾♀️.🧏🏾♂️.🧏🏿.🧏🏿♀️.🧏🏿♂️.🧑.🧑⚕️.🧑⚖️.🧑✈️.🧑🌾.🧑🍳.🧑🍼.🧑🎄.🧑🎓.🧑🎤.🧑🎨.🧑🏫.🧑🏭.🧑💻.🧑💼.🧑🔧.🧑🔬.🧑🚀.🧑🚒.🧑🦰.🧑🦱.🧑🦲.🧑🦳.🧑🏻.🧑🏻⚕️.🧑🏻⚖️.🧑🏻✈️.🧑🏻🌾.🧑🏻🍳.🧑🏻🍼.🧑🏻🎄.🧑🏻🎓.🧑🏻🎤.🧑🏻🎨.🧑🏻🏫.🧑🏻🏭.🧑🏻💻.🧑🏻💼.🧑🏻🔧.🧑🏻🔬.🧑🏻🚀.🧑🏻🚒.🧑🏻🦰.🧑🏻🦱.🧑🏻🦲.🧑🏻🦳.🧑🏼.🧑🏼⚕️.🧑🏼⚖️.🧑🏼✈️.🧑🏼🌾.🧑🏼🍳.🧑🏼🍼.🧑🏼🎄.🧑🏼🎓.🧑🏼🎤.🧑🏼🎨.🧑🏼🏫.🧑🏼🏭.🧑🏼💻.🧑🏼💼.🧑🏼🔧.🧑🏼🔬.🧑🏼🚀.🧑🏼🚒.🧑🏼🦰.🧑🏼🦱.🧑🏼🦲.🧑🏼🦳.🧑🏽.🧑🏽⚕️.🧑🏽⚖️.🧑🏽✈️.🧑🏽🌾.🧑🏽🍳.🧑🏽🍼.🧑🏽🎄.🧑🏽🎓.🧑🏽🎤.🧑🏽🎨.🧑🏽🏫.🧑🏽🏭.🧑🏽💻.🧑🏽💼.🧑🏽🔧.🧑🏽🔬.🧑🏽🚀.🧑🏽🚒.🧑🏽🦰.🧑🏽🦱.🧑🏽🦲.🧑🏽🦳.🧑🏾.🧑🏾⚕️.🧑🏾⚖️.🧑🏾✈️.🧑🏾🌾.🧑🏾🍳.🧑🏾🍼.🧑🏾🎄.🧑🏾🎓.🧑🏾🎤.🧑🏾🎨.🧑🏾🏫.🧑🏾🏭.🧑🏾💻.🧑🏾💼.🧑🏾🔧.🧑🏾🔬.🧑🏾🚀.🧑🏾🚒.🧑🏾🦰.🧑🏾🦱.🧑🏾🦲.🧑🏾🦳.🧑🏿.🧑🏿⚕️.🧑🏿⚖️.🧑🏿✈️.🧑🏿🌾.🧑🏿🍳.🧑🏿🍼.🧑🏿🎄.🧑🏿🎓.🧑🏿🎤.🧑🏿🎨.🧑🏿🏫.🧑🏿🏭.🧑🏿💻.🧑🏿💼.🧑🏿🔧.🧑🏿🔬.🧑🏿🚀.🧑🏿🚒.🧑🏿🦰.🧑🏿🦱.🧑🏿🦲.🧑🏿🦳.🧒.🧒🏻.🧒🏼.🧒🏽.🧒🏾.🧒🏿.🧓.🧓🏻.🧓🏼.🧓🏽.🧓🏾.🧓🏿.🧔.🧔♀️.🧔♂️.🧔🏻.🧔🏻♀️.🧔🏻♂️.🧔🏼.🧔🏼♀️.🧔🏼♂️.🧔🏽.🧔🏽♀️.🧔🏽♂️.🧔🏾.🧔🏾♀️.🧔🏾♂️.🧔🏿.🧔🏿♀️.🧔🏿♂️.🧕.🧕🏻.🧕🏼.🧕🏽.🧕🏾.🧕🏿.🧙.🧙♀️.🧙♂️.🧙🏻.🧙🏻♀️.🧙🏻♂️.🧙🏼.🧙🏼♀️.🧙🏼♂️.🧙🏽.🧙🏽♀️.🧙🏽♂️.🧙🏾.🧙🏾♀️.🧙🏾♂️.🧙🏿.🧙🏿♀️.🧙🏿♂️.🧚.🧚♀️.🧚♂️.🧚🏻.🧚🏻♀️.🧚🏻♂️.🧚🏼.🧚🏼♀️.🧚🏼♂️.🧚🏽.🧚🏽♀️.🧚🏽♂️.🧚🏾.🧚🏾♀️.🧚🏾♂️.🧚🏿.🧚🏿♀️.🧚🏿♂️.🧛.🧛♀️.🧛♂️.🧛🏻.🧛🏻♀️.🧛🏻♂️.🧛🏼.🧛🏼♀️.🧛🏼♂️.🧛🏽.🧛🏽♀️.🧛🏽♂️.🧛🏾.🧛🏾♀️.🧛🏾♂️.🧛🏿.🧛🏿♀️.🧛🏿♂️.🧜.🧜♀️.🧜♂️.🧜🏻.🧜🏻♀️.🧜🏻♂️.🧜🏼.🧜🏼♀️.🧜🏼♂️.🧜🏽.🧜🏽♀️.🧜🏽♂️.🧜🏾.🧜🏾♀️.🧜🏾♂️.🧜🏿.🧜🏿♀️.🧜🏿♂️.🧝.🧝♀️.🧝♂️.🧝🏻.🧝🏻♀️.🧝🏻♂️.🧝🏼.🧝🏼♀️.🧝🏼♂️.🧝🏽.🧝🏽♀️.🧝🏽♂️.🧝🏾.🧝🏾♀️.🧝🏾♂️.🧝🏿.🧝🏿♀️.🧝🏿♂️.🧞.🧞♀️.🧞♂️.🧟.🧟♀️.🧟♂️`.split(`.`),nature:`☘️.🌱.🌲.🌳.🌴.🌵.🌷.🌸.🌹.🌺.🌻.🌼.🌾.🌿.🍀.🍁.🍂.🍃.🏵️.🐀.🐁.🐂.🐃.🐄.🐅.🐆.🐇.🐈.🐈⬛.🐉.🐊.🐋.🐌.🐍.🐎.🐏.🐐.🐑.🐒.🐓.🐔.🐕.🐕🦺.🐖.🐗.🐘.🐙.🐚.🐛.🐜.🐝.🐞.🐟.🐠.🐡.🐢.🐣.🐤.🐥.🐦.🐧.🐨.🐩.🐪.🐫.🐬.🐭.🐮.🐯.🐰.🐱.🐲.🐳.🐴.🐵.🐶.🐷.🐸.🐹.🐺.🐻.🐻❄️.🐼.🐽.🐾.🐿️.💐.💮.🕊️.🕷️.🕸️.🥀.🦁.🦂.🦃.🦄.🦅.🦆.🦇.🦈.🦉.🦊.🦋.🦌.🦍.🦎.🦏.🦒.🦓.🦔.🦕.🦖.🦗.🦘.🦙.🦚.🦛.🦜.🦝.🦟.🦠.🦡.🦢.🦣.🦤.🦥.🦦.🦧.🦨.🦩.🦫.🦬.🦭.🦮.🪰.🪱.🪲.🪳.🪴.🪶`.split(`.`),food:`☕.🌭.🌮.🌯.🌰.🌶️.🌽.🍄.🍅.🍆.🍇.🍈.🍉.🍊.🍋.🍌.🍍.🍎.🍏.🍐.🍑.🍒.🍓.🍔.🍕.🍖.🍗.🍘.🍙.🍚.🍛.🍜.🍝.🍞.🍟.🍠.🍡.🍢.🍣.🍤.🍥.🍦.🍧.🍨.🍩.🍪.🍫.🍬.🍭.🍮.🍯.🍰.🍱.🍲.🍳.🍴.🍵.🍶.🍷.🍸.🍹.🍺.🍻.🍼.🍽️.🍾.🍿.🎂.🏺.🔪.🥂.🥃.🥄.🥐.🥑.🥒.🥓.🥔.🥕.🥖.🥗.🥘.🥙.🥚.🥛.🥜.🥝.🥞.🥟.🥠.🥡.🥢.🥣.🥤.🥥.🥦.🥧.🥨.🥩.🥪.🥫.🥬.🥭.🥮.🥯.🦀.🦐.🦑.🦞.🦪.🧀.🧁.🧂.🧃.🧄.🧅.🧆.🧇.🧈.🧉.🧊.🧋.🫐.🫑.🫒.🫓.🫔.🫕.🫖`.split(`.`),travel:`⌚.⌛.⏰.⏱️.⏲️.⏳.☀️.☁️.☂️.☃️.☄️.☔.♨️.⚓.⚡.⛄.⛅.⛈️.⛩️.⛪.⛰️.⛱️.⛲.⛴️.⛵.⛺.⛽.✈️.❄️.⭐.🌀.🌁.🌂.🌃.🌄.🌅.🌆.🌇.🌈.🌉.🌊.🌋.🌌.🌍.🌎.🌏.🌐.🌑.🌒.🌓.🌔.🌕.🌖.🌗.🌘.🌙.🌚.🌛.🌜.🌝.🌞.🌟.🌠.🌡️.🌤️.🌥️.🌦️.🌧️.🌨️.🌩️.🌪️.🌫️.🌬️.🎠.🎡.🎢.🎪.🏍️.🏎️.🏔️.🏕️.🏖️.🏗️.🏘️.🏙️.🏚️.🏛️.🏜️.🏝️.🏞️.🏟️.🏠.🏡.🏢.🏣.🏤.🏥.🏦.🏨.🏩.🏪.🏫.🏬.🏭.🏯.🏰.💈.💒.💧.💺.🔥.🕋.🕌.🕍.🕐.🕑.🕒.🕓.🕔.🕕.🕖.🕗.🕘.🕙.🕚.🕛.🕜.🕝.🕞.🕟.🕠.🕡.🕢.🕣.🕤.🕥.🕦.🕧.🕰️.🗺️.🗻.🗼.🗽.🗾.🚀.🚁.🚂.🚃.🚄.🚅.🚆.🚇.🚈.🚉.🚊.🚋.🚌.🚍.🚎.🚏.🚐.🚑.🚒.🚓.🚔.🚕.🚖.🚗.🚘.🚙.🚚.🚛.🚜.🚝.🚞.🚟.🚠.🚡.🚢.🚤.🚥.🚦.🚧.🚨.🚲.🛎️.🛑.🛕.🛖.🛢️.🛣️.🛤️.🛥️.🛩️.🛫.🛬.🛰️.🛳️.🛴.🛵.🛶.🛸.🛹.🛺.🛻.🛼.🦼.🦽.🧭.🧱.🧳.🪂.🪐.🪨.🪵`.split(`.`),activity:`♟️.♠️.♣️.♥️.♦️.⚽.⚾.⛳.⛸️.✨.🀄.🃏.🎀.🎁.🎃.🎄.🎆.🎇.🎈.🎉.🎊.🎋.🎍.🎎.🎏.🎐.🎑.🎖️.🎗️.🎟️.🎣.🎨.🎫.🎭.🎮.🎯.🎰.🎱.🎲.🎳.🎴.🎽.🎾.🎿.🏀.🏅.🏆.🏈.🏉.🏏.🏐.🏑.🏒.🏓.🏸.🔮.🕹️.🖼️.🛷.🤿.🥅.🥇.🥈.🥉.🥊.🥋.🥌.🥍.🥎.🥏.🧧.🧨.🧩.🧵.🧶.🧸.🧿.🪀.🪁.🪄.🪅.🪆.🪡.🪢`.split(`.`),object:`⌨️.☎️.⚒️.⚔️.⚖️.⚗️.⚙️.⚰️.⚱️.⛏️.⛑️.⛓️.✂️.✉️.✏️.✒️.🎒.🎓.🎙️.🎚️.🎛️.🎞️.🎤.🎥.🎧.🎩.🎬.🎵.🎶.🎷.🎸.🎹.🎺.🎻.🎼.🏮.🏷️.🏹.👑.👒.👓.👔.👕.👖.👗.👘.👙.👚.👛.👜.👝.👞.👟.👠.👡.👢.💄.💉.💊.💍.💎.💡.💰.💳.💴.💵.💶.💷.💸.💹.💻.💼.💽.💾.💿.📀.📁.📂.📃.📄.📅.📆.📇.📈.📉.📊.📋.📌.📍.📎.📏.📐.📑.📒.📓.📔.📕.📖.📗.📘.📙.📚.📜.📝.📞.📟.📠.📡.📢.📣.📤.📥.📦.📧.📨.📩.📪.📫.📬.📭.📮.📯.📰.📱.📲.📷.📸.📹.📺.📻.📼.📽️.📿.🔇.🔈.🔉.🔊.🔋.🔌.🔍.🔎.🔏.🔐.🔑.🔒.🔓.🔔.🔕.🔖.🔗.🔦.🔧.🔨.🔩.🔫.🔬.🔭.🕯️.🕶️.🖇️.🖊️.🖋️.🖌️.🖍️.🖥️.🖨️.🖱️.🖲️.🗂️.🗃️.🗄️.🗑️.🗒️.🗓️.🗜️.🗝️.🗞️.🗡️.🗳️.🗿.🚪.🚬.🚽.🚿.🛁.🛋️.🛍️.🛏️.🛒.🛗.🛠️.🛡️.🥁.🥻.🥼.🥽.🥾.🥿.🦯.🦺.🧢.🧣.🧤.🧥.🧦.🧪.🧫.🧬.🧮.🧯.🧰.🧲.🧴.🧷.🧹.🧺.🧻.🧼.🧽.🧾.🩰.🩱.🩲.🩳.🩴.🩸.🩹.🩺.🪃.🪑.🪒.🪓.🪔.🪕.🪖.🪗.🪘.🪙.🪚.🪛.🪜.🪝.🪞.🪟.🪠.🪣.🪤.🪥.🪦.🪧`.split(`.`),symbol:`#️⃣.*️⃣.0️⃣.1️⃣.2️⃣.3️⃣.4️⃣.5️⃣.6️⃣.7️⃣.8️⃣.9️⃣.©️.®️.‼️.⁉️.™️.ℹ️.↔️.↕️.↖️.↗️.↘️.↙️.↩️.↪️.⏏️.⏩.⏪.⏫.⏬.⏭️.⏮️.⏯️.⏸️.⏹️.⏺️.Ⓜ️.▪️.▫️.▶️.◀️.◻️.◼️.◽.◾.☑️.☢️.☣️.☦️.☪️.☮️.☯️.☸️.♀️.♂️.♈.♉.♊.♋.♌.♍.♎.♏.♐.♑.♒.♓.♻️.♾️.♿.⚕️.⚛️.⚜️.⚠️.⚧️.⚪.⚫.⛎.⛔.✅.✔️.✖️.✝️.✡️.✳️.✴️.❇️.❌.❎.❓.❔.❕.❗.➕.➖.➗.➡️.➰.➿.⤴️.⤵️.⬅️.⬆️.⬇️.⬛.⬜.⭕.〰️.〽️.㊗️.㊙️.🅰️.🅱️.🅾️.🅿️.🆎.🆑.🆒.🆓.🆔.🆕.🆖.🆗.🆘.🆙.🆚.🈁.🈂️.🈚.🈯.🈲.🈳.🈴.🈵.🈶.🈷️.🈸.🈹.🈺.🉐.🉑.🎦.🏧.💠.💱.💲.📛.📳.📴.📵.📶.🔀.🔁.🔂.🔃.🔄.🔅.🔆.🔘.🔙.🔚.🔛.🔜.🔝.🔞.🔟.🔠.🔡.🔢.🔣.🔤.🔯.🔰.🔱.🔲.🔳.🔴.🔵.🔶.🔷.🔸.🔹.🔺.🔻.🔼.🔽.🕉️.🕎.🚫.🚭.🚮.🚯.🚰.🚱.🚳.🚷.🚸.🚹.🚺.🚻.🚼.🚾.🛂.🛃.🛄.🛅.🛐.🟠.🟡.🟢.🟣.🟤.🟥.🟦.🟧.🟨.🟩.🟪.🟫`.split(`.`),flag:`🇦🇨.🇦🇩.🇦🇪.🇦🇫.🇦🇬.🇦🇮.🇦🇱.🇦🇲.🇦🇴.🇦🇶.🇦🇷.🇦🇸.🇦🇹.🇦🇺.🇦🇼.🇦🇽.🇦🇿.🇧🇦.🇧🇧.🇧🇩.🇧🇪.🇧🇫.🇧🇬.🇧🇭.🇧🇮.🇧🇯.🇧🇱.🇧🇲.🇧🇳.🇧🇴.🇧🇶.🇧🇷.🇧🇸.🇧🇹.🇧🇻.🇧🇼.🇧🇾.🇧🇿.🇨🇦.🇨🇨.🇨🇩.🇨🇫.🇨🇬.🇨🇭.🇨🇮.🇨🇰.🇨🇱.🇨🇲.🇨🇳.🇨🇴.🇨🇵.🇨🇷.🇨🇺.🇨🇻.🇨🇼.🇨🇽.🇨🇾.🇨🇿.🇩🇪.🇩🇬.🇩🇯.🇩🇰.🇩🇲.🇩🇴.🇩🇿.🇪🇦.🇪🇨.🇪🇪.🇪🇬.🇪🇭.🇪🇷.🇪🇸.🇪🇹.🇪🇺.🇫🇮.🇫🇯.🇫🇰.🇫🇲.🇫🇴.🇫🇷.🇬🇦.🇬🇧.🇬🇩.🇬🇪.🇬🇫.🇬🇬.🇬🇭.🇬🇮.🇬🇱.🇬🇲.🇬🇳.🇬🇵.🇬🇶.🇬🇷.🇬🇸.🇬🇹.🇬🇺.🇬🇼.🇬🇾.🇭🇰.🇭🇲.🇭🇳.🇭🇷.🇭🇹.🇭🇺.🇮🇨.🇮🇩.🇮🇪.🇮🇱.🇮🇲.🇮🇳.🇮🇴.🇮🇶.🇮🇷.🇮🇸.🇮🇹.🇯🇪.🇯🇲.🇯🇴.🇯🇵.🇰🇪.🇰🇬.🇰🇭.🇰🇮.🇰🇲.🇰🇳.🇰🇵.🇰🇷.🇰🇼.🇰🇾.🇰🇿.🇱🇦.🇱🇧.🇱🇨.🇱🇮.🇱🇰.🇱🇷.🇱🇸.🇱🇹.🇱🇺.🇱🇻.🇱🇾.🇲🇦.🇲🇨.🇲🇩.🇲🇪.🇲🇫.🇲🇬.🇲🇭.🇲🇰.🇲🇱.🇲🇲.🇲🇳.🇲🇴.🇲🇵.🇲🇶.🇲🇷.🇲🇸.🇲🇹.🇲🇺.🇲🇻.🇲🇼.🇲🇽.🇲🇾.🇲🇿.🇳🇦.🇳🇨.🇳🇪.🇳🇫.🇳🇬.🇳🇮.🇳🇱.🇳🇴.🇳🇵.🇳🇷.🇳🇺.🇳🇿.🇴🇲.🇵🇦.🇵🇪.🇵🇫.🇵🇬.🇵🇭.🇵🇰.🇵🇱.🇵🇲.🇵🇳.🇵🇷.🇵🇸.🇵🇹.🇵🇼.🇵🇾.🇶🇦.🇷🇪.🇷🇴.🇷🇸.🇷🇺.🇷🇼.🇸🇦.🇸🇧.🇸🇨.🇸🇩.🇸🇪.🇸🇬.🇸🇭.🇸🇮.🇸🇯.🇸🇰.🇸🇱.🇸🇲.🇸🇳.🇸🇴.🇸🇷.🇸🇸.🇸🇹.🇸🇻.🇸🇽.🇸🇾.🇸🇿.🇹🇦.🇹🇨.🇹🇩.🇹🇫.🇹🇬.🇹🇭.🇹🇯.🇹🇰.🇹🇱.🇹🇲.🇹🇳.🇹🇴.🇹🇷.🇹🇹.🇹🇻.🇹🇼.🇹🇿.🇺🇦.🇺🇬.🇺🇲.🇺🇳.🇺🇸.🇺🇾.🇺🇿.🇻🇦.🇻🇨.🇻🇪.🇻🇬.🇻🇮.🇻🇳.🇻🇺.🇼🇫.🇼🇸.🇽🇰.🇾🇪.🇾🇹.🇿🇦.🇿🇲.🇿🇼.🎌.🏁.🏳️.🏳️⚧️.🏳️🌈.🏴.🏴☠️.🚩`.split(`.`)},http_status_code:{informational:[100,101,102,103],success:[200,201,202,203,204,205,206,207,208,226],redirection:[300,301,302,303,304,305,306,307,308],clientError:[400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,425,426,428,429,431,451],serverError:[500,501,502,503,504,505,506,507,508,510,511]},jwt_algorithm:[`ES256`,`ES384`,`ES512`,`HS256`,`HS384`,`HS512`,`PS256`,`PS384`,`PS512`,`RS256`,`RS384`,`RS512`,`none`],user_agent_pattern:[`FakerBot/{{system.semver}}`,`Googlebot/2.1 (+http://www.google.com/bot.html)`,`Mozilla/5.0 (Linux; Android {{number.int({\"min\":5,\"max\":13})}}; {{helpers.arrayElement([\"SM-G998U\",\"SM-G998B\",\"SM-G998N\",\"SM-G998P\",\"SM-T800\"])}}) AppleWebKit/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}} (KHTML, like Gecko) Chrome/{{number.int({\"min\":55,\"max\":131})}}.{{system.semver}} Mobile Safari/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}`,`Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:{{number.int({\"min\":75, \"max\":133})}}.0) Gecko/20100101 Firefox/{{number.int({\"min\":75, \"max\":133})}}.0`,`Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}.{{number.int({\"min\":0,\"max\":99})}} (KHTML, like Gecko) Version/16.1 Safari/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}.{{number.int({\"min\":0,\"max\":99})}}`,`Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_15_7) AppleWebKit/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}.{{number.int({\"min\":0,\"max\":99})}} (KHTML, like Gecko) Chrome/{{number.int({\"min\":55,\"max\":131})}}.{{system.semver}} Safari/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}.{{number.int({\"min\":0,\"max\":99})}}`,`Mozilla/5.0 (Windows NT {{helpers.arrayElement([\"5.1\",\"5.2\",\"6.0\",\"6.1\",\"6.2\",\"6.3\",\"10.0\"])}}; Win64; x64) AppleWebKit/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}} (KHTML, like Gecko) Chrome/{{number.int({\"min\":55,\"max\":131})}}.{{system.semver}} Safari/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}} Edg/{{number.int({\"min\":110,\"max\":131})}}.{{system.semver}}`,`Mozilla/5.0 (X11; Linux x86_64; rv:{{number.int({\"min\":75,\"max\":133})}}.0) Gecko/20100101 Firefox/{{number.int({\"min\":75,\"max\":133})}}.0`,`Mozilla/5.0 (compatible; MSIE {{number.int({\"min\":6,\"max\":10})}}.0; Windows NT {{helpers.arrayElement([\"5.1\",\"5.2\",\"6.0\",\"6.1\",\"6.2\",\"6.3\",\"10.0\"])}}; Trident/{{number.int({\"min\":4,\"max\":7})}}.0)`,`Mozilla/5.0 (iPhone; CPU iPhone OS {{number.int({\"min\":10,\"max\":18})}}_{{number.int({\"min\":0,\"max\":4})}} like Mac OS X) AppleWebKit/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}.{{number.int({\"min\":0,\"max\":99})}} (KHTML, like Gecko) Version/{{number.int({\"min\":10,\"max\":18})}}_{{number.int({\"min\":0,\"max\":4})}} Mobile/15E148 Safari/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}`]},location:{country_code:[{alpha2:`AD`,alpha3:`AND`,numeric:`020`},{alpha2:`AE`,alpha3:`ARE`,numeric:`784`},{alpha2:`AF`,alpha3:`AFG`,numeric:`004`},{alpha2:`AG`,alpha3:`ATG`,numeric:`028`},{alpha2:`AI`,alpha3:`AIA`,numeric:`660`},{alpha2:`AL`,alpha3:`ALB`,numeric:`008`},{alpha2:`AM`,alpha3:`ARM`,numeric:`051`},{alpha2:`AO`,alpha3:`AGO`,numeric:`024`},{alpha2:`AQ`,alpha3:`ATA`,numeric:`010`},{alpha2:`AR`,alpha3:`ARG`,numeric:`032`},{alpha2:`AS`,alpha3:`ASM`,numeric:`016`},{alpha2:`AT`,alpha3:`AUT`,numeric:`040`},{alpha2:`AU`,alpha3:`AUS`,numeric:`036`},{alpha2:`AW`,alpha3:`ABW`,numeric:`533`},{alpha2:`AX`,alpha3:`ALA`,numeric:`248`},{alpha2:`AZ`,alpha3:`AZE`,numeric:`031`},{alpha2:`BA`,alpha3:`BIH`,numeric:`070`},{alpha2:`BB`,alpha3:`BRB`,numeric:`052`},{alpha2:`BD`,alpha3:`BGD`,numeric:`050`},{alpha2:`BE`,alpha3:`BEL`,numeric:`056`},{alpha2:`BF`,alpha3:`BFA`,numeric:`854`},{alpha2:`BG`,alpha3:`BGR`,numeric:`100`},{alpha2:`BH`,alpha3:`BHR`,numeric:`048`},{alpha2:`BI`,alpha3:`BDI`,numeric:`108`},{alpha2:`BJ`,alpha3:`BEN`,numeric:`204`},{alpha2:`BL`,alpha3:`BLM`,numeric:`652`},{alpha2:`BM`,alpha3:`BMU`,numeric:`060`},{alpha2:`BN`,alpha3:`BRN`,numeric:`096`},{alpha2:`BO`,alpha3:`BOL`,numeric:`068`},{alpha2:`BQ`,alpha3:`BES`,numeric:`535`},{alpha2:`BR`,alpha3:`BRA`,numeric:`076`},{alpha2:`BS`,alpha3:`BHS`,numeric:`044`},{alpha2:`BT`,alpha3:`BTN`,numeric:`064`},{alpha2:`BV`,alpha3:`BVT`,numeric:`074`},{alpha2:`BW`,alpha3:`BWA`,numeric:`072`},{alpha2:`BY`,alpha3:`BLR`,numeric:`112`},{alpha2:`BZ`,alpha3:`BLZ`,numeric:`084`},{alpha2:`CA`,alpha3:`CAN`,numeric:`124`},{alpha2:`CC`,alpha3:`CCK`,numeric:`166`},{alpha2:`CD`,alpha3:`COD`,numeric:`180`},{alpha2:`CF`,alpha3:`CAF`,numeric:`140`},{alpha2:`CG`,alpha3:`COG`,numeric:`178`},{alpha2:`CH`,alpha3:`CHE`,numeric:`756`},{alpha2:`CI`,alpha3:`CIV`,numeric:`384`},{alpha2:`CK`,alpha3:`COK`,numeric:`184`},{alpha2:`CL`,alpha3:`CHL`,numeric:`152`},{alpha2:`CM`,alpha3:`CMR`,numeric:`120`},{alpha2:`CN`,alpha3:`CHN`,numeric:`156`},{alpha2:`CO`,alpha3:`COL`,numeric:`170`},{alpha2:`CR`,alpha3:`CRI`,numeric:`188`},{alpha2:`CU`,alpha3:`CUB`,numeric:`192`},{alpha2:`CV`,alpha3:`CPV`,numeric:`132`},{alpha2:`CW`,alpha3:`CUW`,numeric:`531`},{alpha2:`CX`,alpha3:`CXR`,numeric:`162`},{alpha2:`CY`,alpha3:`CYP`,numeric:`196`},{alpha2:`CZ`,alpha3:`CZE`,numeric:`203`},{alpha2:`DE`,alpha3:`DEU`,numeric:`276`},{alpha2:`DJ`,alpha3:`DJI`,numeric:`262`},{alpha2:`DK`,alpha3:`DNK`,numeric:`208`},{alpha2:`DM`,alpha3:`DMA`,numeric:`212`},{alpha2:`DO`,alpha3:`DOM`,numeric:`214`},{alpha2:`DZ`,alpha3:`DZA`,numeric:`012`},{alpha2:`EC`,alpha3:`ECU`,numeric:`218`},{alpha2:`EE`,alpha3:`EST`,numeric:`233`},{alpha2:`EG`,alpha3:`EGY`,numeric:`818`},{alpha2:`EH`,alpha3:`ESH`,numeric:`732`},{alpha2:`ER`,alpha3:`ERI`,numeric:`232`},{alpha2:`ES`,alpha3:`ESP`,numeric:`724`},{alpha2:`ET`,alpha3:`ETH`,numeric:`231`},{alpha2:`FI`,alpha3:`FIN`,numeric:`246`},{alpha2:`FJ`,alpha3:`FJI`,numeric:`242`},{alpha2:`FK`,alpha3:`FLK`,numeric:`238`},{alpha2:`FM`,alpha3:`FSM`,numeric:`583`},{alpha2:`FO`,alpha3:`FRO`,numeric:`234`},{alpha2:`FR`,alpha3:`FRA`,numeric:`250`},{alpha2:`GA`,alpha3:`GAB`,numeric:`266`},{alpha2:`GB`,alpha3:`GBR`,numeric:`826`},{alpha2:`GD`,alpha3:`GRD`,numeric:`308`},{alpha2:`GE`,alpha3:`GEO`,numeric:`268`},{alpha2:`GF`,alpha3:`GUF`,numeric:`254`},{alpha2:`GG`,alpha3:`GGY`,numeric:`831`},{alpha2:`GH`,alpha3:`GHA`,numeric:`288`},{alpha2:`GI`,alpha3:`GIB`,numeric:`292`},{alpha2:`GL`,alpha3:`GRL`,numeric:`304`},{alpha2:`GM`,alpha3:`GMB`,numeric:`270`},{alpha2:`GN`,alpha3:`GIN`,numeric:`324`},{alpha2:`GP`,alpha3:`GLP`,numeric:`312`},{alpha2:`GQ`,alpha3:`GNQ`,numeric:`226`},{alpha2:`GR`,alpha3:`GRC`,numeric:`300`},{alpha2:`GS`,alpha3:`SGS`,numeric:`239`},{alpha2:`GT`,alpha3:`GTM`,numeric:`320`},{alpha2:`GU`,alpha3:`GUM`,numeric:`316`},{alpha2:`GW`,alpha3:`GNB`,numeric:`624`},{alpha2:`GY`,alpha3:`GUY`,numeric:`328`},{alpha2:`HK`,alpha3:`HKG`,numeric:`344`},{alpha2:`HM`,alpha3:`HMD`,numeric:`334`},{alpha2:`HN`,alpha3:`HND`,numeric:`340`},{alpha2:`HR`,alpha3:`HRV`,numeric:`191`},{alpha2:`HT`,alpha3:`HTI`,numeric:`332`},{alpha2:`HU`,alpha3:`HUN`,numeric:`348`},{alpha2:`ID`,alpha3:`IDN`,numeric:`360`},{alpha2:`IE`,alpha3:`IRL`,numeric:`372`},{alpha2:`IL`,alpha3:`ISR`,numeric:`376`},{alpha2:`IM`,alpha3:`IMN`,numeric:`833`},{alpha2:`IN`,alpha3:`IND`,numeric:`356`},{alpha2:`IO`,alpha3:`IOT`,numeric:`086`},{alpha2:`IQ`,alpha3:`IRQ`,numeric:`368`},{alpha2:`IR`,alpha3:`IRN`,numeric:`364`},{alpha2:`IS`,alpha3:`ISL`,numeric:`352`},{alpha2:`IT`,alpha3:`ITA`,numeric:`380`},{alpha2:`JE`,alpha3:`JEY`,numeric:`832`},{alpha2:`JM`,alpha3:`JAM`,numeric:`388`},{alpha2:`JO`,alpha3:`JOR`,numeric:`400`},{alpha2:`JP`,alpha3:`JPN`,numeric:`392`},{alpha2:`KE`,alpha3:`KEN`,numeric:`404`},{alpha2:`KG`,alpha3:`KGZ`,numeric:`417`},{alpha2:`KH`,alpha3:`KHM`,numeric:`116`},{alpha2:`KI`,alpha3:`KIR`,numeric:`296`},{alpha2:`KM`,alpha3:`COM`,numeric:`174`},{alpha2:`KN`,alpha3:`KNA`,numeric:`659`},{alpha2:`KP`,alpha3:`PRK`,numeric:`408`},{alpha2:`KR`,alpha3:`KOR`,numeric:`410`},{alpha2:`KW`,alpha3:`KWT`,numeric:`414`},{alpha2:`KY`,alpha3:`CYM`,numeric:`136`},{alpha2:`KZ`,alpha3:`KAZ`,numeric:`398`},{alpha2:`LA`,alpha3:`LAO`,numeric:`418`},{alpha2:`LB`,alpha3:`LBN`,numeric:`422`},{alpha2:`LC`,alpha3:`LCA`,numeric:`662`},{alpha2:`LI`,alpha3:`LIE`,numeric:`438`},{alpha2:`LK`,alpha3:`LKA`,numeric:`144`},{alpha2:`LR`,alpha3:`LBR`,numeric:`430`},{alpha2:`LS`,alpha3:`LSO`,numeric:`426`},{alpha2:`LT`,alpha3:`LTU`,numeric:`440`},{alpha2:`LU`,alpha3:`LUX`,numeric:`442`},{alpha2:`LV`,alpha3:`LVA`,numeric:`428`},{alpha2:`LY`,alpha3:`LBY`,numeric:`434`},{alpha2:`MA`,alpha3:`MAR`,numeric:`504`},{alpha2:`MC`,alpha3:`MCO`,numeric:`492`},{alpha2:`MD`,alpha3:`MDA`,numeric:`498`},{alpha2:`ME`,alpha3:`MNE`,numeric:`499`},{alpha2:`MF`,alpha3:`MAF`,numeric:`663`},{alpha2:`MG`,alpha3:`MDG`,numeric:`450`},{alpha2:`MH`,alpha3:`MHL`,numeric:`584`},{alpha2:`MK`,alpha3:`MKD`,numeric:`807`},{alpha2:`ML`,alpha3:`MLI`,numeric:`466`},{alpha2:`MM`,alpha3:`MMR`,numeric:`104`},{alpha2:`MN`,alpha3:`MNG`,numeric:`496`},{alpha2:`MO`,alpha3:`MAC`,numeric:`446`},{alpha2:`MP`,alpha3:`MNP`,numeric:`580`},{alpha2:`MQ`,alpha3:`MTQ`,numeric:`474`},{alpha2:`MR`,alpha3:`MRT`,numeric:`478`},{alpha2:`MS`,alpha3:`MSR`,numeric:`500`},{alpha2:`MT`,alpha3:`MLT`,numeric:`470`},{alpha2:`MU`,alpha3:`MUS`,numeric:`480`},{alpha2:`MV`,alpha3:`MDV`,numeric:`462`},{alpha2:`MW`,alpha3:`MWI`,numeric:`454`},{alpha2:`MX`,alpha3:`MEX`,numeric:`484`},{alpha2:`MY`,alpha3:`MYS`,numeric:`458`},{alpha2:`MZ`,alpha3:`MOZ`,numeric:`508`},{alpha2:`NA`,alpha3:`NAM`,numeric:`516`},{alpha2:`NC`,alpha3:`NCL`,numeric:`540`},{alpha2:`NE`,alpha3:`NER`,numeric:`562`},{alpha2:`NF`,alpha3:`NFK`,numeric:`574`},{alpha2:`NG`,alpha3:`NGA`,numeric:`566`},{alpha2:`NI`,alpha3:`NIC`,numeric:`558`},{alpha2:`NL`,alpha3:`NLD`,numeric:`528`},{alpha2:`NO`,alpha3:`NOR`,numeric:`578`},{alpha2:`NP`,alpha3:`NPL`,numeric:`524`},{alpha2:`NR`,alpha3:`NRU`,numeric:`520`},{alpha2:`NU`,alpha3:`NIU`,numeric:`570`},{alpha2:`NZ`,alpha3:`NZL`,numeric:`554`},{alpha2:`OM`,alpha3:`OMN`,numeric:`512`},{alpha2:`PA`,alpha3:`PAN`,numeric:`591`},{alpha2:`PE`,alpha3:`PER`,numeric:`604`},{alpha2:`PF`,alpha3:`PYF`,numeric:`258`},{alpha2:`PG`,alpha3:`PNG`,numeric:`598`},{alpha2:`PH`,alpha3:`PHL`,numeric:`608`},{alpha2:`PK`,alpha3:`PAK`,numeric:`586`},{alpha2:`PL`,alpha3:`POL`,numeric:`616`},{alpha2:`PM`,alpha3:`SPM`,numeric:`666`},{alpha2:`PN`,alpha3:`PCN`,numeric:`612`},{alpha2:`PR`,alpha3:`PRI`,numeric:`630`},{alpha2:`PS`,alpha3:`PSE`,numeric:`275`},{alpha2:`PT`,alpha3:`PRT`,numeric:`620`},{alpha2:`PW`,alpha3:`PLW`,numeric:`585`},{alpha2:`PY`,alpha3:`PRY`,numeric:`600`},{alpha2:`QA`,alpha3:`QAT`,numeric:`634`},{alpha2:`RE`,alpha3:`REU`,numeric:`638`},{alpha2:`RO`,alpha3:`ROU`,numeric:`642`},{alpha2:`RS`,alpha3:`SRB`,numeric:`688`},{alpha2:`RU`,alpha3:`RUS`,numeric:`643`},{alpha2:`RW`,alpha3:`RWA`,numeric:`646`},{alpha2:`SA`,alpha3:`SAU`,numeric:`682`},{alpha2:`SB`,alpha3:`SLB`,numeric:`090`},{alpha2:`SC`,alpha3:`SYC`,numeric:`690`},{alpha2:`SD`,alpha3:`SDN`,numeric:`729`},{alpha2:`SE`,alpha3:`SWE`,numeric:`752`},{alpha2:`SG`,alpha3:`SGP`,numeric:`702`},{alpha2:`SH`,alpha3:`SHN`,numeric:`654`},{alpha2:`SI`,alpha3:`SVN`,numeric:`705`},{alpha2:`SJ`,alpha3:`SJM`,numeric:`744`},{alpha2:`SK`,alpha3:`SVK`,numeric:`703`},{alpha2:`SL`,alpha3:`SLE`,numeric:`694`},{alpha2:`SM`,alpha3:`SMR`,numeric:`674`},{alpha2:`SN`,alpha3:`SEN`,numeric:`686`},{alpha2:`SO`,alpha3:`SOM`,numeric:`706`},{alpha2:`SR`,alpha3:`SUR`,numeric:`740`},{alpha2:`SS`,alpha3:`SSD`,numeric:`728`},{alpha2:`ST`,alpha3:`STP`,numeric:`678`},{alpha2:`SV`,alpha3:`SLV`,numeric:`222`},{alpha2:`SX`,alpha3:`SXM`,numeric:`534`},{alpha2:`SY`,alpha3:`SYR`,numeric:`760`},{alpha2:`SZ`,alpha3:`SWZ`,numeric:`748`},{alpha2:`TC`,alpha3:`TCA`,numeric:`796`},{alpha2:`TD`,alpha3:`TCD`,numeric:`148`},{alpha2:`TF`,alpha3:`ATF`,numeric:`260`},{alpha2:`TG`,alpha3:`TGO`,numeric:`768`},{alpha2:`TH`,alpha3:`THA`,numeric:`764`},{alpha2:`TJ`,alpha3:`TJK`,numeric:`762`},{alpha2:`TK`,alpha3:`TKL`,numeric:`772`},{alpha2:`TL`,alpha3:`TLS`,numeric:`626`},{alpha2:`TM`,alpha3:`TKM`,numeric:`795`},{alpha2:`TN`,alpha3:`TUN`,numeric:`788`},{alpha2:`TO`,alpha3:`TON`,numeric:`776`},{alpha2:`TR`,alpha3:`TUR`,numeric:`792`},{alpha2:`TT`,alpha3:`TTO`,numeric:`780`},{alpha2:`TV`,alpha3:`TUV`,numeric:`798`},{alpha2:`TW`,alpha3:`TWN`,numeric:`158`},{alpha2:`TZ`,alpha3:`TZA`,numeric:`834`},{alpha2:`UA`,alpha3:`UKR`,numeric:`804`},{alpha2:`UG`,alpha3:`UGA`,numeric:`800`},{alpha2:`UM`,alpha3:`UMI`,numeric:`581`},{alpha2:`US`,alpha3:`USA`,numeric:`840`},{alpha2:`UY`,alpha3:`URY`,numeric:`858`},{alpha2:`UZ`,alpha3:`UZB`,numeric:`860`},{alpha2:`VA`,alpha3:`VAT`,numeric:`336`},{alpha2:`VC`,alpha3:`VCT`,numeric:`670`},{alpha2:`VE`,alpha3:`VEN`,numeric:`862`},{alpha2:`VG`,alpha3:`VGB`,numeric:`092`},{alpha2:`VI`,alpha3:`VIR`,numeric:`850`},{alpha2:`VN`,alpha3:`VNM`,numeric:`704`},{alpha2:`VU`,alpha3:`VUT`,numeric:`548`},{alpha2:`WF`,alpha3:`WLF`,numeric:`876`},{alpha2:`WS`,alpha3:`WSM`,numeric:`882`},{alpha2:`YE`,alpha3:`YEM`,numeric:`887`},{alpha2:`YT`,alpha3:`MYT`,numeric:`175`},{alpha2:`ZA`,alpha3:`ZAF`,numeric:`710`},{alpha2:`ZM`,alpha3:`ZMB`,numeric:`894`},{alpha2:`ZW`,alpha3:`ZWE`,numeric:`716`}],time_zone:Et},metadata:{title:`Base`,code:`base`},system:{directory_path:`/Applications./Library./Network./System./Users./bin./boot./boot/defaults./dev./etc./etc/defaults./etc/mail./etc/namedb./etc/periodic./etc/ppp./home./home/user./home/user/dir./lib./lost+found./media./mnt./net./opt./opt/bin./opt/include./opt/lib./opt/sbin./opt/share./private./private/tmp./private/var./proc./rescue./root./sbin./selinux./srv./sys./tmp./usr./usr/X11R6./usr/bin./usr/include./usr/lib./usr/libdata./usr/libexec./usr/local/bin./usr/local/src./usr/obj./usr/ports./usr/sbin./usr/share./usr/src./var./var/log./var/mail./var/spool./var/tmp./var/yp`.split(`.`),mime_type:{\"application/epub+zip\":{extensions:[`epub`]},\"application/gzip\":{extensions:[`gz`]},\"application/java-archive\":{extensions:[`ear`,`jar`,`war`]},\"application/json\":{extensions:[`json`,`map`]},\"application/ld+json\":{extensions:[`jsonld`]},\"application/msword\":{extensions:[`doc`,`dot`]},\"application/octet-stream\":{extensions:[`bin`,`bpk`,`buffer`,`deb`,`deploy`,`dist`,`distz`,`dll`,`dmg`,`dms`,`dump`,`elc`,`exe`,`img`,`iso`,`lrf`,`mar`,`msi`,`msm`,`msp`,`pkg`,`so`]},\"application/ogg\":{extensions:[`ogx`]},\"application/pdf\":{extensions:[`pdf`]},\"application/rtf\":{extensions:[`rtf`]},\"application/vnd.amazon.ebook\":{extensions:[`azw`]},\"application/vnd.apple.installer+xml\":{extensions:[`mpkg`]},\"application/vnd.mozilla.xul+xml\":{extensions:[`xul`]},\"application/vnd.ms-excel\":{extensions:[`xla`,`xlc`,`xlm`,`xls`,`xlt`,`xlw`]},\"application/vnd.ms-fontobject\":{extensions:[`eot`]},\"application/vnd.ms-powerpoint\":{extensions:[`pot`,`pps`,`ppt`]},\"application/vnd.oasis.opendocument.presentation\":{extensions:[`odp`]},\"application/vnd.oasis.opendocument.spreadsheet\":{extensions:[`ods`]},\"application/vnd.oasis.opendocument.text\":{extensions:[`odt`]},\"application/vnd.openxmlformats-officedocument.presentationml.presentation\":{extensions:[`pptx`]},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":{extensions:[`xlsx`]},\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":{extensions:[`docx`]},\"application/vnd.rar\":{extensions:[`rar`]},\"application/vnd.visio\":{extensions:[`vsd`,`vss`,`vst`,`vsw`]},\"application/x-7z-compressed\":{extensions:[`7z`]},\"application/x-abiword\":{extensions:[`abw`]},\"application/x-bzip\":{extensions:[`bz`]},\"application/x-bzip2\":{extensions:[`boz`,`bz2`]},\"application/x-csh\":{extensions:[`csh`]},\"application/x-freearc\":{extensions:[`arc`]},\"application/x-httpd-php\":{extensions:[`php`]},\"application/x-sh\":{extensions:[`sh`]},\"application/x-tar\":{extensions:[`tar`]},\"application/xhtml+xml\":{extensions:[`xht`,`xhtml`]},\"application/xml\":{extensions:[`rng`,`xml`,`xsd`,`xsl`]},\"application/zip\":{extensions:[`zip`]},\"audio/3gpp\":{extensions:[`3gpp`]},\"audio/3gpp2\":{extensions:[`3g2`]},\"audio/aac\":{extensions:[`aac`]},\"audio/midi\":{extensions:[`kar`,`mid`,`midi`,`rmi`]},\"audio/mpeg\":{extensions:[`m2a`,`m3a`,`mp2`,`mp2a`,`mp3`,`mpga`]},\"audio/ogg\":{extensions:[`oga`,`ogg`,`opus`,`spx`]},\"audio/opus\":{extensions:[`opus`]},\"audio/wav\":{extensions:[`wav`]},\"audio/webm\":{extensions:[`weba`]},\"font/otf\":{extensions:[`otf`]},\"font/ttf\":{extensions:[`ttf`]},\"font/woff\":{extensions:[`woff`]},\"font/woff2\":{extensions:[`woff2`]},\"image/avif\":{extensions:[`avif`]},\"image/bmp\":{extensions:[`bmp`]},\"image/gif\":{extensions:[`gif`]},\"image/jpeg\":{extensions:[`jpe`,`jpeg`,`jpg`]},\"image/png\":{extensions:[`png`]},\"image/svg+xml\":{extensions:[`svg`,`svgz`]},\"image/tiff\":{extensions:[`tif`,`tiff`]},\"image/vnd.microsoft.icon\":{extensions:[`ico`]},\"image/webp\":{extensions:[`webp`]},\"text/calendar\":{extensions:[`ics`,`ifb`]},\"text/css\":{extensions:[`css`]},\"text/csv\":{extensions:[`csv`]},\"text/html\":{extensions:[`htm`,`html`,`shtml`]},\"text/javascript\":{extensions:[`js`,`mjs`]},\"text/plain\":{extensions:[`conf`,`def`,`in`,`ini`,`list`,`log`,`text`,`txt`]},\"video/3gpp\":{extensions:[`3gp`,`3gpp`]},\"video/3gpp2\":{extensions:[`3g2`]},\"video/mp2t\":{extensions:[`ts`]},\"video/mp4\":{extensions:[`mp4`,`mp4v`,`mpg4`]},\"video/mpeg\":{extensions:[`m1v`,`m2v`,`mpe`,`mpeg`,`mpg`]},\"video/ogg\":{extensions:[`ogv`]},\"video/webm\":{extensions:[`webm`]},\"video/x-msvideo\":{extensions:[`avi`]}}}};export{e as _,K as a,be as c,C as d,b as f,s as g,y as h,St as i,T as l,ee as m,Ct as n,Ke as o,te as p,$ as r,j as s,Dt as t,w as u};","const e={airline:{airline:[{name:`Aegean Airlines`,iataCode:`A3`},{name:`Aeroflot`,iataCode:`SU`},{name:`Aerolineas Argentinas`,iataCode:`AR`},{name:`Aeromexico`,iataCode:`AM`},{name:`Air Algerie`,iataCode:`AH`},{name:`Air Arabia`,iataCode:`G9`},{name:`Air Canada`,iataCode:`AC`},{name:`Air China`,iataCode:`CA`},{name:`Air Europa`,iataCode:`UX`},{name:`Air France`,iataCode:`AF`},{name:`Air India`,iataCode:`AI`},{name:`Air Mauritius`,iataCode:`MK`},{name:`Air New Zealand`,iataCode:`NZ`},{name:`Air Niugini`,iataCode:`PX`},{name:`Air Tahiti`,iataCode:`VT`},{name:`Air Tahiti Nui`,iataCode:`TN`},{name:`Air Transat`,iataCode:`TS`},{name:`AirAsia X`,iataCode:`D7`},{name:`AirAsia`,iataCode:`AK`},{name:`Aircalin`,iataCode:`SB`},{name:`Alaska Airlines`,iataCode:`AS`},{name:`Alitalia`,iataCode:`AZ`},{name:`All Nippon Airways`,iataCode:`NH`},{name:`Allegiant Air`,iataCode:`G4`},{name:`American Airlines`,iataCode:`AA`},{name:`Asiana Airlines`,iataCode:`OZ`},{name:`Avianca`,iataCode:`AV`},{name:`Azul Linhas Aereas Brasileiras`,iataCode:`AD`},{name:`Azur Air`,iataCode:`ZF`},{name:`Beijing Capital Airlines`,iataCode:`JD`},{name:`Boliviana de Aviacion`,iataCode:`OB`},{name:`British Airways`,iataCode:`BA`},{name:`Cathay Pacific`,iataCode:`CX`},{name:`Cebu Pacific Air`,iataCode:`5J`},{name:`China Airlines`,iataCode:`CI`},{name:`China Eastern Airlines`,iataCode:`MU`},{name:`China Southern Airlines`,iataCode:`CZ`},{name:`Condor`,iataCode:`DE`},{name:`Copa Airlines`,iataCode:`CM`},{name:`Delta Air Lines`,iataCode:`DL`},{name:`Easyfly`,iataCode:`VE`},{name:`EasyJet`,iataCode:`U2`},{name:`EcoJet`,iataCode:`8J`},{name:`Egyptair`,iataCode:`MS`},{name:`El Al`,iataCode:`LY`},{name:`Emirates Airlines`,iataCode:`EK`},{name:`Ethiopian Airlines`,iataCode:`ET`},{name:`Etihad Airways`,iataCode:`EY`},{name:`EVA Air`,iataCode:`BR`},{name:`Fiji Airways`,iataCode:`FJ`},{name:`Finnair`,iataCode:`AY`},{name:`Flybondi`,iataCode:`FO`},{name:`Flydubai`,iataCode:`FZ`},{name:`FlySafair`,iataCode:`FA`},{name:`Frontier Airlines`,iataCode:`F9`},{name:`Garuda Indonesia`,iataCode:`GA`},{name:`Go First`,iataCode:`G8`},{name:`Gol Linhas Aereas Inteligentes`,iataCode:`G3`},{name:`Hainan Airlines`,iataCode:`HU`},{name:`Hawaiian Airlines`,iataCode:`HA`},{name:`IndiGo Airlines`,iataCode:`6E`},{name:`Japan Airlines`,iataCode:`JL`},{name:`Jeju Air`,iataCode:`7C`},{name:`Jet2`,iataCode:`LS`},{name:`JetBlue Airways`,iataCode:`B6`},{name:`JetSMART`,iataCode:`JA`},{name:`Juneyao Airlines`,iataCode:`HO`},{name:`Kenya Airways`,iataCode:`KQ`},{name:`KLM Royal Dutch Airlines`,iataCode:`KL`},{name:`Korean Air`,iataCode:`KE`},{name:`Kulula.com`,iataCode:`MN`},{name:`LATAM Airlines`,iataCode:`LA`},{name:`Lion Air`,iataCode:`JT`},{name:`LOT Polish Airlines`,iataCode:`LO`},{name:`Lufthansa`,iataCode:`LH`},{name:`Libyan Airlines`,iataCode:`LN`},{name:`Linea Aerea Amaszonas`,iataCode:`Z8`},{name:`Malaysia Airlines`,iataCode:`MH`},{name:`Nordwind Airlines`,iataCode:`N4`},{name:`Norwegian Air Shuttle`,iataCode:`DY`},{name:`Oman Air`,iataCode:`WY`},{name:`Pakistan International Airlines`,iataCode:`PK`},{name:`Pegasus Airlines`,iataCode:`PC`},{name:`Philippine Airlines`,iataCode:`PR`},{name:`Qantas Group`,iataCode:`QF`},{name:`Qatar Airways`,iataCode:`QR`},{name:`Republic Airways`,iataCode:`YX`},{name:`Royal Air Maroc`,iataCode:`AT`},{name:`Ryanair`,iataCode:`FR`},{name:`S7 Airlines`,iataCode:`S7`},{name:`SAS`,iataCode:`SK`},{name:`Satena`,iataCode:`9R`},{name:`Saudia`,iataCode:`SV`},{name:`Shandong Airlines`,iataCode:`SC`},{name:`Sichuan Airlines`,iataCode:`3U`},{name:`Singapore Airlines`,iataCode:`SQ`},{name:`Sky Airline`,iataCode:`H2`},{name:`SkyWest Airlines`,iataCode:`OO`},{name:`South African Airways`,iataCode:`SA`},{name:`Southwest Airlines`,iataCode:`WN`},{name:`SpiceJet`,iataCode:`SG`},{name:`Spirit Airlines`,iataCode:`NK`},{name:`Spring Airlines`,iataCode:`9C`},{name:`SriLankan Airlines`,iataCode:`UL`},{name:`Star Peru`,iataCode:`2I`},{name:`Sun Country Airlines`,iataCode:`SY`},{name:`SunExpress`,iataCode:`XQ`},{name:`TAP Air Portugal`,iataCode:`TP`},{name:`Thai AirAsia`,iataCode:`FD`},{name:`Thai Airways`,iataCode:`TG`},{name:`TUI Airways`,iataCode:`BY`},{name:`Tunisair`,iataCode:`TU`},{name:`Turkish Airlines`,iataCode:`TK`},{name:`Ukraine International`,iataCode:`PS`},{name:`United Airlines`,iataCode:`UA`},{name:`Ural Airlines`,iataCode:`U6`},{name:`VietJet Air`,iataCode:`VJ`},{name:`Vietnam Airlines`,iataCode:`VN`},{name:`Virgin Atlantic Airways`,iataCode:`VS`},{name:`Virgin Australia`,iataCode:`VA`},{name:`VivaAerobus`,iataCode:`VB`},{name:`VOEPASS Linhas Aereas`,iataCode:`2Z`},{name:`Volaris`,iataCode:`Y4`},{name:`WestJet`,iataCode:`WS`},{name:`Wingo`,iataCode:`P5`},{name:`Wizz Air`,iataCode:`W6`}],airplane:[{name:`Aerospatiale/BAC Concorde`,iataTypeCode:`SSC`},{name:`Airbus A300`,iataTypeCode:`AB3`},{name:`Airbus A310`,iataTypeCode:`310`},{name:`Airbus A310-200`,iataTypeCode:`312`},{name:`Airbus A310-300`,iataTypeCode:`313`},{name:`Airbus A318`,iataTypeCode:`318`},{name:`Airbus A319`,iataTypeCode:`319`},{name:`Airbus A319neo`,iataTypeCode:`31N`},{name:`Airbus A320`,iataTypeCode:`320`},{name:`Airbus A320neo`,iataTypeCode:`32N`},{name:`Airbus A321`,iataTypeCode:`321`},{name:`Airbus A321neo`,iataTypeCode:`32Q`},{name:`Airbus A330`,iataTypeCode:`330`},{name:`Airbus A330-200`,iataTypeCode:`332`},{name:`Airbus A330-300`,iataTypeCode:`333`},{name:`Airbus A330-800neo`,iataTypeCode:`338`},{name:`Airbus A330-900neo`,iataTypeCode:`339`},{name:`Airbus A340`,iataTypeCode:`340`},{name:`Airbus A340-200`,iataTypeCode:`342`},{name:`Airbus A340-300`,iataTypeCode:`343`},{name:`Airbus A340-500`,iataTypeCode:`345`},{name:`Airbus A340-600`,iataTypeCode:`346`},{name:`Airbus A350`,iataTypeCode:`350`},{name:`Airbus A350-900`,iataTypeCode:`359`},{name:`Airbus A350-1000`,iataTypeCode:`351`},{name:`Airbus A380`,iataTypeCode:`380`},{name:`Airbus A380-800`,iataTypeCode:`388`},{name:`Antonov An-12`,iataTypeCode:`ANF`},{name:`Antonov An-24`,iataTypeCode:`AN4`},{name:`Antonov An-26`,iataTypeCode:`A26`},{name:`Antonov An-28`,iataTypeCode:`A28`},{name:`Antonov An-30`,iataTypeCode:`A30`},{name:`Antonov An-32`,iataTypeCode:`A32`},{name:`Antonov An-72`,iataTypeCode:`AN7`},{name:`Antonov An-124 Ruslan`,iataTypeCode:`A4F`},{name:`Antonov An-140`,iataTypeCode:`A40`},{name:`Antonov An-148`,iataTypeCode:`A81`},{name:`Antonov An-158`,iataTypeCode:`A58`},{name:`Antonov An-225 Mriya`,iataTypeCode:`A5F`},{name:`Boeing 707`,iataTypeCode:`703`},{name:`Boeing 717`,iataTypeCode:`717`},{name:`Boeing 720B`,iataTypeCode:`B72`},{name:`Boeing 727`,iataTypeCode:`727`},{name:`Boeing 727-100`,iataTypeCode:`721`},{name:`Boeing 727-200`,iataTypeCode:`722`},{name:`Boeing 737 MAX 7`,iataTypeCode:`7M7`},{name:`Boeing 737 MAX 8`,iataTypeCode:`7M8`},{name:`Boeing 737 MAX 9`,iataTypeCode:`7M9`},{name:`Boeing 737 MAX 10`,iataTypeCode:`7MJ`},{name:`Boeing 737`,iataTypeCode:`737`},{name:`Boeing 737-100`,iataTypeCode:`731`},{name:`Boeing 737-200`,iataTypeCode:`732`},{name:`Boeing 737-300`,iataTypeCode:`733`},{name:`Boeing 737-400`,iataTypeCode:`734`},{name:`Boeing 737-500`,iataTypeCode:`735`},{name:`Boeing 737-600`,iataTypeCode:`736`},{name:`Boeing 737-700`,iataTypeCode:`73G`},{name:`Boeing 737-800`,iataTypeCode:`738`},{name:`Boeing 737-900`,iataTypeCode:`739`},{name:`Boeing 747`,iataTypeCode:`747`},{name:`Boeing 747-100`,iataTypeCode:`741`},{name:`Boeing 747-200`,iataTypeCode:`742`},{name:`Boeing 747-300`,iataTypeCode:`743`},{name:`Boeing 747-400`,iataTypeCode:`744`},{name:`Boeing 747-400D`,iataTypeCode:`74J`},{name:`Boeing 747-8`,iataTypeCode:`748`},{name:`Boeing 747SP`,iataTypeCode:`74L`},{name:`Boeing 747SR`,iataTypeCode:`74R`},{name:`Boeing 757`,iataTypeCode:`757`},{name:`Boeing 757-200`,iataTypeCode:`752`},{name:`Boeing 757-300`,iataTypeCode:`753`},{name:`Boeing 767`,iataTypeCode:`767`},{name:`Boeing 767-200`,iataTypeCode:`762`},{name:`Boeing 767-300`,iataTypeCode:`763`},{name:`Boeing 767-400`,iataTypeCode:`764`},{name:`Boeing 777`,iataTypeCode:`777`},{name:`Boeing 777-200`,iataTypeCode:`772`},{name:`Boeing 777-200LR`,iataTypeCode:`77L`},{name:`Boeing 777-300`,iataTypeCode:`773`},{name:`Boeing 777-300ER`,iataTypeCode:`77W`},{name:`Boeing 787`,iataTypeCode:`787`},{name:`Boeing 787-8`,iataTypeCode:`788`},{name:`Boeing 787-9`,iataTypeCode:`789`},{name:`Boeing 787-10`,iataTypeCode:`781`},{name:`Canadair Challenger`,iataTypeCode:`CCJ`},{name:`Canadair CL-44`,iataTypeCode:`CL4`},{name:`Canadair Regional Jet 100`,iataTypeCode:`CR1`},{name:`Canadair Regional Jet 200`,iataTypeCode:`CR2`},{name:`Canadair Regional Jet 700`,iataTypeCode:`CR7`},{name:`Canadair Regional Jet 705`,iataTypeCode:`CRA`},{name:`Canadair Regional Jet 900`,iataTypeCode:`CR9`},{name:`Canadair Regional Jet 1000`,iataTypeCode:`CRK`},{name:`De Havilland Canada DHC-2 Beaver`,iataTypeCode:`DHP`},{name:`De Havilland Canada DHC-2 Turbo-Beaver`,iataTypeCode:`DHR`},{name:`De Havilland Canada DHC-3 Otter`,iataTypeCode:`DHL`},{name:`De Havilland Canada DHC-4 Caribou`,iataTypeCode:`DHC`},{name:`De Havilland Canada DHC-6 Twin Otter`,iataTypeCode:`DHT`},{name:`De Havilland Canada DHC-7 Dash 7`,iataTypeCode:`DH7`},{name:`De Havilland Canada DHC-8-100 Dash 8 / 8Q`,iataTypeCode:`DH1`},{name:`De Havilland Canada DHC-8-200 Dash 8 / 8Q`,iataTypeCode:`DH2`},{name:`De Havilland Canada DHC-8-300 Dash 8 / 8Q`,iataTypeCode:`DH3`},{name:`De Havilland Canada DHC-8-400 Dash 8Q`,iataTypeCode:`DH4`},{name:`De Havilland DH.104 Dove`,iataTypeCode:`DHD`},{name:`De Havilland DH.114 Heron`,iataTypeCode:`DHH`},{name:`Douglas DC-3`,iataTypeCode:`D3F`},{name:`Douglas DC-6`,iataTypeCode:`D6F`},{name:`Douglas DC-8-50`,iataTypeCode:`D8T`},{name:`Douglas DC-8-62`,iataTypeCode:`D8L`},{name:`Douglas DC-8-72`,iataTypeCode:`D8Q`},{name:`Douglas DC-9-10`,iataTypeCode:`D91`},{name:`Douglas DC-9-20`,iataTypeCode:`D92`},{name:`Douglas DC-9-30`,iataTypeCode:`D93`},{name:`Douglas DC-9-40`,iataTypeCode:`D94`},{name:`Douglas DC-9-50`,iataTypeCode:`D95`},{name:`Douglas DC-10`,iataTypeCode:`D10`},{name:`Douglas DC-10-10`,iataTypeCode:`D1X`},{name:`Douglas DC-10-30`,iataTypeCode:`D1Y`},{name:`Embraer 170`,iataTypeCode:`E70`},{name:`Embraer 175`,iataTypeCode:`E75`},{name:`Embraer 190`,iataTypeCode:`E90`},{name:`Embraer 195`,iataTypeCode:`E95`},{name:`Embraer E190-E2`,iataTypeCode:`290`},{name:`Embraer E195-E2`,iataTypeCode:`295`},{name:`Embraer EMB.110 Bandeirante`,iataTypeCode:`EMB`},{name:`Embraer EMB.120 Brasilia`,iataTypeCode:`EM2`},{name:`Embraer Legacy 600`,iataTypeCode:`ER3`},{name:`Embraer Phenom 100`,iataTypeCode:`EP1`},{name:`Embraer Phenom 300`,iataTypeCode:`EP3`},{name:`Embraer RJ135`,iataTypeCode:`ER3`},{name:`Embraer RJ140`,iataTypeCode:`ERD`},{name:`Embraer RJ145 Amazon`,iataTypeCode:`ER4`},{name:`Ilyushin IL18`,iataTypeCode:`IL8`},{name:`Ilyushin IL62`,iataTypeCode:`IL6`},{name:`Ilyushin IL76`,iataTypeCode:`IL7`},{name:`Ilyushin IL86`,iataTypeCode:`ILW`},{name:`Ilyushin IL96-300`,iataTypeCode:`I93`},{name:`Ilyushin IL114`,iataTypeCode:`I14`},{name:`Lockheed L-182 / 282 / 382 (L-100) Hercules`,iataTypeCode:`LOH`},{name:`Lockheed L-188 Electra`,iataTypeCode:`LOE`},{name:`Lockheed L-1011 Tristar`,iataTypeCode:`L10`},{name:`Lockheed L-1049 Super Constellation`,iataTypeCode:`L49`},{name:`McDonnell Douglas MD11`,iataTypeCode:`M11`},{name:`McDonnell Douglas MD80`,iataTypeCode:`M80`},{name:`McDonnell Douglas MD81`,iataTypeCode:`M81`},{name:`McDonnell Douglas MD82`,iataTypeCode:`M82`},{name:`McDonnell Douglas MD83`,iataTypeCode:`M83`},{name:`McDonnell Douglas MD87`,iataTypeCode:`M87`},{name:`McDonnell Douglas MD88`,iataTypeCode:`M88`},{name:`McDonnell Douglas MD90`,iataTypeCode:`M90`},{name:`Sukhoi Superjet 100-95`,iataTypeCode:`SU9`},{name:`Tupolev Tu-134`,iataTypeCode:`TU3`},{name:`Tupolev Tu-154`,iataTypeCode:`TU5`},{name:`Tupolev Tu-204`,iataTypeCode:`T20`},{name:`Yakovlev Yak-40`,iataTypeCode:`YK4`},{name:`Yakovlev Yak-42`,iataTypeCode:`YK2`}],airport:[{name:`Adelaide International Airport`,iataCode:`ADL`},{name:`Adolfo Suarez Madrid-Barajas Airport`,iataCode:`MAD`},{name:`Aeroparque Jorge Newbery Airport`,iataCode:`AEP`},{name:`Afonso Pena International Airport`,iataCode:`CWB`},{name:`Alfonso Bonilla Aragon International Airport`,iataCode:`CLO`},{name:`Amsterdam Airport Schiphol`,iataCode:`AMS`},{name:`Arturo Merino Benitez International Airport`,iataCode:`SCL`},{name:`Auckland International Airport`,iataCode:`AKL`},{name:`Beijing Capital International Airport`,iataCode:`PEK`},{name:`Belem Val de Cans International Airport`,iataCode:`BEL`},{name:`Belo Horizonte Tancredo Neves International Airport`,iataCode:`CNF`},{name:`Berlin-Tegel Airport`,iataCode:`TXL`},{name:`Bole International Airport`,iataCode:`ADD`},{name:`Brasilia-Presidente Juscelino Kubitschek International Airport`,iataCode:`BSB`},{name:`Brisbane International Airport`,iataCode:`BNE`},{name:`Brussels Airport`,iataCode:`BRU`},{name:`Cairns Airport`,iataCode:`CNS`},{name:`Cairo International Airport`,iataCode:`CAI`},{name:`Canberra Airport`,iataCode:`CBR`},{name:`Capetown International Airport`,iataCode:`CPT`},{name:`Charles de Gaulle International Airport`,iataCode:`CDG`},{name:`Charlotte Douglas International Airport`,iataCode:`CLT`},{name:`Chengdu Shuangliu International Airport`,iataCode:`CTU`},{name:`Chhatrapati Shivaji International Airport`,iataCode:`BOM`},{name:`Chicago O'Hare International Airport`,iataCode:`ORD`},{name:`Chongqing Jiangbei International Airport`,iataCode:`CKG`},{name:`Christchurch International Airport`,iataCode:`CHC`},{name:`Copenhagen Kastrup Airport`,iataCode:`CPH`},{name:`Dallas Fort Worth International Airport`,iataCode:`DFW`},{name:`Daniel K. Inouye International Airport`,iataCode:`HNL`},{name:`Denver International Airport`,iataCode:`DEN`},{name:`Don Mueang International Airport`,iataCode:`DMK`},{name:`Dubai International Airport`,iataCode:`DXB`},{name:`Dublin Airport`,iataCode:`DUB`},{name:`Dusseldorf Airport`,iataCode:`DUS`},{name:`El Dorado International Airport`,iataCode:`BOG`},{name:`Eleftherios Venizelos International Airport`,iataCode:`ATH`},{name:`Faa'a International Airport`,iataCode:`PPT`},{name:`Fort Lauderdale Hollywood International Airport`,iataCode:`FLL`},{name:`Fortaleza Pinto Martins International Airport`,iataCode:`FOR`},{name:`Frankfurt am Main Airport`,iataCode:`FRA`},{name:`George Bush Intercontinental Houston Airport`,iataCode:`IAH`},{name:`Gold Coast Airport`,iataCode:`OOL`},{name:`Guarulhos - Governador Andre Franco Montoro International Airport`,iataCode:`GRU`},{name:`Hartsfield-Jackson Atlanta International Airport`,iataCode:`ATL`},{name:`Helsinki Vantaa Airport`,iataCode:`HEL`},{name:`Hobart International Airport`,iataCode:`HBA`},{name:`Hong Kong International Airport`,iataCode:`HKG`},{name:`Houari Boumediene Airport`,iataCode:`ALG`},{name:`Hurgada International Airport`,iataCode:`HRG`},{name:`Incheon International Airport`,iataCode:`ICN`},{name:`Indira Gandhi International Airport`,iataCode:`DEL`},{name:`Istanbul Airport`,iataCode:`IST`},{name:`Jacksons International Airport`,iataCode:`POM`},{name:`Jeju International Airport`,iataCode:`CJU`},{name:`John F Kennedy International Airport`,iataCode:`JFK`},{name:`Jorge Chavez International Airport`,iataCode:`LIM`},{name:`Jose Maria Cordova International Airport`,iataCode:`MDE`},{name:`Josep Tarradellas Barcelona-El Prat Airport`,iataCode:`BCN`},{name:`Kahului Airport`,iataCode:`OGG`},{name:`King Abdulaziz International Airport`,iataCode:`JED`},{name:`Kuala Lumpur International Airport`,iataCode:`KUL`},{name:`Kunming Changshui International Airport`,iataCode:`KMG`},{name:`La Tontouta International Airport`,iataCode:`NOU`},{name:`Leonardo da Vinci-Fiumicino Airport`,iataCode:`FCO`},{name:`London Heathrow Airport`,iataCode:`LHR`},{name:`Los Angeles International Airport`,iataCode:`LAX`},{name:`McCarran International Airport`,iataCode:`LAS`},{name:`Melbourne International Airport`,iataCode:`MEL`},{name:`Mexico City International Airport`,iataCode:`MEX`},{name:`Miami International Airport`,iataCode:`MIA`},{name:`Ministro Pistarini International Airport`,iataCode:`EZE`},{name:`Minneapolis-St Paul International/Wold-Chamberlain Airport`,iataCode:`MSP`},{name:`Mohammed V International Airport`,iataCode:`CMN`},{name:`Moscow Domodedovo Airport`,iataCode:`DME`},{name:`Munich Airport`,iataCode:`MUC`},{name:`Murtala Muhammed International Airport`,iataCode:`LOS`},{name:`Nadi International Airport`,iataCode:`NAN`},{name:`Nairobi Jomo Kenyatta International Airport`,iataCode:`NBO`},{name:`Narita International Airport`,iataCode:`NRT`},{name:`Newark Liberty International Airport`,iataCode:`EWR`},{name:`Ninoy Aquino International Airport`,iataCode:`MNL`},{name:`Noumea Magenta Airport`,iataCode:`GEA`},{name:`O. R. Tambo International Airport`,iataCode:`JNB`},{name:`Orlando International Airport`,iataCode:`MCO`},{name:`Oslo Lufthavn`,iataCode:`OSL`},{name:`Perth Airport`,iataCode:`PER`},{name:`Phoenix Sky Harbor International Airport`,iataCode:`PHX`},{name:`Recife Guararapes-Gilberto Freyre International Airport`,iataCode:`REC`},{name:`Rio de Janeiro Galeao International Airport`,iataCode:`GIG`},{name:`Salgado Filho International Airport`,iataCode:`POA`},{name:`Salvador Deputado Luis Eduardo Magalhaes International Airport`,iataCode:`SSA`},{name:`San Francisco International Airport`,iataCode:`SFO`},{name:`Santos Dumont Airport`,iataCode:`SDU`},{name:`Sao Paulo-Congonhas Airport`,iataCode:`CGH`},{name:`Seattle Tacoma International Airport`,iataCode:`SEA`},{name:`Shanghai Hongqiao International Airport`,iataCode:`SHA`},{name:`Shanghai Pudong International Airport`,iataCode:`PVG`},{name:`Shenzhen Bao'an International Airport`,iataCode:`SZX`},{name:`Sheremetyevo International Airport`,iataCode:`SVO`},{name:`Singapore Changi Airport`,iataCode:`SIN`},{name:`Soekarno-Hatta International Airport`,iataCode:`CGK`},{name:`Stockholm-Arlanda Airport\"`,iataCode:`ARN`},{name:`Suvarnabhumi Airport`,iataCode:`BKK`},{name:`Sydney Kingsford Smith International Airport`,iataCode:`SYD`},{name:`Taiwan Taoyuan International Airport`,iataCode:`TPE`},{name:`Tan Son Nhat International Airport`,iataCode:`SGN`},{name:`Tokyo Haneda International Airport`,iataCode:`HND`},{name:`Toronto Pearson International Airport`,iataCode:`YYZ`},{name:`Tunis Carthage International Airport`,iataCode:`TUN`},{name:`Vancouver International Airport`,iataCode:`YVR`},{name:`Vienna International Airport`,iataCode:`VIE`},{name:`Viracopos International Airport`,iataCode:`VCP`},{name:`Vnukovo International Airport`,iataCode:`VKO`},{name:`Wellington International Airport`,iataCode:`WLG`},{name:`Xi'an Xianyang International Airport`,iataCode:`XIY`},{name:`Zhukovsky International Airport`,iataCode:`ZIA`},{name:`Zurich Airport`,iataCode:`ZRH`}]},animal:{bear:[`American black bear`,`Asian black bear`,`Brown bear`,`Giant panda`,`Polar bear`,`Sloth bear`,`Spectacled bear`,`Sun bear`],bird:`Abert's Towhee.Acadian Flycatcher.Acorn Woodpecker.Alder Flycatcher.Aleutian Tern.Allen's Hummingbird.Altamira Oriole.American Avocet.American Bittern.American Black Duck.American Coot.American Crow.American Dipper.American Golden-Plover.American Goldfinch.American Kestrel.American Oystercatcher.American Pipit.American Redstart.American Robin.American Tree Sparrow.American White Pelican.American Wigeon.American Woodcock.Ancient Murrelet.Anhinga.Anna's Hummingbird.Antillean Nighthawk.Antillean Palm Swift.Aplomado Falcon.Arctic Loon.Arctic Tern.Arctic Warbler.Ash-throated Flycatcher.Ashy Storm-Petrel.Asian Brown Flycatcher.Atlantic Puffin.Audubon's Oriole.Audubon's Shearwater.Aztec Thrush.Azure Gallinule.Bachman's Sparrow.Bachman's Warbler.Bahama Mockingbird.Bahama Swallow.Bahama Woodstar.Baikal Teal.Baird's Sandpiper.Baird's Sparrow.Bald Eagle.Baltimore Oriole.Bananaquit.Band-rumped Storm-Petrel.Band-tailed Gull.Band-tailed Pigeon.Bank Swallow.Bar-tailed Godwit.Barn Owl.Barn Swallow.Barnacle Goose.Barred Owl.Barrow's Goldeneye.Bay-breasted Warbler.Bean Goose.Bell's Vireo.Belted Kingfisher.Bendire's Thrasher.Berylline Hummingbird.Bewick's Wren.Bicknell's Thrush.Black Catbird.Black Guillemot.Black Noddy.Black Oystercatcher.Black Phoebe.Black Rail.Black Rosy-Finch.Black Scoter.Black Skimmer.Black Storm-Petrel.Black Swift.Black Tern.Black Turnstone.Black Vulture.Black-and-white Warbler.Black-backed Wagtail.Black-backed Woodpecker.Black-bellied Plover.Black-bellied Whistling-Duck.Black-billed Cuckoo.Black-billed Magpie.Black-browed Albatross.Black-capped Chickadee.Black-capped Gnatcatcher.Black-capped Petrel.Black-capped Vireo.Black-chinned Hummingbird.Black-chinned Sparrow.Black-crowned Night-Heron.Black-faced Grassquit.Black-footed Albatross.Black-headed Grosbeak.Black-headed Gull.Black-legged Kittiwake.Black-necked Stilt.Black-tailed Gnatcatcher.Black-tailed Godwit.Black-tailed Gull.Black-throated Blue Warbler.Black-throated Gray Warbler.Black-throated Green Warbler.Black-throated Sparrow.Black-vented Oriole.Black-vented Shearwater.Black-whiskered Vireo.Black-winged Stilt.Blackburnian Warbler.Blackpoll Warbler.Blue Bunting.Blue Grosbeak.Blue Grouse.Blue Jay.Blue Mockingbird.Blue-footed Booby.Blue-gray Gnatcatcher.Blue-headed Vireo.Blue-throated Hummingbird.Blue-winged Teal.Blue-winged Warbler.Bluethroat.Boat-tailed Grackle.Bobolink.Bohemian Waxwing.Bonaparte's Gull.Boreal Chickadee.Boreal Owl.Botteri's Sparrow.Brambling.Brandt's Cormorant.Brant.Brewer's Blackbird.Brewer's Sparrow.Bridled Tern.Bridled Titmouse.Bristle-thighed Curlew.Broad-billed Hummingbird.Broad-billed Sandpiper.Broad-tailed Hummingbird.Broad-winged Hawk.Bronzed Cowbird.Brown Booby.Brown Creeper.Brown Jay.Brown Noddy.Brown Pelican.Brown Shrike.Brown Thrasher.Brown-capped Rosy-Finch.Brown-chested Martin.Brown-crested Flycatcher.Brown-headed Cowbird.Brown-headed Nuthatch.Budgerigar.Buff-bellied Hummingbird.Buff-breasted Flycatcher.Buff-breasted Sandpiper.Buff-collared Nightjar.Bufflehead.Buller's Shearwater.Bullock's Oriole.Bumblebee Hummingbird.Burrowing Owl.Bushtit.Cactus Wren.California Condor.California Gnatcatcher.California Gull.California Quail.California Thrasher.California Towhee.Calliope Hummingbird.Canada Goose.Canada Warbler.Canvasback.Canyon Towhee.Canyon Wren.Cape May Warbler.Caribbean Elaenia.Carolina Chickadee.Carolina Parakeet.Carolina Wren.Caspian Tern.Cassin's Auklet.Cassin's Finch.Cassin's Kingbird.Cassin's Sparrow.Cassin's Vireo.Cattle Egret.Cave Swallow.Cedar Waxwing.Cerulean Warbler.Chestnut-backed Chickadee.Chestnut-collared Longspur.Chestnut-sided Warbler.Chihuahuan Raven.Chimney Swift.Chinese Egret.Chipping Sparrow.Chuck-will's-widow.Chukar.Cinnamon Hummingbird.Cinnamon Teal.Citrine Wagtail.Clapper Rail.Clark's Grebe.Clark's Nutcracker.Clay-colored Robin.Clay-colored Sparrow.Cliff Swallow.Colima Warbler.Collared Forest-Falcon.Collared Plover.Common Black-Hawk.Common Chaffinch.Common Crane.Common Cuckoo.Common Eider.Common Goldeneye.Common Grackle.Common Greenshank.Common Ground-Dove.Common House-Martin.Common Loon.Common Merganser.Common Moorhen.Common Murre.Common Nighthawk.Common Pauraque.Common Pochard.Common Poorwill.Common Raven.Common Redpoll.Common Ringed Plover.Common Rosefinch.Common Sandpiper.Common Snipe.Common Swift.Common Tern.Common Yellowthroat.Connecticut Warbler.Cook's Petrel.Cooper's Hawk.Cordilleran Flycatcher.Corn Crake.Cory's Shearwater.Costa's Hummingbird.Couch's Kingbird.Crane Hawk.Craveri's Murrelet.Crescent-chested Warbler.Crested Auklet.Crested Caracara.Crested Myna.Crimson-collared Grosbeak.Crissal Thrasher.Cuban Martin.Curlew Sandpiper.Curve-billed Thrasher.Dark-eyed Junco.Dickcissel.Double-crested Cormorant.Double-striped Thick-knee.Dovekie.Downy Woodpecker.Dunlin.Dusky Flycatcher.Dusky Thrush.Dusky Warbler.Dusky-capped Flycatcher.Eared Grebe.Eared Trogon.Eastern Bluebird.Eastern Kingbird.Eastern Meadowlark.Eastern Phoebe.Eastern Screech-Owl.Eastern Towhee.Eastern Wood-Pewee.Elegant Tern.Elegant Trogon.Elf Owl.Emperor Goose.Eskimo Curlew.Eurasian Blackbird.Eurasian Bullfinch.Eurasian Collared-Dove.Eurasian Coot.Eurasian Curlew.Eurasian Dotterel.Eurasian Hobby.Eurasian Jackdaw.Eurasian Kestrel.Eurasian Oystercatcher.Eurasian Siskin.Eurasian Tree Sparrow.Eurasian Wigeon.Eurasian Woodcock.Eurasian Wryneck.European Golden-Plover.European Starling.European Storm-Petrel.European Turtle-Dove.Evening Grosbeak.Eyebrowed Thrush.Falcated Duck.Fan-tailed Warbler.Far Eastern Curlew.Ferruginous Hawk.Ferruginous Pygmy-Owl.Field Sparrow.Fieldfare.Fish Crow.Five-striped Sparrow.Flame-colored Tanager.Flammulated Owl.Flesh-footed Shearwater.Florida Scrub-Jay.Fork-tailed Flycatcher.Fork-tailed Storm-Petrel.Fork-tailed Swift.Forster's Tern.Fox Sparrow.Franklin's Gull.Fulvous Whistling-Duck.Gadwall.Gambel's Quail.Garganey.Gila Woodpecker.Gilded Flicker.Glaucous Gull.Glaucous-winged Gull.Glossy Ibis.Golden Eagle.Golden-cheeked Warbler.Golden-crowned Kinglet.Golden-crowned Sparrow.Golden-crowned Warbler.Golden-fronted Woodpecker.Golden-winged Warbler.Grace's Warbler.Grasshopper Sparrow.Gray Bunting.Gray Catbird.Gray Flycatcher.Gray Hawk.Gray Jay.Gray Kingbird.Gray Partridge.Gray Silky-flycatcher.Gray Vireo.Gray Wagtail.Gray-breasted Martin.Gray-cheeked Thrush.Gray-crowned Rosy-Finch.Gray-crowned Yellowthroat.Gray-headed Chickadee.Gray-spotted Flycatcher.Gray-tailed Tattler.Great Auk.Great Black-backed Gull.Great Blue Heron.Great Cormorant.Great Crested Flycatcher.Great Egret.Great Frigatebird.Great Gray Owl.Great Horned Owl.Great Kiskadee.Great Knot.Great Skua.Great Spotted Woodpecker.Great-tailed Grackle.Greater Flamingo.Greater Pewee.Greater Prairie-chicken.Greater Roadrunner.Greater Scaup.Greater Shearwater.Greater White-fronted Goose.Greater Yellowlegs.Green Heron.Green Jay.Green Kingfisher.Green Sandpiper.Green Violet-ear.Green-breasted Mango.Green-tailed Towhee.Green-winged Teal.Greenish Elaenia.Groove-billed Ani.Gull-billed Tern.Gyrfalcon.Hairy Woodpecker.Hammond's Flycatcher.Harlequin Duck.Harris's Hawk.Harris's Sparrow.Hawfinch.Heermann's Gull.Henslow's Sparrow.Hepatic Tanager.Herald Petrel.Hermit Thrush.Hermit Warbler.Herring Gull.Himalayan Snowcock.Hoary Redpoll.Hooded Merganser.Hooded Oriole.Hooded Warbler.Hook-billed Kite.Hoopoe.Horned Grebe.Horned Lark.Horned Puffin.House Finch.House Sparrow.House Wren.Hudsonian Godwit.Hutton's Vireo.Iceland Gull.Inca Dove.Indigo Bunting.Island Scrub-Jay.Ivory Gull.Ivory-billed Woodpecker.Jabiru.Jack Snipe.Jungle Nightjar.Juniper Titmouse.Kentucky Warbler.Key West Quail-Dove.Killdeer.King Eider.King Rail.Kirtland's Warbler.Kittlitz's Murrelet.La Sagra's Flycatcher.Labrador Duck.Ladder-backed Woodpecker.Lanceolated Warbler.Lapland Longspur.Large-billed Tern.Lark Bunting.Lark Sparrow.Laughing Gull.Lawrence's Goldfinch.Laysan Albatross.Lazuli Bunting.Le Conte's Sparrow.Le Conte's Thrasher.Leach's Storm-Petrel.Least Auklet.Least Bittern.Least Flycatcher.Least Grebe.Least Sandpiper.Least Storm-Petrel.Least Tern.Lesser Black-backed Gull.Lesser Frigatebird.Lesser Goldfinch.Lesser Nighthawk.Lesser Prairie-chicken.Lesser Scaup.Lesser White-fronted Goose.Lesser Yellowlegs.Lewis's Woodpecker.Limpkin.Lincoln's Sparrow.Little Blue Heron.Little Bunting.Little Curlew.Little Egret.Little Gull.Little Ringed Plover.Little Shearwater.Little Stint.Loggerhead Kingbird.Loggerhead Shrike.Long-billed Curlew.Long-billed Dowitcher.Long-billed Murrelet.Long-billed Thrasher.Long-eared Owl.Long-tailed Jaeger.Long-toed Stint.Louisiana Waterthrush.Lucifer Hummingbird.Lucy's Warbler.MacGillivray's Warbler.Magnificent Frigatebird.Magnificent Hummingbird.Magnolia Warbler.Mallard.Mangrove Cuckoo.Manx Shearwater.Marbled Godwit.Marbled Murrelet.Marsh Sandpiper.Marsh Wren.Masked Booby.Masked Duck.Masked Tityra.McCown's Longspur.McKay's Bunting.Merlin.Mew Gull.Mexican Chickadee.Mexican Jay.Middendorff's Grasshopper-Warbler.Mississippi Kite.Mongolian Plover.Monk Parakeet.Montezuma Quail.Mottled Duck.Mottled Owl.Mottled Petrel.Mountain Bluebird.Mountain Chickadee.Mountain Plover.Mountain Quail.Mourning Dove.Mourning Warbler.Mugimaki Flycatcher.Murphy's Petrel.Muscovy Duck.Mute Swan.Narcissus Flycatcher.Nashville Warbler.Nelson's Sharp-tailed Sparrow.Neotropic Cormorant.Northern Beardless-Tyrannulet.Northern Bobwhite.Northern Cardinal.Northern Flicker.Northern Fulmar.Northern Gannet.Northern Goshawk.Northern Harrier.Northern Hawk Owl.Northern Jacana.Northern Lapwing.Northern Mockingbird.Northern Parula.Northern Pintail.Northern Pygmy-Owl.Northern Rough-winged Swallow.Northern Saw-whet Owl.Northern Shoveler.Northern Shrike.Northern Waterthrush.Northern Wheatear.Northwestern Crow.Nuttall's Woodpecker.Nutting's Flycatcher.Oak Titmouse.Oldsquaw.Olive Sparrow.Olive Warbler.Olive-backed Pipit.Olive-sided Flycatcher.Orange-crowned Warbler.Orchard Oriole.Oriental Cuckoo.Oriental Greenfinch.Oriental Pratincole.Oriental Scops-Owl.Oriental Turtle-Dove.Osprey.Ovenbird.Pacific Golden-Plover.Pacific Loon.Pacific-slope Flycatcher.Paint-billed Crake.Painted Bunting.Painted Redstart.Pallas's Bunting.Palm Warbler.Parakeet Auklet.Parasitic Jaeger.Passenger Pigeon.Pechora Pipit.Pectoral Sandpiper.Pelagic Cormorant.Peregrine Falcon.Phainopepla.Philadelphia Vireo.Pied-billed Grebe.Pigeon Guillemot.Pileated Woodpecker.Pin-tailed Snipe.Pine Bunting.Pine Grosbeak.Pine Siskin.Pine Warbler.Pink-footed Goose.Pink-footed Shearwater.Pinyon Jay.Piping Plover.Plain Chachalaca.Plain-capped Starthroat.Plumbeous Vireo.Pomarine Jaeger.Prairie Falcon.Prairie Warbler.Prothonotary Warbler.Purple Finch.Purple Gallinule.Purple Martin.Purple Sandpiper.Pygmy Nuthatch.Pyrrhuloxia.Razorbill.Red Crossbill.Red Knot.Red Phalarope.Red-bellied Woodpecker.Red-billed Pigeon.Red-billed Tropicbird.Red-breasted Flycatcher.Red-breasted Merganser.Red-breasted Nuthatch.Red-breasted Sapsucker.Red-cockaded Woodpecker.Red-crowned Parrot.Red-eyed Vireo.Red-faced Cormorant.Red-faced Warbler.Red-flanked Bluetail.Red-footed Booby.Red-headed Woodpecker.Red-legged Kittiwake.Red-naped Sapsucker.Red-necked Grebe.Red-necked Phalarope.Red-necked Stint.Red-shouldered Hawk.Red-tailed Hawk.Red-tailed Tropicbird.Red-throated Loon.Red-throated Pipit.Red-whiskered Bulbul.Red-winged Blackbird.Reddish Egret.Redhead.Redwing.Reed Bunting.Rhinoceros Auklet.Ring-billed Gull.Ring-necked Duck.Ring-necked Pheasant.Ringed Kingfisher.Roadside Hawk.Rock Dove.Rock Ptarmigan.Rock Sandpiper.Rock Wren.Rose-breasted Grosbeak.Rose-throated Becard.Roseate Spoonbill.Roseate Tern.Ross's Goose.Ross's Gull.Rough-legged Hawk.Royal Tern.Ruby-crowned Kinglet.Ruby-throated Hummingbird.Ruddy Duck.Ruddy Ground-Dove.Ruddy Quail-Dove.Ruddy Turnstone.Ruff.Ruffed Grouse.Rufous Hummingbird.Rufous-backed Robin.Rufous-capped Warbler.Rufous-crowned Sparrow.Rufous-winged Sparrow.Rustic Bunting.Rusty Blackbird.Sabine's Gull.Sage Grouse.Sage Sparrow.Sage Thrasher.Saltmarsh Sharp-tailed Sparrow.Sanderling.Sandhill Crane.Sandwich Tern.Savannah Sparrow.Say's Phoebe.Scaled Quail.Scaly-naped Pigeon.Scarlet Ibis.Scarlet Tanager.Scissor-tailed Flycatcher.Scott's Oriole.Seaside Sparrow.Sedge Wren.Semipalmated Plover.Semipalmated Sandpiper.Sharp-shinned Hawk.Sharp-tailed Grouse.Sharp-tailed Sandpiper.Shiny Cowbird.Short-billed Dowitcher.Short-eared Owl.Short-tailed Albatross.Short-tailed Hawk.Short-tailed Shearwater.Shy Albatross.Siberian Accentor.Siberian Blue Robin.Siberian Flycatcher.Siberian Rubythroat.Sky Lark.Slate-throated Redstart.Slaty-backed Gull.Slender-billed Curlew.Smew.Smith's Longspur.Smooth-billed Ani.Snail Kite.Snow Bunting.Snow Goose.Snowy Egret.Snowy Owl.Snowy Plover.Solitary Sandpiper.Song Sparrow.Sooty Shearwater.Sooty Tern.Sora.South Polar Skua.Southern Martin.Spectacled Eider.Spoonbill Sandpiper.Spot-billed Duck.Spot-breasted Oriole.Spotted Dove.Spotted Owl.Spotted Rail.Spotted Redshank.Spotted Sandpiper.Spotted Towhee.Sprague's Pipit.Spruce Grouse.Stejneger's Petrel.Steller's Eider.Steller's Jay.Steller's Sea-Eagle.Stilt Sandpiper.Stonechat.Streak-backed Oriole.Streaked Shearwater.Strickland's Woodpecker.Stripe-headed Tanager.Sulphur-bellied Flycatcher.Summer Tanager.Surf Scoter.Surfbird.Swainson's Hawk.Swainson's Thrush.Swainson's Warbler.Swallow-tailed Kite.Swamp Sparrow.Tamaulipas Crow.Tawny-shouldered Blackbird.Temminck's Stint.Tennessee Warbler.Terek Sandpiper.Thayer's Gull.Thick-billed Kingbird.Thick-billed Murre.Thick-billed Parrot.Thick-billed Vireo.Three-toed Woodpecker.Townsend's Solitaire.Townsend's Warbler.Tree Pipit.Tree Swallow.Tricolored Blackbird.Tricolored Heron.Tropical Kingbird.Tropical Parula.Trumpeter Swan.Tufted Duck.Tufted Flycatcher.Tufted Puffin.Tufted Titmouse.Tundra Swan.Turkey Vulture.Upland Sandpiper.Varied Bunting.Varied Thrush.Variegated Flycatcher.Vaux's Swift.Veery.Verdin.Vermilion Flycatcher.Vesper Sparrow.Violet-crowned Hummingbird.Violet-green Swallow.Virginia Rail.Virginia's Warbler.Wandering Albatross.Wandering Tattler.Warbling Vireo.Wedge-rumped Storm-Petrel.Wedge-tailed Shearwater.Western Bluebird.Western Grebe.Western Gull.Western Kingbird.Western Meadowlark.Western Reef-Heron.Western Sandpiper.Western Screech-Owl.Western Scrub-Jay.Western Tanager.Western Wood-Pewee.Whimbrel.Whip-poor-will.Whiskered Auklet.Whiskered Screech-Owl.Whiskered Tern.White Ibis.White Wagtail.White-breasted Nuthatch.White-cheeked Pintail.White-chinned Petrel.White-collared Seedeater.White-collared Swift.White-crowned Pigeon.White-crowned Sparrow.White-eared Hummingbird.White-eyed Vireo.White-faced Ibis.White-faced Storm-Petrel.White-headed Woodpecker.White-rumped Sandpiper.White-tailed Eagle.White-tailed Hawk.White-tailed Kite.White-tailed Ptarmigan.White-tailed Tropicbird.White-throated Needletail.White-throated Robin.White-throated Sparrow.White-throated Swift.White-tipped Dove.White-winged Crossbill.White-winged Dove.White-winged Parakeet.White-winged Scoter.White-winged Tern.Whooper Swan.Whooping Crane.Wild Turkey.Willet.Williamson's Sapsucker.Willow Flycatcher.Willow Ptarmigan.Wilson's Phalarope.Wilson's Plover.Wilson's Storm-Petrel.Wilson's Warbler.Winter Wren.Wood Duck.Wood Sandpiper.Wood Stork.Wood Thrush.Wood Warbler.Worm-eating Warbler.Worthen's Sparrow.Wrentit.Xantus's Hummingbird.Xantus's Murrelet.Yellow Bittern.Yellow Grosbeak.Yellow Rail.Yellow Wagtail.Yellow Warbler.Yellow-bellied Flycatcher.Yellow-bellied Sapsucker.Yellow-billed Cuckoo.Yellow-billed Loon.Yellow-billed Magpie.Yellow-breasted Bunting.Yellow-breasted Chat.Yellow-crowned Night-Heron.Yellow-eyed Junco.Yellow-faced Grassquit.Yellow-footed Gull.Yellow-green Vireo.Yellow-headed Blackbird.Yellow-legged Gull.Yellow-nosed Albatross.Yellow-rumped Warbler.Yellow-throated Vireo.Yellow-throated Warbler.Yucatan Vireo.Zenaida Dove.Zone-tailed Hawk`.split(`.`),cat:`Abyssinian.American Bobtail.American Curl.American Shorthair.American Wirehair.Balinese.Bengal.Birman.Bombay.British Shorthair.Burmese.Chartreux.Chausie.Cornish Rex.Devon Rex.Donskoy.Egyptian Mau.Exotic Shorthair.Havana.Highlander.Himalayan.Japanese Bobtail.Korat.Kurilian Bobtail.LaPerm.Maine Coon.Manx.Minskin.Munchkin.Nebelung.Norwegian Forest Cat.Ocicat.Ojos Azules.Oriental.Persian.Peterbald.Pixiebob.Ragdoll.Russian Blue.Savannah.Scottish Fold.Selkirk Rex.Serengeti.Siamese.Siberian.Singapura.Snowshoe.Sokoke.Somali.Sphynx.Thai.Tonkinese.Toyger.Turkish Angora.Turkish Van`.split(`.`),cetacean:`Amazon River Dolphin.Arnoux's Beaked Whale.Atlantic Humpbacked Dolphin.Atlantic Spotted Dolphin.Atlantic White-Sided Dolphin.Australian Snubfin Dolphin.Australian humpback Dolphin.Blue Whale.Bottlenose Dolphin.Bryde’s whale.Burrunan Dolphin.Chilean Dolphin.Chinese River Dolphin.Chinese White Dolphin.Clymene Dolphin.Commerson’s Dolphin.Costero.Dusky Dolphin.False Killer Whale.Fin Whale.Fraser’s Dolphin.Ganges River Dolphin.Guiana Dolphin.Heaviside’s Dolphin.Hector’s Dolphin.Hourglass Dolphin.Humpback whale.Indo-Pacific Bottlenose Dolphin.Indo-Pacific Hump-backed Dolphin.Irrawaddy Dolphin.Killer Whale (Orca).La Plata Dolphin.Long-Beaked Common Dolphin.Long-finned Pilot Whale.Longman's Beaked Whale.Melon-headed Whale.Northern Rightwhale Dolphin.Omura’s whale.Pacific White-Sided Dolphin.Pantropical Spotted Dolphin.Peale’s Dolphin.Pygmy Killer Whale.Risso’s Dolphin.Rough-Toothed Dolphin.Sei Whale.Short-Beaked Common Dolphin.Short-finned Pilot Whale.Southern Bottlenose Whale.Southern Rightwhale Dolphin.Sperm Whale.Spinner Dolphin.Striped Dolphin.Tucuxi.White-Beaked Dolphin`.split(`.`),cow:`Aberdeen Angus.Abergele.Abigar.Abondance.Abyssinian Shorthorned Zebu.Aceh.Achham.Adamawa.Adaptaur.Afar.Africangus.Afrikaner.Agerolese.Alambadi.Alatau.Albanian.Albera.Alderney.Alentejana.Aleutian wild cattle.Aliad Dinka.Alistana-Sanabresa.Allmogekor.Alur.American.American Angus.American Beef Friesian.American Brown Swiss.American Milking Devon.American White Park.Amerifax.Amrit Mahal.Amsterdam Island cattle.Anatolian Black.Andalusian Black.Andalusian Blond.Andalusian Grey.Angeln.Angoni.Ankina.Ankole.Ankole-Watusi.Aracena.Arado.Argentine Criollo.Argentine Friesian.Armorican.Arouquesa.Arsi.Asturian Mountain.Asturian Valley.Aubrac.Aulie-Ata.Aure et Saint-Girons.Australian Braford.Australian Brangus.Australian Charbray.Australian Friesian Sahiwal.Australian Lowline.Australian Milking Zebu.Australian Shorthorn.Austrian Simmental.Austrian Yellow.Avileña-Negra Ibérica.Avétonou.Aweil Dinka.Ayrshire.Azaouak.Azebuado.Azerbaijan Zebu.Azores.Bachaur cattle.Baherie cattle.Bakosi cattle.Balancer.Baoule.Bargur cattle.Barrosã.Barzona.Bazadaise.Beef Freisian.Beefalo.Beefmaker.Beefmaster.Begayt.Belgian Blue.Belgian Red.Belgian Red Pied.Belgian White-and-Red.Belmont Red.Belted Galloway.Bernese.Berrenda cattle.Betizu.Bianca Modenese.Blaarkop.Black Angus.Black Baldy.Black Hereford.Blanca Cacereña.Blanco Orejinegro BON.Blonde d'Aquitaine.Blue Albion.Blue Grey.Bohuskulla.Bonsmara.Boran.Boškarin.Braford.Brahman.Brahmousin.Brangus.Braunvieh.Brava.Breed.British Friesian.British White.Brown Carpathian.Brown Caucasian.Brown Swiss.Bue Lingo.Burlina.Bushuyev.Butana cattle.Buša cattle.Cachena.Caldelana.Camargue.Campbell Island cattle.Canadian Speckle Park.Canadienne.Canaria.Canchim.Caracu.Carinthian Blondvieh.Carora.Charbray.Charolais.Chateaubriand.Chiangus.Chianina.Chillingham cattle.Chinese Black Pied.Cholistani.Coloursided White Back.Commercial.Corriente.Corsican cattle.Costeño con Cuernos.Crioulo Lageano.Cárdena Andaluza.Dajal.Dangi cattle.Danish Black-Pied.Danish Jersey.Danish Red.Deep Red cattle.Deoni.Devon.Dexter cattle.Dhanni.Doayo cattle.Doela.Drakensberger.Droughtmaster.Dulong'.Dutch Belted.Dutch Friesian.Dwarf Lulu.Dølafe.East Anatolian Red.Eastern Finncattle.Eastern Red Polled.Enderby Island cattle.English Longhorn.Ennstaler Bergscheck.Estonian Holstein.Estonian Native.Estonian Red cattle.Finncattle.Finnish Ayrshire.Finnish Holstein-Friesian.Fjäll.Fleckvieh.Florida Cracker cattle.Fogera.French Simmental.Fribourgeoise.Friesian Red and White.Fulani Sudanese.Fēng Cattle.Galician Blond.Galloway cattle.Gangatiri.Gaolao.Garvonesa.Gascon cattle.Gelbvieh.Georgian Mountain cattle.German Angus.German Black Pied Dairy.German Black Pied cattle.German Red Pied.Gir.Glan cattle.Gloucester.Gobra.Greek Shorthorn.Greek Steppe.Greyman cattle.Gudali.Guernsey cattle.Guzerá.Hallikar4.Hanwoo.Hariana cattle.Hartón del Valle.Harzer Rotvieh.Hays Converter.Heck cattle.Hereford.Herens.Highland cattle.Hinterwald.Holando-Argentino.Holstein Friesian cattle.Horro.Hungarian Grey.Huáng Cattle.Hybridmaster.Iberian cattle.Icelandic.Illawarra cattle.Improved Red and White.Indo-Brazilian.Irish Moiled.Israeli Holstein.Israeli Red.Istoben cattle.Istrian cattle.Jamaica Black.Jamaica Hope.Jamaica Red.Japanese Brown.Jarmelista.Javari cattle.Jersey cattle.Jutland cattle.Kabin Buri cattle.Kalmyk cattle.Kamphaeng Saen cattle.Kangayam.Kankrej.Karan Swiss.Kasaragod Dwarf cattle.Kathiawadi.Kazakh Whiteheaded.Kenana cattle.Kenkatha cattle.Kerry cattle.Kherigarh.Khillari cattle.Kholomogory.Korat Wagyu.Kostroma cattle.Krishna Valley cattle.Kurgan cattle.Kuri.La Reina cattle.Lakenvelder cattle.Lampurger.Latvian Blue.Latvian Brown.Latvian Danish Red.Lebedyn.Levantina.Limia cattle.Limousin.Limpurger.Lincoln Red.Lineback.Lithuanian Black-and-White.Lithuanian Light Grey.Lithuanian Red.Lithuanian White-Backed.Lohani cattle.Lourdais.Lucerna cattle.Luing.Madagascar Zebu.Madura.Maine-Anjou.Malnad Gidda.Malvi.Mandalong Special.Mantequera Leonesa.Maramureş Brown.Marchigiana.Maremmana.Marinhoa.Maronesa.Masai.Mashona.Menorquina.Mertolenga.Meuse-Rhine-Issel.Mewati.Milking Shorthorn.Minhota.Mirandesa.Mirkadim.Mocăniţă.Mollie.Monchina.Mongolian.Montbéliarde.Morucha.Murboden.Murnau-Werdenfels.Murray Grey.Muturu.N'Dama.Nagori.Negra Andaluza.Nelore.Nguni.Nimari.Normande.North Bengal Grey.Northern Finncattle.Northern Shorthorn.Norwegian Red.Ongole.Original Simmental.Pajuna.Palmera.Pantaneiro.Parda Alpina.Parthenaise.Pasiega.Pembroke.Philippine Native.Pie Rouge des Plaines.Piedmontese cattle.Pineywoods.Pinzgauer.Pirenaica.Podolac.Podolica.Polish Black-and-White.Polish Red.Poll Shorthorn.Polled Hereford.Polled Shorthorn.Ponwar.Preta.Pulikulam.Punganur.Pustertaler Sprinzen.Qinchaun.Queensland Miniature Boran.RX3.Ramo Grande.Randall.Raramuri Criollo.Rathi.Raya.Red Angus.Red Brangus.Red Chittagong.Red Fulani.Red Gorbatov.Red Holstein.Red Kandhari.Red Mingrelian.Red Poll.Red Polled Østland.Red Sindhi.Retinta.Riggit Galloway.Ringamåla.Rohjan.Romagnola.Romanian Bălţata.Romanian Steppe Gray.Romosinuano.Russian Black Pied.Rätisches Grauvieh.Sahiwal.Salers.Salorn.Sanga.Sanhe.Santa Cruz.Santa Gertrudis.Sayaguesa.Schwyz.Selembu.Senepol.Serbian Pied.Serbian Steppe.Sheko.Shetland.Shorthorn.Siboney de Cuba.Simbrah.Simford.Simmental.Siri.South Devon.Spanish Fighting Bull.Speckle Park.Square Meater.Sussex.Swedish Friesian.Swedish Polled.Swedish Red Pied.Swedish Red Polled.Swedish Red-and-White.Tabapuã.Tarentaise.Tasmanian Grey.Tauros.Telemark.Texas Longhorn.Texon.Thai Black.Thai Fighting Bull.Thai Friesian.Thai Milking Zebu.Tharparkar.Tswana.Tudanca.Tuli.Tulim.Turkish Grey Steppe.Tux-Zillertal.Tyrol Grey.Ukrainian Grey.Umblachery.Valdostana Castana.Valdostana Pezzata Nera.Valdostana Pezzata Rossa.Vaynol.Vechur8.Vestland Fjord.Vestland Red Polled.Vianesa.Volinian Beef.Vorderwald.Vosgienne.Väneko.Waguli.Wagyu.Wangus.Welsh Black.Western Finncattle.White Cáceres.White Fulani.White Lamphun.White Park.Whitebred Shorthorn.Xingjiang Brown.Yakutian.Yanbian.Yanhuang.Yurino.Zebu.Évolène cattle.Żubroń`.split(`.`),crocodilia:[`African Slender-snouted Crocodile`,`Alligator mississippiensis`,`American Crocodile`,`Australian Freshwater Crocodile`,`Black Caiman`,`Broad-snouted Caiman`,`Chinese Alligator`,`Cuban Crocodile`,`Cuvier’s Dwarf Caiman`,`Dwarf Crocodile`,`Gharial`,`Morelet’s Crocodile`,`Mugger Crocodile`,`New Guinea Freshwater Crocodile`,`Nile Crocodile`,`Orinoco Crocodile`,`Philippine Crocodile`,`Saltwater Crocodile`,`Schneider’s Smooth-fronted Caiman`,`Siamese Crocodile`,`Spectacled Caiman`,`Tomistoma`,`West African Crocodile`,`Yacare Caiman`],dog:`Affenpinscher.Afghan Hound.Aidi.Airedale Terrier.Akbash.Akita.Alano Español.Alapaha Blue Blood Bulldog.Alaskan Husky.Alaskan Klee Kai.Alaskan Malamute.Alopekis.Alpine Dachsbracke.American Bulldog.American Bully.American Cocker Spaniel.American English Coonhound.American Foxhound.American Hairless Terrier.American Pit Bull Terrier.American Staffordshire Terrier.American Water Spaniel.Andalusian Hound.Anglo-Français de Petite Vénerie.Appenzeller Sennenhund.Ariegeois.Armant.Armenian Gampr dog.Artois Hound.Australian Cattle Dog.Australian Kelpie.Australian Shepherd.Australian Stumpy Tail Cattle Dog.Australian Terrier.Austrian Black and Tan Hound.Austrian Pinscher.Azawakh.Bakharwal dog.Banjara Hound.Barbado da Terceira.Barbet.Basenji.Basque Shepherd Dog.Basset Artésien Normand.Basset Bleu de Gascogne.Basset Fauve de Bretagne.Basset Hound.Bavarian Mountain Hound.Beagle.Beagle-Harrier.Bearded Collie.Beauceron.Bedlington Terrier.Belgian Shepherd.Bergamasco Shepherd.Berger Picard.Bernese Mountain Dog.Bhotia.Bichon Frisé.Billy.Black Mouth Cur.Black Norwegian Elkhound.Black Russian Terrier.Black and Tan Coonhound.Bloodhound.Blue Lacy.Blue Picardy Spaniel.Bluetick Coonhound.Boerboel.Bohemian Shepherd.Bolognese.Border Collie.Border Terrier.Borzoi.Bosnian Coarse-haired Hound.Boston Terrier.Bouvier des Ardennes.Bouvier des Flandres.Boxer.Boykin Spaniel.Bracco Italiano.Braque Francais.Braque Saint-Germain.Braque d'Auvergne.Braque de l'Ariège.Braque du Bourbonnais.Briard.Briquet Griffon Vendéen.Brittany.Broholmer.Bruno Jura Hound.Brussels Griffon.Bucovina Shepherd Dog.Bull Arab.Bull Terrier.Bulldog.Bullmastiff.Bully Kutta.Burgos Pointer.Cairn Terrier.Campeiro Bulldog.Can de Chira.Canaan Dog.Canadian Eskimo Dog.Cane Corso.Cane Paratore.Cane di Oropa.Cantabrian Water Dog.Cardigan Welsh Corgi.Carea Castellano Manchego.Carolina Dog.Carpathian Shepherd Dog.Catahoula Leopard Dog.Catalan Sheepdog.Caucasian Shepherd Dog.Cavalier King Charles Spaniel.Central Asian Shepherd Dog.Cesky Fousek.Cesky Terrier.Chesapeake Bay Retriever.Chien Français Blanc et Noir.Chien Français Blanc et Orange.Chien Français Tricolore.Chihuahua.Chilean Terrier.Chinese Chongqing Dog.Chinese Crested Dog.Chinook.Chippiparai.Chongqing dog.Chortai.Chow Chow.Cimarrón Uruguayo.Cirneco dell'Etna.Clumber Spaniel.Colombian fino hound.Coton de Tulear.Cretan Hound.Croatian Sheepdog.Curly-Coated Retriever.Cursinu.Czechoslovakian Wolfdog.Cão Fila de São Miguel.Cão da Serra de Aires.Cão de Castro Laboreiro.Cão de Gado Transmontano.Dachshund.Dalmatian.Dandie Dinmont Terrier.Danish-Swedish Farmdog.Denmark Feist.Dingo.Doberman Pinscher.Dogo Argentino.Dogo Guatemalteco.Dogo Sardesco.Dogue Brasileiro.Dogue de Bordeaux.Drentse Patrijshond.Drever.Dunker.Dutch Shepherd.Dutch Smoushond.East European Shepherd.East Siberian Laika.English Cocker Spaniel.English Foxhound.English Mastiff.English Setter.English Shepherd.English Springer Spaniel.English Toy Terrier.Entlebucher Mountain Dog.Estonian Hound.Estrela Mountain Dog.Eurasier.Field Spaniel.Fila Brasileiro.Finnish Hound.Finnish Lapphund.Finnish Spitz.Flat-Coated Retriever.French Bulldog.French Spaniel.Galgo Español.Galician Shepherd Dog.Garafian Shepherd.Gascon Saintongeois.Georgian Shepherd.German Hound.German Longhaired Pointer.German Pinscher.German Roughhaired Pointer.German Shepherd Dog.German Shorthaired Pointer.German Spaniel.German Spitz.German Wirehaired Pointer.Giant Schnauzer.Glen of Imaal Terrier.Golden Retriever.Gordon Setter.Gończy Polski.Grand Anglo-Français Blanc et Noir.Grand Anglo-Français Blanc et Orange.Grand Anglo-Français Tricolore.Grand Basset Griffon Vendéen.Grand Bleu de Gascogne.Grand Griffon Vendéen.Great Dane.Greater Swiss Mountain Dog.Greek Harehound.Greek Shepherd.Greenland Dog.Greyhound.Griffon Bleu de Gascogne.Griffon Fauve de Bretagne.Griffon Nivernais.Gull Dong.Gull Terrier.Hamiltonstövare.Hanover Hound.Harrier.Havanese.Hierran Wolfdog.Hokkaido.Hovawart.Huntaway.Hygen Hound.Hällefors Elkhound.Ibizan Hound.Icelandic Sheepdog.Indian Spitz.Indian pariah dog.Irish Red and White Setter.Irish Setter.Irish Terrier.Irish Water Spaniel.Irish Wolfhound.Istrian Coarse-haired Hound.Istrian Shorthaired Hound.Italian Greyhound.Jack Russell Terrier.Jagdterrier.Japanese Chin.Japanese Spitz.Japanese Terrier.Jindo.Jonangi.Kai Ken.Kaikadi.Kangal Shepherd Dog.Kanni.Karakachan dog.Karelian Bear Dog.Kars.Karst Shepherd.Keeshond.Kerry Beagle.Kerry Blue Terrier.King Charles Spaniel.King Shepherd.Kintamani.Kishu.Kokoni.Kombai.Komondor.Kooikerhondje.Koolie.Koyun dog.Kromfohrländer.Kuchi.Kuvasz.Labrador Retriever.Lagotto Romagnolo.Lakeland Terrier.Lancashire Heeler.Landseer.Lapponian Herder.Large Münsterländer.Leonberger.Levriero Sardo.Lhasa Apso.Lithuanian Hound.Lupo Italiano.Löwchen.Mackenzie River Husky.Magyar agár.Mahratta Greyhound.Maltese.Manchester Terrier.Maremmano-Abruzzese Sheepdog.McNab dog.Miniature American Shepherd.Miniature Bull Terrier.Miniature Fox Terrier.Miniature Pinscher.Miniature Schnauzer.Molossus of Epirus.Montenegrin Mountain Hound.Mountain Cur.Mountain Feist.Mucuchies.Mudhol Hound.Mudi.Neapolitan Mastiff.New Guinea Singing Dog.New Zealand Heading Dog.Newfoundland.Norfolk Terrier.Norrbottenspets.Northern Inuit Dog.Norwegian Buhund.Norwegian Elkhound.Norwegian Lundehund.Norwich Terrier.Nova Scotia Duck Tolling Retriever.Old Croatian Sighthound.Old Danish Pointer.Old English Sheepdog.Old English Terrier.Olde English Bulldogge.Otterhound.Pachon Navarro.Paisley Terrier.Pampas Deerhound.Papillon.Parson Russell Terrier.Pastore della Lessinia e del Lagorai.Patagonian Sheepdog.Patterdale Terrier.Pekingese.Pembroke Welsh Corgi.Perro Majorero.Perro de Pastor Mallorquin.Perro de Presa Canario.Perro de Presa Mallorquin.Peruvian Inca Orchid.Petit Basset Griffon Vendéen.Petit Bleu de Gascogne.Phalène.Pharaoh Hound.Phu Quoc Ridgeback.Picardy Spaniel.Plott Hound.Plummer Terrier.Podenco Canario.Podenco Valenciano.Pointer.Poitevin.Polish Greyhound.Polish Hound.Polish Lowland Sheepdog.Polish Tatra Sheepdog.Pomeranian.Pont-Audemer Spaniel.Poodle.Porcelaine.Portuguese Podengo.Portuguese Pointer.Portuguese Water Dog.Posavac Hound.Pražský Krysařík.Pshdar Dog.Pudelpointer.Pug.Puli.Pumi.Pungsan Dog.Pyrenean Mastiff.Pyrenean Mountain Dog.Pyrenean Sheepdog.Rafeiro do Alentejo.Rajapalayam.Rampur Greyhound.Rat Terrier.Ratonero Bodeguero Andaluz.Ratonero Mallorquin.Ratonero Murciano de Huerta.Ratonero Valenciano.Redbone Coonhound.Rhodesian Ridgeback.Romanian Mioritic Shepherd Dog.Romanian Raven Shepherd Dog.Rottweiler.Rough Collie.Russian Spaniel.Russian Toy.Russo-European Laika.Saarloos Wolfdog.Sabueso Español.Saint Bernard.Saint Hubert Jura Hound.Saint-Usuge Spaniel.Saluki.Samoyed.Sapsali.Sarabi dog.Sardinian Shepherd Dog.Schapendoes.Schillerstövare.Schipperke.Schweizer Laufhund.Schweizerischer Niederlaufhund.Scottish Deerhound.Scottish Terrier.Sealyham Terrier.Segugio Italiano.Segugio Maremmano.Segugio dell'Appennino.Seppala Siberian Sleddog.Serbian Hound.Serbian Tricolour Hound.Serrano Bulldog.Shar Pei.Shetland Sheepdog.Shiba Inu.Shih Tzu.Shikoku.Shiloh Shepherd.Siberian Husky.Silken Windhound.Silky Terrier.Sinhala Hound.Skye Terrier.Sloughi.Slovakian Wirehaired Pointer.Slovenský Cuvac.Slovenský Kopov.Smalandstövare.Small Greek domestic dog.Small Münsterländer.Smooth Collie.Smooth Fox Terrier.Soft-Coated Wheaten Terrier.South Russian Ovcharka.Spanish Mastiff.Spanish Water Dog.Spinone Italiano.Sporting Lucas Terrier.Stabyhoun.Staffordshire Bull Terrier.Standard Schnauzer.Stephens Stock.Styrian Coarse-haired Hound.Sussex Spaniel.Swedish Elkhound.Swedish Lapphund.Swedish Vallhund.Swedish White Elkhound.Taigan.Taiwan Dog.Tamaskan Dog.Teddy Roosevelt Terrier.Telomian.Tenterfield Terrier.Terrier Brasileiro.Thai Bangkaew Dog.Thai Ridgeback.Tibetan Mastiff.Tibetan Spaniel.Tibetan Terrier.Tornjak.Tosa.Toy Fox Terrier.Toy Manchester Terrier.Transylvanian Hound.Treeing Cur.Treeing Feist.Treeing Tennessee Brindle.Treeing Walker Coonhound.Trigg Hound.Tyrolean Hound.Vikhan.Villano de Las Encartaciones.Villanuco de Las Encartaciones.Vizsla.Volpino Italiano.Weimaraner.Welsh Sheepdog.Welsh Springer Spaniel.Welsh Terrier.West Highland White Terrier.West Siberian Laika.Westphalian Dachsbracke.Wetterhoun.Whippet.White Shepherd.White Swiss Shepherd Dog.Wire Fox Terrier.Wirehaired Pointing Griffon.Wirehaired Vizsla.Xiasi Dog.Xoloitzcuintli.Yakutian Laika.Yorkshire Terrier.Šarplaninac`.split(`.`),fish:`Alaska pollock.Albacore.Amur catfish.Araucanian herring.Argentine hake.Asari.Asian swamp eel.Atlantic cod.Atlantic herring.Atlantic horse mackerel.Atlantic mackerel.Atlantic menhaden.Atlantic salmon.Bigeye scad.Bigeye tuna.Bighead carp.Black carp.Blood cockle.Blue swimming crab.Blue whiting.Bombay-duck.Bonga shad.California pilchard.Cape horse mackerel.Capelin.Catla.Channel catfish.Chilean jack mackerel.Chinese perch.Chinese softshell turtle.Chub mackerel.Chum salmon.Common carp.Crucian carp.Daggertooth pike conger.European anchovy.European pilchard.European sprat.Filipino Venus.Gazami crab.Goldstripe sardinella.Grass carp.Gulf menhaden.Haddock.Hilsa shad.Indian mackerel.Indian oil sardine.Iridescent shark.Japanese anchovy.Japanese cockle.Japanese common catfish.Japanese flying squid.Japanese jack mackerel.Japanese littleneck.Japanese pilchard.Jumbo flying squid.Kawakawa.Korean bullhead.Largehead hairtail.Longtail tuna.Madeiran sardinella.Mandarin fish.Milkfish.Mrigal carp.Narrow-barred Spanish mackerel.Nile perch.Nile tilapia.North Pacific hake.Northern snakehead.Pacific anchoveta.Pacific cod.Pacific herring.Pacific sand lance.Pacific sandlance.Pacific saury.Pacific thread herring.Peruvian anchoveta.Pink salmon.Pollock.Pond loach.Rainbow trout.Rohu.Round sardinella.Short mackerel.Silver carp.Silver cyprinid.Skipjack tuna.Southern African anchovy.Southern rough shrimp.Whiteleg shrimp.Wuchang bream.Yellow croaker.Yellowfin tuna.Yellowhead catfish.Yellowstripe scad`.split(`.`),horse:`Abaco Barb.Abtenauer.Abyssinian.Aegidienberger.Akhal-Teke.Albanian Horse.Altai Horse.Altèr Real.American Albino.American Cream Draft.American Indian Horse.American Paint Horse.American Quarter Horse.American Saddlebred.American Warmblood.Andalusian Horse.Andravida Horse.Anglo-Arabian.Anglo-Arabo-Sardo.Anglo-Kabarda.Appaloosa.AraAppaloosa.Arabian Horse.Ardennes Horse.Arenberg-Nordkirchen.Argentine Criollo.Asian wild Horse.Assateague Horse.Asturcón.Augeron.Australian Brumby.Australian Draught Horse.Australian Stock Horse.Austrian Warmblood.Auvergne Horse.Auxois.Azerbaijan Horse.Azteca Horse.Baise Horse.Bale.Balearic Horse.Balikun Horse.Baluchi Horse.Banker Horse.Barb Horse.Bardigiano.Bashkir Curly.Basque Mountain Horse.Bavarian Warmblood.Belgian Half-blood.Belgian Horse.Belgian Warmblood.Bhutia Horse.Black Forest Horse.Blazer Horse.Boerperd.Borana.Boulonnais Horse.Brabant.Brandenburger.Brazilian Sport Horse.Breton Horse.Brumby.Budyonny Horse.Burguete Horse.Burmese Horse.Byelorussian Harness Horse.Calabrese Horse.Camargue Horse.Camarillo White Horse.Campeiro.Campolina.Canadian Horse.Canadian Pacer.Carolina Marsh Tacky.Carthusian Horse.Caspian Horse.Castilian Horse.Castillonnais.Catria Horse.Cavallo Romano della Maremma Laziale.Cerbat Mustang.Chickasaw Horse.Chilean Corralero.Choctaw Horse.Cleveland Bay.Clydesdale Horse.Cob.Coldblood Trotter.Colonial Spanish Horse.Colorado Ranger.Comtois Horse.Corsican Horse.Costa Rican Saddle Horse.Cretan Horse.Criollo Horse.Croatian Coldblood.Cuban Criollo.Cumberland Island Horse.Curly Horse.Czech Warmblood.Daliboz.Danish Warmblood.Danube Delta Horse.Dole Gudbrandsdal.Don.Dongola Horse.Draft Trotter.Dutch Harness Horse.Dutch Heavy Draft.Dutch Warmblood.Dzungarian Horse.East Bulgarian.East Friesian Horse.Estonian Draft.Estonian Horse.Falabella.Faroese.Finnhorse.Fjord Horse.Fleuve.Florida Cracker Horse.Foutanké.Frederiksborg Horse.Freiberger.French Trotter.Friesian Cross.Friesian Horse.Friesian Sporthorse.Furioso-North Star.Galiceño.Galician Pony.Gelderland Horse.Georgian Grande Horse.German Warmblood.Giara Horse.Gidran.Groningen Horse.Gypsy Horse.Hackney Horse.Haflinger.Hanoverian Horse.Heck Horse.Heihe Horse.Henson Horse.Hequ Horse.Hirzai.Hispano-Bretón.Holsteiner Horse.Horro.Hungarian Warmblood.Icelandic Horse.Iomud.Irish Draught.Irish Sport Horse sometimes called Irish Hunter.Italian Heavy Draft.Italian Trotter.Jaca Navarra.Jeju Horse.Jutland Horse.Kabarda Horse.Kafa.Kaimanawa Horses.Kalmyk Horse.Karabair.Karabakh Horse.Karachai Horse.Karossier.Kathiawari.Kazakh Horse.Kentucky Mountain Saddle Horse.Kiger Mustang.Kinsky Horse.Kisber Felver.Kiso Horse.Kladruber.Knabstrupper.Konik.Kundudo.Kustanair.Kyrgyz Horse.Latvian Horse.Lipizzan.Lithuanian Heavy Draught.Lokai.Losino Horse.Lusitano.Lyngshest.M'Bayar.M'Par.Mallorquín.Malopolski.Mangalarga.Mangalarga Marchador.Maremmano.Marismeño Horse.Marsh Tacky.Marwari Horse.Mecklenburger.Menorquín.Messara Horse.Metis Trotter.Mezőhegyesi Sport Horse.Međimurje Horse.Miniature Horse.Misaki Horse.Missouri Fox Trotter.Monchina.Mongolian Horse.Mongolian Wild Horse.Monterufolino.Morab.Morgan Horse.Mountain Pleasure Horse.Moyle Horse.Murakoz Horse.Murgese.Mustang Horse.Mérens Horse.Namib Desert Horse.Nangchen Horse.National Show Horse.Nez Perce Horse.Nivernais Horse.Nokota Horse.Noma.Nonius Horse.Nooitgedachter.Nordlandshest.Noriker Horse.Norman Cob.North American Single-Footer Horse.North Swedish Horse.Norwegian Coldblood Trotter.Norwegian Fjord.Novokirghiz.Oberlander Horse.Ogaden.Oldenburg Horse.Orlov trotter.Ostfriesen.Paint.Pampa Horse.Paso Fino.Pentro Horse.Percheron.Persano Horse.Peruvian Paso.Pintabian.Pleven Horse.Poitevin Horse.Posavac Horse.Pottok.Pryor Mountain Mustang.Przewalski's Horse.Pura Raza Española.Purosangue Orientale.Qatgani.Quarab.Quarter Horse.Racking Horse.Retuerta Horse.Rhenish German Coldblood.Rhinelander Horse.Riwoche Horse.Rocky Mountain Horse.Romanian Sporthorse.Rottaler.Russian Don.Russian Heavy Draft.Russian Trotter.Saddlebred.Salerno Horse.Samolaco Horse.San Fratello Horse.Sarcidano Horse.Sardinian Anglo-Arab.Schleswig Coldblood.Schwarzwälder Kaltblut.Selale.Sella Italiano.Selle Français.Shagya Arabian.Shan Horse.Shire Horse.Siciliano Indigeno.Silesian Horse.Sokolsky Horse.Sorraia.South German Coldblood.Soviet Heavy Draft.Spanish Anglo-Arab.Spanish Barb.Spanish Jennet Horse.Spanish Mustang.Spanish Tarpan.Spanish-Norman Horse.Spiti Horse.Spotted Saddle Horse.Standardbred Horse.Suffolk Punch.Swedish Ardennes.Swedish Warmblood.Swedish coldblood trotter.Swiss Warmblood.Taishū Horse.Takhi.Tawleed.Tchernomor.Tennessee Walking Horse.Tersk Horse.Thoroughbred.Tiger Horse.Tinker Horse.Tolfetano.Tori Horse.Trait Du Nord.Trakehner.Tsushima.Tuigpaard.Ukrainian Riding Horse.Unmol Horse.Uzunyayla.Ventasso Horse.Virginia Highlander.Vlaamperd.Vladimir Heavy Draft.Vyatka.Waler.Waler Horse.Walkaloosa.Warlander.Warmblood.Welsh Cob.Westphalian Horse.Wielkopolski.Württemberger.Xilingol Horse.Yakutian Horse.Yili Horse.Yonaguni Horse.Zaniskari.Zhemaichu.Zweibrücker.Žemaitukas`.split(`.`),insect:`Acacia-ants.Acorn-plum gall.Aerial yellowjacket.Africanized honey bee.Allegheny mound ant.Almond stone wasp.Ant.Arboreal ant.Argentine ant.Asian paper wasp.Baldfaced hornet.Bee.Bigheaded ant.Black and yellow mud dauber.Black carpenter ant.Black imported fire ant.Blue horntail woodwasp.Blue orchard bee.Braconid wasp.Bumble bee.Carpenter ant.Carpenter wasp.Chalcid wasp.Cicada killer.Citrus blackfly parasitoid.Common paper wasp.Crazy ant.Cuckoo wasp.Cynipid gall wasp.Eastern Carpenter bee.Eastern yellowjacket.Elm sawfly.Encyrtid wasp.Erythrina gall wasp.Eulophid wasp.European hornet.European imported fire ant.False honey ant.Fire ant.Forest bachac.Forest yellowjacket.German yellowjacket.Ghost ant.Giant ichneumon wasp.Giant resin bee.Giant wood wasp.Golden northern bumble bee.Golden paper wasp.Gouty oak gall.Grass Carrying Wasp.Great black wasp.Great golden digger wasp.Hackberry nipple gall parasitoid.Honey bee.Horned oak gall.Horse guard wasp.Hunting wasp.Ichneumonid wasp.Keyhole wasp.Knopper gall.Large garden bumble bee.Large oak-apple gall.Leafcutting bee.Little fire ant.Little yellow ant.Long-horned bees.Long-legged ant.Macao paper wasp.Mallow bee.Marble gall.Mossyrose gall wasp.Mud-daubers.Multiflora rose seed chalcid.Oak apple gall wasp.Oak rough bulletgall wasp.Oak saucer gall.Oak shoot sawfly.Odorous house ant.Orange-tailed bumble bee.Orangetailed potter wasp.Oriental chestnut gall wasp.Paper wasp.Pavement ant.Pigeon tremex.Pip gall wasp.Prairie yellowjacket.Pteromalid wasp.Pyramid ant.Raspberry Horntail.Red ant.Red carpenter ant.Red harvester ant.Red imported fire ant.Red wasp.Red wood ant.Red-tailed wasp.Reddish carpenter ant.Rough harvester ant.Sawfly parasitic wasp.Scale parasitoid.Silky ant.Sirex woodwasp.Siricid woodwasp.Smaller yellow ant.Southeastern blueberry bee.Southern fire ant.Southern yellowjacket.Sphecid wasp.Stony gall.Sweat bee.Texas leafcutting ant.Tiphiid wasp.Torymid wasp.Tramp ant.Valentine ant.Velvet ant.Vespid wasp.Weevil parasitoid.Western harvester ant.Western paper wasp.Western thatching ant.Western yellowjacket.White-horned horntail.Willow shoot sawfly.Woodwasp.Wool sower gall maker.Yellow Crazy Ant.Yellow and black potter wasp.Yellow-horned horntail`.split(`.`),lion:[`Asiatic Lion`,`Barbary Lion`,`Cape lion`,`Masai Lion`,`Northeast Congo Lion`,`Transvaal lion`,`West African Lion`],pet_name:`Ace.Archie.Bailey.Bandit.Bella.Bentley.Bruno.Buddy.Charlie.Coco.Cookie.Cooper.Daisy.Dixie.Finn.Ginger.Gracie.Gus.Hank.Jack.Jax.Joey.Kobe.Leo.Lola.Louie.Lucy.Maggie.Max.Mia.Milo.Molly.Murphey.Nala.Nova.Ollie.Oreo.Rosie.Scout.Stella.Teddy.Tuffy`.split(`.`),rabbit:`American.American Chinchilla.American Fuzzy Lop.American Sable.Argente Brun.Belgian Hare.Beveren.Blanc de Hotot.Britannia Petite.Californian.Champagne D’Argent.Checkered Giant.Cinnamon.Crème D’Argent.Dutch.Dwarf Hotot.English Angora.English Lop.English Spot.Flemish Giant.Florida White.French Angora.French Lop.Giant Angora.Giant Chinchilla.Harlequin.Havana.Himalayan.Holland Lop.Jersey Wooly.Lilac.Lionhead.Mini Lop.Mini Rex.Mini Satin.Netherland Dwarf.New Zealand.Palomino.Polish.Rex.Rhinelander.Satin.Satin Angora.Silver.Silver Fox.Silver Marten.Standard Chinchilla.Tan.Thrianta`.split(`.`),rodent:`Abrocoma(Abrocoma schistacea(Aconaemys(Aconaemys porteri(African brush-tailed porcupine(Andean mountain cavy(Argentine tuco-tuco(Ashy chinchilla rat(Asiatic brush-tailed porcupine(Atherurus(Azara's agouti(Azara's tuco-tuco(Bahia porcupine(Bathyergus(Bathyergus janetta(Bathyergus suillus(Bennett's chinchilla rat(Bicolored-spined porcupine(Black agouti(Black dwarf porcupine(Black-rumped agouti(Black-tailed hairy dwarf porcupine(Bolivian chinchilla rat(Bolivian tuco-tuco(Bonetto's tuco-tuco(Brandt's yellow-toothed cavy(Brazilian guinea pig(Brazilian porcupine(Brazilian tuco-tuco(Bridge's degu(Brown hairy dwarf porcupine(Budin's chinchilla rat, A. budini(Cape porcupine(Catamarca tuco-tuco(Cavia(Central American agouti(Chacoan tuco-tuco(Chilean rock rat(Chinchilla(Coendou(Coiban agouti(Colburn's tuco-tuco(Collared tuco-tuco(Common degu(Common yellow-toothed cavy(Conover's tuco-tuco(Coruro(Crested agouti(Crested porcupine(Cryptomys(Cryptomys bocagei(Cryptomys damarensis(Cryptomys foxi(Cryptomys hottentotus(Cryptomys mechowi(Cryptomys ochraceocinereus(Cryptomys zechi(Ctenomys(Cuniculus(Cuscomys(Cuscomys ashanika(Dactylomys(Dactylomys boliviensis(Dactylomys dactylinus(Dactylomys peruanus(Dasyprocta(Domestic guinea pig(Emily's tuco-tuco(Erethizon(Famatina chinchilla rat(Frosted hairy dwarf porcupine(Fukomys(Fukomys amatus(Fukomys anselli(Fukomys bocagei(Fukomys damarensis(Fukomys darlingi(Fukomys foxi(Fukomys ilariae(Fukomys kafuensis(Fukomys mechowii(Fukomys micklemi(Fukomys occlusus(Fukomys ochraceocinereus(Fukomys whytei(Fukomys zechi(Furtive tuco-tuco(Galea(Georychus(Georychus capensis(Golden viscacha-rat(Goya tuco-tuco(Greater guinea pig(Green acouchi(Haig's tuco-tuco(Heliophobius(Heliophobius argenteocinereus(Heterocephalus(Heterocephalus glaber(Highland tuco-tuco(Hystrix(Indian porcupine(Isla Mocha degu(Kalinowski agouti(Kannabateomys(Kannabateomys amblyonyx(Lagidium(Lagostomus(Lewis' tuco-tuco(Long-tailed chinchilla(Long-tailed porcupine(Los Chalchaleros' viscacha-rat(Lowland paca(Magellanic tuco-tuco(Malayan porcupine(Maule tuco-tuco(Mendoza tuco-tuco(Mexican agouti(Mexican hairy dwarf porcupine(Microcavia(Montane guinea pig(Moon-toothed degu(Mottled tuco-tuco(Mountain degu(Mountain paca(Mountain viscacha-rat(Myoprocta(Natterer's tuco-tuco(North American porcupine(Northern viscacha(Octodon(Octodontomys(Octomys(Olallamys(Olallamys albicauda(Olallamys edax(Orinoco agouti(Paraguaian hairy dwarf porcupine(Pearson's tuco-tuco(Peruvian tuco-tuco(Philippine porcupine(Pipanacoctomys(Plains viscacha(Plains viscacha-rat(Porteous' tuco-tuco(Punta de Vacas chinchilla rat(Red acouchi(Red-rumped agouti(Reddish tuco-tuco(Rio Negro tuco-tuco(Robust tuco-tuco(Roosmalen's dwarf porcupine(Rothschild's porcupine(Ruatan Island agouti(Sage's rock rat(Salinoctomys(Salta tuco-tuco(San Luis tuco-tuco(Santa Catarina's guinea pig(Shiny guinea pig(Shipton's mountain cavy(Short-tailed chinchilla(Silky tuco-tuco(Social tuco-tuco(Southern mountain cavy(Southern tuco-tuco(Southern viscacha(Spalacopus(Spix's yellow-toothed cavy(Steinbach's tuco-tuco(Streaked dwarf porcupine(Strong tuco-tuco(Stump-tailed porcupine(Sumatran porcupine(Sunda porcupine(Talas tuco-tuco(Tawny tuco-tuco(Thick-spined porcupine(Tiny tuco-tuco(Trichys(Tucuman tuco-tuco(Tympanoctomys(Uspallata chinchilla rat(White-toothed tuco-tuco(Wolffsohn's viscacha`.split(`(`),snake:`Abaco Island boa.Aesculapian snake.African beaked snake.African puff adder.African rock python.African twig snake.African wolf snake.Amazon tree boa.Amazonian palm viper.American Vine Snake.American copperhead.Amethystine python.Anaconda.Andaman cat snake.Andaman cobra.Angolan python.Annulated sea snake.Arabian cobra.Arafura file snake.Arizona black rattlesnake.Arizona coral snake.Aruba rattlesnake.Asian Vine Snake, Whip Snake.Asian cobra.Asian keelback.Asian pipe snake.Asp.Asp viper.Assam keelback.Australian copperhead.Australian scrub python.Baird's rat snake.Baja California lyresnake.Ball Python.Ball python.Bamboo pitviper.Bamboo viper.Banded Flying Snake.Banded cat-eyed snake.Banded krait.Banded pitviper.Banded water cobra.Barbour's pit viper.Barred wolf snake.Beaked sea snake.Beauty rat snake.Beddome's cat snake.Beddome's coral snake.Bimini racer.Bird snake.Bismarck ringed python.Black headed python.Black krait.Black mamba.Black rat snake.Black snake.Black tree cobra.Black-banded trinket snake.Black-headed snake.Black-necked cobra.Black-necked spitting cobra.Black-speckled palm-pitviper.Black-striped keelback.Black-tailed horned pit viper.Blanding's tree snake.Blind snake.Blonde hognose snake.Blood python.Blue krait.Blunt-headed tree snake.Bluntnose viper.Boa.Boa constrictor.Bocourt's water snake.Boelen python.Boiga.Bolivian anaconda.Boomslang.Bornean pitviper.Borneo short-tailed python.Brahminy blind snake.Brazilian coral snake.Brazilian mud Viper.Brazilian smooth snake.Bredl's python.Brongersma's pitviper.Brown snake.Brown spotted pitviper.Brown tree snake.Brown water python.Brown white-lipped python.Buff striped keelback.Bull snake.Burmese keelback.Burmese krait.Burmese python.Burrowing cobra.Burrowing viper.Bush viper.Bushmaster.Buttermilk racer.Calabar python.California kingsnake.Canebrake.Cantil.Cantor's pitviper.Cape cobra.Cape coral snake.Cape gopher snake.Carpet viper.Cascabel.Caspian cobra.Cat snake.Cat-eyed night snake.Cat-eyed snake.Central American lyre snake.Central ranges taipan.Centralian carpet python.Ceylon krait.Chappell Island tiger snake.Checkered garter snake.Checkered keelback.Chicken snake.Chihuahuan ridge-nosed rattlesnake.Children's python.Chinese tree viper.Coachwhip snake.Coastal carpet python.Coastal taipan.Cobra.Collett's snake.Colorado desert sidewinder.Common adder.Common cobra.Common garter snake.Common ground snake.Common keelback.Common lancehead.Common tiger snake.Common worm snake.Congo snake.Congo water cobra.Copperhead.Coral snake.Corn snake.Coronado Island rattlesnake.Cottonmouth.Crossed viper.Crowned snake.Cuban boa.Cuban wood snake.Cyclades blunt-nosed viper.Dauan Island water python.De Schauensee's anaconda.Death Adder.Desert death adder.Desert kingsnake.Desert woma python.Diamond python.Dog-toothed cat snake.Down's tiger snake.Dubois's sea snake.Dumeril's boa.Durango rock rattlesnake.Dusky pigmy rattlesnake.Dusty hognose snake.Dwarf beaked snake.Dwarf boa.Dwarf pipe snake.Dwarf sand adder.Eastern brown snake.Eastern coral snake.Eastern diamondback rattlesnake.Eastern green mamba.Eastern hognose snake.Eastern lyre snake.Eastern mud snake.Eastern racer.Eastern tiger snake.Eastern water cobra.Eastern yellowbelly sad racer.Egg-eater.Egyptian asp.Egyptian cobra.Elegant pitviper.Emerald tree boa.Equatorial spitting cobra.European asp.European smooth snake.Eyelash palm-pitviper.Eyelash pit viper.Eyelash viper.False cobra.False horned viper.False water cobra.Fan-Si-Pan horned pitviper.Fea's viper.Fer-de-lance.Fierce snake.Fifty pacer.Fishing snake.Flat-nosed pitviper.Flinders python.Flying snake.Forest cobra.Forest flame snake.Forsten's cat snake.Fox snake, three species of Pantherophis.Gaboon viper.Garter snake.Giant Malagasy hognose snake.Godman's pit viper.Gold tree cobra.Gold-ringed cat snake.Golden tree snake.Grand Canyon rattlesnake.Grass snake.Gray cat snake.Great Basin rattlesnake.Great Lakes bush viper.Great Plains rat snake.Green anaconda.Green cat-eyed snake.Green mamba.Green palm viper.Green rat snake.Green snake.Green tree pit viper.Green tree python.Grey Lora.Grey-banded kingsnake.Ground snake.Guatemalan palm viper.Guatemalan tree viper.Habu.Habu pit viper.Hagen's pitviper.Hairy bush viper.Halmahera python.Hardwicke's sea snake.Harlequin coral snake.High Woods coral snake.Hill keelback.Himalayan keelback.Hogg Island boa.Hognose snake.Hognosed viper.Honduran palm viper.Hook Nosed Sea Snake.Hopi rattlesnake.Horned adder.Horned desert viper.Horned viper.Horseshoe pitviper.Hundred pacer.Hutton's tree viper.Ikaheka snake.Indian cobra.Indian flying snake.Indian krait.Indian python.Indian tree viper.Indigo snake.Indochinese spitting cobra.Indonesian water python.Inland carpet python.Inland taipan.Jamaican Tree Snake.Jamaican boa.Jan's hognose snake.Japanese forest rat snake.Japanese rat snake.Japanese striped snake.Javan spitting cobra.Jerdon's pitviper.Jumping viper.Jungle carpet python.Kanburian pit viper.Kaulback's lance-headed pitviper.Kayaudi dwarf reticulated python.Kaznakov's viper.Keelback.Kham Plateau pitviper.Khasi Hills keelback.King Island tiger snake.King brown.King cobra.King rat snake.King snake.Krait.Krefft's tiger snake.Lance-headed rattlesnake.Lancehead.Large shield snake.Large-eyed pitviper.Large-scaled tree viper.Leaf viper.Leaf-nosed viper.Lesser black krait.Levant viper.Long-nosed adder.Long-nosed tree snake.Long-nosed viper.Long-nosed whip snake.Long-tailed rattlesnake.Longnosed worm snake.Lora.Lyre snake.Machete savane.Macklot's python.Madagascar ground boa.Madagascar tree boa.Malabar rock pitviper.Malayan krait.Malayan long-glanded coral snake.Malayan pit viper.Malcolm's tree viper.Mamba.Mamushi.Manchurian Black Water Snake.Mandalay cobra.Mandarin rat snake.Mangrove pit viper.Mangrove snake.Mangshan pitviper.Many-banded krait.Many-banded tree snake.Many-horned adder.Many-spotted cat snake.Massasauga rattlesnake.McMahon's viper.Mexican black kingsnake.Mexican green rattlesnake.Mexican hognose snake.Mexican palm-pitviper.Mexican parrot snake.Mexican racer.Mexican vine snake.Mexican west coast rattlesnake.Midget faded rattlesnake.Milk snake.Moccasin snake.Modest keelback.Mojave desert sidewinder.Mojave rattlesnake.Mole viper.Mollucan python.Moluccan flying snake.Montpellier snake.Motuo bamboo pitviper.Mountain adder.Mozambique spitting cobra.Mud adder.Mud snake.Mussurana.Namaqua dwarf adder.Namib dwarf sand adder.Narrowhead Garter Snake.New Guinea carpet python.Nichell snake.Nicobar Island keelback.Nicobar bamboo pitviper.Night snake.Nightingale adder.Nilgiri keelback.Nitsche's bush viper.Nitsche's tree viper.North Philippine cobra.North eastern king snake.Northeastern hill krait.Northern black-tailed rattlesnake.Northern tree snake.Northern water snake.Northern white-lipped python.Northwestern carpet python.Nose-horned viper.Nubian spitting cobra.Oaxacan small-headed rattlesnake.Oenpelli python.Olive python.Olive sea snake.Orange-collared keelback.Ornate flying snake.Palestine viper.Pallas' viper.Palm viper.Papuan python.Paradise flying snake.Parrot snake.Patchnose snake.Paupan taipan.Pelagic sea snake.Peninsula tiger snake.Peringuey's adder.Perrotet's shieldtail snake.Persian rat snake.Philippine cobra.Philippine pitviper.Pine snake.Pipe snake.Pit viper.Pointed-scaled pit viper.Pope's tree viper.Portuguese viper.Prairie kingsnake.Puerto Rican boa.Puff adder.Pygmy python.Python.Queen snake.Racer.Raddysnake.Rainbow boa.Rat snake.Rattler.Rattlesnake.Red blood python.Red diamond rattlesnake.Red spitting cobra.Red-backed rat snake.Red-bellied black snake.Red-headed krait.Red-necked keelback.Red-tailed bamboo pitviper.Red-tailed boa.Red-tailed pipe snake.Reticulated python.Rhinoceros viper.Rhombic night adder.Ribbon snake.Rinkhals.Rinkhals cobra.River jack.Rosy boa.Rough green snake.Rough-scaled bush viper.Rough-scaled python.Rough-scaled tree viper.Royal python.Rubber boa.Rufous beaked snake.Rungwe tree viper.San Francisco garter snake.Sand adder.Sand boa.Savu python.Saw-scaled viper.Scarlet kingsnake.Schlegel's viper.Schultze's pitviper.Sea snake.Sedge viper.Selayer reticulated python.Sharp-nosed viper.Shield-nosed cobra.Shield-tailed snake.Siamese palm viper.Side-striped palm-pitviper.Sidewinder.Sikkim keelback.Sinai desert cobra.Sind krait.Small-eyed snake.Smooth green snake.Smooth snake.Snorkel viper.Snouted cobra.Sonoran sidewinder.South American hognose snake.South eastern corn snake.Southern Indonesian spitting cobra.Southern Pacific rattlesnake.Southern Philippine cobra.Southern black racer.Southern white-lipped python.Southwestern black spitting cobra.Southwestern blackhead snake.Southwestern carpet python.Southwestern speckled rattlesnake.Speckle-bellied keelback.Speckled kingsnake.Spectacled cobra.Spiny bush viper.Spitting cobra.Spotted python.Sri Lankan pit viper.Stejneger's bamboo pitviper.Stiletto snake.Stimson's python.Stoke's sea snake.Storm water cobra.Striped snake.Sumatran short-tailed python.Sumatran tree viper.Sunbeam snake.Taipan.Taiwan cobra.Tan racer.Tancitaran dusky rattlesnake.Tanimbar python.Tasmanian tiger snake.Tawny cat snake.Temple pit viper.Temple viper.Tentacled snake.Texas Coral Snake.Texas blind snake.Texas garter snake.Texas lyre snake.Texas night snake.Thai cobra.Three-lined ground snake.Tibetan bamboo pitviper.Tic polonga.Tiger pit viper.Tiger rattlesnake.Tiger snake.Tigre snake.Timber rattlesnake.Timor python.Titanboa.Tree boa.Tree snake.Tree viper.Trinket snake.Tropical rattlesnake.Twig snake.Twin Headed King Snake.Twin-Barred tree snake.Twin-spotted rat snake.Twin-spotted rattlesnake.Undulated pit viper.Uracoan rattlesnake.Ursini's viper.Urutu.Vine snake.Viper.Viper Adder.Vipera ammodytes.Wagler's pit viper.Wart snake.Water adder.Water moccasin.Water snake.West Indian racer.Western blind snake.Western carpet python.Western coral snake.Western diamondback rattlesnake.Western green mamba.Western ground snake.Western hog-nosed viper.Western mud snake.Western tiger snake.Western woma python.Wetar Island python.Whip snake.White-lipped keelback.White-lipped python.White-lipped tree viper.Wirot's pit viper.Wolf snake.Woma python.Worm snake.Wutu.Wynaad keelback.Yarara.Yellow anaconda.Yellow-banded sea snake.Yellow-bellied sea snake.Yellow-lined palm viper.Yellow-lipped sea snake.Yellow-striped rat snake.Yunnan keelback.Zebra snake.Zebra spitting cobra`.split(`.`),type:`bat.bear.bee.bird.butterfly.cat.cow.crocodile.deer.dog.dolphin.eagle.elephant.fish.flamingo.fox.frog.gecko.giraffe.gorilla.hamster.hippopotamus.horse.kangaroo.koala.lion.monkey.ostrich.panda.parrot.peacock.penguin.polar bear.rabbit.rhinoceros.sea lion.shark.snake.squirrel.tiger.turtle.whale.wolf.zebra`.split(`.`)},app:{author:[`{{person.name}}`,`{{company.name}}`],name:`Redhold.Treeflex.Trippledex.Kanlam.Bigtax.Daltfresh.Toughjoyfax.Mat Lam Tam.Otcom.Tres-Zap.Y-Solowarm.Tresom.Voltsillam.Biodex.Greenlam.Viva.Matsoft.Temp.Zoolab.Subin.Rank.Job.Stringtough.Tin.It.Home Ing.Zamit.Sonsing.Konklab.Alpha.Latlux.Voyatouch.Alphazap.Holdlamis.Zaam-Dox.Sub-Ex.Quo Lux.Bamity.Ventosanzap.Lotstring.Hatity.Tempsoft.Overhold.Fixflex.Konklux.Zontrax.Tampflex.Span.Namfix.Transcof.Stim.Fix San.Sonair.Stronghold.Fintone.Y-find.Opela.Lotlux.Ronstring.Zathin.Duobam.Keylex`.split(`.`),version:[`0.#.#`,`0.##`,`#.##`,`#.#`,`#.#.#`]},book:{author:`A.A. Milne,Agatha Christie,Alan Moore and Dave Gibbons,Albert Camus,Aldous Huxley,Alexander Pope,Alexandre Dumas,Alice Walker,Andrew Lang,Anne Frank,Anthony Burgess,Anthony Trollope,Antoine de Saint-Exupéry,Anton Chekhov,Anton Pavlovich Chekhov,Arthur Conan Doyle,Arthur Schopenhauer,Aylmer Maude,Ayn Rand,Beatrix Potter,Benjamin Disraeli,Benjamin Jowett,Bernard Shaw,Bertrand Russell,Bhagavanlal Indrajit,Boris Pasternak,Bram Stoker,Brian Evenson,C.E. Brock,C.S. Lewis,Carson McCallers,Charles Dickens,Charles E. Derbyshire,Charlotte Brontë,Charlotte Perkins Gilman,Chinua Achebe,Clifford R. Adams,Constance Garnett,Cormac McCarthy,D.H. Lawrence,Dan Brown,Daniel Defoe,Dante Alighieri,Dashiell Hammett,David Widger,David Wyllie,Dean Koontz,Don DeLillo,E.M. Forster,Edgar Allan Poe,Edgar Rice Burroughs,Elizabeth Cleghorn Gaskell,Elizabeth Von Arnim,Emily Brontë,Erich Remarque,Ernest Hemingway,Evelyn Waugh,F. Scott Fitzgerald,Ford Madox Ford,Frances Hodgson Burnett,Frank Herbert,Frank T. Merrill,Franz Kafka,Friedrich Wilhelm Nietzsche,Fyodor Dostoyevsky,G.K. Chesterton,Gabriel Garcia Marquez,Geoffrey Chaucer,George Eliot,George Grossmith,George Orwell,George R. R. Martin,George Saunders,Grady Ward,Graham Greene,Gustave Doré,Gustave Flaubert,Guy de Maupassant,Günter Grass,H.G. Wells,H.P. Lovecraft,Harper Lee,Harriet Beecher Stowe,Haruki Murakami,Henrik Ibsen,Henry David Thoreau,Henry Fielding,Henry James,Henry Miller,Henry Morley,Herman Melville,Hermann Broch,Homer,Honoré de Balzac,Ian McEwan,Isabel Florence Hapgood,Italo Calvino,J.D. Salinger,J.K. Rowling,J.M. Barrie,J.R.R. Tolkien,Jack Kerouac,Jack London,Jacob Grimm,Jacqueline Crooks,James Baldwin,James Dickey,James Ellroy,James Joyce,James Patterson,Jane Austen,Johann Wolfgang von Goethe,John Bunyan,John Camden Hotten,John Dos Passos,John Green,John Grisham,John Kennedy Toole,John Milton,John Ormsby,John Steinbeck,John Updike,Jonathan Franzen,Jonathan Swift,Joseph Conrad,Joseph Heller,José Rizal,Judy Blume,Jules Verne,Junot Diaz,Karl Marx,Kazuo Ishiguro,Ken Follett,Ken Kesey,Kenneth Grahame,Khaled Hosseini,Kingsley Amis,Kurt Vonnegut,L. Frank Baum,L.M. Montgomery,Laurence Sterne,Leo Tolstoy,Lewis Carroll,Louisa May Alcott,Louise Maude,Malcolm Lowry,Marcel Proust,Margaret Atwood,Margaret Mitchell,Marilynne Robinson,Mark Twain,Martin Amis,Mary Shelley,Michael Chabon,Miguel de Cervantes,Mikhail Bulgakov,Muriel Spark,Nancy Mitford,Nathanael West,Nathaniel Hawthorne,Neil Gaiman,Niccolo Machiavelli,Norman Mailer,Oscar Levy,Oscar Wilde,P.G. Wodehouse,Paulo Coelho,Peter Carey,Philip Pullman,Philip Roth,Plato,R.L. Stine,Rachel Kushner,Ralph Ellison,Ray Bradbury,Raymond Chandler,Richard Wagner,Richard Wright,Richard Yates,Roald Dahl,Robert Graves,Robert Louis Stevenson,Robert Penn Warren,Rudyard Kipling,Salman Rushdie,Samuel Beckett,Samuel Butler,Samuel Richardson,Saul Bellow,Shivaram Parashuram Bhide,Sir Arthur Conan Doyle,Sir Richard Francis Burton,Stendhal,Stephen Hawking,Stephen King,Sun Tzu,Suzanne Collins,T. Smollett,T.S. Eliot,Theodore Alois Buckley,Theodore Dreiser,Thomas Hardy,Thomas Love Peacock,Thomas Mann,Toni Morrison,Truman Capote,V.S. Naipaul,Vance Packard,Vatsyayana,Victor Hugo,Virgil,Virginia Woolf,Vladimir Nabokov,Voltaire,W.G. Sebald,W.K. Marriott,Walker Percy,Walt Whitman,Walter Scott,Wilhelm Grimm,Wilkie Collins,William Faulkner,William Gibson,William Golding,William Makepeace Thackeray,William Shakespeare,Zadie Smith`.split(`,`),format:[`Audiobook`,`Ebook`,`Hardcover`,`Paperback`],genre:[`Adventure`,`Biography`,`Business`,`Children's Literature`,`Classic`,`Comedy`,`Comic`,`Detective`,`Drama`,`Fantasy`,`Graphic Novel`,`Historical Fiction`,`Horror`,`Memoir`,`Mystery`,`Mythology`,`Philosophy`,`Poetry`,`Psychology`,`Religion`,`Romance`,`Science Fiction`,`Thriller`,`Western`,`Young Adult`],publisher:`Academic Press(Ace Books(Addison-Wesley(Adis International(Airiti Press(Allen Ltd(Andrews McMeel Publishing(Anova Books(Anvil Press Poetry(Applewood Books(Apress(Athabasca University Press(Atheneum Books(Atheneum Publishers(Atlantic Books(Atlas Press(BBC Books(Ballantine Books(Banner of Truth Trust(Bantam Books(Bantam Spectra(Barrie & Jenkins(Basic Books(Belknap Press(Bella Books(Bellevue Literary Press(Berg Publishers(Berkley Books(Bison Books(Black Dog Publishing(Black Library(Black Sparrow Books(Blackie and Son Limited(Blackstaff Press(Blackwell Publishing(Bloodaxe Books(Bloomsbury Publishing Plc(Blue Ribbon Books(Book League of America(Book Works(Booktrope(Borgo Press(Bowes & Bowes(Boydell & Brewer(Breslov Research Institute(Brill(Brimstone Press(Broadview Press(Burns & Oates(Butterworth-Heinemann(Caister Academic Press(Cambridge University Press(Candlewick Press(Canongate Books(Carcanet Press(Carlton Books(Carlton Publishing Group(Carnegie Mellon University Press(Casemate Publishers(Cengage Learning(Central European University Press(Chambers Harrap(Charles Scribner's Sons(Chatto and Windus(Chick Publications(Chronicle Books(Churchill Livingstone(Cisco Press(City Lights Publishers(Cloverdale Corporation(D. Appleton & Company(D. Reidel(DAW Books(Da Capo Press(Daedalus Publishing(Dalkey Archive Press(Darakwon Press(David & Charles(Dedalus Books(Del Rey Books(E. P. Dutton(ECW Press(Earthscan(Edupedia Publications(Eel Pie Publishing(Eerdmans Publishing(Ellora's Cave(Elsevier(Emerald Group Publishing(Etruscan Press(FabJob(Faber and Faber(Fairview Press(Farrar, Straus & Giroux(Fearless Books(Felony & Mayhem Press(Firebrand Books(Flame Tree Publishing(Focal Press(G-Unit Books(G. P. Putnam's Sons(Gaspereau Press(Gay Men's Press(Gefen Publishing House(George H. Doran Company(George Newnes(George Routledge & Sons(Godwit Press(Golden Cockerel Press(HMSO(Hachette Book Group USA(Hackett Publishing Company(Hamish Hamilton(Happy House(Harcourt Assessment(Harcourt Trade Publishers(Harlequin Enterprises Ltd(Harper & Brothers(Harper & Row(HarperCollins(HarperPrism(HarperTrophy(Harry N. Abrams, Inc.(Harvard University Press(Harvest House(Harvill Press at Random House(Hawthorne Books(Hay House(Haynes Manuals(Heyday Books(Hodder & Stoughton(Hodder Headline(Hogarth Press(Holland Park Press(Holt McDougal(Horizon Scientific Press(Ian Allan Publishing(Ignatius Press(Imperial War Museum(Indiana University Press(J. M. Dent(Jaico Publishing House(Jarrolds Publishing(John Blake Publishing(Karadi Tales(Kensington Books(Kessinger Publishing(Kodansha(Kogan Page(Koren Publishers Jerusalem(Ladybird Books(Leaf Books(Leafwood Publishers(Left Book Club(Legend Books(Lethe Press(Libertas Academica(Liberty Fund(Library of America(Lion Hudson(Macmillan Publishers(Mainstream Publishing(Manchester University Press(Mandrake Press(Mandrake of Oxford(Manning Publications(Manor House Publishing(Mapin Publishing(Marion Boyars Publishers(Mark Batty Publisher(Marshall Cavendish(Marshall Pickering(Martinus Nijhoff Publishers(Mascot Books(Matthias Media(McClelland and Stewart(McFarland & Company(McGraw Hill Financial(McGraw-Hill Education(Medknow Publications(Naiad Press(Nauka(NavPress(New Directions Publishing(New English Library(New Holland Publishers(New Village Press(Newnes(No Starch Press(Nonesuch Press(O'Reilly Media(Oberon Books(Open Court Publishing Company(Open University Press(Orchard Books(Orion Books(Packt Publishing(Palgrave Macmillan(Pan Books(Pantheon Books at Random House(Papadakis Publisher(Parachute Publishing(Parragon(Pathfinder Press(Paulist Press(Pavilion Books(Peace Hill Press(Pecan Grove Press(Pen and Sword Books(Penguin Books(Random House(Reed Elsevier(Reed Publishing(SAGE Publications(Salt Publishing(Sams Publishing(Schocken Books(Scholastic Press(Seagull Books(Secker & Warburg(Shambhala Publications(Shire Books(Shoemaker & Hoard Publishers(Shuter & Shooter Publishers(Sidgwick & Jackson(Signet Books(Simon & Schuster(St. Martin's Press(T & T Clark(Tachyon Publications(Tammi(Target Books(Tarpaulin Sky Press(Tartarus Press(Tate Publishing & Enterprises(Taunton Press(Taylor & Francis(Ten Speed Press(UCL Press(Unfinished Monument Press(United States Government Publishing Office(University of Akron Press(University of Alaska Press(University of California Press(University of Chicago Press(University of Michigan Press(University of Minnesota Press(University of Nebraska Press(Velazquez Press(Verso Books(Victor Gollancz Ltd(Viking Press(Vintage Books(Vintage Books at Random House(Virago Press(Virgin Publishing(Voyager Books(Zed Books(Ziff Davis Media(Zondervan`.split(`(`),series:`A Song of Ice and Fire.Anna Karenina.Colonel Race.Discworld.Dune.Harry Potter.Hercule Poirot.His Dark Materials.Jane Austen Murder Mysteries.Little Women.Outlander.Percy Jackson.Sherlock Holmes.The Arc of a Scythe.The Bartimaeus Trilogy.The Border Trilogy.The Chronicles of Narnia.The Dark Tower.The Dresden Files.The Eighth Life.The Foundation Series.The Hitchhiker's Guide to the Galaxy.The Hunger Games.The Infinity Cycle.The Inheritance Cycle.The Lord of the Rings.The Maze Runner.The Prison Healer.The Red Rising Saga.The Southern Reach.The Wheel of Time.Thursday Next Series.Twilight.War and Peace`.split(`.`),title:`1984(20,000 Leagues Under the Sea(A Bend in the River(A Brief History of Time(A Clockwork Orange(A Confederacy of Dunces(A Doll's House(A Handful of Dust(A Modest Proposal(A Passage to India(A Portrait of the Artist as a Young Man(A Room with a View(A Study in Scarlet(A Tale of Two Cities(A Wrinkle in Time(Absalom, Absalom!(Adventures of Huckleberry Finn(Alice's Adventures in Wonderland(All Quiet on the Western Front(All the King's Men(American Pastoral(An American Tragedy(And Then There Were None(Animal Farm(Anna Karenina(Anne of Green Gables(Are You There God? It's Me, Margaret(As I Lay Dying(Atlas Shrugged(Atonement(Austerlitz(Beloved(Beyond Good and Evil(Bible(Bleak House(Blood Meridian(Brave New World(Brideshead Revisited(Candide(Carmilla(Catch-22(Charlie and the Chocolate Factory(Charlotte's Web(Clarissa(Cranford(Crime and Punishment(Dao De Jing: A Minimalist Translation(David Copperfield(Deliverance(Don Quixote(Dora(Dr. Zhivago(Dracula(Dubliners(Dune(East of Eden(Emma(Fahrenheit 451(Faust(For Whom the Bell Tolls(Frankenstein(Freakonomics(Go Tell It on the Mountain(Gone with the Wind(Great Expectations(Grimms' Fairy Tales(Gulliver's Travels(Hamlet(Harry Potter and the Sorcerer's Stone(Heart of Darkness(Herzog(His Dark Materials(Hitting the line(Housekeeping(I, Claudius(If on a Winter's Night a Traveler(In Cold Blood(In Search of Lost Time(Invisible Man(It(Jane Eyre(Josefine Mutzenbacher(Jude the Obscure(L.A. Confidential(Leaves of Grass(Les Miserables(Life of Pi(Little Women(Lolita(Long Walk to Freedom(Lord Jim(Lord of the Flies(Lucky Jim(Madame Bovary(Malone Dies(Meditations(Men Without Women(Metamorphosis(Middlemarch(Midnight's Children(Moby Dick(Money(Mrs. Dalloway(My Bondage and My Freedom(My Life(Native Son(Neuromancer(Never Let Me Go(Nightmare Abbey(Nineteen Eighty Four(Nostromo(Notes from the Underground(Of Mice and Men(Oliver Twist(On the Duty of Civil Disobedience(On the Road(One Flew Over the Cuckoo's Nest(One Hundred Years of Solitude(One Thousand and One Nights(Oscar and Lucinda(Pale Fire(Paradise Lost(Peter Pan(Portnoy's Complaint(Pride and Prejudice(Rabbit, Run(Republic(Revolutionary Road(Robinson Crusoe(Romeo and Juliet(Ruth Fielding in Alaska(Scoop(Second Treatise of Government(Slaughterhouse Five(Stories of Anton Chekhov(Sybil(Tess of the d'Urbervilles(The Adventures of Augie March(The Adventures of Huckleberry Finn(The Adventures of Sherlock Holmes(The Adventures of Tom Sawyer(The Aeneid(The Alchemist(The Ambassadors(The Art of War(The Big Sleep(The Black Sheep(The Blue Castle(The Brief Wondrous Life of Oscar Wao(The Brothers Karamazov(The Call of the Wild(The Canterbury Tales(The Catcher in the Rye(The Color Purple(The Complete Works of Edgar Allen Poe(The Corrections(The Count of Monte Cristo(The Day of the Locust(The Diary of a Nobody(The Diary of a Young Girl(The Divine Comedy(The Enchanted April(The Fountainhead(The Golden Bowl(The Golden Notebook(The Good Soldier(The Grapes of Wrath(The Great Gatsby(The Handmaid's Tale(The Heart is a Lonely Hunter(The Heart of the Matter(The Hobbit(The Hound of the Baskervilles(The Idiot(The Iliad(The King in Yellow(The Kite Runner(The Lion, the Witch, and the Wardrobe(The Little Prince(The Lord of the Rings(The Magic Mountain(The Maltese Falcon(The Master and Margarita(The Moviegoer(The Naked and the Dead(The Odyssey(The Old Man and the Sea(The Pickwick Papers(The Picture of Dorian Gray(The Pilgrim's Progress(The Pillars of the Earth(The Plague(The Portrait of a Lady(The Prime of Miss Jean Brodie(The Prince(The Problems of Philosophy(The Prophet(The Pursuit of Love(The Rainbow(The Red and the Black(The Remains of the Day(The Republic(The Scarlet Letter(The Sleepwalkers(The Sound and the Fury(The Stand(The Strange Case of Dr. Jekyll and Mr. Hyde(The Stranger(The Sun Also Rises(The Thirty-Nine Steps(The Three Musketeers(The Time Machine(The Tin Drum(The Trial(The War of the Worlds(The Waste Land(The Way We Live Now(The Wind in the Willows(The Woman in White(The Wonderful Wizard of Oz(The Works of Edgar Allan Poe(The Yellow Wallpaper(Things Fall Apart(Tinker, Tailor, Soldier, Spy(To Kill a Mockingbird(To the Lighthouse(Tom Jones(Treasure Island(Tristram Shandy(Tropic of Cancer(U.S.A. Trilogy(Ulysses(Uncle Tom's Cabin(Under the Volcano(Underworld(Vanity Fair(Walden(War and Peace(Watchmen(Winnie-the-Pooh(Wuthering Heights`.split(`(`)},cell_phone:{formats:[`###-###-####`,`(###) ###-####`,`1-###-###-####`,`###.###.####`]},color:{human:`azure.black.blue.cyan.fuchsia.gold.green.grey.indigo.ivory.lavender.lime.magenta.maroon.mint green.olive.orange.orchid.pink.plum.purple.red.salmon.silver.sky blue.tan.teal.turquoise.violet.white.yellow`.split(`.`)},commerce:{department:[`Automotive`,`Baby`,`Beauty`,`Books`,`Clothing`,`Computers`,`Electronics`,`Games`,`Garden`,`Grocery`,`Health`,`Home`,`Industrial`,`Jewelry`,`Kids`,`Movies`,`Music`,`Outdoors`,`Shoes`,`Sports`,`Tools`,`Toys`],product_description:[`Discover the {{animal.type}}-like agility of our {{commerce.product}}, perfect for {{word.adjective}} users`,`Discover the {{word.adjective}} new {{commerce.product}} with an exciting mix of {{commerce.productMaterial}} ingredients`,`Ergonomic {{commerce.product}} made with {{commerce.productMaterial}} for all-day {{word.adjective}} support`,`Experience the {{color.human}} brilliance of our {{commerce.product}}, perfect for {{word.adjective}} environments`,`Featuring {{science.chemical_element.name}}-enhanced technology, our {{commerce.product}} offers unparalleled {{word.adjective}} performance`,`Innovative {{commerce.product}} featuring {{word.adjective}} technology and {{commerce.productMaterial}} construction`,`Introducing the {{location.country}}-inspired {{commerce.product}}, blending {{word.adjective}} style with local craftsmanship`,`New {{color.human}} {{commerce.product}} with ergonomic design for {{word.adjective}} comfort`,`New {{commerce.product}} model with {{number.int({\"min\": 1, \"max\": 100})}} GB RAM, {{number.int({\"min\": 1, \"max\": 1000})}} GB storage, and {{word.adjective}} features`,`Our {{animal.type}}-friendly {{commerce.product}} ensures {{word.adjective}} comfort for your pets`,`Our {{food.adjective}}-inspired {{commerce.product}} brings a taste of luxury to your {{word.adjective}} lifestyle`,`Professional-grade {{commerce.product}} perfect for {{word.adjective}} training and recreational use`,`Savor the {{food.adjective}} essence in our {{commerce.product}}, designed for {{word.adjective}} culinary adventures`,`Stylish {{commerce.product}} designed to make you stand out with {{word.adjective}} looks`,`The sleek and {{word.adjective}} {{commerce.product}} comes with {{color.human}} LED lighting for smart functionality`,`The {{color.human}} {{commerce.product}} combines {{location.country}} aesthetics with {{science.chemical_element.name}}-based durability`,`The {{company.catchPhrase}} {{commerce.product}} offers reliable performance and {{word.adjective}} design`,`The {{person.firstName}} {{commerce.product}} is the latest in a series of {{word.adjective}} products from {{company.name}}`,`{{commerce.productAdjective}} {{commerce.product}} designed with {{commerce.productMaterial}} for {{word.adjective}} performance`,`{{company.name}}'s most advanced {{commerce.product}} technology increases {{word.adjective}} capabilities`],product_name:{adjective:`Awesome.Bespoke.Electronic.Elegant.Ergonomic.Fantastic.Fresh.Frozen.Generic.Gorgeous.Handcrafted.Handmade.Incredible.Intelligent.Licensed.Luxurious.Modern.Oriental.Practical.Recycled.Refined.Rustic.Sleek.Small.Soft.Tasty.Unbranded`.split(`.`),material:[`Aluminum`,`Bamboo`,`Bronze`,`Ceramic`,`Concrete`,`Cotton`,`Gold`,`Granite`,`Marble`,`Metal`,`Plastic`,`Rubber`,`Silk`,`Steel`,`Wooden`],product:[`Bacon`,`Ball`,`Bike`,`Car`,`Chair`,`Cheese`,`Chicken`,`Chips`,`Computer`,`Fish`,`Gloves`,`Hat`,`Keyboard`,`Mouse`,`Pants`,`Pizza`,`Salad`,`Sausages`,`Shirt`,`Shoes`,`Soap`,`Table`,`Towels`,`Tuna`],pattern:[`{{commerce.productAdjective}} {{commerce.productMaterial}} {{commerce.product}}`]}},company:{adjective:`AI-driven.Adaptive.Advanced.Automated.Balanced.Business-focused.Centralized.Compatible.Configurable.Cross-platform.Customer-focused.Customizable.Decentralized.Devolved.Digitized.Distributed.Diverse.Enhanced.Ergonomic.Exclusive.Expanded.Extended.Face to face.Focused.Front-line.Fully-configurable.Fundamental.Future-proofed.Grass-roots.Horizontal.Immersive.Implemented.Innovative.Integrated.Intuitive.Managed.Monitored.Multi-tiered.Networked.Open-architected.Open-source.Operative.Optimized.Optional.Organic.Organized.Persevering.Persistent.Phased.Polarised.Proactive.Profit-focused.Profound.Programmable.Progressive.Public-key.Quality-focused.Reactive.Realigned.Reduced.Reverse-engineered.Robust.Seamless.Secured.Self-enabling.Sharable.Smart.Stand-alone.Streamlined.Sustainable.Synchronised.Team-oriented.Total.Triple-buffered.Universal.Upgradable.User-centric.User-friendly.Versatile.Virtual.Visionary`.split(`.`),buzz_adjective:`24/7.AI-driven.B2B.B2C.back-end.best-of-breed.bleeding-edge.collaborative.compelling.cross-media.cross-platform.customized.cutting-edge.decentralized.distributed.dynamic.efficient.end-to-end.enterprise.extensible.frictionless.front-end.generative.global.granular.holistic.immersive.impactful.innovative.integrated.interactive.intuitive.killer.leading-edge.magnetic.mission-critical.next-generation.one-to-one.open-source.out-of-the-box.plug-and-play.proactive.quantum.real-time.revolutionary.rich.robust.scalable.seamless.smart.sticky.strategic.sustainable.synergistic.transparent.turn-key.ubiquitous.user-centric.value-added.vertical.viral.virtual.visionary.world-class`.split(`.`),buzz_noun:`AI.ROI.applications.architectures.blockchains.channels.communities.content.convergence.deliverables.e-commerce.experiences.functionalities.infrastructures.initiatives.interfaces.large language models.lifetime value.markets.methodologies.metrics.mindshare.models.networks.niches.paradigms.partnerships.platforms.relationships.schemas.smart contracts.solutions.supply-chains.synergies.systems.technologies.users.web services`.split(`.`),buzz_verb:`aggregate.architect.benchmark.brand.collaborate.cultivate.deliver.deploy.disintermediate.drive.embrace.empower.enable.engage.engineer.enhance.evolve.expedite.exploit.extend.facilitate.gamify.generate.grow.harness.implement.incentivize.incubate.innovate.integrate.iterate.leverage.maximize.mesh.monetize.optimize.orchestrate.productize.redefine.reinvent.repurpose.revolutionize.scale.seize.simplify.strategize.streamline.syndicate.synthesize.target.transform.transition.unleash.utilize.visualize.whiteboard`.split(`.`),descriptor:`24 hour.24/7.AI-powered.actuating.analyzing.asymmetric.asynchronous.attitude-oriented.bifurcated.bottom-line.clear-thinking.client-driven.client-server.cloud-native.coherent.cohesive.composite.content-based.context-sensitive.contextually-based.data-driven.dedicated.demand-driven.directional.discrete.disintermediate.dynamic.eco-centric.empowering.encompassing.executive.explicit.exuding.fault-tolerant.fresh-thinking.full-range.global.heuristic.high-level.holistic.homogeneous.human-resource.hybrid.immersive.impactful.incremental.intangible.interactive.intermediate.leading edge.local.logistical.maximized.methodical.mission-critical.mobile.modular.motivating.national.needs-based.neutral.next generation.optimal.optimizing.radical.real-time.reciprocal.regional.resilient.responsive.scalable.secondary.stable.static.sustainable.system-worthy.systematic.systemic.tangible.tertiary.transitional.uniform.user-facing.value-added.well-modulated.zero administration.zero defect.zero tolerance.zero trust`.split(`.`),legal_entity_type:[`Group`,`Inc`,`LLC`,`and Sons`],name_pattern:[`{{person.lastName}} - {{person.lastName}}`,`{{person.lastName}} {{company.legal_entity_type}}`,`{{person.lastName}}, {{person.lastName}} and {{person.lastName}}`],noun:`ability.access.adapter.algorithm.alliance.analyzer.application.approach.architecture.archive.array.artificial intelligence.attitude.benchmark.budgetary management.capability.capacity.challenge.circuit.collaboration.complexity.concept.conglomeration.contingency.core.customer loyalty.data-warehouse.database.definition.emulation.encoding.encryption.firmware.flexibility.focus group.forecast.frame.framework.function.functionalities.generative AI.hardware.help-desk.hierarchy.hub.implementation.infrastructure.initiative.installation.instruction set.interface.internet solution.intranet.knowledge base.knowledge user.leverage.local area network.matrices.matrix.methodology.microservice.middleware.migration.model.moderator.monitoring.moratorium.neural-net.open architecture.orchestration.paradigm.parallelism.policy.portal.pricing structure.process improvement.product.productivity.project.projection.protocol.service-desk.software.solution.standardization.strategy.structure.success.support.synergy.system engine.task-force.throughput.time-frame.toolset.utilisation.website.workforce`.split(`.`)},database:{column:[`avatar`,`category`,`comment`,`createdAt`,`email`,`group`,`id`,`name`,`password`,`phone`,`status`,`title`,`token`,`updatedAt`]},date:{month:{wide:[`April`,`August`,`December`,`February`,`January`,`July`,`June`,`March`,`May`,`November`,`October`,`September`],abbr:[`Apr`,`Aug`,`Dec`,`Feb`,`Jan`,`Jul`,`Jun`,`Mar`,`May`,`Nov`,`Oct`,`Sep`]},weekday:{wide:[`Friday`,`Monday`,`Saturday`,`Sunday`,`Thursday`,`Tuesday`,`Wednesday`],abbr:[`Fri`,`Mon`,`Sat`,`Sun`,`Thu`,`Tue`,`Wed`]}},finance:{account_type:[`Auto Loan`,`Checking`,`Credit Card`,`Home Loan`,`Investment`,`Money Market`,`Personal Loan`,`Savings`],credit_card:{american_express:[`34##-######-####L`,`37##-######-####L`],diners_club:[`30[0-5]#-######-###L`,`36##-######-###L`],discover:[`6011-####-####-###L`,`65##-####-####-###L`],jcb:[`3528-####-####-###L`,`3529-####-####-###L`,`35[3-8]#-####-####-###L`],mastercard:[`2[221-720]-####-####-###L`,`5[1-5]##-####-####-###L`],visa:[`4###########L`,`4###-####-####-###L`]},currency:[{name:`UAE Dirham`,code:`AED`,symbol:``,numericCode:`784`},{name:`Afghani`,code:`AFN`,symbol:`؋`,numericCode:`971`},{name:`Lek`,code:`ALL`,symbol:`Lek`,numericCode:`008`},{name:`Armenian Dram`,code:`AMD`,symbol:``,numericCode:`051`},{name:`Netherlands Antillian Guilder`,code:`ANG`,symbol:`ƒ`,numericCode:`532`},{name:`Kwanza`,code:`AOA`,symbol:``,numericCode:`973`},{name:`Argentine Peso`,code:`ARS`,symbol:`$`,numericCode:`032`},{name:`Australian Dollar`,code:`AUD`,symbol:`$`,numericCode:`036`},{name:`Aruban Guilder`,code:`AWG`,symbol:`ƒ`,numericCode:`533`},{name:`Azerbaijanian Manat`,code:`AZN`,symbol:`ман`,numericCode:`944`},{name:`Convertible Marks`,code:`BAM`,symbol:`KM`,numericCode:`977`},{name:`Barbados Dollar`,code:`BBD`,symbol:`$`,numericCode:`052`},{name:`Taka`,code:`BDT`,symbol:``,numericCode:`050`},{name:`Bulgarian Lev`,code:`BGN`,symbol:`лв`,numericCode:`975`},{name:`Bahraini Dinar`,code:`BHD`,symbol:``,numericCode:`048`},{name:`Burundi Franc`,code:`BIF`,symbol:``,numericCode:`108`},{name:`Bermudian Dollar (customarily known as Bermuda Dollar)`,code:`BMD`,symbol:`$`,numericCode:`060`},{name:`Brunei Dollar`,code:`BND`,symbol:`$`,numericCode:`096`},{name:`Boliviano boliviano`,code:`BOB`,symbol:`Bs`,numericCode:`068`},{name:`Brazilian Real`,code:`BRL`,symbol:`R$`,numericCode:`986`},{name:`Bahamian Dollar`,code:`BSD`,symbol:`$`,numericCode:`044`},{name:`Pula`,code:`BWP`,symbol:`P`,numericCode:`072`},{name:`Belarusian Ruble`,code:`BYN`,symbol:`Rbl`,numericCode:`933`},{name:`Belize Dollar`,code:`BZD`,symbol:`BZ$`,numericCode:`084`},{name:`Canadian Dollar`,code:`CAD`,symbol:`$`,numericCode:`124`},{name:`Congolese Franc`,code:`CDF`,symbol:``,numericCode:`976`},{name:`Swiss Franc`,code:`CHF`,symbol:`CHF`,numericCode:`756`},{name:`Chilean Peso`,code:`CLP`,symbol:`$`,numericCode:`152`},{name:`Yuan Renminbi`,code:`CNY`,symbol:`¥`,numericCode:`156`},{name:`Colombian Peso`,code:`COP`,symbol:`$`,numericCode:`170`},{name:`Costa Rican Colon`,code:`CRC`,symbol:`₡`,numericCode:`188`},{name:`Cuban Peso`,code:`CUP`,symbol:`₱`,numericCode:`192`},{name:`Cape Verde Escudo`,code:`CVE`,symbol:``,numericCode:`132`},{name:`Czech Koruna`,code:`CZK`,symbol:`Kč`,numericCode:`203`},{name:`Djibouti Franc`,code:`DJF`,symbol:``,numericCode:`262`},{name:`Danish Krone`,code:`DKK`,symbol:`kr`,numericCode:`208`},{name:`Dominican Peso`,code:`DOP`,symbol:`RD$`,numericCode:`214`},{name:`Algerian Dinar`,code:`DZD`,symbol:``,numericCode:`012`},{name:`Egyptian Pound`,code:`EGP`,symbol:`£`,numericCode:`818`},{name:`Nakfa`,code:`ERN`,symbol:``,numericCode:`232`},{name:`Ethiopian Birr`,code:`ETB`,symbol:``,numericCode:`230`},{name:`Euro`,code:`EUR`,symbol:`€`,numericCode:`978`},{name:`Fiji Dollar`,code:`FJD`,symbol:`$`,numericCode:`242`},{name:`Falkland Islands Pound`,code:`FKP`,symbol:`£`,numericCode:`238`},{name:`Pound Sterling`,code:`GBP`,symbol:`£`,numericCode:`826`},{name:`Lari`,code:`GEL`,symbol:``,numericCode:`981`},{name:`Cedi`,code:`GHS`,symbol:``,numericCode:`936`},{name:`Gibraltar Pound`,code:`GIP`,symbol:`£`,numericCode:`292`},{name:`Dalasi`,code:`GMD`,symbol:``,numericCode:`270`},{name:`Guinea Franc`,code:`GNF`,symbol:``,numericCode:`324`},{name:`Quetzal`,code:`GTQ`,symbol:`Q`,numericCode:`320`},{name:`Guyana Dollar`,code:`GYD`,symbol:`$`,numericCode:`328`},{name:`Hong Kong Dollar`,code:`HKD`,symbol:`$`,numericCode:`344`},{name:`Lempira`,code:`HNL`,symbol:`L`,numericCode:`340`},{name:`Gourde`,code:`HTG`,symbol:``,numericCode:`332`},{name:`Forint`,code:`HUF`,symbol:`Ft`,numericCode:`348`},{name:`Rupiah`,code:`IDR`,symbol:`Rp`,numericCode:`360`},{name:`New Israeli Sheqel`,code:`ILS`,symbol:`₪`,numericCode:`376`},{name:`Bhutanese Ngultrum`,code:`BTN`,symbol:`Nu`,numericCode:`064`},{name:`Indian Rupee`,code:`INR`,symbol:`₹`,numericCode:`356`},{name:`Iraqi Dinar`,code:`IQD`,symbol:``,numericCode:`368`},{name:`Iranian Rial`,code:`IRR`,symbol:`﷼`,numericCode:`364`},{name:`Iceland Krona`,code:`ISK`,symbol:`kr`,numericCode:`352`},{name:`Jamaican Dollar`,code:`JMD`,symbol:`J$`,numericCode:`388`},{name:`Jordanian Dinar`,code:`JOD`,symbol:``,numericCode:`400`},{name:`Yen`,code:`JPY`,symbol:`¥`,numericCode:`392`},{name:`Kenyan Shilling`,code:`KES`,symbol:``,numericCode:`404`},{name:`Som`,code:`KGS`,symbol:`лв`,numericCode:`417`},{name:`Riel`,code:`KHR`,symbol:`៛`,numericCode:`116`},{name:`Comoro Franc`,code:`KMF`,symbol:``,numericCode:`174`},{name:`North Korean Won`,code:`KPW`,symbol:`₩`,numericCode:`408`},{name:`Won`,code:`KRW`,symbol:`₩`,numericCode:`410`},{name:`Kuwaiti Dinar`,code:`KWD`,symbol:``,numericCode:`414`},{name:`Cayman Islands Dollar`,code:`KYD`,symbol:`$`,numericCode:`136`},{name:`Tenge`,code:`KZT`,symbol:`лв`,numericCode:`398`},{name:`Kip`,code:`LAK`,symbol:`₭`,numericCode:`418`},{name:`Lebanese Pound`,code:`LBP`,symbol:`£`,numericCode:`422`},{name:`Sri Lanka Rupee`,code:`LKR`,symbol:`₨`,numericCode:`144`},{name:`Liberian Dollar`,code:`LRD`,symbol:`$`,numericCode:`430`},{name:`Libyan Dinar`,code:`LYD`,symbol:``,numericCode:`434`},{name:`Moroccan Dirham`,code:`MAD`,symbol:``,numericCode:`504`},{name:`Moldovan Leu`,code:`MDL`,symbol:``,numericCode:`498`},{name:`Malagasy Ariary`,code:`MGA`,symbol:``,numericCode:`969`},{name:`Denar`,code:`MKD`,symbol:`ден`,numericCode:`807`},{name:`Kyat`,code:`MMK`,symbol:``,numericCode:`104`},{name:`Tugrik`,code:`MNT`,symbol:`₮`,numericCode:`496`},{name:`Pataca`,code:`MOP`,symbol:``,numericCode:`446`},{name:`Ouguiya`,code:`MRU`,symbol:``,numericCode:`929`},{name:`Mauritius Rupee`,code:`MUR`,symbol:`₨`,numericCode:`480`},{name:`Rufiyaa`,code:`MVR`,symbol:``,numericCode:`462`},{name:`Kwacha`,code:`MWK`,symbol:``,numericCode:`454`},{name:`Mexican Peso`,code:`MXN`,symbol:`$`,numericCode:`484`},{name:`Malaysian Ringgit`,code:`MYR`,symbol:`RM`,numericCode:`458`},{name:`Metical`,code:`MZN`,symbol:`MT`,numericCode:`943`},{name:`Naira`,code:`NGN`,symbol:`₦`,numericCode:`566`},{name:`Cordoba Oro`,code:`NIO`,symbol:`C$`,numericCode:`558`},{name:`Norwegian Krone`,code:`NOK`,symbol:`kr`,numericCode:`578`},{name:`Nepalese Rupee`,code:`NPR`,symbol:`₨`,numericCode:`524`},{name:`New Zealand Dollar`,code:`NZD`,symbol:`$`,numericCode:`554`},{name:`Rial Omani`,code:`OMR`,symbol:`﷼`,numericCode:`512`},{name:`Balboa`,code:`PAB`,symbol:`B/.`,numericCode:`590`},{name:`Nuevo Sol`,code:`PEN`,symbol:`S/.`,numericCode:`604`},{name:`Kina`,code:`PGK`,symbol:``,numericCode:`598`},{name:`Philippine Peso`,code:`PHP`,symbol:`Php`,numericCode:`608`},{name:`Pakistan Rupee`,code:`PKR`,symbol:`₨`,numericCode:`586`},{name:`Zloty`,code:`PLN`,symbol:`zł`,numericCode:`985`},{name:`Guarani`,code:`PYG`,symbol:`Gs`,numericCode:`600`},{name:`Qatari Rial`,code:`QAR`,symbol:`﷼`,numericCode:`634`},{name:`New Leu`,code:`RON`,symbol:`lei`,numericCode:`946`},{name:`Serbian Dinar`,code:`RSD`,symbol:`Дин.`,numericCode:`941`},{name:`Russian Ruble`,code:`RUB`,symbol:`руб`,numericCode:`643`},{name:`Rwanda Franc`,code:`RWF`,symbol:``,numericCode:`646`},{name:`Saudi Riyal`,code:`SAR`,symbol:`﷼`,numericCode:`682`},{name:`Solomon Islands Dollar`,code:`SBD`,symbol:`$`,numericCode:`090`},{name:`Seychelles Rupee`,code:`SCR`,symbol:`₨`,numericCode:`690`},{name:`Sudanese Pound`,code:`SDG`,symbol:``,numericCode:`938`},{name:`Swedish Krona`,code:`SEK`,symbol:`kr`,numericCode:`752`},{name:`Singapore Dollar`,code:`SGD`,symbol:`$`,numericCode:`702`},{name:`Saint Helena Pound`,code:`SHP`,symbol:`£`,numericCode:`654`},{name:`Leone`,code:`SLE`,symbol:``,numericCode:`925`},{name:`Somali Shilling`,code:`SOS`,symbol:`S`,numericCode:`706`},{name:`Surinam Dollar`,code:`SRD`,symbol:`$`,numericCode:`968`},{name:`South Sudanese pound`,code:`SSP`,symbol:``,numericCode:`728`},{name:`Dobra`,code:`STN`,symbol:`Db`,numericCode:`930`},{name:`Syrian Pound`,code:`SYP`,symbol:`£`,numericCode:`760`},{name:`Lilangeni`,code:`SZL`,symbol:``,numericCode:`748`},{name:`Baht`,code:`THB`,symbol:`฿`,numericCode:`764`},{name:`Somoni`,code:`TJS`,symbol:``,numericCode:`972`},{name:`Manat`,code:`TMT`,symbol:``,numericCode:`934`},{name:`Tunisian Dinar`,code:`TND`,symbol:``,numericCode:`788`},{name:`Pa'anga`,code:`TOP`,symbol:``,numericCode:`776`},{name:`Turkish Lira`,code:`TRY`,symbol:`₺`,numericCode:`949`},{name:`Trinidad and Tobago Dollar`,code:`TTD`,symbol:`TT$`,numericCode:`780`},{name:`New Taiwan Dollar`,code:`TWD`,symbol:`NT$`,numericCode:`901`},{name:`Tanzanian Shilling`,code:`TZS`,symbol:``,numericCode:`834`},{name:`Hryvnia`,code:`UAH`,symbol:`₴`,numericCode:`980`},{name:`Uganda Shilling`,code:`UGX`,symbol:``,numericCode:`800`},{name:`US Dollar`,code:`USD`,symbol:`$`,numericCode:`840`},{name:`Peso Uruguayo`,code:`UYU`,symbol:`$U`,numericCode:`858`},{name:`Uzbekistan Sum`,code:`UZS`,symbol:`лв`,numericCode:`860`},{name:`Venezuelan bolívar`,code:`VES`,symbol:`Bs`,numericCode:`928`},{name:`Dong`,code:`VND`,symbol:`₫`,numericCode:`704`},{name:`Vatu`,code:`VUV`,symbol:``,numericCode:`548`},{name:`Tala`,code:`WST`,symbol:``,numericCode:`882`},{name:`CFA Franc BEAC`,code:`XAF`,symbol:``,numericCode:`950`},{name:`East Caribbean Dollar`,code:`XCD`,symbol:`$`,numericCode:`951`},{name:`CFA Franc BCEAO`,code:`XOF`,symbol:``,numericCode:`952`},{name:`CFP Franc`,code:`XPF`,symbol:``,numericCode:`953`},{name:`Yemeni Rial`,code:`YER`,symbol:`﷼`,numericCode:`886`},{name:`Rand`,code:`ZAR`,symbol:`R`,numericCode:`710`},{name:`Lesotho Loti`,code:`LSL`,symbol:``,numericCode:`426`},{name:`Namibia Dollar`,code:`NAD`,symbol:`N$`,numericCode:`516`},{name:`Zambian Kwacha`,code:`ZMW`,symbol:`K`,numericCode:`967`},{name:`Zimbabwe Dollar`,code:`ZWL`,symbol:``,numericCode:`932`}],transaction_description_pattern:[`A {{finance.transactionType}} for {{finance.currencyCode}} {{finance.amount}} was made at {{company.name}} via card ending ****{{string.numeric(4)}} on account ***{{string.numeric(4)}}.`,`A {{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} occurred at {{company.name}} using a card ending in ****{{string.numeric(4)}} for account ***{{string.numeric(4)}}.`,`Payment of {{finance.currencyCode}} {{finance.amount}} for {{finance.transactionType}} at {{company.name}}, processed with card ending ****{{string.numeric(4)}} linked to account ***{{string.numeric(4)}}.`,`Transaction alert: {{finance.transactionType}} at {{company.name}} using card ending ****{{string.numeric(4)}} for an amount of {{finance.currencyCode}} {{finance.amount}} on account ***{{string.numeric(4)}}.`,`You made a {{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} at {{company.name}} using card ending in ****{{string.numeric(4)}} from account ***{{string.numeric(4)}}.`,`Your {{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} at {{company.name}} was successful. Charged via card ****{{string.numeric(4)}} to account ***{{string.numeric(4)}}.`,`{{finance.transactionType}} at {{company.name}} with a card ending in ****{{string.numeric(4)}} for {{finance.currencyCode}} {{finance.amount}} from account ***{{string.numeric(4)}}.`,`{{finance.transactionType}} confirmed at {{company.name}} for {{finance.currencyCode}} {{finance.amount}}, card ending in ****{{string.numeric(4)}} associated with account ***{{string.numeric(4)}}.`,`{{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} at {{company.name}} charged to account ending in {{string.numeric(4)}} using card ending in ****{{string.numeric(4)}}.`,`{{finance.transactionType}} processed at {{company.name}} for {{finance.currencyCode}} {{finance.amount}}, using card ending ****{{string.numeric(4)}}. Account: ***{{string.numeric(4)}}.`,`{{finance.transactionType}} transaction at {{company.name}} using card ending with ****{{string.numeric(4)}} for {{finance.currencyCode}} {{finance.amount}} in account ***{{string.numeric(4)}}.`],transaction_type:[`deposit`,`invoice`,`payment`,`withdrawal`]},food:{adjective:[`bitter`,`creamy`,`crispy`,`crunchy`,`delicious`,`fluffy`,`fresh`,`golden`,`juicy`,`moist`,`rich`,`salty`,`savory`,`smoky`,`sour`,`spicy`,`sweet`,`tangy`,`tender`,`zesty`],description_pattern:[`A bright salad of {{food.adjective}} {{food.vegetable}} and {{food.fruit}}, finished with toasted {{food.ingredient}} and a {{food.spice}} vinaigrette.`,`A classic pie filled with delicious {{food.meat}} and {{food.adjective}} {{food.ingredient}}, baked in a {{food.adjective}} pastry crust and topped with a golden-brown lattice.`,`A comforting bowl of {{food.adjective}} {{food.ingredient}} and {{food.vegetable}}, slow-cooked until tender.`,`A delightful tart combining {{food.adjective}} {{food.vegetable}} and sweet {{food.fruit}}, set in a buttery pastry shell and finished with a hint of {{food.spice}}.`,`A heartwarming {{food.ethnic_category}} soup, featuring fresh {{food.ingredient}} and an aromatic blend of traditional spices.`,`A robust {{food.adjective}} stew featuring {{food.ethnic_category}} flavors, loaded with {{food.adjective}} meat, {{food.adjective}} vegetables, and a {{food.adjective}}, {{food.adjective}} broth.`,`A simple {{food.fruit}} pie. No fancy stuff. Just pie.`,`A slow-roasted {{animal.bird}} with a {{food.adjective}}, {{food.adjective}} exterior. Stuffed with {{food.fruit}} and covered in {{food.fruit}} sauce. Sides with {{food.vegetable}} puree and wild {{food.vegetable}}.`,`A special {{color.human}} {{food.ingredient}} from {{location.country}}. To support the strong flavor it is sided with a tablespoon of {{food.spice}}.`,`A succulent {{food.meat}} steak, encased in a {{food.adjective}} {{food.spice}} crust, served with a side of {{food.spice}} mashed {{food.vegetable}}.`,`A vibrant {{food.adjective}} grain bowl topped with {{food.vegetable}} and a tangy {{food.fruit}} dressing.`,`A {{food.adjective}} {{food.vegetable}} creation, seasoned with {{food.spice}} and {{food.spice}}, showcasing the best of plant-based cuisine.`,`An exquisite {{food.meat}} roast, infused with the essence of {{food.fruit}}, slow-roasted to bring out its natural flavors and served with a side of creamy {{food.vegetable}}`,`An exquisite {{food.vegetable}} dish, paired with {{food.ingredient}} and a hint of {{food.spice}}.`,`Baked {{food.ingredient}}-stuffed {{food.meat}}, seasoned with {{food.spice}} and {{food.adjective}} herbs, accompanied by roasted {{food.vegetable}} medley.`,`Charred {{food.vegetable}} with a smoky {{food.spice}} glaze, sided with pickled {{food.vegetable}}.`,`Crispy fried {{food.meat}} bites, seasoned with {{food.spice}} and served with a tangy {{food.fruit}} dipping sauce.`,`Crispy {{food.spice}}-dusted {{food.vegetable}} fritters, served with a cool {{food.ingredient}} dip.`,`Fresh mixed greens tossed with {{food.spice}}-rubbed {{food.meat}}, {{food.vegetable}}, and a light dressing.`,`Fresh {{food.ingredient}} with a pinch of {{food.spice}}, topped by a caramelized {{food.fruit}} with whipped cream`,`Grilled {{food.meat}} kebabs, marinated in {{food.ethnic_category}} spices and served with a fresh {{food.vegetable}} and {{food.fruit}} salad.`,`Hearty {{food.ingredient}} and {{food.meat}} stew, slow-cooked with {{food.spice}} and {{food.vegetable}} for a comforting, flavorful meal.`,`Hearty {{food.ingredient}} and {{food.vegetable}} curry, fragrant with {{food.spice}} and ladled over steamed rice.`,`Juicy {{food.meat}}, grilled to your liking and drizzled with a bold {{food.spice}} sauce, served alongside roasted {{food.vegetable}}.`,`Our {{food.adjective}} {{food.meat}}, slow-cooked to perfection, accompanied by steamed {{food.vegetable}} and a rich, savory gravy.`,`Roasted {{food.vegetable}} with {{food.spice}} and a drizzle of citrus, served over fluffy grains.`,`Savor the rich flavors of {{food.adjective}} {{food.vegetable}}, complemented by {{food.fruit}} and {{food.spice}}.`,`Slow-simmered {{food.adjective}} {{food.vegetable}} stew, fragrant with {{food.spice}} and finished with fresh herbs.`,`Stuffed {{food.vegetable}} baked with {{food.ingredient}} and {{food.spice}}.`,`Tender {{food.meat}} skewers, glazed with a sweet and tangy {{food.fruit}} sauce, served over a bed of fragrant jasmine rice.`,`Tenderly braised {{food.meat}} in a rich {{food.spice}} and {{food.vegetable}} sauce, served with a side of creamy {{food.vegetable}}.`,`Three {{food.ingredient}} with {{food.vegetable}}, {{food.vegetable}}, {{food.vegetable}}, {{food.vegetable}} and {{food.ingredient}}. With a side of baked {{food.fruit}}, and your choice of {{food.ingredient}} or {{food.ingredient}}.`,`{{number.int({\"min\":1, \"max\":99})}}-day aged {{food.meat}} steak, with choice of {{number.int({\"min\":2, \"max\":4})}} sides.`],dish:`California maki.Peking duck.Philadelphia maki.aglio e olio.aloo gobi.arepas.baba ganoush.baingan bharta.barbecue ribs.black bean tacos.bruschette with tomato.buddha bowl.bunny chow.caesar salad.caponata.caprese salad.cauliflower penne.cauliflower wings.chana masala.cheeseburger.chicken fajitas.chicken milanese.chicken parm.chicken wings.chilli con carne.dal makhani.dosa.ebiten maki.edamame.falafel wrap.fettuccine alfredo.fish and chips.french fries with sausages.french toast.gazpacho.hummus.jackfruit carnitas.katsu curry.kebab.lasagne.lentil bolognese.lentil shepherd's pie.linguine with clams.massaman curry.meatballs with sauce.minestrone.miso ramen.mujadara.mushroom bourguignon.mushroom risotto.pad thai tofu.palak tofu.pappardelle alla bolognese.pasta and beans.pasta carbonara.pasta with tomato and basil.peanut noodles.pho.pierogi.pizza.poke.pork belly buns.pork sausage roll.poutine.ratatouille.ribollita.ricotta stuffed ravioli.risotto with seafood.saag aloo.salmon nigiri.scotch eggs.seafood paella.shakshuka.som tam.souvlaki.stinky tofu.sushi.tabouleh.tacos.tempeh stir fry.teriyaki chicken donburi.tiramisù.tofu scramble.tom kha tofu.tuna sashimi.vegetable biryani.vegetable soup`.split(`.`),dish_pattern:[`{{food.adjective}} {{food.ethnic_category}} stew`,`{{food.adjective}} {{food.fruit}} and {{food.vegetable}} salad`,`{{food.adjective}} {{food.meat}} with {{food.vegetable}}`,`{{food.adjective}} {{food.vegetable}} and {{food.ingredient}} bowl`,`{{food.adjective}} {{food.vegetable}} curry`,`{{food.adjective}} {{food.vegetable}} with {{food.fruit}} glaze`,`{{food.ethnic_category}} {{food.ingredient}} soup`,`{{food.fruit}} and {{food.fruit}} tart`,`{{food.fruit}} pie`,`{{food.fruit}}-glazed {{food.meat}} skewers`,`{{food.fruit}}-glazed {{food.vegetable}} skewers`,`{{food.fruit}}-infused {{food.meat}} roast`,`{{food.ingredient}} and {{food.meat}} pie`,`{{food.ingredient}}-infused {{food.meat}}`,`{{food.meat}} steak`,`{{food.meat}} with {{food.fruit}} sauce`,`{{food.spice}}-crusted {{food.meat}}`,`{{food.spice}}-rubbed {{food.meat}} salad`,`{{food.spice}}-spiced {{food.vegetable}} bowl`,`{{food.vegetable}} and {{food.ingredient}} stew`,`{{food.vegetable}} salad`,`{{person.firstName}}'s special {{food.ingredient}}`],ethnic_category:`Ainu.Albanian.American.Andhra.Anglo-Indian.Arab.Argentine.Armenian.Assyrian.Awadhi.Azerbaijani.Balochi.Bangladeshi.Bashkir.Belarusian.Bengali.Berber.Brazilian.British.Buddhist.Bulgarian.Cajun.Cantonese.Caribbean.Chechen.Chinese.Chinese Islamic.Circassian.Crimean Tatar.Cypriot.Czech.Danish.Egyptian.English.Eritrean.Estonian.Ethiopian.Filipino.French.Georgian.German.Goan.Goan Catholic.Greek.Gujarati.Hyderabad.Indian.Indian Chinese.Indian Singaporean.Indonesian.Inuit.Irish.Italian.Italian-American.Jamaican.Japanese.Jewish - Israeli.Karnataka.Kazakh.Keralite.Korean.Kurdish.Laotian.Latvian.Lebanese.Lithuanian.Louisiana Creole.Maharashtrian.Malay.Malaysian Chinese.Malaysian Indian.Mangalorean.Mediterranean.Mennonite.Mexican.Mordovian.Mughal.Native American.Nepalese.New Mexican.Odia.Pakistani.Parsi.Pashtun.Pennsylvania Dutch.Peranakan.Persian.Peruvian.Polish.Portuguese.Punjabi.Québécois.Rajasthani.Romani.Romanian.Russian.Sami.Serbian.Sindhi.Slovak.Slovenian.Somali.South Indian.Soviet.Spanish.Sri Lankan.Taiwanese.Tamil.Tatar.Texan.Thai.Turkish.Udupi.Ukrainian.Vietnamese.Yamal.Zambian.Zanzibari`.split(`.`),fruit:`apple.apricot.aubergine.avocado.banana.berry.blackberry.blood orange.blueberry.bush tomato.butternut pumpkin.cantaloupe.cavalo.cherry.coconut.corella pear.cranberry.cumquat.currant.custard apple.date.dragonfruit.dried apricot.elderberry.feijoa.fig.fingerlime.goji berry.grape.grapefruit.guava.honeydew melon.incaberry.jarrahdale pumpkin.juniper berry.kiwi fruit.kiwiberry.lemon.lime.longan.loquat.lychee.mandarin.mango.mangosteen.melon.mulberry.nashi pear.nectarine.olive.orange.papaw.papaya.passionfruit.peach.pear.persimmon.pineapple.plum.pomegranate.prune.raspberry.rockmelon.starfruit.strawberry.sultana.tangelo.watermelon`.split(`.`),ingredient:`achacha.adzuki beans.agar.agave syrup.ajowan seed.albacore tuna.alfalfa.allspice.almond oil.almonds.amaranth.amchur.anchovies.aniseed.annatto seed.apple cider vinegar.apple juice.apple juice concentrate.apples.apricots.arborio rice.arrowroot.artichoke.arugula.asafoetida.asian greens.asian noodles.asparagus.aubergine.avocado.avocado oil.avocado spread.bacon.baking powder.baking soda.balsamic vinegar.bamboo shoots.banana.barberry.barley.barramundi.basil basmati rice.bay leaves.bean shoots.bean sprouts.beans.beef.beef stock.beetroot.berries.besan.black eyed beans.blackberries.blood oranges.blue cheese.blue eye trevalla.blue swimmer crab.blueberries.bocconcini.bok choy.bonito flakes.bonza.borlotti beans.bran.brazil nut.bread.brie.broccoli.broccolini.brown flour.brown mushrooms.brown rice.brown rice vinegar.brussels sprouts.buckwheat.buckwheat flour.buckwheat noodles.bulghur.bush tomato.butter.butter beans.buttermilk.butternut lettuce.butternut pumpkin.cabbage.cacao.cake.calamari.camellia tea oil.camembert.camomile.candle nut.cannellini beans.canola oil.cantaloupe.capers.capsicum.caraway seed.cardamom.carob carrot.carrot.cashews.cassia bark.cauliflower.cavalo.cayenne.celery.celery seed.cheddar.cherries.chestnut.chia seeds.chicken.chicken stock.chickory.chickpea.chilli pepper.chinese cabbage.chinese five spice.chives.choy sum.cinnamon.clams.cloves.cocoa powder.coconut.coconut oil.coconut water.coffee.common cultivated mushrooms.corella pear.coriander leaves.coriander seed.corn oil.corn syrup.corn tortilla.cornichons.cornmeal.cos lettuce.cottage cheese.cous cous.crabs.cranberry.cream.cream cheese.cucumber.cumin.cumquat.currants.curry leaves.curry powder.custard apples.dandelion.dark chocolate.dashi.dates.dill.dragonfruit.dried apricots.dried chinese broccoli.duck.edam.edamame.eggplant.eggs.elderberry.endive.english spinach.enoki mushrooms.extra virgin olive oil.farmed prawns.feijoa.fennel.fennel seeds.fenugreek.feta.figs.file powder.fingerlime.fish sauce.fish stock.flat mushrooms.flathead.flaxseed.flaxseed oil.flounder.flour.freekeh.french eschallots.fresh chillies.fromage blanc.fruit.galangal.garam masala.garlic.goat cheese.goat milk.goji berry.grape seed oil.grapefruit.grapes.green beans.green pepper.green tea.green tea noodles.greenwheat freekeh.gruyere.guava.gula melaka.haloumi.ham.haricot beans.harissa.hazelnut.hijiki.hiramasa kingfish.hokkien noodles.honey.honeydew melon.horseradish.hot smoked salmon.hummus.iceberg lettuce.incaberries.jarrahdale pumpkin.jasmine rice.jelly.jerusalem artichoke.jewfish.jicama.juniper berries.kale.kangaroo.kecap manis.kenchur.kidney beans.kidneys.kiwi berries.kiwi fruit.kohlrabi.kokam.kombu.koshihikari rice.kudzu.kumera.lamb.lavender flowers.leeks.lemon.lemongrass.lentils.lettuce.licorice.lime leaves.limes.liver.lobster.longan.loquats.lotus root.lychees.macadamia nut.macadamia oil.mace.mackerel.mahi mahi.mahlab.malt vinegar.mandarins.mango.mangosteens.maple syrup.margarine.marigold.marjoram.mastic.melon.milk.milk chocolate.mint.miso.molasses.monkfish.morwong.mountain bread.mozzarella.muesli.mulberries.mullet.mung beans.mussels.mustard.mustard seed.nashi pear.nasturtium.nectarines.nori.nutmeg.nutritional yeast.nuts.oat flour.oatmeal.oats.octopus.okra.olive oil.olives.omega spread.onion.oranges.oregano.oyster mushrooms.oyster sauce.oysters.pandanus leaves.papaw.papaya.paprik.parmesan cheese.parrotfish.parsley.parsnip.passionfruit.pasta.peaches.peanuts.pear.pear juice.pears.peas.pecan nut.pecorino.pepitas.peppercorns.peppermint.peppers.persimmon.pine nut.pineapple.pinto beans.pistachio nut.plums.polenta.pomegranate.poppy seed.porcini mushrooms.pork.potato flour.potatoes.provolone.prunes.pumpkin.pumpkin seed.purple carrot.purple rice.quark.quince.quinoa.radicchio.radish.raisin.raspberry.red cabbage.red lentils.red pepper.red wine.red wine vinegar.redfish.rhubarb.rice flour.rice noodles.rice paper.rice syrup.ricemilk.ricotta.rockmelon.rose water.rosemary.rye.rye bread.safflower oil.saffron.sage.sake.salmon.sardines.sausages.scallops.sea salt.semolina.sesame oil.sesame seeds.shark.shiitake mushrooms.silverbeet.slivered almonds.smoked trout.snapper.snowpea sprouts.snowpeas.soba.sour dough bread.soy.soy beans.soy flour.soy milk.soy sauce.soymilk.spearmint.spelt.spelt bread.spinach.spring onions.sprouts.squash.squid.star anise.star fruit.starfruit.stevia.strawberries.sugar.sultanas.sun-dried tomatoes.sunflower oil.sunflower seeds.sweet chilli sauce.sweet potato.swiss chard.swordfish.szechuan pepperberry.tabasco.tahini.taleggio cheese.tamari.tamarillo.tangelo.tapioca.tapioca flour.tarragon.tea.tea oil.tempeh.thyme.tinned.tofu.tom yum.tomatoes.trout.tuna.turkey.turmeric.turnips.unbleached flour.vanilla beans.vegetable oil.vegetable spaghetti.vegetable stock.vermicelli noodles.vinegar.wakame.walnut.warehou.wasabi.water.watercress.watermelon.wattleseed.wheat.wheatgrass juice.white bread.white flour.white rice.white wine.white wine vinegar.whiting wild rice.wholegrain bread.wholemeal.wholewheat flour.william pear.yeast.yellow papaw.yellowtail kingfish.yoghurt.yogurt.zucchini`.split(`.`),meat:[`beef`,`chicken`,`crocodile`,`duck`,`emu`,`goose`,`kangaroo`,`lamb`,`ostrich`,`pigeon`,`pork`,`quail`,`rabbit`,`salmon`,`turkey`,`venison`],spice:`achiote seed.ajwain seed.ajwan seed.allspice.amchoor.anise.anise star.aniseed.annatto seed.arrowroot.asafoetida.baharat.balti masala.balti stir fry mix.basil.bay leaves.bbq.caraway seed.cardamom.cassia.cayenne pepper.celery.chamomile.chervil.chilli.chilli pepper.chillies.china star.chives.cinnamon.cloves.colombo.coriander.cumin.curly leaf parsley.curry.dhansak.dill.fennel seed.fenugreek.fines herbes.five spice.french lavender.galangal.garam masala.garlic.german chamomile.ginger.green cardamom.herbes de provence.jalfrezi.jerk.kaffir leaves.korma.lavender.lemon grass.lemon pepper.lime leaves.liquorice root.mace.mango.marjoram.methi.mint.mustard.nutmeg.onion seed.orange zest.oregano.paprika.parsley.pepper.peppercorns.pimento.piri piri.poppy seed.pot marjoram.poudre de colombo.ras-el-hanout.rice paper.rogan josh.rose baie.rosemary.saffron.sage.sesame seed.spearmint.sumac.sweet basil.sweet laurel.tagine.tandoori masala.tarragon.thyme.tikka masala.turmeric.vanilla.zahtar`.split(`.`),vegetable:`artichoke.arugula.asian greens.asparagus.bean shoots.bean sprouts.beans.beetroot.bok choy.broccoli.broccolini.brussels sprouts.butternut lettuce.cabbage.capers.carob carrot.carrot.cauliflower.celery.chilli pepper.chinese cabbage.chives.cornichons.cos lettuce.cucumber.daikon.dried chinese broccoli.eggplant.endive.english spinach.french eschallots.fresh chillies.garlic.green beans.green pepper.hijiki.iceberg lettuce.jerusalem artichoke.jicama.kale.kohlrabi.leeks.lettuce.okra.onion.parsnip.peas.peppers.potatoes.pumpkin.purple carrot.radicchio.radish.red cabbage.red pepper.rhubarb.snowpea sprouts.spinach.squash.sun dried tomatoes.sweet potato.swiss chard.turnips.zucchini`.split(`.`)},hacker:{adjective:[`1080p`,`auxiliary`,`back-end`,`bluetooth`,`cross-platform`,`digital`,`haptic`,`mobile`,`multi-byte`,`neural`,`online`,`open-source`,`optical`,`primary`,`redundant`,`solid state`,`virtual`,`wireless`],ingverb:[`backing up`,`bypassing`,`calculating`,`compressing`,`connecting`,`copying`,`generating`,`hacking`,`indexing`,`navigating`,`overriding`,`parsing`,`programming`,`quantifying`,`synthesizing`,`transmitting`],noun:[`alarm`,`application`,`array`,`bandwidth`,`bus`,`capacitor`,`card`,`circuit`,`driver`,`feed`,`firewall`,`hard drive`,`interface`,`matrix`,`microchip`,`monitor`,`panel`,`pixel`,`port`,`program`,`protocol`,`sensor`,`system`,`transmitter`],phrase:[`I'll {{hacker.verb}} the {{hacker.adjective}} {{hacker.abbreviation}} {{hacker.noun}}, that should {{hacker.noun}} the {{hacker.abbreviation}} {{hacker.noun}}!`,`If we {{hacker.verb}} the {{hacker.noun}}, we can get to the {{hacker.abbreviation}} {{hacker.noun}} through the {{hacker.adjective}} {{hacker.abbreviation}} {{hacker.noun}}!`,`The {{hacker.abbreviation}} {{hacker.noun}} is down, {{hacker.verb}} the {{hacker.adjective}} {{hacker.noun}} so we can {{hacker.verb}} the {{hacker.abbreviation}} {{hacker.noun}}!`,`Try to {{hacker.verb}} the {{hacker.abbreviation}} {{hacker.noun}}, maybe it will {{hacker.verb}} the {{hacker.adjective}} {{hacker.noun}}!`,`Use the {{hacker.adjective}} {{hacker.abbreviation}} {{hacker.noun}}, then you can {{hacker.verb}} the {{hacker.adjective}} {{hacker.noun}}!`,`We need to {{hacker.verb}} the {{hacker.adjective}} {{hacker.abbreviation}} {{hacker.noun}}!`,`You can't {{hacker.verb}} the {{hacker.noun}} without {{hacker.ingverb}} the {{hacker.adjective}} {{hacker.abbreviation}} {{hacker.noun}}!`,`{{hacker.ingverb}} the {{hacker.noun}} won't do anything, we need to {{hacker.verb}} the {{hacker.adjective}} {{hacker.abbreviation}} {{hacker.noun}}!`],verb:[`back up`,`bypass`,`calculate`,`compress`,`connect`,`copy`,`generate`,`hack`,`index`,`input`,`navigate`,`override`,`parse`,`program`,`quantify`,`reboot`,`synthesize`,`transmit`]},internet:{domain_suffix:[`biz`,`com`,`info`,`name`,`net`,`org`],example_email:[`example.com`,`example.net`,`example.org`],free_email:[`gmail.com`,`hotmail.com`,`yahoo.com`]},location:{building_number:[`#####`,`####`,`###`],city_name:`Abilene,Akron,Alafaya,Alameda,Albany,Albuquerque,Alexandria,Alhambra,Aliso Viejo,Allen,Allentown,Aloha,Alpharetta,Altadena,Altamonte Springs,Altoona,Amarillo,Ames,Anaheim,Anchorage,Anderson,Ankeny,Ann Arbor,Annandale,Antelope,Antioch,Apex,Apopka,Apple Valley,Appleton,Arcadia,Arden-Arcade,Arecibo,Arlington,Arlington Heights,Arvada,Ashburn,Asheville,Aspen Hill,Atascocita,Athens-Clarke County,Atlanta,Attleboro,Auburn,Augusta-Richmond County,Aurora,Austin,Avondale,Azusa,Bakersfield,Baldwin Park,Baltimore,Barnstable Town,Bartlett,Baton Rouge,Battle Creek,Bayamon,Bayonne,Baytown,Beaumont,Beavercreek,Beaverton,Bedford,Bel Air South,Bell Gardens,Belleville,Bellevue,Bellflower,Bellingham,Bend,Bentonville,Berkeley,Berwyn,Bethesda,Bethlehem,Billings,Biloxi,Binghamton,Birmingham,Bismarck,Blacksburg,Blaine,Bloomington,Blue Springs,Boca Raton,Boise City,Bolingbrook,Bonita Springs,Bossier City,Boston,Bothell,Boulder,Bountiful,Bowie,Bowling Green,Boynton Beach,Bozeman,Bradenton,Brandon,Brentwood,Bridgeport,Bristol,Brockton,Broken Arrow,Brookhaven,Brookline,Brooklyn Park,Broomfield,Brownsville,Bryan,Buckeye,Buena Park,Buffalo,Buffalo Grove,Burbank,Burien,Burke,Burleson,Burlington,Burnsville,Caguas,Caldwell,Camarillo,Cambridge,Camden,Canton,Cape Coral,Carlsbad,Carmel,Carmichael,Carolina,Carrollton,Carson,Carson City,Cary,Casa Grande,Casas Adobes,Casper,Castle Rock,Castro Valley,Catalina Foothills,Cathedral City,Catonsville,Cedar Hill,Cedar Park,Cedar Rapids,Centennial,Centreville,Ceres,Cerritos,Champaign,Chandler,Chapel Hill,Charleston,Charlotte,Charlottesville,Chattanooga,Cheektowaga,Chesapeake,Chesterfield,Cheyenne,Chicago,Chico,Chicopee,Chino,Chino Hills,Chula Vista,Cicero,Cincinnati,Citrus Heights,Clarksville,Clearwater,Cleveland,Cleveland Heights,Clifton,Clovis,Coachella,Coconut Creek,Coeur d'Alene,College Station,Collierville,Colorado Springs,Colton,Columbia,Columbus,Commerce City,Compton,Concord,Conroe,Conway,Coon Rapids,Coral Gables,Coral Springs,Corona,Corpus Christi,Corvallis,Costa Mesa,Council Bluffs,Country Club,Covina,Cranston,Cupertino,Cutler Bay,Cuyahoga Falls,Cypress,Dale City,Dallas,Daly City,Danbury,Danville,Davenport,Davie,Davis,Dayton,Daytona Beach,DeKalb,DeSoto,Dearborn,Dearborn Heights,Decatur,Deerfield Beach,Delano,Delray Beach,Deltona,Denton,Denver,Des Moines,Des Plaines,Detroit,Diamond Bar,Doral,Dothan,Downers Grove,Downey,Draper,Dublin,Dubuque,Duluth,Dundalk,Dunwoody,Durham,Eagan,East Hartford,East Honolulu,East Lansing,East Los Angeles,East Orange,East Providence,Eastvale,Eau Claire,Eden Prairie,Edina,Edinburg,Edmond,El Cajon,El Centro,El Dorado Hills,El Monte,El Paso,Elgin,Elizabeth,Elk Grove,Elkhart,Ellicott City,Elmhurst,Elyria,Encinitas,Enid,Enterprise,Erie,Escondido,Euclid,Eugene,Euless,Evanston,Evansville,Everett,Fairfield,Fall River,Fargo,Farmington,Farmington Hills,Fayetteville,Federal Way,Findlay,Fishers,Flagstaff,Flint,Florence-Graham,Florin,Florissant,Flower Mound,Folsom,Fond du Lac,Fontana,Fort Collins,Fort Lauderdale,Fort Myers,Fort Pierce,Fort Smith,Fort Wayne,Fort Worth,Fountain Valley,Fountainebleau,Framingham,Franklin,Frederick,Freeport,Fremont,Fresno,Frisco,Fullerton,Gainesville,Gaithersburg,Galveston,Garden Grove,Gardena,Garland,Gary,Gastonia,Georgetown,Germantown,Gilbert,Gilroy,Glen Burnie,Glendale,Glendora,Glenview,Goodyear,Grand Forks,Grand Island,Grand Junction,Grand Prairie,Grand Rapids,Grapevine,Great Falls,Greeley,Green Bay,Greensboro,Greenville,Greenwood,Gresham,Guaynabo,Gulfport,Hacienda Heights,Hackensack,Haltom City,Hamilton,Hammond,Hampton,Hanford,Harlingen,Harrisburg,Harrisonburg,Hartford,Hattiesburg,Haverhill,Hawthorne,Hayward,Hemet,Hempstead,Henderson,Hendersonville,Hesperia,Hialeah,Hicksville,High Point,Highland,Highlands Ranch,Hillsboro,Hilo,Hoboken,Hoffman Estates,Hollywood,Homestead,Honolulu,Hoover,Houston,Huntersville,Huntington,Huntington Beach,Huntington Park,Huntsville,Hutchinson,Idaho Falls,Independence,Indianapolis,Indio,Inglewood,Iowa City,Irondequoit,Irvine,Irving,Jackson,Jacksonville,Janesville,Jefferson City,Jeffersonville,Jersey City,Johns Creek,Johnson City,Joliet,Jonesboro,Joplin,Jupiter,Jurupa Valley,Kalamazoo,Kannapolis,Kansas City,Kearny,Keller,Kendale Lakes,Kendall,Kenner,Kennewick,Kenosha,Kent,Kentwood,Kettering,Killeen,Kingsport,Kirkland,Kissimmee,Knoxville,Kokomo,La Crosse,La Habra,La Mesa,La Mirada,Lacey,Lafayette,Laguna Niguel,Lake Charles,Lake Elsinore,Lake Forest,Lake Havasu City,Lake Ridge,Lakeland,Lakeville,Lakewood,Lancaster,Lansing,Laredo,Largo,Las Cruces,Las Vegas,Lauderhill,Lawrence,Lawton,Layton,League City,Lee's Summit,Leesburg,Lehi,Lehigh Acres,Lenexa,Levittown,Lewisville,Lexington-Fayette,Lincoln,Linden,Little Rock,Littleton,Livermore,Livonia,Lodi,Logan,Lombard,Lompoc,Long Beach,Longmont,Longview,Lorain,Los Angeles,Louisville/Jefferson County,Loveland,Lowell,Lubbock,Lynchburg,Lynn,Lynwood,Macon-Bibb County,Madera,Madison,Malden,Manchester,Manhattan,Mansfield,Manteca,Maple Grove,Margate,Maricopa,Marietta,Marysville,Mayaguez,McAllen,McKinney,McLean,Medford,Melbourne,Memphis,Menifee,Mentor,Merced,Meriden,Meridian,Mesa,Mesquite,Metairie,Methuen Town,Miami,Miami Beach,Miami Gardens,Middletown,Midland,Midwest City,Milford,Millcreek,Milpitas,Milwaukee,Minneapolis,Minnetonka,Minot,Miramar,Mishawaka,Mission,Mission Viejo,Missoula,Missouri City,Mobile,Modesto,Moline,Monroe,Montebello,Monterey Park,Montgomery,Moore,Moreno Valley,Morgan Hill,Mount Pleasant,Mount Prospect,Mount Vernon,Mountain View,Muncie,Murfreesboro,Murray,Murrieta,Nampa,Napa,Naperville,Nashua,Nashville-Davidson,National City,New Bedford,New Braunfels,New Britain,New Brunswick,New Haven,New Orleans,New Rochelle,New York,Newark,Newport Beach,Newport News,Newton,Niagara Falls,Noblesville,Norfolk,Normal,Norman,North Bethesda,North Charleston,North Highlands,North Las Vegas,North Lauderdale,North Little Rock,North Miami,North Miami Beach,North Port,North Richland Hills,Norwalk,Novato,Novi,O'Fallon,Oak Lawn,Oak Park,Oakland,Oakland Park,Ocala,Oceanside,Odessa,Ogden,Oklahoma City,Olathe,Olympia,Omaha,Ontario,Orange,Orem,Orland Park,Orlando,Oro Valley,Oshkosh,Overland Park,Owensboro,Oxnard,Palatine,Palm Bay,Palm Beach Gardens,Palm Coast,Palm Desert,Palm Harbor,Palm Springs,Palmdale,Palo Alto,Paradise,Paramount,Parker,Parma,Pasadena,Pasco,Passaic,Paterson,Pawtucket,Peabody,Pearl City,Pearland,Pembroke Pines,Pensacola,Peoria,Perris,Perth Amboy,Petaluma,Pflugerville,Pharr,Philadelphia,Phoenix,Pico Rivera,Pine Bluff,Pine Hills,Pinellas Park,Pittsburg,Pittsburgh,Pittsfield,Placentia,Plainfield,Plano,Plantation,Pleasanton,Plymouth,Pocatello,Poinciana,Pomona,Pompano Beach,Ponce,Pontiac,Port Arthur,Port Charlotte,Port Orange,Port St. Lucie,Portage,Porterville,Portland,Portsmouth,Potomac,Poway,Providence,Provo,Pueblo,Quincy,Racine,Raleigh,Rancho Cordova,Rancho Cucamonga,Rancho Palos Verdes,Rancho Santa Margarita,Rapid City,Reading,Redding,Redlands,Redmond,Redondo Beach,Redwood City,Reno,Renton,Reston,Revere,Rialto,Richardson,Richland,Richmond,Rio Rancho,Riverside,Riverton,Riverview,Roanoke,Rochester,Rochester Hills,Rock Hill,Rockford,Rocklin,Rockville,Rockwall,Rocky Mount,Rogers,Rohnert Park,Rosemead,Roseville,Roswell,Round Rock,Rowland Heights,Rowlett,Royal Oak,Sacramento,Saginaw,Salem,Salina,Salinas,Salt Lake City,Sammamish,San Angelo,San Antonio,San Bernardino,San Bruno,San Buenaventura (Ventura),San Clemente,San Diego,San Francisco,San Jacinto,San Jose,San Juan,San Leandro,San Luis Obispo,San Marcos,San Mateo,San Rafael,San Ramon,San Tan Valley,Sandy,Sandy Springs,Sanford,Santa Ana,Santa Barbara,Santa Clara,Santa Clarita,Santa Cruz,Santa Fe,Santa Maria,Santa Monica,Santa Rosa,Santee,Sarasota,Savannah,Sayreville,Schaumburg,Schenectady,Scottsdale,Scranton,Seattle,Severn,Shawnee,Sheboygan,Shoreline,Shreveport,Sierra Vista,Silver Spring,Simi Valley,Sioux City,Sioux Falls,Skokie,Smyrna,Somerville,South Bend,South Gate,South Hill,South Jordan,South San Francisco,South Valley,South Whittier,Southaven,Southfield,Sparks,Spokane,Spokane Valley,Spring,Spring Hill,Spring Valley,Springdale,Springfield,St. Charles,St. Clair Shores,St. Cloud,St. George,St. Joseph,St. Louis,St. Louis Park,St. Paul,St. Peters,St. Petersburg,Stamford,State College,Sterling Heights,Stillwater,Stockton,Stratford,Strongsville,Suffolk,Sugar Land,Summerville,Sunnyvale,Sunrise,Sunrise Manor,Surprise,Syracuse,Tacoma,Tallahassee,Tamarac,Tamiami,Tampa,Taunton,Taylor,Taylorsville,Temecula,Tempe,Temple,Terre Haute,Texas City,The Hammocks,The Villages,The Woodlands,Thornton,Thousand Oaks,Tigard,Tinley Park,Titusville,Toledo,Toms River,Tonawanda,Topeka,Torrance,Town 'n' Country,Towson,Tracy,Trenton,Troy,Trujillo Alto,Tuckahoe,Tucson,Tulare,Tulsa,Turlock,Tuscaloosa,Tustin,Twin Falls,Tyler,Union City,University,Upland,Urbana,Urbandale,Utica,Vacaville,Valdosta,Vallejo,Vancouver,Victoria,Victorville,Vineland,Virginia Beach,Visalia,Vista,Waco,Waipahu,Waldorf,Walnut Creek,Waltham,Warner Robins,Warren,Warwick,Washington,Waterbury,Waterloo,Watsonville,Waukegan,Waukesha,Wauwatosa,Wellington,Wesley Chapel,West Allis,West Babylon,West Covina,West Des Moines,West Hartford,West Haven,West Jordan,West Lafayette,West New York,West Palm Beach,West Sacramento,West Seneca,West Valley City,Westfield,Westland,Westminster,Weston,Weymouth Town,Wheaton,White Plains,Whittier,Wichita,Wichita Falls,Wilmington,Wilson,Winston-Salem,Woodbury,Woodland,Worcester,Wylie,Wyoming,Yakima,Yonkers,Yorba Linda,York,Youngstown,Yuba City,Yucaipa,Yuma`.split(`,`),city_pattern:[`{{location.city_prefix}} {{person.firstName}}{{location.city_suffix}}`,`{{location.city_prefix}} {{person.firstName}}`,`{{person.firstName}}{{location.city_suffix}}`,`{{person.lastName}}{{location.city_suffix}}`,`{{location.city_name}}`],city_prefix:[`North`,`East`,`West`,`South`,`New`,`Lake`,`Port`,`Fort`],city_suffix:[`town`,`ton`,`land`,`ville`,`berg`,`burgh`,`boro`,`borough`,`bury`,`view`,`port`,`mouth`,`stad`,`stead`,`furt`,`chester`,`cester`,`fort`,`field`,`haven`,`side`,`shire`,`worth`],continent:[`Africa`,`Antarctica`,`Asia`,`Australia`,`Europe`,`North America`,`South America`],country:[`Afghanistan`,`Åland Islands`,`Albania`,`Algeria`,`American Samoa`,`Andorra`,`Angola`,`Anguilla`,`Antarctica`,`Antigua and Barbuda`,`Argentina`,`Armenia`,`Aruba`,`Australia`,`Austria`,`Azerbaijan`,`Bahamas`,`Bahrain`,`Bangladesh`,`Barbados`,`Belarus`,`Belgium`,`Belize`,`Benin`,`Bermuda`,`Bhutan`,`Bolivia`,`Bonaire, Sint Eustatius and Saba`,`Bosnia and Herzegovina`,`Botswana`,`Bouvet Island`,`Brazil`,`British Indian Ocean Territory (Chagos Archipelago)`,`Brunei Darussalam`,`Bulgaria`,`Burkina Faso`,`Burundi`,`Cambodia`,`Cameroon`,`Canada`,`Cape Verde`,`Cayman Islands`,`Central African Republic`,`Chad`,`Chile`,`China`,`Christmas Island`,`Cocos (Keeling) Islands`,`Colombia`,`Comoros`,`Congo`,`Cook Islands`,`Costa Rica`,`Côte d'Ivoire`,`Croatia`,`Cuba`,`Curaçao`,`Cyprus`,`Czechia`,`Democratic Republic of the Congo`,`Denmark`,`Djibouti`,`Dominica`,`Dominican Republic`,`Ecuador`,`Egypt`,`El Salvador`,`Equatorial Guinea`,`Eritrea`,`Estonia`,`Eswatini`,`Ethiopia`,`Faroe Islands`,`Falkland Islands (Malvinas)`,`Fiji`,`Finland`,`France`,`French Guiana`,`French Polynesia`,`French Southern Territories`,`Gabon`,`Gambia`,`Georgia`,`Germany`,`Ghana`,`Gibraltar`,`Greece`,`Greenland`,`Grenada`,`Guadeloupe`,`Guam`,`Guatemala`,`Guernsey`,`Guinea`,`Guinea-Bissau`,`Guyana`,`Haiti`,`Heard Island and McDonald Islands`,`Holy See (Vatican City State)`,`Honduras`,`Hong Kong`,`Hungary`,`Iceland`,`India`,`Indonesia`,`Iran`,`Iraq`,`Ireland`,`Isle of Man`,`Israel`,`Italy`,`Jamaica`,`Japan`,`Jersey`,`Jordan`,`Kazakhstan`,`Kenya`,`Kiribati`,`Democratic People's Republic of Korea`,`Republic of Korea`,`Kuwait`,`Kyrgyz Republic`,`Lao People's Democratic Republic`,`Latvia`,`Lebanon`,`Lesotho`,`Liberia`,`Libyan Arab Jamahiriya`,`Liechtenstein`,`Lithuania`,`Luxembourg`,`Macao`,`Madagascar`,`Malawi`,`Malaysia`,`Maldives`,`Mali`,`Malta`,`Marshall Islands`,`Martinique`,`Mauritania`,`Mauritius`,`Mayotte`,`Mexico`,`Micronesia`,`Moldova`,`Monaco`,`Mongolia`,`Montenegro`,`Montserrat`,`Morocco`,`Mozambique`,`Myanmar`,`Namibia`,`Nauru`,`Nepal`,`Netherlands`,`New Caledonia`,`New Zealand`,`Nicaragua`,`Niger`,`Nigeria`,`Niue`,`Norfolk Island`,`North Macedonia`,`Northern Mariana Islands`,`Norway`,`Oman`,`Pakistan`,`Palau`,`Palestine`,`Panama`,`Papua New Guinea`,`Paraguay`,`Peru`,`Philippines`,`Pitcairn Islands`,`Poland`,`Portugal`,`Puerto Rico`,`Qatar`,`Réunion`,`Romania`,`Russian Federation`,`Rwanda`,`Saint Barthélemy`,`Saint Helena`,`Saint Kitts and Nevis`,`Saint Lucia`,`Saint Martin`,`Saint Pierre and Miquelon`,`Saint Vincent and the Grenadines`,`Samoa`,`San Marino`,`Sao Tome and Principe`,`Saudi Arabia`,`Senegal`,`Serbia`,`Seychelles`,`Sierra Leone`,`Singapore`,`Sint Maarten`,`Slovakia`,`Slovenia`,`Solomon Islands`,`Somalia`,`South Africa`,`South Georgia and the South Sandwich Islands`,`South Sudan`,`Spain`,`Sri Lanka`,`Sudan`,`Suriname`,`Svalbard & Jan Mayen Islands`,`Sweden`,`Switzerland`,`Syrian Arab Republic`,`Taiwan`,`Tajikistan`,`Tanzania`,`Thailand`,`Timor-Leste`,`Togo`,`Tokelau`,`Tonga`,`Trinidad and Tobago`,`Tunisia`,`Turkey`,`Turkmenistan`,`Turks and Caicos Islands`,`Tuvalu`,`Uganda`,`Ukraine`,`United Arab Emirates`,`United Kingdom`,`United States of America`,`United States Minor Outlying Islands`,`Uruguay`,`Uzbekistan`,`Vanuatu`,`Venezuela`,`Vietnam`,`Virgin Islands, British`,`Virgin Islands, U.S.`,`Wallis and Futuna`,`Western Sahara`,`Yemen`,`Zambia`,`Zimbabwe`],county:`Adams County.Calhoun County.Carroll County.Clark County.Clay County.Crawford County.Douglas County.Fayette County.Franklin County.Grant County.Greene County.Hamilton County.Hancock County.Henry County.Jackson County.Jefferson County.Johnson County.Lake County.Lawrence County.Lee County.Lincoln County.Logan County.Madison County.Marion County.Marshall County.Monroe County.Montgomery County.Morgan County.Perry County.Pike County.Polk County.Scott County.Union County.Warren County.Washington County.Wayne County.Avon.Bedfordshire.Berkshire.Borders.Buckinghamshire.Cambridgeshire.Central.Cheshire.Cleveland.Clwyd.Cornwall.County Antrim.County Armagh.County Down.County Fermanagh.County Londonderry.County Tyrone.Cumbria.Derbyshire.Devon.Dorset.Dumfries and Galloway.Durham.Dyfed.East Sussex.Essex.Fife.Gloucestershire.Grampian.Greater Manchester.Gwent.Gwynedd County.Hampshire.Herefordshire.Hertfordshire.Highlands and Islands.Humberside.Isle of Wight.Kent.Lancashire.Leicestershire.Lincolnshire.Lothian.Merseyside.Mid Glamorgan.Norfolk.North Yorkshire.Northamptonshire.Northumberland.Nottinghamshire.Oxfordshire.Powys.Rutland.Shropshire.Somerset.South Glamorgan.South Yorkshire.Staffordshire.Strathclyde.Suffolk.Surrey.Tayside.Tyne and Wear.Warwickshire.West Glamorgan.West Midlands.West Sussex.West Yorkshire.Wiltshire.Worcestershire`.split(`.`),direction:{cardinal:[`North`,`East`,`South`,`West`],cardinal_abbr:[`N`,`E`,`S`,`W`],ordinal:[`Northeast`,`Northwest`,`Southeast`,`Southwest`],ordinal_abbr:[`NE`,`NW`,`SE`,`SW`]},language:[{name:`Afrikaans`,alpha2:`af`,alpha3:`afr`},{name:`Azerbaijani`,alpha2:`az`,alpha3:`aze`},{name:`Maldivian`,alpha2:`dv`,alpha3:`div`},{name:`Farsi/Persian`,alpha2:`fa`,alpha3:`fas`},{name:`Latvian`,alpha2:`lv`,alpha3:`lav`},{name:`Indonesian`,alpha2:`id`,alpha3:`ind`},{name:`Nepali`,alpha2:`ne`,alpha3:`nep`},{name:`Thai`,alpha2:`th`,alpha3:`tha`},{name:`Uzbek`,alpha2:`uz`,alpha3:`uzb`},{name:`Yoruba`,alpha2:`yo`,alpha3:`yor`},{name:`Pashto`,alpha2:`ps`,alpha3:`pus`},{name:`English`,alpha2:`en`,alpha3:`eng`},{name:`Urdu`,alpha2:`ur`,alpha3:`urd`},{name:`German`,alpha2:`de`,alpha3:`deu`},{name:`French`,alpha2:`fr`,alpha3:`fra`},{name:`Spanish`,alpha2:`es`,alpha3:`spa`},{name:`Italian`,alpha2:`it`,alpha3:`ita`},{name:`Dutch`,alpha2:`nl`,alpha3:`nld`},{name:`Russian`,alpha2:`ru`,alpha3:`rus`},{name:`Portuguese`,alpha2:`pt`,alpha3:`por`},{name:`Polish`,alpha2:`pl`,alpha3:`pol`},{name:`Arabic`,alpha2:`ar`,alpha3:`ara`},{name:`Japanese`,alpha2:`ja`,alpha3:`jpn`},{name:`Chinese`,alpha2:`zh`,alpha3:`zho`},{name:`Hindi`,alpha2:`hi`,alpha3:`hin`},{name:`Bengali`,alpha2:`bn`,alpha3:`ben`},{name:`Gujarati`,alpha2:`gu`,alpha3:`guj`},{name:`Tamil`,alpha2:`ta`,alpha3:`tam`},{name:`Telugu`,alpha2:`te`,alpha3:`tel`},{name:`Punjabi`,alpha2:`pa`,alpha3:`pan`},{name:`Vietnamese`,alpha2:`vi`,alpha3:`vie`},{name:`Korean`,alpha2:`ko`,alpha3:`kor`},{name:`Turkish`,alpha2:`tr`,alpha3:`tur`},{name:`Swedish`,alpha2:`sv`,alpha3:`swe`},{name:`Greek`,alpha2:`el`,alpha3:`ell`},{name:`Czech`,alpha2:`cs`,alpha3:`ces`},{name:`Hungarian`,alpha2:`hu`,alpha3:`hun`},{name:`Romanian`,alpha2:`ro`,alpha3:`ron`},{name:`Ukrainian`,alpha2:`uk`,alpha3:`ukr`},{name:`Norwegian`,alpha2:`no`,alpha3:`nor`},{name:`Serbian`,alpha2:`sr`,alpha3:`srp`},{name:`Croatian`,alpha2:`hr`,alpha3:`hrv`},{name:`Slovak`,alpha2:`sk`,alpha3:`slk`},{name:`Slovenian`,alpha2:`sl`,alpha3:`slv`},{name:`Icelandic`,alpha2:`is`,alpha3:`isl`},{name:`Finnish`,alpha2:`fi`,alpha3:`fin`},{name:`Danish`,alpha2:`da`,alpha3:`dan`},{name:`Swahili`,alpha2:`sw`,alpha3:`swa`},{name:`Bashkir`,alpha2:`ba`,alpha3:`bak`},{name:`Basque`,alpha2:`eu`,alpha3:`eus`},{name:`Catalan`,alpha2:`ca`,alpha3:`cat`},{name:`Galician`,alpha2:`gl`,alpha3:`glg`},{name:`Esperanto`,alpha2:`eo`,alpha3:`epo`},{name:`Fijian`,alpha2:`fj`,alpha3:`fij`},{name:`Malagasy`,alpha2:`mg`,alpha3:`mlg`},{name:`Maltese`,alpha2:`mt`,alpha3:`mlt`},{name:`Albanian`,alpha2:`sq`,alpha3:`sqi`},{name:`Armenian`,alpha2:`hy`,alpha3:`hye`},{name:`Georgian`,alpha2:`ka`,alpha3:`kat`},{name:`Macedonian`,alpha2:`mk`,alpha3:`mkd`},{name:`Kazakh`,alpha2:`kk`,alpha3:`kaz`},{name:`Haitian Creole`,alpha2:`ht`,alpha3:`hat`},{name:`Mongolian`,alpha2:`mn`,alpha3:`mon`},{name:`Kyrgyz`,alpha2:`ky`,alpha3:`kir`},{name:`Finnish`,alpha2:`fi`,alpha3:`fin`},{name:`Tagalog`,alpha2:`tl`,alpha3:`tgl`},{name:`Malay`,alpha2:`ms`,alpha3:`msa`},{name:`Tajik`,alpha2:`tg`,alpha3:`tgk`},{name:`Swati`,alpha2:`ss`,alpha3:`ssw`},{name:`Tatar`,alpha2:`tt`,alpha3:`tat`},{name:`Zulu`,alpha2:`zu`,alpha3:`zul`}],postal_address:[`{{location.streetAddress}}\n{{location.city}}\n{{location.state}}\n{{location.zipCode}}`,`{{location.secondaryAddress}}\n{{location.streetAddress}}\n{{location.city}}\n{{location.state}}\n{{location.zipCode}}`],postcode:[`#####`,`#####-####`],secondary_address:[`Apt. ###`,`Suite ###`],state:`Alabama.Alaska.Arizona.Arkansas.California.Colorado.Connecticut.Delaware.Florida.Georgia.Hawaii.Idaho.Illinois.Indiana.Iowa.Kansas.Kentucky.Louisiana.Maine.Maryland.Massachusetts.Michigan.Minnesota.Mississippi.Missouri.Montana.Nebraska.Nevada.New Hampshire.New Jersey.New Mexico.New York.North Carolina.North Dakota.Ohio.Oklahoma.Oregon.Pennsylvania.Rhode Island.South Carolina.South Dakota.Tennessee.Texas.Utah.Vermont.Virginia.Washington.West Virginia.Wisconsin.Wyoming`.split(`.`),state_abbr:`AL.AK.AZ.AR.CA.CO.CT.DE.FL.GA.HI.ID.IL.IN.IA.KS.KY.LA.ME.MD.MA.MI.MN.MS.MO.MT.NE.NV.NH.NJ.NM.NY.NC.ND.OH.OK.OR.PA.RI.SC.SD.TN.TX.UT.VT.VA.WA.WV.WI.WY`.split(`.`),street_address:{normal:`{{location.buildingNumber}} {{location.street}}`,full:`{{location.buildingNumber}} {{location.street}} {{location.secondaryAddress}}`},street_name:`10th Street.11th Street.12th Street.13th Street.14th Street.15th Street.16th Street.1st Avenue.1st Street.2nd Avenue.2nd Street.3rd Avenue.3rd Street.4th Avenue.4th Street.5th Avenue.5th Street.6th Avenue.6th Street.7th Avenue.7th Street.8th Avenue.8th Street.9th Street.A Street.Abbey Road.Adams Avenue.Adams Street.Airport Road.Albany Road.Albert Road.Albion Street.Alexandra Road.Alfred Street.Alma Street.Ash Close.Ash Grove.Ash Road.Ash Street.Aspen Close.Atlantic Avenue.Avenue Road.Back Lane.Baker Street.Balmoral Road.Barn Close.Barton Road.Bath Road.Bath Street.Bay Street.Beach Road.Bedford Road.Beech Close.Beech Drive.Beech Grove.Beech Road.Beechwood Avenue.Bell Lane.Belmont Road.Birch Avenue.Birch Close.Birch Grove.Birch Road.Blind Lane.Bluebell Close.Boundary Road.Bramble Close.Bramley Close.Bridge Road.Bridge Street.Broad Lane.Broad Street.Broadway.Broadway Avenue.Broadway Street.Brook Lane.Brook Road.Brook Street.Brookside.Buckingham Road.Cambridge Street.Canal Street.Castle Close.Castle Lane.Castle Road.Castle Street.Cavendish Road.Cedar Avenue.Cedar Close.Cedar Grove.Cedar Road.Cedar Street.Cemetery Road.Center Avenue.Center Road.Center Street.Central Avenue.Central Street.Chapel Close.Chapel Hill.Chapel Road.Chapel Street.Charles Street.Cherry Close.Cherry Street.Cherry Tree Close.Chester Road.Chestnut Close.Chestnut Drive.Chestnut Grove.Chestnut Street.Church Avenue.Church Close.Church Hill.Church Lane.Church Path.Church Road.Church Street.Church View.Church Walk.Claremont Road.Clarence Road.Clarence Street.Clarendon Road.Clark Street.Clay Lane.Cleveland Street.Cliff Road.Clifton Road.Clinton Street.College Avenue.College Street.Columbia Avenue.Commerce Street.Commercial Road.Commercial Street.Common Lane.Coronation Avenue.Coronation Road.County Line Road.County Road.Court Street.Cow Lane.Crescent Road.Cromwell Road.Cross Lane.Cross Street.Crown Street.Cumberland Street.Dale Street.Dark Lane.Davis Street.Depot Street.Derby Road.Derwent Close.Devonshire Road.Division Street.Douglas Road.Duke Street.E 10th Street.E 11th Street.E 12th Street.E 14th Street.E 1st Street.E 2nd Street.E 3rd Street.E 4th Avenue.E 4th Street.E 5th Street.E 6th Avenue.E 6th Street.E 7th Street.E 8th Street.E 9th Street.E Bridge Street.E Broad Street.E Broadway.E Broadway Street.E Cedar Street.E Center Street.E Central Avenue.E Church Street.E Elm Street.E Franklin Street.E Front Street.E Grand Avenue.E High Street.E Jackson Street.E Jefferson Street.E Main.E Main Street.E Maple Street.E Market Street.E North Street.E Oak Street.E Park Avenue.E Pine Street.E River Road.E South Street.E State Street.E Union Street.E Walnut Street.E Washington Avenue.E Washington Street.E Water Street.East Avenue.East Road.East Street.Edward Street.Elm Close.Elm Grove.Elm Road.Elm Street.Euclid Avenue.Fairfield Road.Farm Close.Ferry Road.Field Close.Field Lane.First Avenue.First Street.Fore Street.Forest Avenue.Forest Road.Fourth Avenue.Franklin Avenue.Franklin Road.Franklin Street.Front Street.Frontage Road.Garden Close.Garden Street.George Street.Gladstone Road.Glebe Close.Gloucester Road.Gordon Road.Gordon Street.Grand Avenue.Grange Avenue.Grange Close.Grange Road.Grant Street.Green Close.Green Lane.Green Street.Greenville Road.Greenway.Greenwood Road.Grove Lane.Grove Road.Grove Street.Hall Lane.Hall Street.Harrison Avenue.Harrison Street.Hawthorn Avenue.Hawthorn Close.Hazel Close.Hazel Grove.Heath Road.Heather Close.Henry Street.Heron Close.Hickory Street.High Road.High Street.Highfield Avenue.Highfield Close.Highfield Road.Highland Avenue.Hill Road.Hill Street.Hillside.Hillside Avenue.Hillside Close.Hillside Road.Holly Close.Honeysuckle Close.Howard Road.Howard Street.Jackson Avenue.Jackson Street.James Street.Jefferson Avenue.Jefferson Street.Johnson Street.Jubilee Close.Juniper Close.Kent Road.Kestrel Close.King Street.King's Road.Kingfisher Close.Kings Highway.Kingsway.Laburnum Grove.Lafayette Street.Lake Avenue.Lake Drive.Lake Road.Lake Street.Lancaster Road.Lansdowne Road.Larch Close.Laurel Close.Lawrence Street.Lee Street.Liberty Street.Lime Grove.Lincoln Avenue.Lincoln Highway.Lincoln Road.Lincoln Street.Locust Street.Lodge Close.Lodge Lane.London Road.Long Lane.Low Road.Madison Avenue.Madison Street.Main.Main Avenue.Main Road.Main Street.Main Street E.Main Street N.Main Street S.Main Street W.Manchester Road.Manor Close.Manor Drive.Manor Gardens.Manor Road.Manor Way.Maple Avenue.Maple Close.Maple Drive.Maple Road.Maple Street.Market Place.Market Square.Market Street.Marlborough Road.Marsh Lane.Martin Luther King Boulevard.Martin Luther King Drive.Martin Luther King Jr Boulevard.Mary Street.Mayfield Road.Meadow Close.Meadow Drive.Meadow Lane.Meadow View.Meadow Way.Memorial Drive.Middle Street.Mill Close.Mill Lane.Mill Road.Mill Street.Milton Road.Milton Street.Monroe Street.Moor Lane.Moss Lane.Mount Pleasant.Mount Street.Mulberry Street.N 1st Street.N 2nd Street.N 3rd Street.N 4th Street.N 5th Street.N 6th Street.N 7th Street.N 8th Street.N 9th Street.N Bridge Street.N Broad Street.N Broadway.N Broadway Street.N Cedar Street.N Center Street.N Central Avenue.N Chestnut Street.N Church Street.N College Street.N Court Street.N Division Street.N East Street.N Elm Street.N Franklin Street.N Front Street.N Harrison Street.N High Street.N Jackson Street.N Jefferson Street.N Lincoln Street.N Locust Street.N Main.N Main Avenue.N Main Street.N Maple Street.N Market Street.N Monroe Street.N Oak Street.N Park Street.N Pearl Street.N Pine Street.N Poplar Street.N Railroad Street.N State Street.N Union Street.N Walnut Street.N Washington Avenue.N Washington Street.N Water Street.Nelson Road.Nelson Street.New Lane.New Road.New Street.Newton Road.Nightingale Close.Norfolk Road.North Avenue.North Lane.North Road.North Street.Northfield Road.Oak Avenue.Oak Drive.Oak Lane.Oak Road.Oak Street.Oakfield Road.Oaklands.Old Lane.Old Military Road.Old Road.Old State Road.Orchard Drive.Orchard Lane.Orchard Road.Orchard Street.Oxford Road.Oxford Street.Park Avenue.Park Crescent.Park Drive.Park Lane.Park Place.Park Road.Park Street.Park View.Parkside.Pearl Street.Pennsylvania Avenue.Pine Close.Pine Grove.Pine Street.Pinfold Lane.Pleasant Street.Poplar Avenue.Poplar Close.Poplar Road.Poplar Street.Post Road.Pound Lane.Princes Street.Princess Street.Priory Close.Priory Road.Prospect Avenue.Prospect Place.Prospect Road.Prospect Street.Quarry Lane.Quarry Road.Queen's Road.Railroad Avenue.Railroad Street.Railway Street.Rectory Close.Rectory Lane.Richmond Close.Richmond Road.Ridge Road.River Road.River Street.Riverside.Riverside Avenue.Riverside Drive.Roman Road.Roman Way.Rowan Close.Russell Street.S 10th Street.S 14th Street.S 1st Avenue.S 1st Street.S 2nd Street.S 3rd Street.S 4th Street.S 5th Street.S 6th Street.S 7th Street.S 8th Street.S 9th Street.S Bridge Street.S Broad Street.S Broadway.S Broadway Street.S Center Street.S Central Avenue.S Chestnut Street.S Church Street.S College Street.S Division Street.S East Street.S Elm Street.S Franklin Street.S Front Street.S Grand Avenue.S High Street.S Jackson Street.S Jefferson Street.S Lincoln Street.S Main.S Main Avenue.S Main Street.S Maple Street.S Market Street.S Mill Street.S Monroe Street.S Oak Street.S Park Street.S Pine Street.S Railroad Street.S State Street.S Union Street.S Walnut Street.S Washington Avenue.S Washington Street.S Water Street.S West Street.Salisbury Road.Sandringham Road.Sandy Lane.School Close.School Lane.School Road.School Street.Second Avenue.Silver Street.Skyline Drive.Smith Street.Somerset Road.South Avenue.South Drive.South Road.South Street.South View.Spring Gardens.Spring Street.Springfield Close.Springfield Road.Spruce Street.St Andrew's Road.St Andrews Close.St George's Road.St John's Road.St Mary's Close.St Mary's Road.Stanley Road.Stanley Street.State Avenue.State Line Road.State Road.State Street.Station Road.Station Street.Stoney Lane.Sycamore Avenue.Sycamore Close.Sycamore Drive.Sycamore Street.Talbot Road.Tennyson Road.The Avenue.The Beeches.The Causeway.The Chase.The Coppice.The Copse.The Crescent.The Croft.The Dell.The Drive.The Fairway.The Glebe.The Grange.The Green.The Grove.The Hawthorns.The Lane.The Laurels.The Limes.The Maltings.The Meadows.The Mews.The Mount.The Oaks.The Orchard.The Oval.The Paddock.The Paddocks.The Poplars.The Ridgeway.The Ridings.The Rise.The Sidings.The Spinney.The Square.The Willows.The Woodlands.Third Avenue.Third Street.Tower Road.Trinity Road.Tudor Close.Union Avenue.Union Street.University Avenue.University Drive.Valley Road.Veterans Memorial Drive.Veterans Memorial Highway.Vicarage Close.Vicarage Lane.Vicarage Road.Victoria Place.Victoria Road.Victoria Street.Vine Street.W 10th Street.W 11th Street.W 12th Street.W 14th Street.W 1st Street.W 2nd Street.W 3rd Street.W 4th Avenue.W 4th Street.W 5th Street.W 6th Avenue.W 6th Street.W 7th Street.W 8th Street.W 9th Street.W Bridge Street.W Broad Street.W Broadway.W Broadway Avenue.W Broadway Street.W Center Street.W Central Avenue.W Chestnut Street.W Church Street.W Division Street.W Elm Street.W Franklin Street.W Front Street.W Grand Avenue.W High Street.W Jackson Street.W Jefferson Street.W Lake Street.W Main.W Main Street.W Maple Street.W Market Street.W Monroe Street.W North Street.W Oak Street.W Park Street.W Pine Street.W River Road.W South Street.W State Street.W Union Street.W Walnut Street.W Washington Avenue.W Washington Street.Walnut Close.Walnut Street.Warren Close.Warren Road.Washington Avenue.Washington Boulevard.Washington Road.Washington Street.Water Lane.Water Street.Waterloo Road.Waterside.Watery Lane.Waverley Road.Well Lane.Wellington Road.Wellington Street.West Avenue.West End.West Lane.West Road.West Street.West View.Western Avenue.Western Road.Westfield Road.Westgate.William Street.Willow Close.Willow Drive.Willow Grove.Willow Road.Willow Street.Windermere Road.Windmill Close.Windmill Lane.Windsor Avenue.Windsor Close.Windsor Drive.Wood Lane.Wood Street.Woodland Close.Woodland Road.Woodlands.Woodlands Avenue.Woodlands Close.Woodlands Road.Woodside.Woodside Road.Wren Close.Yew Tree Close.York Road.York Street`.split(`.`),street_pattern:[`{{person.firstName}} {{location.street_suffix}}`,`{{person.lastName}} {{location.street_suffix}}`,`{{location.street_name}}`],street_suffix:`Alley.Avenue.Branch.Bridge.Brook.Brooks.Burg.Burgs.Bypass.Camp.Canyon.Cape.Causeway.Center.Centers.Circle.Circles.Cliff.Cliffs.Club.Common.Corner.Corners.Course.Court.Courts.Cove.Coves.Creek.Crescent.Crest.Crossing.Crossroad.Curve.Dale.Dam.Divide.Drive.Drives.Estate.Estates.Expressway.Extension.Extensions.Fall.Falls.Ferry.Field.Fields.Flat.Flats.Ford.Fords.Forest.Forge.Forges.Fork.Forks.Fort.Freeway.Garden.Gardens.Gateway.Glen.Glens.Green.Greens.Grove.Groves.Harbor.Harbors.Haven.Heights.Highway.Hill.Hills.Hollow.Inlet.Island.Islands.Isle.Junction.Junctions.Key.Keys.Knoll.Knolls.Lake.Lakes.Land.Landing.Lane.Light.Lights.Loaf.Lock.Locks.Lodge.Loop.Mall.Manor.Manors.Meadow.Meadows.Mews.Mill.Mills.Mission.Motorway.Mount.Mountain.Mountains.Neck.Orchard.Oval.Overpass.Park.Parks.Parkway.Parkways.Pass.Passage.Path.Pike.Pine.Pines.Place.Plain.Plains.Plaza.Point.Points.Port.Ports.Prairie.Radial.Ramp.Ranch.Rapid.Rapids.Rest.Ridge.Ridges.River.Road.Roads.Route.Row.Rue.Run.Shoal.Shoals.Shore.Shores.Skyway.Spring.Springs.Spur.Spurs.Square.Squares.Station.Stravenue.Stream.Street.Streets.Summit.Terrace.Throughway.Trace.Track.Trafficway.Trail.Tunnel.Turnpike.Underpass.Union.Unions.Valley.Valleys.Via.Viaduct.View.Views.Village.Villages.Ville.Vista.Walk.Walks.Wall.Way.Ways.Well.Wells`.split(`.`)},lorem:{word:`a.ab.abbas.abduco.abeo.abscido.absconditus.absens.absorbeo.absque.abstergo.absum.abundans.abutor.accedo.accendo.acceptus.accommodo.accusamus.accusantium.accusator.acer.acerbitas.acervus.acidus.acies.acquiro.acsi.ad.adamo.adaugeo.addo.adduco.ademptio.adeo.adeptio.adfectus.adfero.adficio.adflicto.adhaero.adhuc.adicio.adimpleo.adinventitias.adipisci.adipiscor.adiuvo.administratio.admiratio.admitto.admoneo.admoveo.adnuo.adopto.adsidue.adstringo.adsuesco.adsum.adulatio.adulescens.aduro.advenio.adversus.advoco.aedificium.aeger.aegre.aegrotatio.aegrus.aeneus.aequitas.aequus.aer.aestas.aestivus.aestus.aetas.aeternus.ager.aggero.aggredior.agnitio.agnosco.ago.ait.aiunt.alias.alienus.alii.alioqui.aliqua.aliquam.aliquid.alius.allatus.alo.alter.altus.alveus.amaritudo.ambitus.ambulo.amet.amicitia.amiculum.amissio.amita.amitto.amo.amor.amoveo.amplexus.amplitudo.amplus.ancilla.angelus.angulus.angustus.animadverto.animi.animus.annus.anser.ante.antea.antepono.antiquus.aperiam.aperio.aperte.apostolus.apparatus.appello.appono.appositus.approbo.apto.aptus.apud.aqua.ara.aranea.arbitro.arbor.arbustum.arca.arceo.arcesso.architecto.arcus.argentum.argumentum.arguo.arma.armarium.aro.ars.articulus.artificiose.arto.arx.ascisco.ascit.asper.asperiores.aspernatur.aspicio.asporto.assentator.assumenda.astrum.at.atavus.ater.atque.atqui.atrocitas.atrox.attero.attollo.attonbitus.auctor.auctus.audacia.audax.audentia.audeo.audio.auditor.aufero.aureus.aurum.aut.autem.autus.auxilium.avaritia.avarus.aveho.averto.baiulus.balbus.barba.bardus.basium.beatae.beatus.bellicus.bellum.bene.beneficium.benevolentia.benigne.bestia.bibo.bis.blandior.blanditiis.bonus.bos.brevis.cado.caecus.caelestis.caelum.calamitas.calcar.calco.calculus.callide.campana.candidus.canis.canonicus.canto.capillus.capio.capitulus.capto.caput.carbo.carcer.careo.caries.cariosus.caritas.carmen.carpo.carus.casso.caste.casus.catena.caterva.cattus.cauda.causa.caute.caveo.cavus.cedo.celebrer.celer.celo.cena.cenaculum.ceno.censura.centum.cerno.cernuus.certe.certus.cervus.cetera.charisma.chirographum.cibo.cibus.cicuta.cilicium.cimentarius.ciminatio.cinis.circumvenio.cito.civis.civitas.clam.clamo.claro.clarus.claudeo.claustrum.clementia.clibanus.coadunatio.coaegresco.coepi.coerceo.cogito.cognatus.cognomen.cogo.cohaero.cohibeo.cohors.colligo.collum.colo.color.coma.combibo.comburo.comedo.comes.cometes.comis.comitatus.commemoro.comminor.commodi.commodo.communis.comparo.compello.complectus.compono.comprehendo.comptus.conatus.concedo.concido.conculco.condico.conduco.confero.confido.conforto.confugo.congregatio.conicio.coniecto.conitor.coniuratio.conor.conqueror.conscendo.consectetur.consequatur.consequuntur.conservo.considero.conspergo.constans.consuasor.contabesco.contego.contigo.contra.conturbo.conventus.convoco.copia.copiose.cornu.corona.corporis.corpus.correptius.corrigo.corroboro.corrumpo.corrupti.coruscus.cotidie.crapula.cras.crastinus.creator.creber.crebro.credo.creo.creptio.crepusculum.cresco.creta.cribro.crinis.cruciamentum.crudelis.cruentus.crur.crustulum.crux.cubicularis.cubitum.cubo.cui.cuius.culpa.culpo.cultellus.cultura.cum.cumque.cunabula.cunae.cunctatio.cupiditas.cupiditate.cupio.cuppedia.cupressus.cur.cura.curatio.curia.curiositas.curis.curo.curriculum.currus.cursim.curso.cursus.curto.curtus.curvo.custodia.damnatio.damno.dapifer.debeo.debilito.debitis.decens.decerno.decet.decimus.decipio.decor.decretum.decumbo.dedecor.dedico.deduco.defaeco.defendo.defero.defessus.defetiscor.deficio.defleo.defluo.defungo.degenero.degero.degusto.deinde.delectatio.delectus.delego.deleniti.deleo.delibero.delicate.delinquo.deludo.demens.demergo.demitto.demo.demonstro.demoror.demulceo.demum.denego.denique.dens.denuncio.denuo.deorsum.depereo.depono.depopulo.deporto.depraedor.deprecator.deprimo.depromo.depulso.deputo.derelinquo.derideo.deripio.deserunt.desidero.desino.desipio.desolo.desparatus.despecto.dicta.dignissimos.distinctio.dolor.dolore.dolorem.doloremque.dolores.doloribus.dolorum.ducimus.ea.eaque.earum.eius.eligendi.enim.eos.error.esse.est.et.eum.eveniet.ex.excepturi.exercitationem.expedita.explicabo.facere.facilis.fuga.fugiat.fugit.harum.hic.id.illo.illum.impedit.in.incidunt.infit.inflammatio.inventore.ipsa.ipsam.ipsum.iste.itaque.iure.iusto.labore.laboriosam.laborum.laudantium.libero.magnam.magni.maiores.maxime.minima.minus.modi.molestiae.molestias.mollitia.nam.natus.necessitatibus.nemo.neque.nesciunt.nihil.nisi.nobis.non.nostrum.nulla.numquam.occaecati.ocer.odio.odit.officia.officiis.omnis.optio.paens.pariatur.patior.patria.patrocinor.patruus.pauci.paulatim.pauper.pax.peccatus.pecco.pecto.pectus.pecus.peior.pel.perferendis.perspiciatis.placeat.porro.possimus.praesentium.provident.quae.quaerat.quam.quas.quasi.qui.quia.quibusdam.quidem.quis.quisquam.quo.quod.quos.ratione.recusandae.reiciendis.rem.repellat.repellendus.reprehenderit.repudiandae.rerum.saepe.sapiente.sed.sequi.similique.sint.sit.socius.sodalitas.sol.soleo.solio.solitudo.solium.sollers.sollicito.solum.solus.soluta.solutio.solvo.somniculosus.somnus.sonitus.sono.sophismata.sopor.sordeo.sortitus.spargo.speciosus.spectaculum.speculum.sperno.spero.spes.spiculum.spiritus.spoliatio.sponte.stabilis.statim.statua.stella.stillicidium.stipes.stips.sto.strenuus.strues.studio.stultus.suadeo.suasoria.sub.subito.subiungo.sublime.subnecto.subseco.substantia.subvenio.succedo.succurro.sufficio.suffoco.suffragium.suggero.sui.sulum.sum.summa.summisse.summopere.sumo.sumptus.sunt.supellex.super.suppellex.supplanto.suppono.supra.surculus.surgo.sursum.suscipio.suscipit.suspendo.sustineo.suus.synagoga.tabella.tabernus.tabesco.tabgo.tabula.taceo.tactus.taedium.talio.talis.talus.tam.tamdiu.tamen.tametsi.tamisium.tamquam.tandem.tantillus.tantum.tardus.tego.temeritas.temperantia.templum.tempora.tempore.temporibus.temptatio.tempus.tenax.tendo.teneo.tener.tenetur.tenuis.tenus.tepesco.tepidus.ter.terebro.teres.terga.tergeo.tergiversatio.tergo.tergum.termes.terminatio.tero.terra.terreo.territo.terror.tersus.tertius.testimonium.texo.textilis.textor.textus.thalassinus.theatrum.theca.thema.theologus.thermae.thesaurus.thesis.thorax.thymbra.thymum.tibi.timidus.timor.titulus.tolero.tollo.tondeo.tonsor.torqueo.torrens.tot.totam.totidem.toties.totus.tracto.trado.traho.trans.tredecim.tremo.trepide.tres.tribuo.tricesimus.triduana.tripudio.tristis.triumphus.trucido.truculenter.tubineus.tui.tum.tumultus.tunc.turba.turbo.turpis.tutamen.tutis.tyrannus.uberrime.ubi.ulciscor.ullam.ullus.ulterius.ultio.ultra.umbra.umerus.umquam.una.unde.undique.universe.unus.urbanus.urbs.uredo.usitas.usque.ustilo.ustulo.usus.ut.uter.uterque.utilis.utique.utor.utpote.utrimque.utroque.utrum.uxor.vaco.vacuus.vado.vae.valde.valens.valeo.valetudo.validus.vallum.vapulus.varietas.varius.vehemens.vel.velit.velociter.velum.velut.venia.veniam.venio.ventito.ventosus.ventus.venustas.ver.verbera.verbum.vere.verecundia.vereor.vergo.veritas.veritatis.vero.versus.verto.verumtamen.verus.vesco.vesica.vesper.vespillo.vester.vestigium.vestrum.vetus.via.vicinus.vicissitudo.victoria.victus.videlicet.video.viduo.vigilo.vigor.vilicus.vilis.vilitas.villa.vinco.vinculum.vindico.vinitor.vinum.vir.virga.virgo.viridis.viriliter.virtus.vis.viscus.vita.vitae.vitiosus.vitium.vito.vivo.vix.vobis.vociferor.voco.volaticus.volo.volubilis.voluntarius.volup.voluptas.voluptate.voluptatem.voluptates.voluptatibus.voluptatum.volutabrum.volva.vomer.vomica.vomito.vorago.vorax.voro.vos.votum.voveo.vox.vulariter.vulgaris.vulgivagus.vulgo.vulgus.vulnero.vulnus.vulpes.vulticulus.xiphias`.split(`.`)},metadata:{title:`English`,code:`en`,language:`en`,endonym:`English`,dir:`ltr`,script:`Latn`},music:{album:[`\"Awaken, My Love!\"`,`(What's The Story) Morning Glory?`,`- Tragedy +`,`13 Reasons Why (Season 3)`,`21st Century Breakdown`,`30 De Febrero`,`432 Hz Deep Healing`,`5-Star`,`528 Hz Meditation Music`,`54+1`,`8 Mile`,`808s & Heartbreak`,`9 To 5 And Odd Jobs`,`A Beautiful Lie`,`A Day At The Races`,`A Day Without Rain`,`A Fever You Can't Sweat Out`,`A Gangsta's Pain`,`A Gift & A Curse`,`A Hard Day's Night`,`A Head Full Of Dreams`,`A Kind Of Magic`,`A Million Ways To Murder`,`A Moment Apart`,`A Song For Every Moon`,`A Thousand Suns`,`A Winter Romance`,`ABBA`,`AI YoungBoy`,`AJ Tracey`,`Act One`,`After Hours`,`Agent Provocateur`,`All About You`,`All I Know So Far: Setlist`,`All Or Nothing`,`All Out`,`All Over The Place`,`All Stand Together`,`All The Lost Souls`,`All The Things I Never Said`,`All Things Must Pass`,`Alleen`,`Alright, Still`,`Alta Suciedad`,`America`,`American Heartbreak`,`American Teen`,`And Justice For None`,`Animal Songs`,`Another Friday Night`,`Anything Goes`,`Ao Vivo Em São Paulo`,`Ao Vivo No Ibirapuera`,`Apricot Princess`,`Aqui E Agora (Ao Vivo)`,`Arcane League Of Legends`,`Ardipithecus`,`Aretha Now`,`Around The Fur`,`Arrival`,`Artist 2.0`,`As She Pleases`,`Ascend`,`Ashlyn`,`Astro Lounge`,`At Night, Alone.`,`At. Long. Last. ASAP`,`Atlas`,`Audioslave`,`Aura`,`Austin`,`Awake`,`Away From The Sun`,`Ayayay!`,`Baby On Baby`,`Back For Everything`,`Back From The Edge`,`Back In Black`,`Back To Black`,`Back To The Game`,`Bad`,`Bahía Ducati`,`Baila`,`Barbie The Album`,`Battleground`,`Bayou Country`,`Bcos U Will Never B Free`,`Be`,`Be Here Now`,`Beautiful Mind`,`Beautiful Thugger Girls`,`Beautiful Trauma`,`Beauty And The Beast`,`Beggars Banquet`,`Being Funny In A Foreign Language`,`Berlin Lebt`,`Berry Is On Top`,`Best White Noise For Baby Sleep - Loopable With No Fade`,`Big Baby DRAM`,`Bigger, Better, Faster, More!`,`Billy Talent II`,`Black Star Elephant`,`Blackout`,`Blank Face LP`,`Bleach`,`Blizzard Of Ozz`,`Blonde`,`Blood Sugar Sex Magik`,`Bloom`,`Blowin' Your Mind!`,`Blu Celeste`,`Blue`,`Blue Banisters`,`Blue Hawaii`,`Blue Neighbourhood`,`Bluebird Days`,`Bobby Tarantino`,`Bobby Tarantino II`,`Bon Iver`,`Born Pink`,`Born To Run`,`Brand New Eyes`,`Break The Cycle`,`Breakfast In America`,`Breakthrough`,`Brett Young`,`Bridge Over Troubled Water`,`Bright: The Album`,`Brol`,`Buds`,`Buena Vista Social Club`,`Built On Glass`,`Bury Me At Makeout Creek`,`Busyhead`,`By The Way`,`CB6`,`CNCO`,`California Sunrise`,`Californication`,`Call Me Irresponsible`,`Calm`,`Camino Palmero`,`Camp`,`Caracal`,`Carbon Fiber Hits`,`Carnival`,`Carry On`,`Cartel De Santa`,`Certified Lover Boy`,`Chaaama`,`Chama Meu Nome`,`Chapter 1: Snake Oil`,`Chapter 2: Swamp Savant`,`Chapter One`,`Charlie's Angels`,`Cherry Bomb`,`Chief`,`Chocolate Factory`,`Chosen`,`Chris Brown`,`Christina Aguilera`,`Chromatica`,`Church`,`City Of Evil`,`Clandestino`,`Clouds`,`Coco`,`Collision Course`,`Colour Vision`,`Combat Rock`,`Come Around Sundown`,`Come Away With Me`,`Come Home The Kids Miss You`,`Come What(ever) May`,`Commando`,`Common Sense`,`Communion`,`Conditions`,`Confident`,`Confrontation`,`Control The Streets, Volume 2`,`Corinne Bailey Rae`,`Costello Music`,`Cottonwood`,`Covers, Vol. 2`,`Cozy Tapes Vol. 2: Too Cozy`,`Crash Talk`,`Crazy Love`,`Crazysexycool`,`Crowded House`,`Cruisin' With Junior H`,`Culture`,`Current Mood`,`DS2`,`Dale`,`Danger Days: The True Lives Of The Fabulous Killjoys`,`Dangerous Woman`,`Dangerous: The Double Album`,`Dark Horse`,`Day69`,`Daydream`,`De Fiesta`,`De Viaje`,`DeAnn`,`Death Race For Love`,`Delirium`,`Delta`,`Demidevil`,`Depression Cherry`,`Descendants`,`Desgenerados Mixtape`,`Destin`,`Destiny Fulfilled`,`Desvelado`,`Detroit 2`,`Dex Meets Dexter`,`Dharma`,`Die A Legend`,`Different World`,`Dig Your Roots`,`Digital Druglord`,`Dirt`,`Disclaimer I / II`,`Discovery`,`Disraeli Gears`,`Disumano`,`Dizzy Up The Girl`,`Don't Play That Song`,`Donda`,`Donde Quiero Estar`,`Doo-Wops & Hooligans`,`Down The Way`,`Dr. Feelgood`,`Dream Your Life Away`,`Dreaming Out Loud`,`Drip Harder`,`Drive`,`Drones`,`Dropped Outta College`,`Drowning`,`Dua Warna Cinta`,`Dulce Beat`,`Dusty In Memphis`,`Dutty Rock`,`Dying To Live`,`ENR`,`East Atlanta Love Letter`,`Editorial`,`Edna`,`El Abayarde`,`El Amor En Los Tiempos Del Perreo`,`El Camino`,`El Comienzo`,`El Dorado`,`El Karma`,`El Mal Querer`,`El Malo`,`El Trabajo Es La Suerte`,`El Viaje De Copperpot`,`Electric Ladyland`,`Emotion`,`En Tus Planes`,`Endless Summer Vacation`,`Enter The Wu-Tang (36 Chambers)`,`Equals (=)`,`Estrella`,`Euphoria`,`Europop`,`Evermore`,`Every Kingdom`,`Everyday Life`,`Evolve`,`Expectations`,`Face Yourself`,`Facelift`,`Fallin'`,`Fancy You`,`Fantasía`,`Favourite Worst Nightmare`,`Fear Of The Dark`,`Fearless`,`Feel Something`,`Feels Like Home`,`Femme Fatale`,`Ferxxocalipsis`,`Fifty Shades Darker`,`Fifty Shades Freed`,`Fifty Shades Of Grey`,`Final (Vol.1)`,`Finding Beauty In Negative Spaces`,`Fine Line`,`First Impressions Of Earth`,`First Steps`,`Five Seconds Flat`,`Folklore`,`For Emma, Forever Ago`,`Forajido EP 1`,`Forever`,`Forever Young`,`Formula Of Love: O+T=<3`,`Free 6lack`,`Freudian`,`Frozen II`,`Full Moon Fever`,`Funhouse`,`Funk Wav Bounces Vol.1`,`Future History`,`FutureSex/LoveSounds`,`Fuzzybrain`,`Gallery`,`Gangsta's Paradise`,`Gemini`,`Gemini Rights`,`Generationwhy`,`Get A Grip`,`Get Up`,`Gettin' Old`,`Girl`,`Gladiator`,`Glisten`,`Globalization`,`Gloria`,`Glory Days`,`God's Project`,`Gold Skies`,`Golden`,`Good Evening`,`Good Thing`,`Goodbye Yellow Brick Road`,`Gossip Columns`,`Got Your Six`,`Graceland`,`Graduation`,`Grand Champ`,`Grandson, Vol. 1`,`Green River`,`Guerra`,`Ha*Ash Primera Fila - Hecho Realidad`,`Haiz`,`Hamilton`,`Happy Endings`,`Harry Styles`,`Hasta La Raíz`,`Hatful Of Hollow`,`Head In The Clouds`,`Heard It In A Past Life`,`Heart Shaped World`,`Heartbeat City`,`Heartbreak On A Full Moon / Cuffing Season - 12 Days Of Christmas`,`Heaven Or Hell`,`Heaven knows`,`Hellbilly Deluxe`,`Hellboy`,`Help!`,`Her Loss`,`Here Comes The Cowboy`,`Hey World`,`High School Musical`,`High Tide In The Snake's Nest`,`Historias De Un Capricornio`,`Hndrxx`,`Hombres G (Devuélveme A Mi Chica)`,`Homerun`,`Homework`,`Hot Fuss`,`Hot Pink`,`Hot Sauce / Hello Future`,`Hot Space`,`Hotel Diablo`,`Houses Of The Holy`,`How Big, How Blue, How Beautiful`,`How I'm Feeling`,`How To Be Human`,`How To Save A Life`,`How To: Friend, Love, Freefall`,`Hozier`,`Human`,`Huncho Jack, Jack Huncho`,`Hunter Hayes`,`Hysteria`,`I Am...Sasha Fierce`,`I Can't Handle Change`,`I Met You When I Was 18. (The Playlist)`,`I Never Liked You`,`I Never Loved A Man The Way I Love You`,`I See You`,`I Think You Think Too Much Of Me`,`I Used To Know Her`,`I Used To Think I Could Fly`,`I'm Comin' Over`,`Ich & Keine Maske`,`If You Can Believe Your Eyes & Ears`,`Il Ballo Della Vita`,`Ill Communication`,`Imagination & The Misfit Kid`,`Imagine`,`Immortalized`,`In A Perfect World...`,`In Colour`,`In My Own Words`,`In Rainbows`,`In Return`,`In The Lonely Hour`,`Infest`,`Innuendo`,`Inter Shibuya - La Mafia`,`Interstellar`,`Is This It`,`It Was Written`,`It's Not Me, It's You`,`It's Only Me`,`Ivory`,`JackBoys`,`Jamie`,`Jazz`,`Jibrail & Iblis`,`Jordi`,`Jordin Sparks`,`Jose`,`Just As I Am`,`Just Cause Y'all Waited 2`,`Just Like You`,`Justified`,`K-12 / After School`,`K.I.D.S.`,`K.O.`,`K.O.B. Live`,`KG0516`,`KOD`,`Kane Brown`,`Kid A`,`Kid Krow`,`Kids See Ghosts`,`Kids in Love`,`Kinks (You Really Got Me)`,`Know-It-All`,`Konvicted`,`Kring`,`LANY`,`LM5`,`La Criatura`,`La Flaca`,`La Melodia De La Calle`,`La Revolucion`,`Lady Lady`,`Lady Wood`,`Langit Mong Bughaw`,`Las Que No Iban A Salir`,`Last Day Of Summer`,`Last Year Was Complicated`,`Layers`,`Layover`,`Lazarus`,`Led Zeppelin`,`Left Of The Middle`,`Leftoverture`,`Legends Never Die`,`Let's Skip To The Wedding`,`Let's Talk About Love`,`Licensed To Ill`,`Life In Cartoon Motion`,`Life Thru A Lens`,`Lifelines`,`Like..?`,`Lil Big Pac`,`Lil Boat`,`Lil Boat 2`,`Lil Boat 3.5`,`Lil Kiwi`,`Lil Pump`,`Limon Y Sal`,`Listen Without Prejudice`,`Little Voice`,`Live On Red Barn Radio I & II`,`Lo Que Andábamos Buscando`,`Lofi Fruits Music 2021`,`London Calling`,`Los Campeones Del Pueblo`,`Los Extraterrestres`,`Los Favoritos 2`,`Lost`,`Lost In Love`,`Loud`,`Love Sick`,`Love Story`,`Love Stuff`,`Love Yourself: Tear`,`Lover`,`Luca Brasi 2: Gangsta Grillz`,`Lust For Life`,`Luv Is Rage`,`M!ssundaztood`,`Ma Fleur`,`Made In Lagos`,`Mafia Bidness`,`Magazines Or Novels`,`Mainstream Sellout`,`Majestic`,`Make It Big`,`Make Yourself`,`Making Mirrors`,`Mamma Mia! Here We Go Again`,`Man Of The Woods`,`Manic`,`Me And My Gang`,`Meduza`,`Meet The Orphans`,`Meet The Woo`,`Melim`,`Mellon Collie And The Infinite Sadness`,`Melly vs. Melvin`,`Memories...Do Not Open`,`Menagerie`,`Midnights`,`Minecraft - Volume Alpha`,`Minutes To Midnight`,`Mix Pa Llorar En Tu Cuarto`,`Modo Avión`,`Monkey Business`,`Mono.`,`Montana`,`Montevallo`,`Moosetape`,`Morning View`,`Motivan2`,`Moving Pictures`,`Mr. Davis`,`Mr. Misunderstood`,`Mulan`,`Mura Masa`,`Music From The Edge Of Heaven`,`Music Of The Sun`,`My House`,`My Kinda Party`,`My Krazy Life`,`My Liver Will Handle What My Heart Can't`,`My Moment`,`My Own Lane`,`My Turn`,`My Worlds`,`Na Praia (Ao Vivo)`,`Nakamura`,`Nation Of Two`,`Navegando`,`Need You Now`,`Neon Future III`,`Neotheater`,`Never Trust A Happy Song`,`New English`,`News Of The World`,`Nicole`,`Night & Day`,`Nimmerland`,`Nimrod`,`Nine Track Mind`,`No Angel`,`No Me Pidas Perdón`,`No More Drama`,`No Protection`,`No Strings Attached`,`No Time To Die`,`Nobody Is Listening`,`Non Stop Erotic Cabaret`,`Non-Fiction`,`Northsbest`,`Nostalgia`,`Nostalgia, Ultra`,`Notes On A Conditional Form`,`Now Or Never`,`O Embaixador (Ao Vivo)`,`O My Heart`,`OK Computer`,`Ocean`,`Ocean Avenue`,`Ocean Eyes`,`Odisea`,`Oh My My`,`Oh, What A Life`,`On The 6`,`One In A Million`,`One More Light`,`One Of These Nights`,`Open Up And Say...Ahh!`,`Ordinary Man`,`Origins`,`Out Of The Blue`,`Over It`,`OzuTochi`,`PTSD`,`Pa Las Baby's Y Belikeada`,`Pa Que Hablen`,`Pa' Luego Es Tarde`,`Pa' Otro La 'O`,`Pablo Honey`,`Pain Is Love`,`Pain Is Temporary`,`Painting Pictures`,`Palmen Aus Plastik 2`,`Para Mi Ex`,`Para Siempre`,`Partners In Crime`,`Pawn Shop`,`Pegasus / Neon Shark VS Pegasus`,`Pet Sounds`,`Piece By Piece`,`Pier Pressure`,`Pineapple Sunrise`,`Piseiro 2020 Ao Vivo`,`Planet Pit`,`Plans`,`Play Deep`,`Playa Saturno`,`Por Primera Vez`,`Por Vida`,`Positions`,`Post Human: Survival Horror`,`Poster Girl`,`Prazer, Eu Sou Ferrugem (Ao Vivo)`,`Pretty Girls Like Trap Music`,`Pretty. Odd.`,`Prince Royce`,`Prisma`,`Prometo`,`Providence`,`Puberty 2`,`Punisher`,`Purgatory`,`Purple Rain`,`Que Bendición`,`Queen Of The Clouds`,`Quiero Volver`,`R&G (Rhythm & Gangsta): The Masterpiece`,`Raise!`,`Ransom 2`,`Rapunzel`,`Rare`,`Re Mida`,`Ready To Die`,`Realer`,`Rebelde`,`Reclassified`,`Recovery`,`Recuerden Mi Estilo`,`Reggatta De Blanc`,`Regulate… G Funk Era`,`Reik`,`Reise, Reise`,`Relapse`,`Relaxing Piano Lullabies And Natural Sleep Aid For Baby Sleep Music`,`Religiously. The Album.`,`Replay`,`Results May Vary`,`Revenge`,`Revolve`,`Revolver`,`Ricky Martin`,`Rien 100 Rien`,`Ripcord`,`Rise And Fall, Rage And Grace`,`Rise Of An Empire`,`Robin Hood: Prince Of Thieves`,`Rock N Roll Jesus`,`Romance`,`Romances`,`Ronan`,`Royal Blood`,`Rumours`,`Sad Boyz 4 Life II`,`San Lucas`,`Santana World`,`Saturation III`,`Sauce Boyz`,`Savage Mode`,`Saxobeats`,`Scarlet`,`Schwarzes Herz`,`Seal The Deal & Let's Boogie`,`Section.80`,`Segundo Romance`,`Sehnsucht`,`Shake The Snow Globe`,`Shang-Chi And The Legend Of The Ten Rings: The Album`,`Sheer Heart Attack`,`Shiesty Season`,`Shock Value`,`Shoot For The Stars, Aim For The Moon`,`Signed Sealed And Delivered`,`Signos`,`Silent Alarm`,`Simplemente Gracias`,`Sin Bandera`,`Sing Me A Lullaby, My Sweet Temptation`,`Sinner`,`Sirio`,`Sit Still, Look Pretty`,`Skin`,`Slowhand`,`Smash`,`Smithereens`,`Snow Cougar`,`Social Cues`,`Some Girls`,`Song Hits From Holiday Inn`,`Songs For Dads`,`Songs For The Deaf`,`Songs For You, Truths For Me`,`Songs In The Key Of Life`,`Souled Out`,`Sounds Of Silence`,`Soy Como Quiero Ser`,`Speak Now`,`Speak Your Mind`,`Speakerboxxx/The Love Below`,`Spider-Man: Into The Spider-Verse`,`Split Decision`,`Square Up`,`SremmLife`,`Starboy`,`Stay +`,`Stay Dangerous`,`Staying At Tamara's`,`Steppenwolf`,`Stick Season`,`Still Bill`,`Straight Outta Compton`,`Strange Trails`,`Stronger`,`Suavemente`,`Sublime`,`Suck It and See`,`Sucker`,`Sueños`,`Sugar`,`Summer Forever`,`Summer,`,`Sunset Season`,`Sunshine On Leith`,`Surfer Rosa`,`Sweet Talker`,`SweetSexySavage`,`System Of A Down`,`TA13OO`,`Talk That Talk`,`Talking Heads: 77`,`Tangled Up`,`Tango In The Night`,`Taxi Driver`,`Taylor Swift`,`Tell Me It's Real`,`Ten`,`Ten Summoner's Tales`,`Terra Sem Cep (Ao Vivo)`,`Terral`,`Testing`,`Tha Carter III`,`Thank Me Later`,`That's Christmas To Me`,`The Academy`,`The Adventures Of Bobby Ray`,`The Album`,`The Andy Williams Christmas Album`,`The Aviary`,`The Balcony`,`The Battle Of Los Angeles`,`The Beatles (White Album)`,`The Beginning`,`The Better Life`,`The Big Day`,`The Book`,`The Breakfast Club`,`The Cars`,`The Colour And The Shape`,`The Death Of Peace Of Mind`,`The Diary Of Alicia Keys`,`The Documentary`,`The Emancipation Of Mimi`,`The Eminem Show`,`The End Of Everything`,`The Final Countdown`,`The Forever Story`,`The Foundation`,`The Goat`,`The Golden Child`,`The Good Parts`,`The Greatest Showman: Reimagined`,`The Green Trip`,`The Hardest Love`,`The Head And The Heart`,`The Human Condition`,`The Infamous`,`The Lady Killer`,`The Last Don II`,`The Lion King`,`The Lockdown Sessions`,`The London Sessions`,`The Lord Of The Rings: The Fellowship Of The Ring`,`The Lost Boy`,`The Magic Of Christmas / The Christmas Song`,`The Marshall Mathers LP`,`The Martin Garrix Collection`,`The Melodic Blue`,`The Mockingbird & The Crow`,`The Pains Of Growing`,`The Papercut Chronicles`,`The Perfect Luv Tape`,`The Pinkprint`,`The Predator`,`The Queen Is Dead`,`The ReVe Festival: Finale`,`The Rise And Fall Of Ziggy Stardust And The Spiders From Mars`,`The Rising Tied`,`The River`,`The Stone Roses`,`The Story Of Us`,`The Stranger`,`The Sufferer & The Witness`,`The Sun's Tirade`,`The Temptations Sing Smokey`,`The Time Of Our Lives`,`The Way It Is`,`The Wonderful World Of Sam Cooke`,`The Writing's On The Wall`,`The Young And The Hopeless`,`Therapy`,`Therapy Session`,`There Is More (Live)`,`There Is Nothing Left To Lose`,`These Things Happen`,`Third Eye Blind`,`This Is Me...Then`,`This Unruly Mess I've Made`,`Threat to Survival`,`Thrill Of The Chase`,`Time`,`Timelezz`,`To Let A Good Thing Die`,`To Pimp A Butterfly`,`Toast To Our Differences`,`Todos Os Cantos, Vol. 1 (Ao Vivo)`,`Too Hard`,`Torches X`,`Total Xanarchy`,`Toto IV`,`Toulouse Street`,`Tourist History`,`Toxicity`,`Tragic Kingdom`,`Tranquility Base Hotel & Casino`,`Traumazine`,`Traveler`,`Tres Hombres`,`Trip At Knight`,`Tron: Legacy`,`True Blue`,`True Colors`,`Trustfall`,`Tu Veneno Mortal`,`Tudo Em Paz`,`Ubuntu`,`Ugly Is Beautiful`,`Ultra 2021`,`Una Mattina`,`Unbroken`,`Uncovered`,`Under Pressure`,`Unsponsored Content`,`Unstoppable`,`Unwritten`,`Urban Flora`,`Urban Hymns`,`Use Your Illusion I`,`Veneer`,`Versions Of Me`,`Vibes`,`Vice Versa`,`Vices & Virtues`,`Victory`,`Vida`,`Viejo Marihuano`,`Visualízate`,`Walk Away`,`Walk Me Home...`,`Watch The Throne`,`Wave`,`We Broke The Rules`,`We Love You Tecca`,`We Love You Tecca 2`,`Weezer (Green Album)`,`Welcome To The Madhouse`,`Westlife`,`What A Time To Be Alive`,`What Do You Think About The Car?`,`What Is Love?`,`What Makes You Country`,`What Separates Me From You`,`What You See Is What You Get / What You See Ain't Always What You Get`,`When It's Dark Out`,`When We All Fall Asleep, Where Do We Go?`,`Where The Light Is`,`While The World Was Burning`,`White Pony`,`Whitney`,`Who Really Cares`,`Who You Are`,`Who's Next`,`Wide Open`,`Wilder Mind`,`Wildfire`,`Willy And The Poor Boys`,`Wings / You Never Walk Alone`,`Wish`,`Wish You Were Here`,`Without Warning`,`Wonder`,`X&Y`,`XOXO`,`Y Que Quede Claro`,`YBN: The Mixtape`,`Yo Creo`,`You Will Regret`,`Youngblood`,`Younger Now`,`Youth`],artist:[`$NOT`,`$uicideboy$`,`(G)I-DLE`,`*NSYNC`,`2 Chainz`,`21 Savage`,`6LACK`,`? & The Mysterians`,`A Boogie Wit da Hoodie`,`A Taste of Honey`,`A Tribe Called Quest`,`A-Ha`,`ABBA`,`AC/DC`,`AJ Tracey`,`ATEEZ`,`Ace of Base`,`Adele`,`Ado`,`Aerosmith`,`Agust D`,`Aitana`,`Al Dexter & his Troopers`,`Al Green`,`Al Jolson`,`Al Martino`,`Alan Jackson`,`Alannah Myles`,`Alec Benjamin`,`Alejandro Sanz`,`Alesso`,`Alfredo Olivas`,`Ali Gatie`,`Alice In Chains`,`Alina Baraz`,`All Time Low`,`All-4-One`,`All-American Rejects`,`Alok`,`America`,`American Quartet`,`Amii Stewart`,`Amitabh Bhattacharya`,`Ana Castela`,`Anderson .Paak`,`Andy Grammer`,`Angus & Julia Stone`,`Anirudh Ravichander`,`Anita Ward`,`Anitta`,`Anton Karas`,`Anuel AA`,`Arcade Fire`,`Archie Bell & The Drells`,`Archies`,`Aretha Franklin`,`Arizona Zervas`,`Armin van Buuren`,`Arthur Conley`,`Artie Shaw`,`Asake`,`Asees Kaur`,`Association`,`Atif Aslam`,`Audioslave`,`Aventura`,`Avril Lavigne`,`Aya Nakamura`,`B J Thomas`,`B.o.B`,`BLACKPINK`,`BONES`,`BROCKHAMPTON`,`BTS`,`Baby Keem`,`Bachman-Turner Overdrive`,`Backstreet Boys`,`Bad Bunny`,`Badshah`,`Bailey Zimmerman`,`Banda El Recodo`,`Barbra Streisand`,`Barry White`,`Bazzi`,`Bebe Rexha`,`Becky G`,`Becky Hill`,`Bee Gees`,`Ben Bernie`,`Ben Howard`,`Ben Selvin`,`Berlin`,`Bessie Smith`,`Bethel Music`,`Bette Midler`,`Beyonce`,`Bibi Blocksberg`,`Bibi und Tina`,`BigXthaPlug`,`Bill Doggett`,`Bill Haley & his Comets`,`Bill Withers`,`Billy Davis Jr`,`Billy Joel`,`Billy Paul`,`Billy Preston`,`Billy Swan`,`Birdy`,`Bizarrap`,`Blake Shelton`,`Blur`,`Bob Marley & The Wailers`,`Bob Seger`,`Bobby Darin`,`Bobby Lewis`,`Bobby McFerrin`,`Bobby Vinton`,`Boney M.`,`Bonez MC`,`Bonnie Tyler`,`Booba`,`Boston`,`BoyWithUke`,`Boyce Avenue`,`Bradley Cooper`,`Bread`,`Brent Faiyaz`,`Brett Young`,`Bring Me The Horizon`,`Britney Spears`,`Brooks & Dunn`,`Bruce Channel`,`Bruno & Marrone`,`Bryan Adams`,`Bryce Vine`,`Buddy Holly`,`Burna Boy`,`C. Tangana`,`CKay`,`CRO`,`Camilo`,`Capital Bra`,`Captain & Tennille`,`Cardi B`,`Carin Leon`,`Carlos Vives`,`Carly Simon`,`Carpenters`,`Cavetown`,`Celine Dion`,`Central Cee`,`Chaka Khan`,`Champs`,`Charlie Rich`,`Chayanne`,`Cheat Codes`,`Cher`,`Chic`,`Chicago`,`Chris Brown`,`Chris Isaak`,`Chris Young`,`Christina Aguilera`,`Christina Perri`,`Christopher Cross`,`Chuck Berry`,`Ciara`,`Cigarettes After Sex`,`Cliff Edwards (Ukelele Ike)`,`Cody Johnson`,`Colbie Caillat`,`Colby O'Donis`,`Cole Swindell`,`Coleman Hawkins`,`Contours`,`Coolio`,`Count Basie`,`Cris Mj`,`Culture Club`,`Cyndi Lauper`,`D-Block Europe`,`DAY6`,`DJ Khaled`,`DJ Luian`,`DJ Nelson`,`DMX`,`DNCE`,`DaVido`,`Dadju`,`Daft Punk`,`Dan + Shay`,`Daniel Powter`,`Danny Ocean`,`Darius Rucker`,`Dave`,`David Bowie`,`David Guetta`,`Daya`,`Dean Martin`,`Deee-Lite`,`Deep Purple`,`Deftones`,`Demi Lovato`,`Dennis Lloyd`,`Denzel Curry`,`Dermot Kennedy`,`Desiigner`,`Devo`,`Dewa 19`,`Dexys Midnight Runners`,`Diddy`,`Dido`,`Die drei !!!`,`Diego & Victor Hugo`,`Diljit Dosanjh`,`Dimitri Vegas & Like Mike`,`Dinah Shore`,`Dionne Warwick`,`Dire Straits`,`Disclosure`,`Dixie Cups`,`Doja Cat`,`Dolly Parton`,`Don Diablo`,`Don Henley`,`Don McLean`,`Don Omar`,`Donna Summer`,`Donovan`,`Dr. Dre`,`Drake`,`Dreamville`,`Dua Lipa`,`EMF`,`ENHYPEN`,`Earth, Wind & Fire`,`Ed Sheeran`,`Eddie Cantor`,`Eddie Cochran`,`Eddy Howard`,`Edgar Winter Group`,`Edwin Hawkins Singers`,`Edwin Starr`,`El Alfa`,`Eladio Carrion`,`Electric Light Orchestra`,`Elevation Worship`,`Ella Henderson`,`Ellie Goulding`,`Elton John`,`Elvis Presley`,`Empire of the Sun`,`En Vogue`,`Enrique Iglesias`,`Eslabon Armado`,`Ethel Waters`,`Etta James`,`Evanescence`,`Exile`,`Extreme`,`Faith Hill`,`Fall Out Boy`,`Fanny Brice`,`Farruko`,`Fats Domino`,`Fats Waller`,`Feid`,`Felix Jaehn`,`Fergie`,`Fetty Wap`,`Fiersa Besari`,`Fifth Harmony`,`Fine Young Cannibals`,`Five Finger Death Punch`,`Fleetwood Mac`,`Flo-Rida`,`Florence + The Machine`,`Flume`,`Foo Fighters`,`Foreigner`,`Foster The People`,`Four Aces`,`Frank Ocean`,`Frank Sinatra`,`Frankie Avalon`,`Frankie Valli`,`Fred Astaire`,`Freda Payne`,`Freddie Dredd`,`Freddy Fender`,`French Montana`,`Fuerza Regida`,`Fujii Kaze`,`Future`,`G-Eazy`,`Garfunkel and Oates`,`Gary Lewis & The Playboys`,`Gary Numan`,`Gene Autry`,`Gene Chandler`,`Gene Vincent`,`George Michael`,`George Strait`,`Gera MX`,`Ghost`,`Ghostemane`,`Gigi D'Agostino`,`Gladys Knight & The Pips`,`Glass Animals`,`Glee Cast`,`Gloria Gaynor`,`Godsmack`,`Gorillaz`,`Gotye`,`Grand Funk Railroad`,`Green Day`,`Grouplove`,`Grupo Firme`,`Grupo Marca Registrada`,`Gryffin`,`Gucci Mane`,`Guess Who`,`Gunna`,`Gusttavo Lima`,`Guy Mitchell`,`Gwen Stefani`,`Gzuz`,`H.E.R.`,`HARDY`,`Hailee Steinfeld`,`Halsey`,`Hans Zimmer`,`Harris Jayaraj`,`Harry Chapin`,`Harry James`,`Harry Nilsson`,`Harry Styles`,`Hayley Williams`,`Herb Alpert`,`Herman's Hermits`,`Hillsong UNITED`,`Hillsong Worship`,`Hollywood Undead`,`Honey Cone`,`Hoobastank`,`Hues Corporation`,`I Prevail`,`ITZY`,`IVE`,`Ice Cube`,`Ice Spice`,`Iggy Azalea`,`Imagine Dragons`,`Incubus`,`Internet Money`,`Isaac Hayes`,`J Geils Band`,`J. Cole`,`JAY-Z`,`JJ Lin`,`JP Saxe`,`JVKE`,`Jack Harlow`,`Jack Johnson`,`Jackie Wilson`,`Jacquees`,`James Arthur`,`James Brown`,`James TW`,`James Taylor`,`Jamie Foxx`,`Janet Jackson`,`Janis Joplin`,`Jason Aldean`,`Jason Mraz`,`Jay Chou`,`Jay Sean`,`Jay Wheeler`,`Jaymes Young`,`Jean Knight`,`Jeezy`,`Jennifer Lopez`,`Jennifer Warnes`,`Jeremih`,`Jeremy Zucker`,`Jerry Lee Lewis`,`Jerry Murad's Harmonicats`,`Jess Glynne`,`Jessie J`,`Jewel`,`Jimi Hendrix`,`Jimin`,`Jimmie Rodgers`,`Jimmy Dean`,`Jo Stafford`,`Joan Jett & The Blackhearts`,`Joao Gilberto`,`Joel Corry`,`John Fred & The Playboy Band`,`John Legend`,`John Mayer`,`John Williams`,`Johnnie Ray`,`Johnnie Taylor`,`Johnny Cash`,`Johnny Horton`,`Johnny Mathis`,`Johnny Mercer`,`Johnny Nash`,`Joji`,`Jon Bellion`,`Jonas Blue`,`Jonas Brothers`,`Joni James`,`Jorja Smith`,`Juan Gabriel`,`Juan Luis Guerra 4.40`,`Juanes`,`Juice Newton`,`Julia Michaels`,`Justin Bieber`,`Justin Quiles`,`KALEO`,`KAROL G`,`KAYTRANADA`,`KK`,`KSI`,`KYLE`,`Kacey Musgraves`,`Kane Brown`,`Kanye West`,`Karan Aujla`,`Kate Smith`,`Katy Perry`,`Kay Kyser`,`Ke$ha`,`Kehlani`,`Kelly Clarkson`,`Kenny Chesney`,`Kenny Loggins`,`Kenny Rogers`,`Kenshi Yonezu`,`Kenya Grace`,`Kevin Gates`,`Key Glock`,`Khalid`,`Kim Carnes`,`Kim Petras`,`Kimbra`,`Kina`,`King Gnu`,`Kings of Leon`,`Kingsmen`,`Kitty Kallen`,`Kodak Black`,`Kodaline`,`Kollegah`,`Kool & The Gang`,`Kungs`,`Kygo`,`Kylie Minogue`,`LE SSERAFIM`,`LISA`,`LMFAO`,`LUDMILLA`,`La Adictiva Banda San José de Mesillas`,`La Oreja de Van Gogh`,`Labrinth`,`Lady Antebellum`,`Lady GaGa`,`Lainey Wilson`,`Lana Del Rey`,`Latto`,`Lauryn Hill`,`Lauv`,`League of Legends`,`Lee Brice`,`Leon Bridges`,`Leona Lewis`,`Lesley Gore`,`Leslie Odom Jr.`,`Liam Payne`,`Lifehouse`,`Lil Baby`,`Lil Dicky`,`Lil Durk`,`Lil Mosey`,`Lil Nas X`,`Lil Pump`,`Lil Skies`,`Lil Tjay`,`Lil Uzi Vert`,`Lil Yachty`,`Lil' Kim`,`Lil' Wayne`,`Lin-Manuel Miranda`,`Linkin Park`,`Lionel Richie`,`Lipps Inc`,`Lisa Loeb`,`Little Peggy March`,`Little Richard`,`Lofi Fruits Music`,`Lord Huron`,`Los Del Rio`,`Los Dos Carnales`,`Los Lobos`,`Los Temerarios`,`Los Tigres Del Norte`,`Los Tucanes De Tijuana`,`Lou Reed`,`Loud Luxury`,`Louis Jordan`,`Louis Tomlinson`,`Love Unlimited`,`Lovin' Spoonful`,`Luan Santana`,`Luciano`,`Luis Miguel`,`Luis R Conriquez`,`Lulu`,`Lunay`,`Lupe Fiasco`,`M`,`MAX`,`MC Hammer`,`MC Ryan SP`,`MKTO`,`Mabel`,`Machine Gun Kelly`,`Madison Beer`,`Madonna`,`Mahalini`,`Major Lazer`,`Mambo Kingz`,`Maneskin`,`Marco Antonio Solís`,`Margaret Whiting`,`Maria Becerra`,`Mario`,`Mario Lanza`,`Mark Ronson`,`Maroon 5`,`Marshmello`,`Martin Garrix`,`Mary Ford`,`Mary J Blige`,`Mary J. Blige`,`Mary Wells`,`Matoma`,`Mau y Ricky`,`Meek Mill`,`Megadeth`,`Melanie`,`Melanie Martinez`,`Melendi`,`Men At Work`,`Metro Boomin`,`Michael Bublé`,`Michael Jackson`,`Michael McDonald`,`Michael Sembello`,`Miguel`,`Mike Posner`,`Miley Cyrus`,`Milky Chance`,`Minnie Riperton`,`Miracle Tones`,`Miranda Lambert`,`Mohit Chauhan`,`Mon Laferte`,`Moneybagg Yo`,`Monsta X`,`Mora`,`Morad`,`Morat`,`Mother Mother`,`Motley Crue`,`Ms. Lauryn Hill`,`Mumford & Sons`,`Muse`,`Mya`,`Myke Towers`,`NCT 127`,`NCT DREAM`,`NEFFEX`,`Nadin Amizah`,`Nancy Sinatra`,`Nat King Cole`,`Nate Smith`,`Natti Natasha`,`Nayer`,`Neil Diamond`,`Neil Sedaka`,`Nekfeu`,`Nelly`,`New Vaudeville Band`,`Next`,`Nickelback`,`Nicki Minaj`,`Nicki Nicole`,`Nicky Jam`,`Nina Simone`,`Ninho`,`Nipsey Hussle`,`Nirvana`,`Niska`,`No Doubt`,`Norah Jones`,`Normani`,`OMI`,`ONE OK ROCK`,`Oasis`,`Official HIGE DANdism`,`Offset`,`Old Dominion`,`Oliver Heldens`,`Olivia Rodrigo`,`Omah Lay`,`One Direction`,`Otis Redding`,`OutKast`,`Owl City`,`P Diddy`,`P!nk`,`PLK`,`PNL`,`Pamungkas`,`Passenger`,`Pat Boone`,`Patsy Cline`,`Patti LaBelle`,`Patti Page`,`Paul & Paula`,`Paul Revere & the Raiders`,`Paul Robeson`,`Paul Russell`,`Paul Whiteman`,`Paula Abdul`,`Peaches & Herb`,`Pearl Jam`,`Pee Wee Hunt`,`Pee Wee King`,`Pentatonix`,`Percy Faith`,`Percy Sledge`,`Peso Pluma`,`Peter Cetera`,`Peter Gabriel`,`Peter, Paul & Mary`,`Pharrell Williams`,`Pierce The Veil`,`Pineapple StormTv`,`Pink Floyd`,`Pink Sweat$`,`Piso 21`,`Pitbull`,`Plan B`,`Player`,`Polo G`,`Pop Smoke`,`Portugal. The Man`,`Pouya`,`Prince`,`Prince Royce`,`Pusha T`,`Quality Control`,`Queen`,`Quinn XCII`,`R. Kelly`,`RAF Camora`,`RAYE`,`REM`,`REO Speedwagon`,`Radiohead`,`Rag'n'Bone Man`,`Rage Against The Machine`,`Rahat Fateh Ali Khan`,`Rainbow Kitten Surprise`,`Rammstein`,`Rauw Alejandro`,`Ray Charles`,`Ray Parker Jr`,`Ray Stevens`,`Red Foley`,`Red Hot Chili Peppers`,`Red Velvet`,`Regard`,`Regina Belle`,`Reik`,`Rels B`,`Rema`,`Ricardo Arjona`,`Rich The Kid`,`Rick Astley`,`Rick Dees & his Cast of Idiots`,`Rick Ross`,`Rick Springfield`,`Ricky Martin`,`Ricky Nelson`,`Rihanna`,`Rita Ora`,`Ritchie Valens`,`Rizky Febian`,`Rob Thomas`,`Roberta Flack`,`Robin Schulz`,`Robin Thicke`,`Rod Stewart`,`Rod Wave`,`Roddy Ricch`,`Roger Miller`,`Romeo Santos`,`Rosemary Clooney`,`Roxette`,`Roy Acuff`,`Roy Orbison`,`Rudimental`,`Ruel`,`Ruth B.`,`Ryan Lewis`,`SCH`,`SEVENTEEN`,`SWV`,`Sabaton`,`Sabrina Carpenter`,`Sachet Tandon`,`Sachin-Jigar`,`Sade`,`Sam Cooke`,`Sam Feldt`,`Sam Hunt`,`Sam Smith`,`Sam The Sham & The Pharaohs`,`Sammy Davis Jr`,`Sammy Kaye`,`Santana`,`Sasha Alex Sloan`,`Savage Garden`,`Saweetie`,`Scorpions`,`Sean Kingston`,`Sean Paul`,`Sebastian Yatra`,`Sech`,`Seeb`,`Sezen Aksu`,`Sfera Ebbasta`,`Shaggy`,`Shania Twain`,`Shawn Mendes`,`Sheena Easton`,`Shinedown`,`Shubh`,`Sia`,`Sid Sriram`,`Sidhu Moose Wala`,`Silk`,`Silver Convention`,`Simon & Garfunkel`,`Sinead O'Connor`,`Sir Mix-a-Lot`,`Sister Sledge`,`Ski Mask The Slump God`,`Skillet`,`Skrillex`,`Sleeping At Last`,`Smokey Robinson`,`Snoop Dogg`,`Snow Patrol`,`Soda Stereo`,`Sonu Nigam`,`Sophie Ellis-Bextor`,`Spencer Davis Group`,`Spice Girls`,`Stan Getz`,`Starland Vocal Band`,`Stephen Sanchez`,`Steve Aoki`,`Steve Lacy`,`Steve Winwood`,`Stevie B`,`Sting`,`Stormzy`,`Strawberry Alarm Clock`,`Stray Kids`,`Stromae`,`Sublime`,`Sum 41`,`Summer Walker`,`Supertramp`,`Survivor`,`Swedish House Mafia`,`System Of A Down`,`T-Pain`,`T.I.`,`TAEYEON`,`TKKG`,`TLC`,`TOMORROW X TOGETHER`,`TOTO`,`TWICE`,`Tag Team`,`Tainy`,`Tammi Terrell`,`Tanishk Bagchi`,`Tate McRae`,`Taylor Swift`,`Tears For Fears`,`Tems`,`Tennessee Ernie Ford`,`Terence Trent D'Arby`,`Teresa Brewer`,`Terry Jacks`,`The Ames Brothers`,`The Animals`,`The B52s`,`The Bangles`,`The Beatles`,`The Black Eyed Peas`,`The Black Keys`,`The Box Tops`,`The Chainsmokers`,`The Chiffons`,`The Chordettes`,`The Clash`,`The Coasters`,`The Commodores`,`The Cowsills`,`The Cranberries`,`The Crew-Cuts`,`The Cure`,`The Detroit Spinners`,`The Diamonds`,`The Doobie Brothers`,`The Doors`,`The Drifters`,`The Emotions`,`The Eurythmics`,`The Fireballs`,`The Flamingos`,`The Foundations`,`The Four Seasons`,`The Fray`,`The Game`,`The Go Gos`,`The Goo Goo Dolls`,`The Head And The Heart`,`The Hollies`,`The Ink Spots`,`The Isley Brothers`,`The Jackson 5`,`The Kid LAROI`,`The Killers`,`The Kingston Trio`,`The Kooks`,`The Lemon Pipers`,`The Living Tombstone`,`The Lumineers`,`The Mamas & The Papas`,`The Marvelettes`,`The McCoys`,`The Mills Brothers`,`The Miracles`,`The Monkees`,`The Moody Blues`,`The National`,`The Neighbourhood`,`The Notorious B.I.G.`,`The O'Jays`,`The Offspring`,`The Osmonds`,`The Partridge Family`,`The Penguins`,`The Pet Shop Boys`,`The Platters`,`The Righteous Brothers`,`The Rolling Stones`,`The Ronettes`,`The Score`,`The Script`,`The Seekers`,`The Shangri-Las`,`The Smashing Pumpkins`,`The Staple Singers`,`The Strokes`,`The Supremes`,`The Temptations`,`The Turtles`,`The Vamps`,`The Verve`,`The Village People`,`The Weavers`,`The White Stripes`,`The Young Rascals`,`The Zombies`,`Thelma Houston`,`Thomas Rhett`,`Three Days Grace`,`Three Dog Night`,`Three Man Down`,`Timbaland`,`Timmy Trumpet`,`Toby Keith`,`Tom Jones`,`Tom Petty and the Heartbreakers`,`Tommy Dorsey`,`Tommy Edwards`,`Tommy James & the Shondells`,`Tone Loc`,`Toni Braxton`,`Topic`,`Tory Lanez`,`Tove Lo`,`Trevor Daniel`,`Trey Songz`,`Trippie Redd`,`Trueno`,`Tulsi Kumar`,`Tulus`,`Twenty One Pilots`,`Two Feet`,`Ty Dolla $ign`,`Tyga`,`Tyler Hubbard`,`U2`,`UB40`,`UZI`,`Ufo361`,`Upchurch`,`V`,`Vampire Weekend`,`Van McCoy`,`Van Morrison`,`Vance Joy`,`Vanessa Carlton`,`Vanessa Williams`,`Vera Lynn`,`Vernon Dalhart`,`Vicente Fernandez`,`Vishal-Shekhar`,`Volbeat`,`WILLOW`,`Wale`,`Wallows`,`Weezer`,`Wham!`,`Whitney Houston`,`Why Don't We`,`Wilbert Harrison`,`Wilson Phillips`,`Wiz Khalifa`,`Woody Guthrie`,`Wyclef Jean`,`XXXTENTACION`,`Xavi`,`YG`,`YNW Melly`,`YOASOBI`,`Yandel`,`Years & Years`,`Yeat`,`Yo Gotti`,`Young Dolph`,`Young Miko`,`Young Thug`,`YoungBoy Never Broke Again`,`Yung Gravy`,`Yuuri`,`Yuvan Shankar Raja`,`ZAYN`,`ZZ Top`,`Zac Brown Band`,`Zach Bryan`,`Zara Larsson`,`aespa`,`benny blanco`,`blink-182`,`d4vd`,`deadmau5`,`girl in red`,`gnash`,`iann dior`,`will.i.am`],genre:`Acid House.Acid Jazz.Acid Rock.Acoustic.Acoustic Blues.Afro-Pop.Afrobeat.Alt-Rock.Alternative.Ambient.American Trad Rock.Americana.Anime.Arena Rock.Art-Rock.Avant-Garde.Avant-Punk.Baladas y Boleros.Barbershop.Baroque.Bebop.Big Band.Black Metal.Blue Note.Bluegrass.Blues.Boogaloo.Bop.Bossa Nova.Bounce.Brazilian Funk.Breakbeat.Britpop.CCM.Cajun.Cantopop.Celtic.Celtic Folk.Chamber Music.Chant.Chanukah.Chicago Blues.Chicago House.Chicano.Children’s Music.Chill.Choral.Christian.Christmas.Classical.Club.College Rock.Conjunto.Cool Jazz.Country.Crunk.Dance.Dancehall.Death Metal.Deep House.Delta Blues.Detroit Techno.Dirty South.Disco.Disney.Dixieland.Doo-wop.Downtempo.Dream Pop.Drill.Drinking Songs.Drone.Drum'n'bass.Dub.Dubstep.EDM.Early Music.East Coast Rap.Easter.Easy Listening.Eclectic.Electric Blues.Electro.Electronic.Electronica.Emo.Enka.Environmental.Ethio-jazz.Experimental.Experimental Rock.Flamenco.Folk.Folk-Rock.Forro.French Pop.Funk.Fusion.Gangsta Rap.Garage.German Folk.German Pop.Glam Rock.Gospel.Goth.Grime.Grindcore.Groove.Grunge.Hair Metal.Halloween.Happy.Hard Bop.Hard Dance.Hard Rock.Hardcore.Hardcore Punk.Hardcore Rap.Hardstyle.Healing.Heavy Metal.High Classical.Hip Hop.Holiday.Honky Tonk.House.IDM.Impressionist.Indie.Industrial.Instrumental.J-Dance.J-Idol.J-Pop.J-Punk.J-Rock.J-Ska.J-Synth.Jackin House.Jam Bands.Japanese Pop.Jazz.Jungle.K-Pop.Karaoke.Kayokyoku.Kids.Kitsch.Klezmer.Krautrock.Latin.Latin Jazz.Latin Rap.Local.Lounge.Lullabies.MPB.Mainstream Jazz.Malay.Mandopop.March.Mariachi.Mawwal.Medieval.Meditation.Metal.Metalcore.Minimal Techno.Minimalism.Modern.Motown.Mugham.Musicals.Musique Concrète.Nature.Neo-Soul.Nerdcore.New Acoustic.New Age.New Mex.New Wave.No Wave.Noise.Nordic.Novelty.OPM.Oi!.Old School Rap.Opera.Orchestral.Original Score.Outlaw Country.Pagode.Party.Piano.Polka.Pop.Pop Film.Pop Latino.Post Dubstep.Power Pop.Praise & Worship.Progressive House.Progressive Rock.Proto-punk.Psych Rock.Psychedelic.Punk.Punk Rock.Qawwali.Quiet Storm.R&B.Ragtime.Rainy Day.Rap.Reggae.Reggaeton.Regional Mexicano.Relaxation.Renaissance.Retro.Rock.Rockabilly.Rocksteady.Romance.Romantic.Roots Reggae.Roots Rock.SKA.Sad.Salsa.Samba.Second Line.Sertanejo.Shaabi.Shoegaze.Sleep.Smooth Jazz.Soft Rock.Soul.Soundtrack.Southern Gospel.Southern Rock.Space Rock.Stage And Screen.Steampunk.Summer.Surf.Swamp Pop.Swing.Synth Pop.Tango.Techno.Teen Pop.Tejano.Tex-Mex.Thanksgiving.Traditional.Trance.Trip Hop.Tropical.Underground Rap.Urban.Urban Cowboy.West Coast Rap.Western Swing.World.Worldbeat.Zydeco`.split(`.`),song_name:[`(Everything I Do) I Do it For You`,`(Ghost) Riders in the Sky`,`(I Can't Get No) Satisfaction`,`(I've Got a Gal In) Kalamazoo`,`(I've Had) the Time of My Life`,`(It's No) Sin`,`(Just Like) Starting Over`,`(Let Me Be Your) Teddy Bear`,`(Put Another Nickel In) Music! Music! Music!`,`(Sexual) Healing`,`(Sittin' On) the Dock of the Bay`,`(They Long to Be) Close to You`,`(You Keep Me) Hangin' On`,`(You're My) Soul & Inspiration`,`(Your Love Keeps Lifting Me) Higher & Higher`,`12th Street Rag`,`1999`,`19th Nervous Breakdown`,`50 Ways to Leave Your Lover`,`9 to 5`,`96 Tears`,`A Boy Named Sue`,`A Hard Day's Night`,`A String of Pearls`,`A Thousand Miles`,`A Tree in the Meadow`,`A Whiter Shade of Pale`,`A Whole New World (Aladdin's Theme)`,`A Woman in Love`,`A-Tisket A-Tasket`,`ABC`,`Abracadabra`,`Ac-cent-tchu-ate the Positive`,`Addicted to Love`,`After You've Gone`,`Afternoon Delight`,`Again`,`Against All Odds (Take a Look At Me Now)`,`Ain't Misbehavin'`,`Ain't No Mountain High Enough`,`Ain't No Sunshine`,`Ain't That a Shame`,`Airplanes`,`All Along the Watchtower`,`All I Have to Do is Dream`,`All I Wanna Do`,`All My Lovin' (You're Never Gonna Get It)`,`All Night Long (All Night)`,`All Out of Love`,`All Shook Up`,`All You Need is Love`,`Alone`,`Alone Again (Naturally)`,`Always On My Mind`,`American Pie`,`American Woman`,`Angie`,`Another Brick in the Wall (part 2)`,`Another Day in Paradise`,`Another Night`,`Another One Bites the Dust`,`Apologize`,`April Showers`,`Aquarius/Let The Sunshine In`,`Are You Lonesome Tonight?`,`Arthur's Theme (Best That You Can Do)`,`As Time Goes By`,`At Last`,`At the Hop`,`Auf Wiederseh'n Sweetheart`,`Baby Baby`,`Baby Come Back`,`Baby Got Back`,`Baby Love`,`Baby One More Time`,`Bad Day`,`Bad Girls`,`Bad Moon Rising`,`Bad Romance`,`Bad, Bad Leroy Brown`,`Baker Street`,`Ball of Confusion (That's What the World is Today)`,`Ballad of the Green Berets`,`Ballerina`,`Band On the Run`,`Band of Gold`,`Battle of New Orleans`,`Be Bop a Lula`,`Be My Baby`,`Be My Love`,`Beat It`,`Beautiful Day`,`Beauty & the Beast`,`Because I Love You (The Postman Song)`,`Because You Loved Me`,`Because of You`,`Before The Next Teardrop Falls`,`Begin the Beguine`,`Behind Closed Doors`,`Being With You`,`Believe`,`Ben`,`Bennie & the Jets`,`Besame Mucho`,`Best of My Love`,`Bette Davis Eyes`,`Big Bad John`,`Big Girls Don't Cry`,`Billie Jean`,`Bitter Sweet Symphony`,`Black Or White`,`Black Velvet`,`Blaze of Glory`,`Bleeding Love`,`Blue Suede Shoes`,`Blue Tango`,`Blueberry Hill`,`Blurred Lines`,`Body & Soul`,`Bohemian Rhapsody`,`Boogie Oogie Oogie`,`Boogie Woogie Bugle Boy`,`Boom Boom Pow`,`Born in the USA`,`Born to Be Wild`,`Born to Run`,`Boulevard of Broken Dreams`,`Brand New Key`,`Brandy (You're A Fine Girl)`,`Breaking Up is Hard to Do`,`Breathe`,`Bridge Over Troubled Water`,`Brother Louie`,`Brother, Can You Spare a Dime?`,`Brown Eyed Girl`,`Brown Sugar`,`Build Me Up Buttercup`,`Burn`,`Buttons & Bows`,`Bye Bye Love`,`Bye Bye, Blackbird`,`Bye, Bye, Bye`,`Caldonia Boogie (What Makes Your Big Head So Hard)`,`California Dreamin'`,`California Girls`,`Call Me`,`Call Me Maybe`,`Can You Feel the Love Tonight`,`Can't Buy Me Love`,`Can't Get Enough of Your Love, Babe`,`Can't Help Falling in Love`,`Candle in the Wind '97`,`Candy Man`,`Car Wash`,`Careless Whisper`,`Cars`,`Cat's in the Cradle`,`Cathy's Clown`,`Celebration`,`Centerfold`,`Chain of Fools`,`Chances Are`,`Change the World`,`Chapel of Love`,`Chattanooga Choo Choo`,`Chattanoogie Shoe-Shine Boy`,`Check On It`,`Cheek to Cheek`,`Cherish`,`Cherry Pink & Apple Blossom White`,`Cold, Cold Heart`,`Colors of the Wind`,`Come On Eileen`,`Come On-a My House`,`Come Together`,`Coming Up`,`Cracklin' Rosie`,`Crazy`,`Crazy For You`,`Crazy Little Thing Called Love`,`Crazy in Love`,`Creep`,`Crimson & Clover`,`Crocodile Rock`,`Cry`,`Cry Like a Baby`,`Crying`,`Da Doo Ron Ron (When He Walked Me Home)`,`Dance to the Music`,`Dancing Queen`,`Dancing in the Dark`,`Dancing in the Street`,`Dardanella`,`Daydream Believer`,`December 1963 (Oh What a Night)`,`Delicado`,`Dilemma`,`Disco Duck`,`Disco Lady`,`Disturbia`,`Dizzy`,`Do That to Me One More Time`,`Do Wah Diddy Diddy`,`Do Ya Think I'm Sexy?`,`Do You Love Me?`,`Don't Be Cruel`,`Don't Fence Me In`,`Don't Go Breaking My Heart`,`Don't Leave Me This Way`,`Don't Let the Stars Get in Your Eyes`,`Don't Let the Sun Go Down On Me`,`Don't Speak`,`Don't Stop 'Til You Get Enough`,`Don't Worry Be Happy`,`Don't You (Forget About Me)`,`Don't You Want Me`,`Doo Wop (That Thing)`,`Down`,`Down Hearted Blues`,`Down Under`,`Downtown`,`Dreamlover`,`Dreams`,`Drop it Like It's Hot`,`Drops of Jupiter (Tell Me)`,`Duke of Earl`,`E.T.`,`Earth Angel`,`Ebony & Ivory`,`Eight Days a Week`,`Empire State Of Mind`,`End of the Road`,`Endless Love`,`Escape (The Pina Colada Song)`,`Eve of Destruction`,`Every Breath You Take`,`Every Little Thing She Does is Magic`,`Everybody Loves Somebody`,`Everybody Wants to Rule the World`,`Everyday People`,`Eye of the Tiger`,`Faith`,`Fallin'`,`Fame`,`Family Affair`,`Fantasy`,`Fast Car`,`Feel Good Inc`,`Feel Like Making Love`,`Fire & Rain`,`Firework`,`Flashdance. What a Feeling`,`Fly Robin Fly`,`Foolish Games`,`Footloose`,`For What It's Worth (Stop, Hey What's That Sound)`,`Fortunate Son`,`Frankenstein`,`Freak Me`,`Freebird`,`Frenesi`,`Funkytown`,`Gangsta's Paradise`,`Georgia On My Mind`,`Georgy Girl`,`Get Back`,`Get Down Tonight`,`Get Off of My Cloud`,`Ghostbusters`,`Gimme Some Lovin'`,`Girls Just Wanna Have Fun`,`Give Me Everything`,`Gives You Hell`,`Glamorous`,`Glory of Love`,`Go Your Own Way`,`God Bless America`,`God Bless the Child`,`Gold Digger`,`Gonna Make You Sweat (Everybody Dance Now)`,`Good Lovin'`,`Good Times`,`Good Vibrations`,`Goodbye Yellow Brick Road`,`Goodnight, Irene`,`Got to Give it Up`,`Grease`,`Great Balls of Fire`,`Greatest Love of All`,`Green Onions`,`Green River`,`Green Tambourine`,`Grenade`,`Groove is in the Heart`,`Groovin'`,`Gypsies, Tramps & Thieves`,`Hair`,`Hang On Sloopy`,`Hanging by a Moment`,`Hanky Panky`,`Happy Days Are Here Again`,`Happy Together`,`Harbour Lights`,`Hard to Say I'm Sorry`,`Harper Valley PTA`,`Have You Ever Really Loved a Woman?`,`He'll Have to Go`,`He's So Fine`,`He's a Rebel`,`Heart of Glass`,`Heart of Gold`,`Heartbreak Hotel`,`Hello Dolly`,`Hello, I Love You, Won't You Tell Me Your Name?`,`Help Me, Rhonda`,`Help!`,`Here Without You`,`Here in My Heart`,`Hero`,`Hey Baby`,`Hey Jude`,`Hey Paula`,`Hey There`,`Hey There Delilah`,`Hey Ya!`,`Higher Love`,`Hips don't lie`,`Hit the Road, Jack`,`Hold On`,`Hollaback Girl`,`Honey`,`Honky Tonk`,`Honky Tonk Woman`,`Horse With No Name`,`Hot Child In The City`,`Hot Stuff`,`Hotel California`,`Hound Dog`,`House of the Rising Sun`,`How Deep is Your Love?`,`How Do I Live?`,`How Do You Mend a Broken Heart`,`How High the Moon`,`How Much is That Doggy in the Window?`,`How Will I Know`,`How You Remind Me`,`How to Save a Life`,`Hungry Heart`,`Hurt So Good`,`I Believe I Can Fly`,`I Can Dream, Can't I?`,`I Can Help`,`I Can See Clearly Now`,`I Can't Get Next to You`,`I Can't Get Started`,`I Can't Go For That (No Can Do)`,`I Can't Help Myself (Sugar Pie, Honey Bunch)`,`I Can't Stop Loving You`,`I Don't Want to Miss a Thing`,`I Fall to Pieces`,`I Feel Fine`,`I Feel For You`,`I Feel Love`,`I Get Around`,`I Got You (I Feel Good)`,`I Got You Babe`,`I Gotta Feeling`,`I Heard it Through the Grapevine`,`I Honestly Love You`,`I Just Called to Say I Love You`,`I Just Wanna Be Your Everything`,`I Kissed A Girl`,`I Love Rock 'n' Roll`,`I Need You Now`,`I Only Have Eyes For You`,`I Shot the Sheriff`,`I Still Haven't Found What I'm Looking For`,`I Swear`,`I Think I Love You`,`I Walk the Line`,`I Wanna Dance With Somebody (Who Loves Me)`,`I Wanna Love You`,`I Want You Back`,`I Want to Hold Your Hand`,`I Want to Know What Love Is`,`I Went to Your Wedding`,`I Will Always Love You`,`I Will Follow Him`,`I Will Survive`,`I Write the Songs`,`I'll Be Missing You`,`I'll Be There`,`I'll Make Love to You`,`I'll Never Smile Again`,`I'll Take You There`,`I'll Walk Alone`,`I'll be seeing you`,`I'm Looking Over a Four Leaf Clover`,`I'm So Lonesome I Could Cry`,`I'm Sorry`,`I'm Walking Behind You`,`I'm Your Boogie Man`,`I'm Yours`,`I'm a Believer`,`I've Heard That Song Before`,`If (They Made Me a King)`,`If I Didn't Care`,`If You Don't Know Me By Now`,`If You Leave Me Now`,`Imagine`,`In Da Club`,`In the End`,`In the Ghetto`,`In the Mood`,`In the Summertime`,`In the Year 2525 (Exordium & Terminus)`,`Incense & Peppermints`,`Indian Reservation (The Lament Of The Cherokee Reservation Indian)`,`Instant Karma`,`Iris`,`Ironic`,`Irreplaceable`,`It Had to Be You`,`It's All in the Game`,`It's My Party`,`It's Now Or Never`,`It's Still Rock 'n' Roll to Me`,`It's Too Late`,`Jack & Diane`,`Jailhouse Rock`,`Jessie's Girl`,`Jive Talkin'`,`Johnny B Goode`,`Joy to the World`,`Judy in Disguise (With Glasses)`,`Jump`,`Jumpin' Jack Flash`,`Just Dance`,`Just My Imagination (Running Away With Me)`,`Just the Way You Are`,`Kansas City`,`Karma Chameleon`,`Keep On Loving You`,`Killing Me Softly With His Song`,`King of the Road`,`Kiss`,`Kiss & Say Goodbye`,`Kiss From a Rose`,`Kiss Me`,`Kiss On My List`,`Kiss You All Over`,`Knock On Wood`,`Knock Three Times`,`Kokomo`,`Kryptonite`,`Kung Fu Fighting`,`La Bamba`,`Lady`,`Lady Marmalade (Voulez-Vous Coucher Aver Moi Ce Soir?)`,`Last Train to Clarksville`,`Layla`,`Le Freak`,`Leader of the Pack`,`Lean On Me`,`Leaving, on a Jet Plane`,`Let Me Call You Sweetheart`,`Let Me Love You`,`Let it Be`,`Let it Snow! Let it Snow! Let it Snow!`,`Let's Dance`,`Let's Get it On`,`Let's Groove`,`Let's Hear it For the Boy`,`Let's Stay Together`,`Light My Fire`,`Lights`,`Like a Prayer`,`Like a Rolling Stone`,`Like a Virgin`,`Little Darlin'`,`Little Things Mean a Lot`,`Live & Let Die`,`Livin' La Vida Loca`,`Livin' On a Prayer`,`Living For the City`,`Locked Out Of Heaven`,`Lola`,`Lonely Boy`,`Long Cool Woman in a Black Dress`,`Long Tall Sally`,`Look Away`,`Lookin' Out My Back Door`,`Lose Yourself`,`Losing My Religion`,`Louie Louie`,`Love Child`,`Love Hangover`,`Love In This Club`,`Love Is Blue (L'Amour Est Bleu)`,`Love Letters in the Sand`,`Love Me Do`,`Love Me Tender`,`Love Shack`,`Love Theme From 'A Star is Born' (Evergreen)`,`Love Train`,`Love Will Keep Us Together`,`Love is a Many Splendoured Thing`,`Love to Love You Baby`,`Love's Theme`,`Loving You`,`Low`,`Macarena`,`Mack the Knife`,`Maggie May`,`Magic`,`Magic Carpet Ride`,`Make Love to Me`,`Make it With You`,`Makin' Whoopee`,`Mama Told Me Not to Come`,`Man in the Mirror`,`Manana (Is Soon Enough For Me)`,`Maneater`,`Maniac`,`Maybellene`,`Me & Bobby McGee`,`Me & Mrs Jones`,`Memories Are Made of This`,`Mercy Mercy Me (The Ecology)`,`Mickey`,`Midnight Train to Georgia`,`Minnie the Moocher`,`Miss You`,`Miss You Much`,`Mister Sandman`,`Mmmbop`,`Mona Lisa`,`Monday Monday`,`Money For Nothing`,`Mony Mony`,`Mood Indigo`,`Moonlight Cocktail`,`Moonlight Serenade`,`More Than Words`,`More Than a Feeling`,`Morning Train (Nine to Five)`,`Mr Big Stuff`,`Mr Brightside`,`Mr Tambourine Man`,`Mrs Brown You've Got a Lovely Daughter`,`Mrs Robinson`,`Mule Train`,`Music`,`My Blue Heaven`,`My Boyfriend's Back`,`My Eyes Adored You`,`My Girl`,`My Guy`,`My Heart Will Go On`,`My Life`,`My Love`,`My Man`,`My Prayer`,`My Sharona`,`My Sweet Lord`,`Na Na Hey Hey (Kiss Him Goodbye)`,`Nature Boy`,`Near You`,`Need You Now`,`Need You Tonight`,`Never Gonna Give You Up`,`Night & Day`,`Night Fever`,`Nights in White Satin`,`No One`,`No Scrubs`,`Nobody Does it Better`,`Nothin' on You`,`Nothing Compares 2 U`,`Nothing's Gonna Stop Us Now`,`Ode To Billie Joe`,`Oh Happy Day`,`Oh My Papa (O Mein Papa)`,`Oh, Pretty Woman`,`Ol' Man River`,`Ole Buttermilk Sky`,`On Bended Knee`,`On My Own`,`On the Atchison, Topeka & the Santa Fe`,`One`,`One Bad Apple`,`One More Try`,`One O'Clock Jump`,`One Sweet Day`,`One of These Nights`,`One of Us`,`Only The Lonely (Know The Way I Feel)`,`Only You (And You Alone)`,`Open Arms`,`Over There`,`Over the Rainbow`,`Paint it Black`,`Papa Don't Preach`,`Papa Was a Rolling Stone`,`Papa's Got a Brand New Bag`,`Paper Doll`,`Paper Planes`,`Paperback Writer`,`Party Rock Anthem`,`Peg o' My Heart`,`Peggy Sue`,`Pennies From Heaven`,`Penny Lane`,`People`,`People Got to Be Free`,`Personality`,`Philadelphia Freedom`,`Physical`,`Piano Man`,`Pick Up the Pieces`,`Pistol Packin' Mama`,`Play That Funky Music`,`Please Mr Postman`,`Poker Face`,`Pon De Replay`,`Pony Time`,`Pop Muzik`,`Prisoner of Love`,`Private Eyes`,`Promiscuous`,`Proud Mary`,`Purple Haze`,`Purple Rain`,`Puttin' on the Ritz`,`Que sera sera (Whatever will be will be)`,`Queen of Hearts`,`Rag Doll`,`Rag Mop`,`Rags to Riches`,`Raindrops Keep Falling On My Head`,`Rapture`,`Ray of Light`,`Reach Out (I'll Be There)`,`Red Red Wine`,`Rehab`,`Respect`,`Return to Sender`,`Reunited`,`Revolution`,`Rhapsody in Blue`,`Rhinestone Cowboy`,`Rich Girl`,`Riders On the Storm`,`Right Back Where We Started From`,`Ring My Bell`,`Ring of Fire`,`Rock Around the Clock`,`Rock With You`,`Rock Your Baby`,`Rock the Boat`,`Rock the Casbah`,`Roll Over Beethoven`,`Roll With It`,`Rolling In The Deep`,`Rosanna`,`Roses Are Red`,`Royals`,`Ruby Tuesday`,`Rudolph, the Red-Nosed Reindeer`,`Rum & Coca-Cola`,`Runaround Sue`,`Runaway`,`Running Scared`,`Rush Rush`,`Sailing`,`Save the Best For Last`,`Save the Last Dance For Me`,`Say It Right`,`Say My Name`,`Say Say Say`,`Say You, Say Me`,`School's Out`,`Seasons in the Sun`,`Secret Love`,`Sentimental Journey`,`Sexyback`,`Sh-Boom (Life Could Be a Dream)`,`Shadow Dancing`,`Shake Down`,`Shake You Down`,`She Drives Me Crazy`,`She Loves You`,`She's a Lady`,`Shining Star`,`Shop Around`,`Shout`,`Silly Love Songs`,`Since U Been Gone`,`Sing, Sing, Sing (With A Swing)`,`Singing The Blues`,`Single Ladies (Put A Ring On It)`,`Sir Duke`,`Sixteen Tons`,`Sledgehammer`,`Sleep Walk`,`Sleepy Lagoon`,`Slow Poke`,`Smells Like Teen Spirit`,`Smoke Gets in Your Eyes`,`Smoke On the Water`,`Smoke! Smoke! Smoke! (That Cigarette)`,`Smooth`,`So Much in Love`,`Soldier Boy`,`Some Enchanted Evening`,`Some of These Days`,`Somebody That I Used to Know`,`Somebody to Love`,`Someday`,`Somethin' Stupid`,`Something`,`Soul Man`,`Spanish Harlem`,`Spill the Wine`,`Spinning Wheel`,`Spirit in the Sky`,`St George & the Dragonette`,`St Louis Blues`,`Stagger Lee`,`Stairway to Heaven`,`Stand By Me`,`Stardust`,`Stars & Stripes Forever`,`Stay (I Missed You)`,`Stayin' Alive`,`Stop! in the Name of Love`,`Stormy Weather (Keeps Rainin' All the Time)`,`Straight Up`,`Strange Fruit`,`Stranger On the Shore`,`Strangers in the Night`,`Strawberry Fields Forever`,`Streets of Philadelphia`,`Stronger`,`Stuck On You`,`Sugar Shack`,`Sugar Sugar`,`Summer in the City`,`Summertime Blues`,`Sunday, Monday or Always`,`Sunshine Superman`,`Sunshine of Your Love`,`Superstar`,`Superstition`,`Surfin' USA`,`Suspicious Minds`,`Swanee`,`Sweet Caroline (Good Times Never Seemed So Good)`,`Sweet Child O' Mine`,`Sweet Dreams (Are Made of This)`,`Sweet Georgia Brown`,`Sweet Home Alabama`,`Sweet Soul Music`,`Swinging On a Star`,`T For Texas (Blue Yodel No 1)`,`TSOP (The Sound of Philadelphia)`,`Take Me Home, Country Roads`,`Take My Breath Away`,`Take On Me`,`Take The 'A' Train`,`Take a Bow`,`Tammy`,`Tangerine`,`Tears in Heaven`,`Tears of a Clown`,`Temperature`,`Tennessee Waltz`,`Tequila`,`Tha Crossroads`,`Thank You (Falettinme be Mice Elf Again)`,`That Lucky Old Sun (Just Rolls Around Heaven All Day)`,`That Old Black Magic`,`That'll Be the Day`,`That's Amore`,`That's What Friends Are For`,`That's the Way (I Like It)`,`That's the Way Love Goes`,`The Boy is Mine`,`The Boys of Summer`,`The Christmas Song (Chestnuts Roasting On An Open Fire)`,`The End of the World`,`The First Time Ever I Saw Your Face`,`The Girl From Ipanema`,`The Glow-Worm`,`The Great Pretender`,`The Gypsy`,`The Hustle`,`The Joker`,`The Last Dance`,`The Letter`,`The Loco-Motion`,`The Long & Winding Road`,`The Love You Save`,`The Morning After`,`The Power of Love`,`The Prisoner's Song`,`The Reason`,`The Rose`,`The Sign`,`The Song From Moulin Rouge (Where Is Your Heart)`,`The Sounds of Silence`,`The Streak`,`The Sweet Escape`,`The Thing`,`The Tide is High`,`The Tracks of My Tears`,`The Twist`,`The Wanderer`,`The Way We Were`,`The Way You Look Tonight`,`The Way You Move`,`Theme From 'A Summer Place'`,`Theme From 'Greatest American Hero' (Believe It Or Not)`,`Theme From 'Shaft'`,`There goes my baby`,`These Boots Are Made For Walking`,`Third Man Theme`,`This Diamond Ring`,`This Guy's in Love With You`,`This Land is Your Land`,`This Love`,`This Ole House`,`This Used to Be My Playground`,`Three Coins in the Fountain`,`Three Times a Lady`,`Thrift Shop`,`Thriller`,`Ticket to Ride`,`Tie a Yellow Ribbon 'round the Old Oak Tree`,`Tiger Rag`,`Tighten Up`,`Tik-Toc`,`Till I Waltz Again With You`,`Till The End of Time`,`Time After Time`,`Time of the Season`,`To Sir, with Love`,`Tom Dooley`,`Tonight's the Night (Gonna Be Alright)`,`Too Close`,`Too Young`,`Tossing & Turning`,`Total Eclipse of the Heart`,`Touch Me`,`Toxic`,`Travellin' Band`,`Travellin' Man`,`Truly Madly Deeply`,`Turn! Turn! Turn! (To Everything There is a Season)`,`Tutti Frutti`,`Twist & Shout`,`Two Hearts`,`U Can't Touch This`,`U Got it Bad`,`Umbrella`,`Un-Break My Heart`,`Unbelievable`,`Unchained Melody`,`Uncle Albert (Admiral Halsey)`,`Under the Boardwalk`,`Under the Bridge`,`Unforgettable`,`Up Around the Bend`,`Up Up & Away`,`Up Where We Belong`,`Upside Down`,`Use Somebody`,`Vaya Con Dios (may God Be With You)`,`Venus`,`Vision of Love`,`Viva La Vida`,`Vogue`,`Volare`,`Wabash Cannonball`,`Waiting For a Girl Like You`,`Wake Me Up Before You Go Go`,`Wake Up Little Susie`,`Walk Don't Run`,`Walk Like a Man`,`Walk Like an Egyptian`,`Walk On By`,`Walk On the Wild Side`,`Walk This Way`,`Wannabe`,`Want Ads`,`Wanted`,`War`,`Waterfalls`,`Wayward Wind`,`We Are Family`,`We Are Young`,`We Are the Champions`,`We Are the World`,`We Belong Together`,`We Built This City`,`We Can Work it Out`,`We Didn't Start the Fire`,`We Found Love`,`We Got The Beat`,`We Will Rock You`,`We've Only Just Begun`,`Weak`,`Wedding Bell Blues`,`West End Blues`,`West End Girls`,`What Goes Around Comes Around`,`What a Fool Believes`,`What'd I Say`,`What's Going On?`,`What's Love Got to Do With It?`,`Whatcha Say`,`Wheel of Fortune`,`When Doves Cry`,`When You Wish Upon a Star`,`When a Man Loves a Woman`,`Where Did Our Love Go`,`Where is the Love?`,`Whip It`,`Whispering`,`White Christmas`,`White Rabbit`,`Whole Lotta Love`,`Whole Lotta Shakin' Goin' On`,`Whoomp! (There it Is)`,`Why Do Fools Fall in Love?`,`Why Don't You Believe Me?`,`Wichita Lineman`,`Wicked Game`,`Wild Thing`,`Wild Wild West`,`Will It Go Round In Circles`,`Will You Love Me Tomorrow`,`Winchester Cathedral`,`Wind Beneath My Wings`,`Wipe Out`,`Wishing Well`,`With Or Without You`,`Without Me`,`Without You`,`Woman`,`Won't Get Fooled Again`,`Wooly Bully`,`Working My Way Back to You`,`YMCA`,`Yakety Yak`,`Yeah!`,`Yellow Rose of Texas`,`Yesterday`,`You Ain't Seen Nothin' Yet`,`You Always Hurt the One You Love`,`You Are the Sunshine of My Life`,`You Belong With Me`,`You Belong to Me`,`You Can't Hurry Love`,`You Don't Bring Me Flowers`,`You Don't Have to Be a Star (To Be in My Show)`,`You Light Up My Life`,`You Make Me Feel Brand New`,`You Make Me Feel Like Dancing`,`You Really Got Me`,`You Send Me`,`You Sexy Thing`,`You Were Meant for Me`,`You make Me Wanna`,`You'll Never Know`,`You're Beautiful`,`You're So Vain`,`You're Still the One`,`You're the One That I Want`,`You've Got a Friend`,`You've Lost That Lovin' Feelin'`,`Your Cheatin' Heart`,`Your Song`]},person:{bio_part:`activist.artist.author.blogger.business owner.coach.creator.designer.developer.dreamer.educator.engineer.entrepreneur.environmentalist.film lover.filmmaker.foodie.founder.friend.gamer.geek.grad.inventor.leader.model.musician.nerd.parent.patriot.person.philosopher.photographer.public speaker.scientist.singer.streamer.student.teacher.traveler.veteran.writer`.split(`.`),bio_pattern:[`{{person.bio_part}}`,`{{person.bio_part}}, {{person.bio_part}}`,`{{person.bio_part}}, {{person.bio_part}}, {{person.bio_part}}`,`{{person.bio_part}}, {{person.bio_part}}, {{person.bio_part}} {{internet.emoji}}`,`{{word.noun}} {{person.bio_supporter}}`,`{{word.noun}} {{person.bio_supporter}} {{internet.emoji}}`,`{{word.noun}} {{person.bio_supporter}}, {{person.bio_part}}`,`{{word.noun}} {{person.bio_supporter}}, {{person.bio_part}} {{internet.emoji}}`],bio_supporter:[`advocate`,`devotee`,`enthusiast`,`fan`,`junkie`,`lover`,`supporter`],first_name:{generic:`Addison.Adell.Adrien.Alejandrin.Alexie.Alexis.Alexys.Ali.Alva.Alvis.Amani.Amari.Angel.Ara.Arden.Ari.Ariel.Arlie.Armani.Asa.Ashton.Aubrey.Audie.August.Austyn.Avery.Baby.Bailey.Bell.Berry.Bethel.Blair.Brook.Brown.Burdette.Burnice.Cali.Carey.Carroll.Cary.Casey.Chandler.Charley.Chesley.Clair.Claudie.Clemmie.Cleo.Cordie.Coty.Cruz.Dakota.Dallas.Dannie.Darby.Darian.Dee.Dell.Delta.Demetris.Devan.Devon.Devyn.Dominique.Dorian.Dusty.Eden.Elisha.Emery.Emmanuelle.Emory.Estel.Florida.Floy.Francis.Frankie.Garnet.Garnett.Germaine.Golden.Guadalupe.Hadley.Harley.Hassie.Haven.Hazle.Hollis.Ira.Ivory.Jacky.Jaden.Jadyn.Jaeden.Jaiden.Jalyn.Jamey.Jamie.Jammie.Jan.Jaycee.Jaylan.Jaylin.Jayme.Jennings.Jensen.Jess.Jessie.Jessy.Joany.Jody.Johnnie.Jordan.Jordane.Jude.Jules.Justice.Kacey.Karson.Kasey.Kaya.Kayden.Kendall.Kennedy.Kenyatta.Kerry.Kris.Kristian.Lane.Larue.Lavern.Lavon.Layne.Lee.Lennie.Leone.Linnie.London.Lonie.Loren.Lou.Loy.Loyal.Lue.Lupe.Marion.Marley.Marlin.Maxie.Maximillia.Merl.Merle.Merlin.Merritt.Michale.Michel.Milan.Miller.Mina.Monroe.Monserrate.Montana.Morgan.Mossie.Mozell.Murl.Murphy.Myrl.Nakia.Nicola.Nikita.Nova.Ocie.Oda.Odie.Ollie.Oma.Onie.Orie.Ova.Paris.Pat.Paxton.Payton.Peyton.Pink.Presley.Providenci.Quinn.Raleigh.Reagan.Reese.Regan.Reilly.Rickie.Riley.River.Robbie.Robin.Roma.Romaine.Rowan.Royal.Ryann.Ryley.Sage.Sammie.Sammy.Schuyler.Shanon.Shayne.Shea.Sheridan.Sidney.Sincere.Skye.Skylar.Stevie.Sunny.Taylor.Teagan.Telly.Terry.Tommie.Torey.Toy.Tristin.Unique.Urban.Valentine.Van.Vernie.Zion`.split(`.`),female:`Aaliyah.Abagail.Abbey.Abbie.Abbigail.Abby.Abigail.Abigale.Abigayle.Ada.Adah.Adaline.Addie.Adela.Adele.Adelia.Adeline.Adella.Adelle.Adriana.Adrianna.Adrienne.Afton.Aglae.Agnes.Agustina.Aida.Aileen.Aimee.Aisha.Aiyana.Alaina.Alana.Alanis.Alanna.Alayna.Alba.Alberta.Albertha.Albina.Alda.Aleen.Alejandra.Alena.Alene.Alessandra.Alessia.Aletha.Alexa.Alexandra.Alexandrea.Alexandria.Alexandrine.Alexane.Alexanne.Alfreda.Alia.Alice.Alicia.Alisa.Alisha.Alison.Alivia.Aliya.Aliyah.Aliza.Alize.Allene.Allie.Allison.Ally.Alma.Alta.Althea.Alvena.Alvera.Alverta.Alvina.Alyce.Alycia.Alysa.Alysha.Alyson.Alyssa.Alysson.Amalia.Amanda.Amara.Amaya.Amber.Amelia.Amelie.Amely.America.Amie.Amina.Amira.Amiya.Amparo.Amy.Amya.Ana.Anabel.Anabelle.Anahi.Anais.Anastasia.Andrea.Andreane.Andreanne.Angela.Angelica.Angelina.Angeline.Angelita.Angie.Anika.Anissa.Anita.Aniya.Aniyah.Anjali.Ann.Anna.Annabel.Annabell.Annabelle.Annalise.Annamae.Annamarie.Anne.Annetta.Annette.Annie.Ansley.Antoinette.Antonetta.Antonette.Antonia.Antonietta.Antonina.Anya.April.Araceli.Aracely.Ardella.Ardith.Arely.Ariane.Arianna.Arielle.Arlene.Arvilla.Aryanna.Asha.Ashlee.Ashleigh.Ashley.Ashly.Ashlynn.Ashtyn.Asia.Assunta.Astrid.Athena.Aubree.Audra.Audreanne.Audrey.Augusta.Aurelia.Aurelie.Aurore.Autumn.Ava.Avis.Ayana.Ayla.Aylin.Bailee.Barbara.Baylee.Beatrice.Beaulah.Becky.Belinda.Bella.Belle.Berenice.Bernadette.Bernadine.Berneice.Bernice.Berniece.Bernita.Berta.Bertha.Beryl.Bessie.Beth.Bethany.Betsy.Bette.Bettie.Betty.Bettye.Beulah.Beverly.Bianka.Billie.Birdie.Blanca.Blanche.Bobbie.Bonita.Bonnie.Brandi.Brandy.Breana.Breanna.Breanne.Brenda.Brenna.Bria.Briana.Brianne.Bridget.Bridgette.Bridie.Brielle.Brigitte.Brionna.Brisa.Britney.Brittany.Brooke.Brooklyn.Bryana.Bulah.Caitlyn.Caleigh.Calista.Callie.Camila.Camilla.Camille.Camryn.Camylle.Candace.Candice.Candida.Cara.Carissa.Carla.Carlee.Carley.Carli.Carlie.Carlotta.Carmel.Carmela.Carmella.Carmen.Carol.Carolanne.Carole.Carolina.Caroline.Carolyn.Carolyne.Carrie.Casandra.Cassandra.Cassandre.Cassidy.Cassie.Catalina.Caterina.Catharine.Catherine.Cathrine.Cathryn.Cathy.Cayla.Cecelia.Cecile.Cecilia.Celestine.Celia.Celine.Chanel.Chanelle.Charity.Charlene.Charlotte.Chasity.Chaya.Chelsea.Chelsey.Chelsie.Cheryl.Cheyanne.Cheyenne.Chloe.Christa.Christelle.Christiana.Christie.Christina.Christine.Christy.Chyna.Ciara.Cielo.Cierra.Cindy.Citlalli.Claire.Clara.Clarabelle.Clare.Clarissa.Claudia.Claudine.Clementina.Clementine.Cleora.Cleta.Clotilde.Colleen.Concepcion.Connie.Constance.Consuelo.Cora.Coralie.Cordelia.Cordia.Corene.Corine.Corrine.Cortney.Courtney.Creola.Cristal.Cristina.Crystal.Crystel.Cydney.Cynthia.Dagmar.Dahlia.Daija.Daisha.Daisy.Damaris.Dana.Daniela.Daniella.Danielle.Danika.Danyka.Daphne.Daphnee.Daphney.Dariana.Darla.Darlene.Dasia.Dawn.Dayana.Dayna.Deanna.Debbie.Deborah.Debra.Deja.Dejah.Delaney.Delfina.Delia.Delilah.Della.Delores.Delpha.Delphia.Delphine.Dena.Denise.Desiree.Dessie.Destany.Destinee.Destiney.Destini.Destiny.Diamond.Diana.Diane.Dianna.Dianne.Dina.Dixie.Dolly.Dolores.Domenica.Donna.Dora.Dorcas.Doreen.Doris.Dorothea.Dorothy.Dorris.Dortha.Dorthy.Dovie.Dulce.Earlene.Earline.Earnestine.Easter.Ebba.Ebony.Eda.Edith.Edna.Edwina.Edyth.Edythe.Effie.Eileen.Elaina.Elaine.Elda.Eldora.Eleanor.Eleanora.Eleanore.Electa.Elena.Elenor.Elenora.Eleonore.Elfrieda.Eliane.Elinor.Elinore.Elisa.Elisabeth.Elise.Elissa.Eliza.Elizabeth.Ella.Ellen.Ellie.Elmira.Elna.Elnora.Elody.Eloisa.Eloise.Elouise.Elsa.Else.Elsie.Elta.Elva.Elvera.Elvie.Elvira.Elyse.Elyssa.Elza.Emelia.Emelie.Emely.Emerald.Emie.Emilia.Emilie.Emily.Emma.Emmalee.Emmie.Emmy.Ena.Enid.Enola.Era.Erica.Ericka.Erika.Erin.Erma.Erna.Ernestina.Ernestine.Eryn.Esmeralda.Esperanza.Essie.Esta.Estefania.Estell.Estella.Estelle.Esther.Estrella.Etha.Ethel.Ethelyn.Ethyl.Ettie.Eudora.Eugenia.Eula.Eulah.Eulalia.Euna.Eunice.Eva.Evalyn.Evangeline.Eve.Eveline.Evelyn.Evie.Fabiola.Fae.Faith.Fannie.Fanny.Fatima.Fay.Faye.Felicia.Felicita.Felicity.Felipa.Fern.Ferne.Filomena.Fiona.Flavie.Fleta.Flo.Flora.Florence.Florine.Flossie.Frances.Francesca.Francisca.Freda.Frederique.Freeda.Freida.Frida.Frieda.Gabriella.Gabrielle.Gail.Gayle.Genesis.Geneva.Genevieve.Genoveva.Georgette.Georgia.Georgiana.Georgianna.Geraldine.Gerda.Gertrude.Gia.Gilda.Gillian.Gina.Ginger.Giovanna.Gisselle.Gladyce.Gladys.Glenda.Glenna.Glennie.Gloria.Golda.Grace.Gracie.Graciela.Grayce.Gregoria.Greta.Gretchen.Gudrun.Gussie.Gwen.Gwendolyn.Hailee.Hailey.Hailie.Haleigh.Haley.Halie.Halle.Hallie.Hanna.Hannah.Harmony.Harriet.Hattie.Haylee.Hayley.Haylie.Hazel.Heather.Heaven.Heidi.Helen.Helena.Helene.Helga.Hellen.Heloise.Henrietta.Henriette.Hermina.Herminia.Herta.Hertha.Hester.Hettie.Hilda.Hildegard.Hillary.Hilma.Hollie.Holly.Hope.Hortense.Hulda.Icie.Ida.Idell.Idella.Ila.Ilene.Iliana.Ima.Imani.Imelda.Imogene.Ines.Inez.Irene.Iris.Irma.Isabel.Isabell.Isabella.Isabelle.Isobel.Itzel.Iva.Ivah.Ivy.Izabella.Jacey.Jacinthe.Jackeline.Jackie.Jacklyn.Jaclyn.Jacqueline.Jacquelyn.Jacynthe.Jada.Jade.Jaida.Jailyn.Jakayla.Jana.Janae.Jane.Janelle.Janessa.Janet.Janice.Janie.Janis.Janiya.Jannie.Jany.Jaquelin.Jaqueline.Jasmin.Jasmine.Jaunita.Jayda.Jayde.Jayne.Jazlyn.Jazmin.Jazmyn.Jazmyne.Jean.Jeanette.Jeanie.Jeanne.Jeannette.Jeannie.Jena.Jenifer.Jenna.Jennie.Jennifer.Jenny.Jennyfer.Jessica.Jessika.Jessyca.Jettie.Jewel.Jewell.Jill.Jillian.Jo.Joan.Joana.Joanie.Joann.Joanna.Joanne.Joannie.Joanny.Jocelyn.Jodi.Jodie.Joelle.Johanna.Jolie.Jordyn.Josefa.Josefina.Josephine.Josiane.Josianne.Josie.Joy.Joyce.Juana.Juanita.Judith.Judy.Julia.Juliana.Julianne.Julie.Juliet.June.Justina.Justine.Kaci.Kacie.Kaela.Kaelyn.Kaia.Kailee.Kailey.Kailyn.Kaitlin.Kaitlyn.Kaleigh.Kaley.Kali.Kallie.Kamille.Kamryn.Kara.Karelle.Karen.Kari.Kariane.Karianne.Karina.Karine.Karla.Karlee.Karley.Karli.Karlie.Karolann.Kasandra.Kassandra.Katarina.Kate.Katelin.Katelyn.Katelynn.Katharina.Katherine.Katheryn.Kathleen.Kathlyn.Kathryn.Kathryne.Kathy.Katie.Katlyn.Katlynn.Katrina.Katrine.Kattie.Kay.Kaycee.Kayla.Kaylah.Kaylee.Kayleigh.Kayley.Kayli.Kaylie.Kaylin.Keara.Keeley.Keely.Keira.Kelley.Kelli.Kellie.Kelly.Kelsi.Kelsie.Kendra.Kenna.Kennedi.Kenya.Kiana.Kianna.Kiara.Kiarra.Kiera.Kiley.Kim.Kimberly.Kira.Kirsten.Kirstin.Kitty.Krista.Kristen.Kristi.Kristie.Kristin.Kristina.Kristine.Kristy.Krystal.Krystel.Krystina.Kyla.Kylee.Kyleigh.Kylie.Kyra.Lacey.Lacy.Laila.Laisha.Lana.Laney.Larissa.Latoya.Laura.Laurel.Lauren.Lauretta.Lauriane.Laurianne.Laurie.Laurine.Laury.Lauryn.Lavada.Laverna.Laverne.Lavina.Lavinia.Lavonne.Layla.Lea.Leah.Leann.Leanna.Leanne.Leatha.Leda.Leigh.Leila.Leilani.Lela.Lelah.Lelia.Lempi.Lena.Lenna.Lenora.Lenore.Leola.Leona.Leonie.Leonor.Leonora.Leora.Lera.Lesley.Leslie.Lesly.Lessie.Leta.Letha.Leticia.Letitia.Lexi.Lexie.Lexus.Lia.Liana.Libbie.Libby.Lila.Lilian.Liliana.Liliane.Lilla.Lillian.Lilliana.Lillie.Lilly.Lily.Lilyan.Lina.Linda.Lindsay.Lindsey.Linnea.Lisa.Lisette.Litzy.Liza.Lizeth.Lizzie.Lois.Lola.Lolita.Loma.Lora.Loraine.Lorena.Lorene.Lorenza.Loretta.Lori.Lorine.Lorna.Lorraine.Lottie.Louisa.Louise.Lourdes.Louvenia.Loyce.Lucia.Lucie.Lucienne.Lucile.Lucille.Lucinda.Lucy.Ludie.Luella.Luisa.Lula.Lulu.Luna.Lura.Lurline.Luz.Lyda.Lydia.Lyla.Lynda.Lynette.Lynn.Lynne.Lyric.Lysanne.Mabel.Mabelle.Mable.Macey.Maci.Macie.Mackenzie.Macy.Madaline.Madalyn.Maddison.Madeline.Madelyn.Madelynn.Madge.Madie.Madilyn.Madisen.Madison.Madisyn.Madonna.Madyson.Mae.Maegan.Maeve.Mafalda.Magali.Magdalen.Magdalena.Maggie.Magnolia.Maia.Maida.Maiya.Makayla.Makenna.Makenzie.Malika.Malinda.Mallie.Mallory.Malvina.Mamie.Mandy.Manuela.Mara.Marcelina.Marcella.Marcelle.Marcia.Margaret.Margarete.Margarett.Margaretta.Margarette.Margarita.Marge.Margie.Margot.Margret.Marguerite.Maria.Mariah.Mariam.Marian.Mariana.Mariane.Marianna.Marianne.Maribel.Marie.Mariela.Marielle.Marietta.Marilie.Marilou.Marilyn.Marilyne.Marina.Marisa.Marisol.Maritza.Marjolaine.Marjorie.Marjory.Marlee.Marlen.Marlene.Marsha.Marta.Martha.Martina.Martine.Mary.Maryam.Maryann.Maryjane.Maryse.Mathilde.Matilda.Matilde.Mattie.Maud.Maude.Maudie.Maureen.Maurine.Mavis.Maxine.May.Maya.Maybell.Maybelle.Maye.Maymie.Mayra.Mazie.Mckayla.Mckenna.Mckenzie.Meagan.Meaghan.Meda.Megan.Megane.Meggie.Meghan.Melanie.Melany.Melba.Melinda.Melisa.Melissa.Mellie.Melody.Melvina.Melyna.Melyssa.Mercedes.Meredith.Mertie.Meta.Mia.Micaela.Michaela.Michele.Michelle.Mikayla.Mildred.Millie.Mindy.Minerva.Minnie.Miracle.Miranda.Mireille.Mireya.Miriam.Missouri.Misty.Mittie.Modesta.Mollie.Molly.Mona.Monica.Monique.Monserrat.Moriah.Mozelle.Muriel.Mya.Myah.Mylene.Myra.Myriam.Myrna.Myrtice.Myrtie.Myrtis.Myrtle.Nadia.Nadine.Nancy.Nannie.Naomi.Naomie.Natalia.Natalie.Natasha.Nayeli.Nedra.Neha.Nelda.Nella.Nelle.Nellie.Neoma.Nettie.Neva.Nia.Nichole.Nicole.Nicolette.Nikki.Nina.Noelia.Noemi.Noemie.Noemy.Nola.Nona.Nora.Norene.Norma.Novella.Nya.Nyah.Nyasia.Oceane.Octavia.Odessa.Ofelia.Ola.Oleta.Olga.Olive.Olivia.Ona.Opal.Ophelia.Ora.Orpha.Otilia.Ottilie.Ozella.Paige.Palma.Pam.Pamela.Pansy.Pascale.Patience.Patricia.Patsy.Patti.Pattie.Patty.Paula.Paulette.Pauline.Pearl.Pearlie.Pearline.Peggie.Peggy.Penelope.Penny.Petra.Phoebe.Phyllis.Pinkie.Piper.Polly.Precious.Princess.Priscilla.Prudence.Queen.Queenie.Rachael.Rachel.Rachelle.Rae.Raegan.Rafaela.Raina.Ramona.Randi.Raphaelle.Raquel.Raven.Reanna.Reba.Rebeca.Rebecca.Rebeka.Rebekah.Regina.Reina.Renee.Ressie.Reta.Retha.Retta.Reva.Reyna.Rhea.Rhianna.Rhiannon.Rhoda.Rhonda.Rita.Roberta.Robyn.Rochelle.Rocio.Rosa.Rosalee.Rosalia.Rosalie.Rosalind.Rosalinda.Rosalyn.Rosamond.Rosanna.Rosario.Rose.Rosella.Roselyn.Rosemarie.Rosemary.Rosetta.Rosie.Rosina.Roslyn.Rossie.Rowena.Roxane.Roxanne.Rozella.Rubie.Ruby.Rubye.Ruth.Ruthe.Ruthie.Rylee.Ryleigh.Sabina.Sabrina.Sabryna.Sadie.Sadye.Saige.Sallie.Sally.Salma.Samanta.Samantha.Samara.Sandra.Sandrine.Sandy.Santa.Santina.Sara.Sarah.Sarai.Sarina.Sasha.Savanah.Savanna.Savannah.Scarlett.Selena.Selina.Serena.Serenity.Shaina.Shakira.Shana.Shanel.Shanelle.Shania.Shanie.Shaniya.Shanna.Shannon.Shanny.Shany.Shari.Sharon.Shawna.Shaylee.Shayna.Sheila.Shelia.Shelley.Shelly.Sheri.Sherri.Sherry.Sheryl.Shirley.Shyann.Shyanne.Sibyl.Sienna.Sierra.Sigrid.Silvia.Simone.Sister.Skyla.Sofia.Soledad.Sonia.Sonja.Sonya.Sophia.Sophie.Stacey.Stacy.Stefanie.Stella.Stephania.Stephanie.Stephany.Sue.Summer.Susan.Susana.Susanna.Susie.Suzanne.Syble.Sydnee.Sydney.Sydni.Sydnie.Sylvia.Tabitha.Talia.Tamara.Tami.Tamia.Tammy.Tania.Tanya.Tara.Taryn.Tasha.Tatum.Tatyana.Taya.Teresa.Teri.Terri.Tess.Tessie.Thalia.Thea.Thelma.Theodora.Theresa.Therese.Theresia.Thora.Tia.Tiana.Tianna.Tiara.Tierra.Tiffany.Tina.Tomasa.Toni.Tonya.Tracey.Traci.Tracy.Tressa.Tressie.Treva.Tricia.Trinity.Trisha.Trudie.Trycia.Twila.Tyra.Una.Ursula.Vada.Valentina.Valerie.Vallie.Vanessa.Veda.Velda.Vella.Velma.Velva.Vena.Vera.Verda.Verdie.Vergie.Verla.Verlie.Verna.Vernice.Verona.Veronica.Vesta.Vicenta.Vicki.Vickie.Vicky.Victoria.Vida.Vilma.Vincenza.Viola.Violet.Violette.Virgie.Virginia.Virginie.Vita.Viva.Vivian.Viviane.Vivianne.Vivien.Vivienne.Wanda.Wava.Wendy.Whitney.Wilhelmine.Willa.Willow.Wilma.Winifred.Winnifred.Winona.Yadira.Yasmeen.Yasmin.Yasmine.Yazmin.Yesenia.Yessenia.Yolanda.Yoshiko.Yvette.Yvonne.Zaria.Zelda.Zella.Zelma.Zena.Zetta.Zita.Zoe.Zoey.Zoie.Zoila.Zola.Zora.Zula`.split(`.`),male:`Aaron.Abdiel.Abdul.Abdullah.Abe.Abel.Abelardo.Abner.Abraham.Adalberto.Adam.Adan.Adelbert.Aditya.Adolf.Adolfo.Adolph.Adolphus.Adonis.Adrain.Adrian.Adriel.Agustin.Ahmad.Ahmed.Aidan.Aiden.Akeem.Al.Alan.Albert.Alberto.Albin.Alden.Alec.Alejandro.Alek.Alessandro.Alex.Alexander.Alexandre.Alexandro.Alexzander.Alf.Alfonso.Alfonzo.Alford.Alfred.Alfredo.Allan.Allen.Alonzo.Alphonso.Alton.Alvah.Alvin.Ambrose.Americo.Amir.Amos.Anastacio.Anderson.Andre.Andres.Andrew.Andy.Angelo.Angus.Anibal.Ansel.Anthony.Antone.Antonio.Antwan.Antwon.Arch.Archibald.Archie.Aric.Arjun.Arlo.Armand.Armando.Arnaldo.Arne.Arno.Arnold.Arnoldo.Arnulfo.Aron.Art.Arthur.Arturo.Arvel.Arvid.Augustine.Augustus.Aurelio.Austen.Austin.Axel.Ayden.Barney.Baron.Barrett.Barry.Bart.Bartholome.Barton.Beau.Ben.Benedict.Benjamin.Bennett.Bennie.Benny.Benton.Bernard.Bernardo.Bernhard.Bernie.Bert.Bertram.Bertrand.Bill.Billy.Blaise.Blake.Blaze.Bo.Bob.Bobby.Boris.Boyd.Brad.Braden.Bradford.Bradley.Bradly.Brady.Braeden.Brain.Brando.Brandon.Brandt.Brandyn.Brannon.Branson.Brant.Braulio.Braxton.Brayan.Brendan.Brenden.Brendon.Brennan.Brennon.Brent.Bret.Brett.Brian.Brice.Brock.Broderick.Brody.Brooks.Bruce.Bryan.Bryant.Bryce.Brycen.Bryon.Buck.Bud.Buddy.Buford.Burley.Buster.Byron.Cade.Caden.Caesar.Cale.Caleb.Calvin.Camden.Cameron.Camren.Camron.Candelario.Candido.Carl.Carleton.Carlo.Carlos.Carlton.Carmelo.Carmine.Carson.Carter.Casimer.Casimir.Casper.Ceasar.Cecil.Cedric.Cedrick.Celestino.Cesar.Chad.Chadd.Chadrick.Chaim.Chance.Charles.Charlie.Chase.Chauncey.Chaz.Chester.Chet.Chris.Christ.Christian.Christop.Christophe.Christopher.Cicero.Clarence.Clark.Claud.Claude.Clay.Clayton.Clemens.Clement.Cletus.Cleve.Cleveland.Clifford.Clifton.Clint.Clinton.Clovis.Cloyd.Clyde.Coby.Cody.Colby.Cole.Coleman.Colin.Collin.Colt.Colten.Colton.Columbus.Conner.Connor.Conor.Conrad.Constantin.Cooper.Corbin.Cordell.Corey.Cornelius.Cornell.Cortez.Cory.Coy.Craig.Crawford.Cristian.Cristobal.Cristopher.Cullen.Curt.Curtis.Cyril.Cyrus.D'angelo.Dale.Dallin.Dalton.Dameon.Damian.Damien.Damion.Damon.Dan.Dandre.Dane.Dangelo.Danial.Daniel.Danny.Dante.Daren.Darien.Darin.Dario.Darion.Darius.Darnell.Daron.Darrel.Darrell.Darren.Darrick.Darrin.Darrion.Darron.Darryl.Darwin.Daryl.Dashawn.Dave.David.Davin.Davion.Davon.Davonte.Dawson.Dax.Dayne.Dayton.Dean.Deangelo.Declan.Dedric.Dedrick.Deion.Dejon.Dejuan.Delbert.Delmer.Demarco.Demarcus.Demario.Demetrius.Demond.Denis.Dennis.Deon.Deondre.Deontae.Deonte.Dereck.Derek.Derick.Deron.Derrick.Deshaun.Deshawn.Desmond.Destin.Devante.Deven.Devin.Devonte.Dewayne.Dewey.Dewitt.Dexter.Diego.Dillan.Dillon.Dimitri.Dino.Dion.Dock.Domenic.Domenick.Domenico.Domingo.Dominic.Dominick.Don.Donald.Donato.Donavon.Donnell.Donnie.Donny.Doug.Douglas.Doyle.Drake.Drew.Duane.Dudley.Duncan.Durward.Dustin.Dwayne.Dwight.Dylan.Earl.Earnest.Easton.Ed.Edd.Eddie.Edgar.Edgardo.Edison.Edmond.Edmund.Eduardo.Edward.Edwardo.Edwin.Efrain.Efren.Einar.Eino.Eladio.Elbert.Eldon.Eldred.Eldridge.Eleazar.Eli.Elian.Elias.Eliezer.Elijah.Eliseo.Elliot.Elliott.Ellis.Ellsworth.Elmer.Elmo.Elmore.Eloy.Elroy.Elton.Elvis.Elwin.Elwyn.Emanuel.Emerson.Emil.Emile.Emiliano.Emilio.Emmanuel.Emmet.Emmett.Emmitt.Enoch.Enos.Enrico.Enrique.Ephraim.Eriberto.Eric.Erich.Erick.Erik.Erling.Ernest.Ernesto.Ernie.Ervin.Erwin.Esteban.Estevan.Ethan.Eugene.Eusebio.Evan.Evans.Everardo.Everett.Everette.Evert.Ewald.Ewell.Ezekiel.Ezequiel.Ezra.Fabian.Faustino.Fausto.Favian.Federico.Felipe.Felix.Felton.Fermin.Fernando.Fidel.Filiberto.Finn.Flavio.Fletcher.Florencio.Florian.Floyd.Ford.Forest.Forrest.Foster.Francesco.Francisco.Franco.Frank.Franklin.Franz.Fred.Freddie.Freddy.Frederic.Frederick.Frederik.Fredrick.Fredy.Freeman.Friedrich.Fritz.Furman.Gabe.Gabriel.Gaetano.Gage.Gardner.Garett.Garfield.Garland.Garret.Garrett.Garrick.Garrison.Garry.Garth.Gary.Gaston.Gavin.Gene.General.Gennaro.Geo.Geoffrey.George.Geovanni.Geovanny.Geovany.Gerald.Gerard.Gerardo.Gerhard.German.Gerry.Gerson.Gianni.Gideon.Gilbert.Gilberto.Giles.Gino.Giovani.Giovanni.Giovanny.Giuseppe.Glen.Glenn.Godfrey.Gonzalo.Gordon.Grady.Graham.Grant.Granville.Grayson.Green.Greg.Gregg.Gregorio.Gregory.Greyson.Griffin.Grover.Guido.Guillermo.Guiseppe.Gunnar.Gunner.Gus.Gust.Gustave.Gustavo.Guy.Hal.Hank.Hans.Hardy.Harmon.Harold.Harrison.Harry.Harvey.Haskell.Hassan.Hayden.Heath.Heber.Hector.Helmer.Henderson.Henri.Henry.Herbert.Herman.Hermann.Herminio.Hershel.Hilario.Hilbert.Hillard.Hilton.Hipolito.Hiram.Hobart.Holden.Homer.Horace.Horacio.Hosea.Houston.Howard.Howell.Hoyt.Hubert.Hudson.Hugh.Hugo.Humberto.Hunter.Hyman.Ian.Ibrahim.Ignacio.Ignatius.Ike.Immanuel.Irvin.Irving.Irwin.Isaac.Isac.Isadore.Isai.Isaiah.Isaias.Isidro.Ismael.Isom.Israel.Issac.Ivan.Izaiah.Jabari.Jace.Jacinto.Jack.Jackson.Jacob.Jacques.Jadon.Jaime.Jairo.Jake.Jakob.Jaleel.Jalen.Jalon.Jamaal.Jamal.Jamar.Jamarcus.Jamel.James.Jameson.Jamil.Jamir.Jamison.Janick.Jaquan.Jared.Jaren.Jarod.Jaron.Jarred.Jarrell.Jarret.Jarrett.Jarrod.Jarvis.Jasen.Jason.Jasper.Javier.Javon.Javonte.Jay.Jayce.Jayden.Jaydon.Jaylen.Jaylon.Jayson.Jed.Jedediah.Jedidiah.Jeff.Jefferey.Jeffery.Jeffrey.Jeffry.Jerad.Jerald.Jeramie.Jeramy.Jerel.Jeremiah.Jeremie.Jeremy.Jermain.Jermaine.Jermey.Jerod.Jerome.Jeromy.Jerrell.Jerrod.Jerrold.Jerry.Jesse.Jesus.Jett.Jevon.Jim.Jimmie.Jimmy.Joaquin.Joe.Joel.Joesph.Joey.Johan.Johann.Johathan.John.Johnathan.Johnathon.Johnny.Johnpaul.Johnson.Jon.Jonas.Jonatan.Jonathan.Jonathon.Jordi.Jordon.Jordy.Jorge.Jose.Joseph.Josh.Joshua.Joshuah.Josiah.Josue.Jovan.Jovani.Jovanny.Jovany.Juan.Judah.Judd.Judge.Judson.Julian.Julien.Julio.Julius.Junior.Junius.Justen.Justin.Juston.Justus.Justyn.Juvenal.Juwan.Kade.Kaden.Kadin.Kale.Kaleb.Kameron.Kamren.Kamron.Kane.Kareem.Karl.Kavon.Keagan.Keanu.Keaton.Keegan.Keenan.Keith.Kellen.Kelton.Kelvin.Ken.Kendrick.Kenneth.Kennith.Kenny.Kent.Kenton.Kenyon.Keon.Keshaun.Keshawn.Keven.Kevin.Kevon.Keyon.Keyshawn.Khalid.Khalil.Kian.Kiel.Kieran.King.Kip.Kirk.Kobe.Koby.Kody.Kolby.Kole.Korbin.Korey.Kory.Kraig.Kristofer.Kristoffer.Kristopher.Kurt.Kurtis.Kyle.Kyler.Ladarius.Lafayette.Lamar.Lambert.Lamont.Lance.Landen.Laron.Larry.Laurence.Lawrence.Lawson.Lazaro.Leif.Leland.Lemuel.Lenny.Leo.Leon.Leonard.Leonardo.Leonel.Leopold.Leopoldo.Leroy.Lester.Levi.Lew.Lewis.Liam.Lincoln.Linwood.Lionel.Lisandro.Llewellyn.Lloyd.Logan.Lon.Lonnie.Lonny.Lonzo.Lorenz.Lorenzo.Louie.Louis.Lowell.Lucas.Luciano.Lucio.Lucious.Lucius.Ludwig.Luigi.Luis.Lukas.Luke.Luther.Lyle.Mac.Mack.Magnus.Major.Malachi.Malcolm.Manley.Manuel.Marc.Marcel.Marcelino.Marcellus.Marcelo.Marco.Marcos.Marcus.Mariano.Mario.Mark.Markus.Marlon.Marques.Marquis.Marquise.Marshall.Martin.Marty.Marvin.Mason.Mateo.Mathew.Mathias.Matt.Matteo.Matthew.Maurice.Mauricio.Maverick.Max.Maxime.Maximilian.Maximillian.Maximo.Maximus.Maxwell.Maynard.Mekhi.Melvin.Mervin.Micah.Michael.Micheal.Miguel.Mike.Mikel.Miles.Milford.Milo.Milton.Misael.Mitchel.Mitchell.Modesto.Mohamed.Mohammad.Mohammed.Moises.Monte.Monty.Morris.Mortimer.Morton.Mose.Moses.Moshe.Muhammad.Murray.Mustafa.Myles.Myron.Name.Napoleon.Narciso.Nash.Nasir.Nat.Nathan.Nathanael.Nathanial.Nathaniel.Nathen.Neal.Ned.Neil.Nels.Nelson.Nestor.Newell.Newton.Nicholas.Nicholaus.Nick.Nicklaus.Nickolas.Nico.Nicolas.Nigel.Nikko.Niko.Nikolas.Nils.Noah.Noble.Noe.Noel.Nolan.Norbert.Norberto.Norman.Norris.Norval.Norwood.Obie.Odell.Okey.Olaf.Ole.Olen.Olin.Oliver.Omar.Omari.Omer.Oral.Oran.Oren.Orin.Orion.Orland.Orlando.Orlo.Orrin.Orval.Orville.Osbaldo.Osborne.Oscar.Osvaldo.Oswald.Oswaldo.Otha.Otho.Otis.Ottis.Otto.Owen.Pablo.Paolo.Parker.Pasquale.Patrick.Paul.Pedro.Percival.Percy.Perry.Pete.Peter.Phil.Philip.Phillip.Pierce.Pierre.Pietro.Porter.Preston.Price.Prince.Quentin.Quincy.Quinten.Quinton.Rafael.Raheem.Rahsaan.Rahul.Ralph.Ramiro.Ramon.Randal.Randall.Randolph.Randy.Ransom.Raoul.Raphael.Rashad.Rashawn.Rasheed.Raul.Ray.Raymond.Raymundo.Reece.Reed.Reggie.Reginald.Reid.Reinhold.Remington.Rene.Reuben.Rex.Rey.Reyes.Reymundo.Reynold.Rhett.Ricardo.Richard.Richie.Richmond.Rick.Rickey.Ricky.Rico.Rigoberto.Robb.Robert.Roberto.Rocky.Rod.Roderick.Rodger.Rodney.Rodolfo.Rodrick.Rodrigo.Roel.Rogelio.Roger.Rogers.Roland.Rolando.Rollin.Roman.Ron.Ronald.Ronaldo.Ronnie.Ronny.Roosevelt.Rory.Roscoe.Rosendo.Ross.Rowland.Roy.Royce.Ruben.Rudolph.Rudy.Rufus.Rupert.Russ.Russel.Russell.Rusty.Ryan.Ryder.Rylan.Salvador.Salvatore.Sam.Samir.Samson.Samuel.Sanford.Santiago.Santino.Santos.Saul.Savion.Scot.Scott.Scottie.Scotty.Seamus.Sean.Sebastian.Sedrick.Selmer.Sergio.Seth.Shad.Shane.Shaun.Shawn.Sheldon.Shemar.Sherman.Sherwood.Sid.Sigmund.Sigurd.Silas.Sim.Simeon.Simon.Solon.Sonny.Spencer.Stan.Stanford.Stanley.Stanton.Stefan.Stephan.Stephen.Stephon.Sterling.Steve.Steven.Stewart.Stone.Stuart.Sven.Sylvan.Sylvester.Tad.Talon.Tanner.Tate.Taurean.Tavares.Ted.Terence.Terrance.Terrell.Terrence.Terrill.Tevin.Thad.Thaddeus.Theo.Theodore.Theron.Thomas.Thurman.Tillman.Tim.Timmothy.Timmy.Timothy.Tito.Titus.Tobin.Toby.Tod.Todd.Tom.Tomas.Tommy.Toney.Tony.Torrance.Torrey.Trace.Travis.Travon.Tre.Tremaine.Tremayne.Trent.Trenton.Trever.Trevion.Trevor.Trey.Tristian.Triston.Troy.Trystan.Turner.Tyler.Tyree.Tyreek.Tyrel.Tyrell.Tyrese.Tyrique.Tyrone.Tyshawn.Tyson.Ubaldo.Ulices.Ulises.Uriah.Uriel.Valentin.Vance.Vaughn.Vern.Verner.Vernon.Vicente.Victor.Vidal.Vince.Vincent.Vincenzo.Vinnie.Virgil.Vito.Vladimir.Wade.Waino.Waldo.Walker.Wallace.Walter.Walton.Ward.Warren.Watson.Waylon.Wayne.Webster.Weldon.Wellington.Wendell.Werner.Wesley.Westley.Weston.Wilber.Wilbert.Wilbur.Wilburn.Wiley.Wilford.Wilfred.Wilfredo.Wilfrid.Wilhelm.Will.Willard.William.Willie.Willis.Willy.Wilmer.Wilson.Wilton.Winfield.Winston.Wm.Woodrow.Wyatt.Wyman.Xander.Xavier.Xzavier.Zachariah.Zachary.Zachery.Zack.Zackary.Zackery.Zakary.Zander.Zane.Zechariah`.split(`.`)},gender:`Agender.Androgyne.Androgynous.Bigender.Cis female.Cis male.Cis man.Cis woman.Cis.Cisgender female.Cisgender male.Cisgender man.Cisgender woman.Cisgender.Demi-boy.Demi-girl.Demi-man.Demi-woman.Demiflux.Demigender.F2M.FTM.Female to male trans man.Female to male transgender man.Female to male transsexual man.Female to male.Gender fluid.Gender neutral.Gender nonconforming.Gender questioning.Gender variant.Genderflux.Genderqueer.Hermaphrodite.Intersex man.Intersex person.Intersex woman.Intersex.M2F.MTF.Male to female trans woman.Male to female transgender woman.Male to female transsexual woman.Male to female.Man.Multigender.Neither.Neutrois.Non-binary.Omnigender.Other.Pangender.Polygender.T* man.T* woman.Trans female.Trans male.Trans man.Trans person.Trans woman.Trans.Transsexual female.Transsexual male.Transsexual man.Transsexual person.Transsexual woman.Transsexual.Transgender female.Transgender person.Transmasculine.Trigender.Two* person.Two-spirit person.Two-spirit.Woman.Xenogender`.split(`.`),job_area:`Solutions.Program.Brand.Security.Research.Marketing.Directives.Implementation.Integration.Functionality.Response.Paradigm.Tactics.Identity.Markets.Group.Division.Applications.Optimization.Operations.Infrastructure.Intranet.Communications.Web.Branding.Quality.Assurance.Mobility.Accounts.Data.Creative.Configuration.Accountability.Interactions.Factors.Usability.Metrics`.split(`.`),job_descriptor:[`Lead`,`Senior`,`Direct`,`Corporate`,`Dynamic`,`Future`,`Product`,`National`,`Regional`,`District`,`Central`,`Global`,`Customer`,`Investor`,`International`,`Legacy`,`Forward`,`Internal`,`Human`,`Chief`,`Principal`],job_title_pattern:[`{{person.jobDescriptor}} {{person.jobArea}} {{person.jobType}}`],job_type:[`Supervisor`,`Associate`,`Executive`,`Liaison`,`Officer`,`Manager`,`Engineer`,`Specialist`,`Director`,`Coordinator`,`Administrator`,`Architect`,`Analyst`,`Designer`,`Planner`,`Orchestrator`,`Technician`,`Developer`,`Producer`,`Consultant`,`Assistant`,`Facilitator`,`Agent`,`Representative`,`Strategist`],last_name:{generic:`Abbott.Abernathy.Abshire.Adams.Altenwerth.Anderson.Ankunding.Armstrong.Auer.Aufderhar.Bahringer.Bailey.Balistreri.Barrows.Bartell.Bartoletti.Barton.Bashirian.Batz.Bauch.Baumbach.Bayer.Beahan.Beatty.Bechtelar.Becker.Bednar.Beer.Beier.Berge.Bergnaum.Bergstrom.Bernhard.Bernier.Bins.Blanda.Blick.Block.Bode.Boehm.Bogan.Bogisich.Borer.Bosco.Botsford.Boyer.Boyle.Bradtke.Brakus.Braun.Breitenberg.Brekke.Brown.Bruen.Buckridge.Carroll.Carter.Cartwright.Casper.Cassin.Champlin.Christiansen.Cole.Collier.Collins.Conn.Connelly.Conroy.Considine.Corkery.Cormier.Corwin.Cremin.Crist.Crona.Cronin.Crooks.Cruickshank.Cummerata.Cummings.D'Amore.Dach.Daniel.Dare.Daugherty.Davis.Deckow.Denesik.Dibbert.Dickens.Dicki.Dickinson.Dietrich.Donnelly.Dooley.Douglas.Doyle.DuBuque.Durgan.Ebert.Effertz.Emard.Emmerich.Erdman.Ernser.Fadel.Fahey.Farrell.Fay.Feeney.Feest.Feil.Ferry.Fisher.Flatley.Frami.Franecki.Franey.Friesen.Fritsch.Funk.Gerhold.Gerlach.Gibson.Gislason.Gleason.Gleichner.Glover.Goldner.Goodwin.Gorczany.Gottlieb.Goyette.Grady.Graham.Grant.Green.Greenfelder.Greenholt.Grimes.Gulgowski.Gusikowski.Gutkowski.Gutmann.Haag.Hackett.Hagenes.Hahn.Haley.Halvorson.Hamill.Hammes.Hand.Hane.Hansen.Harber.Harris.Hartmann.Harvey.Hauck.Hayes.Heaney.Heathcote.Hegmann.Heidenreich.Heller.Herman.Hermann.Hermiston.Herzog.Hessel.Hettinger.Hickle.Hilll.Hills.Hilpert.Hintz.Hirthe.Hodkiewicz.Hoeger.Homenick.Hoppe.Howe.Howell.Hudson.Huel.Huels.Hyatt.Jacobi.Jacobs.Jacobson.Jakubowski.Jaskolski.Jast.Jenkins.Jerde.Johns.Johnson.Johnston.Jones.Kassulke.Kautzer.Keebler.Keeling.Kemmer.Kerluke.Kertzmann.Kessler.Kiehn.Kihn.Kilback.King.Kirlin.Klein.Kling.Klocko.Koch.Koelpin.Koepp.Kohler.Konopelski.Koss.Kovacek.Kozey.Krajcik.Kreiger.Kris.Kshlerin.Kub.Kuhic.Kuhlman.Kuhn.Kulas.Kunde.Kunze.Kuphal.Kutch.Kuvalis.Labadie.Lakin.Lang.Langosh.Langworth.Larkin.Larson.Leannon.Lebsack.Ledner.Leffler.Legros.Lehner.Lemke.Lesch.Leuschke.Lind.Lindgren.Littel.Little.Lockman.Lowe.Lubowitz.Lueilwitz.Luettgen.Lynch.MacGyver.Macejkovic.Maggio.Mann.Mante.Marks.Marquardt.Marvin.Mayer.Mayert.McClure.McCullough.McDermott.McGlynn.McKenzie.McLaughlin.Medhurst.Mertz.Metz.Miller.Mills.Mitchell.Moen.Mohr.Monahan.Moore.Morar.Morissette.Mosciski.Mraz.Mueller.Muller.Murazik.Murphy.Murray.Nader.Nicolas.Nienow.Nikolaus.Nitzsche.Nolan.O'Connell.O'Conner.O'Hara.O'Keefe.O'Kon.O'Reilly.Oberbrunner.Okuneva.Olson.Ondricka.Orn.Ortiz.Osinski.Pacocha.Padberg.Pagac.Parisian.Parker.Paucek.Pfannerstill.Pfeffer.Pollich.Pouros.Powlowski.Predovic.Price.Prohaska.Prosacco.Purdy.Quigley.Quitzon.Rath.Ratke.Rau.Raynor.Reichel.Reichert.Reilly.Reinger.Rempel.Renner.Reynolds.Rice.Rippin.Ritchie.Robel.Roberts.Rodriguez.Rogahn.Rohan.Rolfson.Romaguera.Roob.Rosenbaum.Rowe.Ruecker.Runolfsdottir.Runolfsson.Runte.Russel.Rutherford.Ryan.Sanford.Satterfield.Sauer.Sawayn.Schaden.Schaefer.Schamberger.Schiller.Schimmel.Schinner.Schmeler.Schmidt.Schmitt.Schneider.Schoen.Schowalter.Schroeder.Schulist.Schultz.Schumm.Schuppe.Schuster.Senger.Shanahan.Shields.Simonis.Sipes.Skiles.Smith.Smitham.Spencer.Spinka.Sporer.Stamm.Stanton.Stark.Stehr.Steuber.Stiedemann.Stokes.Stoltenberg.Stracke.Streich.Stroman.Strosin.Swaniawski.Swift.Terry.Thiel.Thompson.Tillman.Torp.Torphy.Towne.Toy.Trantow.Tremblay.Treutel.Tromp.Turcotte.Turner.Ullrich.Upton.Vandervort.Veum.Volkman.Von.VonRueden.Waelchi.Walker.Walsh.Walter.Ward.Waters.Watsica.Weber.Wehner.Weimann.Weissnat.Welch.West.White.Wiegand.Wilderman.Wilkinson.Will.Williamson.Willms.Windler.Wintheiser.Wisoky.Wisozk.Witting.Wiza.Wolf.Wolff.Wuckert.Wunsch.Wyman.Yost.Yundt.Zboncak.Zemlak.Ziemann.Zieme.Zulauf`.split(`.`)},last_name_pattern:{generic:[{value:`{{person.last_name.generic}}`,weight:95},{value:`{{person.last_name.generic}}-{{person.last_name.generic}}`,weight:5}]},middle_name:{generic:`Addison.Angel.Arden.Arya.Ashton.August.Avery.Bailey.Bay.Blair.Blue.Bowie.Caylen.Dakota.Devine.Devon.Dior.Eden.Elein.Eyre.Finley.Flynn.France.Francis.Gray.Greer.Harley.Harper.Isa.Jaden.Jamie.Jazz.Jess.Jordan.Journey.Jude.Jules.Justice.Kai.Kendall.Kennedy.Lake.Lane.Lee.London.Lou.Love.Lucky.Lux.Marlowe.Medusa.Monroe.Morgan.Nova.Ocean.Phoenix.Quinn.Rain.Raye.Reagan.Rebel.Reese.Regan.Reign.Riley.River.Robin.Rowan.Royal.Sage.Saturn.Scout.Shiloh.Sky.Skylar.Skyler.Storm.Taylen.Taylor.Teagan.Winter.Zion.Zyair`.split(`.`),female:`Abigail.Adele.Alice.Alisha.Amber.Amelia.Amora.Anaïs.Anika.Anise.Annabel.Anne.Aphrodite.Aretha.Aster.Audrey.Bailee.Belle.Beth.Billie.Blanche.Bree.Brielle.Brienne.Brooke.Brooklyn.Caleen.Candice.Caprice.Carelyn.Celine.Cerise.Cia.Claire.Claudia.Clementine.Coral.Coraline.Dahlia.Dawn.Della.Demi.Denise.Diana.Ebony.Eleanor.Elizabeth.Ellen.Elodie.Eloise.Ember.Emma.Erin.Faith.Farrah.Fawn.Fayre.Fern.Frida.Genisis.Georgia.Grace.Gwen.Hazel.Helen.Hippolyta.Holly.Hope.Imani.Iowa.Ireland.Irene.Iris.Isla.Ivy.Jade.Jane.Jean.Jo.Joan.Jolie.Josie.Joy.Juliet.Juniper.Kali.Karma.Karsyn.Kat.Kate.Keva.Kylie.Lark.Layla.Leigh.Leona.Leslie.Lexi.Louise.Luna.Lynn.Lyric.Maddie.Mae.Marie.Matilda.Maude.Maybel.Meadow.Mercy.Michelle.Mirabel.Nalia.Naomi.Olive.Paige.Pearl.Penelope.Rae.Raven.Rose.Ruth.Rylie.Sasha.Serena.Sofia.Sophia.Sue.Suzanne.Sydney.Tempest.Tenley.Thea.Trinity.Valerie.Venus.Vera.Violet.Willow.Xena.Zaylee.Zoe`.split(`.`),male:`Ace.Aiden.Alex.Alexander.Ander.Anderson.Angelou.Anthony.Asher.Austin.Aziel.Bear.Beckham.Benjamin.Blaise.Blake.Buddy.Calvin.Cameron.Carter.Charles.Charlie.Christopher.Clyde.Cooper.Corey.Daniel.David.Denver.Drew.Dylan.Elijah.Elliott.Ellis.Emerson.Ethan.Ezra.Fletcher.Gabriel.Grayson.Gus.Hank.Harrison.Hayden.Hendrix.Henry.Houston.Hudson.Hugh.Isaac.Jack.Jackson.Jacob.Jakobe.James.Jaxon.Jaxtyn.Jayden.Jett.John.Joseph.Josiah.Julian.Julien.Kenji.Kobe.Kyle.Kylo.Lennon.Leo.Levi.Liam.Lincoln.Logan.Louis.Lucas.Luke.Mason.Mateo.Matthew.Maverick.Micah.Michael.Nico.Nixon.Noah.North.Oliver.Otis.Otto.Owen.Ozzy.Parker.Pax.Ray.Reeve.Rocky.Rory.Ryan.Sam.Samuel.Sawyer.Sebastian.Shawn.Sonny.Teddy.Theo.Theodore.Thomas.Truett.Walter.Warren.Watson.William.Wison.Wyatt.Ziggy`.split(`.`)},name:[{value:`{{person.firstName}} {{person.lastName}}`,weight:49},{value:`{{person.prefix}} {{person.firstName}} {{person.lastName}}`,weight:7},{value:`{{person.firstName}} {{person.lastName}} {{person.suffix}}`,weight:7},{value:`{{person.prefix}} {{person.firstName}} {{person.lastName}} {{person.suffix}}`,weight:1}],prefix:{generic:[`Dr.`],female:[`Miss`,`Mrs.`,`Ms.`],male:[`Mr.`]},sex:[`female`,`male`],suffix:[`Jr.`,`Sr.`,`I`,`II`,`III`,`IV`,`V`,`MD`,`DDS`,`PhD`,`DVM`],western_zodiac_sign:[`Aquarius`,`Pisces`,`Aries`,`Taurus`,`Gemini`,`Cancer`,`Leo`,`Virgo`,`Libra`,`Scorpio`,`Sagittarius`,`Capricorn`]},phone_number:{format:{human:[`!##-!##-####`,`!##-!##-#### x###`,`!##-!##-#### x####`,`!##-!##-#### x#####`,`!##.!##.####`,`!##.!##.#### x###`,`!##.!##.#### x####`,`!##.!##.#### x#####`,`(!##) !##-####`,`(!##) !##-#### x###`,`(!##) !##-#### x####`,`(!##) !##-#### x#####`,`1-!##-!##-####`,`1-!##-!##-#### x###`,`1-!##-!##-#### x####`,`1-!##-!##-#### x#####`],international:[`+1!##!######`],mobile:[`!##!######`],national:[`(!##) !##-####`]}},science:{chemical_element:[{symbol:`H`,name:`Hydrogen`,atomicNumber:1},{symbol:`He`,name:`Helium`,atomicNumber:2},{symbol:`Li`,name:`Lithium`,atomicNumber:3},{symbol:`Be`,name:`Beryllium`,atomicNumber:4},{symbol:`B`,name:`Boron`,atomicNumber:5},{symbol:`C`,name:`Carbon`,atomicNumber:6},{symbol:`N`,name:`Nitrogen`,atomicNumber:7},{symbol:`O`,name:`Oxygen`,atomicNumber:8},{symbol:`F`,name:`Fluorine`,atomicNumber:9},{symbol:`Ne`,name:`Neon`,atomicNumber:10},{symbol:`Na`,name:`Sodium`,atomicNumber:11},{symbol:`Mg`,name:`Magnesium`,atomicNumber:12},{symbol:`Al`,name:`Aluminium`,atomicNumber:13},{symbol:`Si`,name:`Silicon`,atomicNumber:14},{symbol:`P`,name:`Phosphorus`,atomicNumber:15},{symbol:`S`,name:`Sulfur`,atomicNumber:16},{symbol:`Cl`,name:`Chlorine`,atomicNumber:17},{symbol:`Ar`,name:`Argon`,atomicNumber:18},{symbol:`K`,name:`Potassium`,atomicNumber:19},{symbol:`Ca`,name:`Calcium`,atomicNumber:20},{symbol:`Sc`,name:`Scandium`,atomicNumber:21},{symbol:`Ti`,name:`Titanium`,atomicNumber:22},{symbol:`V`,name:`Vanadium`,atomicNumber:23},{symbol:`Cr`,name:`Chromium`,atomicNumber:24},{symbol:`Mn`,name:`Manganese`,atomicNumber:25},{symbol:`Fe`,name:`Iron`,atomicNumber:26},{symbol:`Co`,name:`Cobalt`,atomicNumber:27},{symbol:`Ni`,name:`Nickel`,atomicNumber:28},{symbol:`Cu`,name:`Copper`,atomicNumber:29},{symbol:`Zn`,name:`Zinc`,atomicNumber:30},{symbol:`Ga`,name:`Gallium`,atomicNumber:31},{symbol:`Ge`,name:`Germanium`,atomicNumber:32},{symbol:`As`,name:`Arsenic`,atomicNumber:33},{symbol:`Se`,name:`Selenium`,atomicNumber:34},{symbol:`Br`,name:`Bromine`,atomicNumber:35},{symbol:`Kr`,name:`Krypton`,atomicNumber:36},{symbol:`Rb`,name:`Rubidium`,atomicNumber:37},{symbol:`Sr`,name:`Strontium`,atomicNumber:38},{symbol:`Y`,name:`Yttrium`,atomicNumber:39},{symbol:`Zr`,name:`Zirconium`,atomicNumber:40},{symbol:`Nb`,name:`Niobium`,atomicNumber:41},{symbol:`Mo`,name:`Molybdenum`,atomicNumber:42},{symbol:`Tc`,name:`Technetium`,atomicNumber:43},{symbol:`Ru`,name:`Ruthenium`,atomicNumber:44},{symbol:`Rh`,name:`Rhodium`,atomicNumber:45},{symbol:`Pd`,name:`Palladium`,atomicNumber:46},{symbol:`Ag`,name:`Silver`,atomicNumber:47},{symbol:`Cd`,name:`Cadmium`,atomicNumber:48},{symbol:`In`,name:`Indium`,atomicNumber:49},{symbol:`Sn`,name:`Tin`,atomicNumber:50},{symbol:`Sb`,name:`Antimony`,atomicNumber:51},{symbol:`Te`,name:`Tellurium`,atomicNumber:52},{symbol:`I`,name:`Iodine`,atomicNumber:53},{symbol:`Xe`,name:`Xenon`,atomicNumber:54},{symbol:`Cs`,name:`Caesium`,atomicNumber:55},{symbol:`Ba`,name:`Barium`,atomicNumber:56},{symbol:`La`,name:`Lanthanum`,atomicNumber:57},{symbol:`Ce`,name:`Cerium`,atomicNumber:58},{symbol:`Pr`,name:`Praseodymium`,atomicNumber:59},{symbol:`Nd`,name:`Neodymium`,atomicNumber:60},{symbol:`Pm`,name:`Promethium`,atomicNumber:61},{symbol:`Sm`,name:`Samarium`,atomicNumber:62},{symbol:`Eu`,name:`Europium`,atomicNumber:63},{symbol:`Gd`,name:`Gadolinium`,atomicNumber:64},{symbol:`Tb`,name:`Terbium`,atomicNumber:65},{symbol:`Dy`,name:`Dysprosium`,atomicNumber:66},{symbol:`Ho`,name:`Holmium`,atomicNumber:67},{symbol:`Er`,name:`Erbium`,atomicNumber:68},{symbol:`Tm`,name:`Thulium`,atomicNumber:69},{symbol:`Yb`,name:`Ytterbium`,atomicNumber:70},{symbol:`Lu`,name:`Lutetium`,atomicNumber:71},{symbol:`Hf`,name:`Hafnium`,atomicNumber:72},{symbol:`Ta`,name:`Tantalum`,atomicNumber:73},{symbol:`W`,name:`Tungsten`,atomicNumber:74},{symbol:`Re`,name:`Rhenium`,atomicNumber:75},{symbol:`Os`,name:`Osmium`,atomicNumber:76},{symbol:`Ir`,name:`Iridium`,atomicNumber:77},{symbol:`Pt`,name:`Platinum`,atomicNumber:78},{symbol:`Au`,name:`Gold`,atomicNumber:79},{symbol:`Hg`,name:`Mercury`,atomicNumber:80},{symbol:`Tl`,name:`Thallium`,atomicNumber:81},{symbol:`Pb`,name:`Lead`,atomicNumber:82},{symbol:`Bi`,name:`Bismuth`,atomicNumber:83},{symbol:`Po`,name:`Polonium`,atomicNumber:84},{symbol:`At`,name:`Astatine`,atomicNumber:85},{symbol:`Rn`,name:`Radon`,atomicNumber:86},{symbol:`Fr`,name:`Francium`,atomicNumber:87},{symbol:`Ra`,name:`Radium`,atomicNumber:88},{symbol:`Ac`,name:`Actinium`,atomicNumber:89},{symbol:`Th`,name:`Thorium`,atomicNumber:90},{symbol:`Pa`,name:`Protactinium`,atomicNumber:91},{symbol:`U`,name:`Uranium`,atomicNumber:92},{symbol:`Np`,name:`Neptunium`,atomicNumber:93},{symbol:`Pu`,name:`Plutonium`,atomicNumber:94},{symbol:`Am`,name:`Americium`,atomicNumber:95},{symbol:`Cm`,name:`Curium`,atomicNumber:96},{symbol:`Bk`,name:`Berkelium`,atomicNumber:97},{symbol:`Cf`,name:`Californium`,atomicNumber:98},{symbol:`Es`,name:`Einsteinium`,atomicNumber:99},{symbol:`Fm`,name:`Fermium`,atomicNumber:100},{symbol:`Md`,name:`Mendelevium`,atomicNumber:101},{symbol:`No`,name:`Nobelium`,atomicNumber:102},{symbol:`Lr`,name:`Lawrencium`,atomicNumber:103},{symbol:`Rf`,name:`Rutherfordium`,atomicNumber:104},{symbol:`Db`,name:`Dubnium`,atomicNumber:105},{symbol:`Sg`,name:`Seaborgium`,atomicNumber:106},{symbol:`Bh`,name:`Bohrium`,atomicNumber:107},{symbol:`Hs`,name:`Hassium`,atomicNumber:108},{symbol:`Mt`,name:`Meitnerium`,atomicNumber:109},{symbol:`Ds`,name:`Darmstadtium`,atomicNumber:110},{symbol:`Rg`,name:`Roentgenium`,atomicNumber:111},{symbol:`Cn`,name:`Copernicium`,atomicNumber:112},{symbol:`Nh`,name:`Nihonium`,atomicNumber:113},{symbol:`Fl`,name:`Flerovium`,atomicNumber:114},{symbol:`Mc`,name:`Moscovium`,atomicNumber:115},{symbol:`Lv`,name:`Livermorium`,atomicNumber:116},{symbol:`Ts`,name:`Tennessine`,atomicNumber:117},{symbol:`Og`,name:`Oganesson`,atomicNumber:118}],unit:[{name:`meter`,symbol:`m`},{name:`second`,symbol:`s`},{name:`mole`,symbol:`mol`},{name:`ampere`,symbol:`A`},{name:`kelvin`,symbol:`K`},{name:`candela`,symbol:`cd`},{name:`kilogram`,symbol:`kg`},{name:`radian`,symbol:`rad`},{name:`hertz`,symbol:`Hz`},{name:`newton`,symbol:`N`},{name:`pascal`,symbol:`Pa`},{name:`joule`,symbol:`J`},{name:`watt`,symbol:`W`},{name:`coulomb`,symbol:`C`},{name:`volt`,symbol:`V`},{name:`ohm`,symbol:`Ω`},{name:`tesla`,symbol:`T`},{name:`degree Celsius`,symbol:`°C`},{name:`lumen`,symbol:`lm`},{name:`becquerel`,symbol:`Bq`},{name:`gray`,symbol:`Gy`},{name:`sievert`,symbol:`Sv`},{name:`steradian`,symbol:`sr`},{name:`farad`,symbol:`F`},{name:`siemens`,symbol:`S`},{name:`weber`,symbol:`Wb`},{name:`henry`,symbol:`H`},{name:`lux`,symbol:`lx`},{name:`katal`,symbol:`kat`}]},team:{creature:`ants.bats.bears.bees.birds.buffalo.cats.chickens.cattle.dogs.dolphins.ducks.elephants.fishes.foxes.frogs.geese.goats.horses.kangaroos.lions.monkeys.owls.oxen.penguins.people.pigs.rabbits.sheep.tigers.whales.wolves.zebras.banshees.crows.black cats.chimeras.ghosts.conspirators.dragons.dwarves.elves.enchanters.exorcists.sons.foes.giants.gnomes.goblins.gooses.griffins.lycanthropes.nemesis.ogres.oracles.prophets.sorcerors.spiders.spirits.vampires.warlocks.vixens.werewolves.witches.worshipers.zombies.druids`.split(`.`),name:[`{{location.state}} {{team.creature}}`]},vehicle:{bicycle_type:[`Adventure Road Bicycle`,`BMX Bicycle`,`City Bicycle`,`Cruiser Bicycle`,`Cyclocross Bicycle`,`Dual-Sport Bicycle`,`Fitness Bicycle`,`Flat-Foot Comfort Bicycle`,`Folding Bicycle`,`Hybrid Bicycle`,`Mountain Bicycle`,`Recumbent Bicycle`,`Road Bicycle`,`Tandem Bicycle`,`Touring Bicycle`,`Track/Fixed-Gear Bicycle`,`Triathlon/Time Trial Bicycle`,`Tricycle`],fuel:[`Diesel`,`Electric`,`Gasoline`,`Hybrid`],manufacturer:`Aston Martin.Audi.BMW.BYD.Bentley.Bugatti.Cadillac.Chevrolet.Chrysler.Citroën.Dodge.Ferrari.Fiat.Ford.Honda.Hyundai.Jaguar.Jeep.Kia.Lamborghini.Land Rover.MG.Mahindra & Mahindra.Maruti.Maserati.Mazda.Mercedes Benz.Mini.Mitsubishi.NIO.Nissan.Peugeot.Polestar.Porsche.Renault.Rivian.Rolls Royce.Skoda.Smart.Subaru.Suzuki.Tata.Tesla.Toyota.Vauxhall.Volkswagen.Volvo`.split(`.`),model:`1.2.911.A4.A8.ATS.Accord.Alpine.Altima.Aventador.Beetle.CTS.CX-9.Camaro.Camry.Challenger.Charger.Civic.Colorado.Corvette.Countach.Cruze.Durango.El Camino.Element.Escalade.Expedition.Explorer.F-150.Fiesta.Focus.Fortwo.Golf.Grand Caravan.Grand Cherokee.Impala.Jetta.Land Cruiser.LeBaron.Malibu.Model 3.Model S.Model T.Model X.Model Y.Murcielago.Mustang.PT Cruiser.Prius.Ranchero.Roadster.Sentra.Silverado.Spyder.Taurus.V90.Volt.Wrangler.XC90.XTS`.split(`.`),type:[`Cargo Van`,`Convertible`,`Coupe`,`Crew Cab Pickup`,`Extended Cab Pickup`,`Hatchback`,`Minivan`,`Passenger Van`,`SUV`,`Sedan`,`Wagon`]},word:{adjective:`abandoned.able.acceptable.acclaimed.accomplished.accurate.aching.acidic.actual.admired.adolescent.advanced.affectionate.afraid.aged.aggravating.aggressive.agile.agitated.agreeable.ajar.alarmed.alert.alienated.alive.all.altruistic.amazing.ambitious.ample.amused.angelic.anguished.animated.annual.another.antique.any.apprehensive.appropriate.apt.arid.artistic.ashamed.assured.astonishing.athletic.austere.authentic.authorized.avaricious.average.aware.awesome.awful.babyish.back.bad.baggy.bare.basic.beloved.beneficial.best.better.big.biodegradable.bitter.black.black-and-white.blank.blaring.bleak.blind.blond.blue.blushing.bogus.boiling.bony.boring.bossy.both.bouncy.bowed.brave.breakable.bright.brilliant.brisk.broken.brown.bruised.bulky.burdensome.burly.bustling.busy.buttery.buzzing.calculating.candid.carefree.careless.caring.cautious.cavernous.celebrated.charming.cheap.cheerful.chilly.chubby.circular.classic.clean.clear.clear-cut.close.closed.cloudy.clueless.clumsy.cluttered.coarse.colorful.colorless.colossal.comfortable.common.compassionate.competent.complete.complicated.concerned.concrete.confused.considerate.content.cool.cooperative.coordinated.corny.corrupt.courageous.courteous.crafty.crazy.creamy.creative.criminal.critical.crooked.crowded.cruel.crushing.cuddly.cultivated.cumbersome.curly.cute.damaged.damp.dapper.dark.darling.dazzling.dead.deadly.deafening.dearest.decent.decisive.deep.defenseless.defensive.deficient.definite.definitive.delectable.delicious.delirious.dense.dental.dependable.dependent.descriptive.deserted.determined.devoted.different.difficult.digital.diligent.dim.direct.dirty.discrete.disloyal.dismal.distant.distinct.distorted.doting.downright.drab.dramatic.dreary.dual.dull.dutiful.each.early.earnest.easy.ecstatic.edible.educated.elastic.elderly.electric.elegant.elementary.elliptical.eminent.emotional.empty.enchanted.enchanting.energetic.enlightened.enraged.entire.equatorial.essential.esteemed.ethical.everlasting.every.evil.exalted.excellent.excitable.excited.exhausted.exotic.expensive.experienced.expert.extra-large.extroverted.failing.faint.fair.fake.familiar.fantastic.far.far-flung.far-off.faraway.fat.fatal.fatherly.favorable.favorite.fearless.feline.filthy.fine.finished.firm.first.firsthand.fixed.flashy.flawed.flawless.flickering.flimsy.flowery.fluffy.flustered.focused.fond.foolhardy.foolish.forceful.formal.forsaken.fortunate.fragrant.frail.frank.free.french.frequent.friendly.frightened.frilly.frivolous.frizzy.front.frozen.frugal.fruitful.functional.funny.fussy.fuzzy.gaseous.general.gentle.genuine.gifted.gigantic.giving.glaring.glass.gleaming.glittering.gloomy.glorious.glossy.glum.golden.good.good-natured.gorgeous.graceful.gracious.grandiose.granular.grave.gray.great.greedy.grim.grimy.gripping.grizzled.grouchy.grounded.growing.grown.grubby.gruesome.grumpy.guilty.gullible.gummy.hairy.handsome.handy.happy.happy-go-lucky.hard-to-find.harmful.hasty.hateful.haunting.heartfelt.heavenly.heavy.hefty.helpful.helpless.hidden.hoarse.hollow.homely.honorable.honored.hopeful.hospitable.hot.huge.humble.humiliating.hungry.hurtful.husky.icy.ideal.idealistic.idolized.ignorant.ill.ill-fated.illiterate.illustrious.imaginary.imaginative.immaculate.immediate.immense.impartial.impassioned.impeccable.impish.impolite.important.impossible.impractical.impressionable.impressive.improbable.impure.inborn.incomparable.incomplete.inconsequential.indelible.indolent.inexperienced.infamous.infatuated.inferior.infinite.informal.innocent.insecure.insidious.insignificant.insistent.instructive.intelligent.intent.interesting.internal.international.intrepid.ironclad.irresponsible.jagged.jam-packed.jaunty.jealous.jittery.joyful.joyous.jubilant.judicious.juicy.jumbo.junior.juvenile.kaleidoscopic.key.knotty.knowledgeable.known.kooky.kosher.lanky.last.lasting.late.lavish.lawful.lazy.leading.lean.left.legal.light.lighthearted.likable.likely.limited.limp.limping.linear.lined.liquid.little.live.lively.livid.lone.lonely.long.long-term.lost.lovable.lovely.low.lucky.lumbering.lumpy.lustrous.mad.made-up.magnificent.majestic.major.male.mammoth.married.marvelous.massive.mature.meager.mealy.mean.measly.meaty.mediocre.medium.memorable.menacing.merry.messy.metallic.mild.milky.mindless.minor.minty.miserable.miserly.misguided.mixed.moist.monstrous.monthly.monumental.moral.motionless.muddy.muffled.multicolored.mundane.murky.mushy.musty.muted.mysterious.narrow.natural.naughty.nautical.near.neat.necessary.needy.negative.neglected.negligible.neighboring.nervous.new.next.nice.nifty.nimble.nippy.nocturnal.normal.noted.noteworthy.noxious.numb.nutritious.obedient.oblong.obvious.odd.oddball.official.oily.old.old-fashioned.only.optimal.optimistic.orange.orderly.ordinary.ornate.ornery.other.our.outgoing.outlandish.outlying.outrageous.outstanding.oval.overcooked.overdue.palatable.pale.paltry.parallel.parched.partial.passionate.pastel.peaceful.peppery.perfumed.perky.personal.pertinent.pessimistic.petty.phony.physical.pink.pitiful.plain.pleasant.pleased.pleasing.plump.pointed.pointless.polished.polite.political.poor.portly.posh.possible.potable.powerful.powerless.practical.precious.present.prestigious.pretty.pricey.prickly.primary.prime.private.probable.productive.profitable.profuse.proper.proud.prudent.punctual.puny.pure.purple.pushy.putrid.puzzled.qualified.quarrelsome.quarterly.queasy.querulous.questionable.quick.quick-witted.quiet.quintessential.quixotic.radiant.ragged.rapid.rare.raw.realistic.reasonable.recent.reckless.rectangular.red.reflecting.regal.regular.remarkable.remorseful.repentant.respectful.responsible.rewarding.rich.right.rigid.ripe.roasted.robust.rosy.rotating.rotten.rough.round.rowdy.royal.rubbery.ruddy.rundown.runny.rural.rusty.sad.salty.same.sandy.sarcastic.sardonic.scaly.scared.scary.scented.scientific.scornful.scratchy.second.second-hand.secondary.secret.self-assured.self-reliant.selfish.sentimental.separate.serene.serpentine.severe.shabby.shadowy.shady.shallow.shameful.shameless.shimmering.shiny.shocked.shoddy.short.short-term.showy.shrill.shy.sick.silent.silky.silver.similar.simple.simplistic.sinful.sizzling.skeletal.sleepy.slight.slimy.slow.slushy.small.smart.smoggy.smooth.smug.snappy.snarling.sneaky.sniveling.snoopy.sociable.soft.soggy.somber.some.sophisticated.sore.sorrowful.soulful.soupy.sour.spanish.sparkling.sparse.specific.speedy.spherical.spiffy.spirited.spiteful.splendid.spotless.square.squeaky.squiggly.stable.staid.stained.stale.standard.stark.steel.steep.sticky.stiff.stingy.stormy.straight.strange.strict.strident.striking.strong.stunning.stupendous.sturdy.stylish.subdued.submissive.substantial.subtle.suburban.sudden.sugary.sunny.super.superb.superficial.superior.supportive.sure-footed.surprised.svelte.sweet.swift.talkative.tall.tame.tangible.tasty.tattered.taut.tedious.teeming.tempting.tender.tense.tepid.terrible.that.these.thick.thin.thorny.thorough.those.thrifty.tidy.tight.timely.tinted.tiny.tired.torn.total.tough.tragic.trained.triangular.tricky.trim.trivial.troubled.true.trusting.trustworthy.trusty.turbulent.twin.ugly.ultimate.unaware.uncomfortable.uncommon.unconscious.understated.uneven.unfinished.unfit.unfortunate.unhappy.unhealthy.uniform.unimportant.unique.unkempt.unknown.unlawful.unlined.unlucky.unpleasant.unrealistic.unripe.unruly.unselfish.unsightly.unsteady.unsung.untidy.untimely.untried.untrue.unused.unusual.unwelcome.unwieldy.unwilling.unwritten.upbeat.upright.upset.urban.usable.useless.utilized.utter.vague.vain.valuable.variable.vast.velvety.vengeful.vibrant.victorious.violent.vivacious.vivid.voluminous.warlike.warm.warmhearted.warped.wasteful.waterlogged.watery.wavy.wealthy.weary.webbed.wee.weekly.weighty.weird.well-documented.well-groomed.well-lit.well-made.well-off.well-to-do.well-worn.which.whimsical.whirlwind.whispered.white.whole.whopping.wicked.wide.wide-eyed.wiggly.willing.wilted.winding.windy.winged.wise.witty.wobbly.woeful.wonderful.wordy.worldly.worse.worst.worthless.worthwhile.worthy.wrathful.wretched.writhing.wrong.wry.yearly.yellow.yellowish.young.youthful.yummy.zany.zealous.zesty`.split(`.`),adverb:`abnormally.absentmindedly.accidentally.acidly.actually.adventurously.afterwards.almost.always.angrily.annually.anxiously.arrogantly.awkwardly.badly.bashfully.beautifully.bitterly.bleakly.blindly.blissfully.boastfully.boldly.bravely.briefly.brightly.briskly.broadly.busily.calmly.carefully.carelessly.cautiously.certainly.cheerfully.clearly.cleverly.closely.coaxingly.colorfully.commonly.continually.coolly.correctly.courageously.crossly.cruelly.curiously.daily.daintily.dearly.deceivingly.deeply.defiantly.deliberately.delightfully.diligently.dimly.doubtfully.dreamily.easily.elegantly.energetically.enormously.enthusiastically.equally.especially.even.evenly.eventually.exactly.excitedly.extremely.fairly.faithfully.famously.far.fast.fatally.ferociously.fervently.fiercely.fondly.foolishly.fortunately.frankly.frantically.freely.frenetically.frightfully.fully.furiously.generally.generously.gently.gladly.gleefully.gracefully.gratefully.greatly.greedily.happily.hastily.healthily.heavily.helpfully.helplessly.highly.honestly.hopelessly.hourly.hungrily.immediately.innocently.inquisitively.instantly.intensely.intently.interestingly.inwardly.irritably.jaggedly.jealously.joshingly.jovially.joyfully.joyously.jubilantly.judgementally.justly.keenly.kiddingly.kindheartedly.kindly.kissingly.knavishly.knottily.knowingly.knowledgeably.kookily.lazily.less.lightly.likely.limply.lively.loftily.longingly.loosely.loudly.lovingly.loyally.madly.majestically.meaningfully.mechanically.merrily.miserably.mockingly.monthly.more.mortally.mostly.mysteriously.naturally.nearly.neatly.needily.nervously.never.nicely.noisily.not.obediently.obnoxiously.oddly.offensively.officially.often.only.openly.optimistically.overconfidently.owlishly.painfully.partially.patiently.perfectly.physically.playfully.politely.poorly.positively.potentially.powerfully.promptly.properly.punctually.quaintly.quarrelsomely.queasily.questionably.questioningly.quicker.quickly.quietly.quirkily.quizzically.rapidly.rarely.readily.really.reassuringly.recklessly.regularly.reluctantly.repeatedly.reproachfully.restfully.righteously.rightfully.rigidly.roughly.rudely.sadly.safely.scarcely.scarily.searchingly.sedately.seemingly.seldom.selfishly.separately.seriously.shakily.sharply.sheepishly.shrilly.shyly.silently.sleepily.slowly.smoothly.softly.solemnly.solidly.sometimes.soon.speedily.stealthily.sternly.strictly.successfully.suddenly.surprisingly.suspiciously.sweetly.swiftly.sympathetically.tenderly.tensely.terribly.thankfully.thoroughly.thoughtfully.tightly.tomorrow.too.tremendously.triumphantly.truly.truthfully.ultimately.unabashedly.unaccountably.unbearably.unethically.unexpectedly.unfortunately.unimpressively.unnaturally.unnecessarily.upbeat.upliftingly.upright.upside-down.upward.upwardly.urgently.usefully.uselessly.usually.utterly.vacantly.vaguely.vainly.valiantly.vastly.verbally.very.viciously.victoriously.violently.vivaciously.voluntarily.warmly.weakly.wearily.well.wetly.wholly.wildly.willfully.wisely.woefully.wonderfully.worriedly.wrongly.yawningly.yearly.yearningly.yesterday.yieldingly.youthfully`.split(`.`),conjunction:`after.although.and.as.because.before.but.consequently.even.finally.for.furthermore.hence.how.however.if.inasmuch.incidentally.indeed.instead.lest.likewise.meanwhile.nor.now.once.or.provided.since.so.supposing.than.that.though.till.unless.until.what.when.whenever.where.whereas.wherever.whether.which.while.who.whoever.whose.why.yet`.split(`.`),interjection:`yuck.oh.phooey.blah.boo.whoa.yowza.huzzah.boohoo.fooey.geez.pfft.ew.ah.yum.brr.hm.yahoo.aha.woot.drat.gah.meh.psst.aw.ugh.yippee.eek.gee.bah.gadzooks.duh.ha.mmm.ouch.phew.ack.uh-huh.gosh.hmph.pish.zowie.er.ick.oof.um`.split(`.`),noun:`CD.SUV.abacus.academics.accelerator.accompanist.account.accountability.acquaintance.ad.adaptation.address.adrenalin.adult.advancement.advertisement.adviser.affect.affiliate.aftermath.agreement.airbus.aircraft.airline.airmail.airman.airport.alb.alert.allegation.alliance.alligator.allocation.almighty.amendment.amnesty.analogy.angle.annual.antelope.anticodon.apparatus.appliance.approach.apricot.arcade.archaeology.armchair.armoire.asset.assist.atrium.attraction.availability.avalanche.awareness.babushka.backbone.backburn.bakeware.bandwidth.bar.barge.baritone.barracks.baseboard.basket.bathhouse.bathrobe.battle.begonia.behest.bell.bench.bend.beret.best-seller.bid.bidet.bin.birdbath.birdcage.birth.blight.blossom.blowgun.bob.bog.bonfire.bonnet.bookcase.bookend.boulevard.bourgeoisie.bowler.bowling.boyfriend.brace.bracelet.bran.breastplate.brief.brochure.brook.brush.bug.bump.bungalow.cafe.cake.calculus.cannon.cantaloupe.cap.cappelletti.captain.caption.carboxyl.cardboard.carnival.case.casement.cash.casket.cassava.castanet.catalyst.cauliflower.cellar.celsius.cemetery.ceramic.ceramics.certification.chainstay.chairperson.challenge.championship.chap.chapel.character.characterization.charlatan.charm.chasuble.cheese.cheetah.chiffonier.chops.chow.cinder.cinema.circumference.citizen.clamp.clavicle.cleaner.climb.co-producer.coal.coast.cod.coil.coin.coliseum.collaboration.collectivization.colon.colonialism.comestible.commercial.commodity.community.comparison.completion.complication.compromise.concentration.configuration.confusion.conservation.conservative.consistency.contractor.contrail.convection.conversation.cook.coordination.cop-out.cope.cork.cornet.corporation.corral.cosset.costume.couch.council.councilman.countess.courtroom.cow.creator.creature.crest.cricket.crocodile.cross-contamination.cruelty.cuckoo.curl.custody.custom.cutlet.cutover.cycle.daddy.dandelion.dash.daughter.dead.decision.deck.declaration.decongestant.decryption.deduction.deed.deer.defendant.density.department.dependency.deployment.depot.derby.descendant.descent.design.designation.desk.detective.devastation.developing.developmental.devil.diagram.digestive.digit.dime.director.disadvantage.disappointment.disclosure.disconnection.discourse.dish.disk.disposer.distinction.diver.diversity.dividend.divine.doing.doorpost.doubter.draft.draw.dream.dredger.dress.drive.drug.duffel.dulcimer.dusk.duster.dwell.e-mail.earth.ecliptic.ectoderm.edge.editor.effector.eggplant.electronics.elevation.elevator.elver.embarrassment.embossing.emergent.encouragement.entry.epic.equal.essence.eternity.ethyl.euphonium.event.exasperation.excess.executor.exhaust.expansion.expense.experience.exploration.extension.extent.exterior.eyebrow.eyeliner.farm.farmer.fat.fax.feather.fedora.fellow.fen.fencing.ferret.festival.fibre.filter.final.finding.finer.finger.fireplace.fisherman.fishery.fit.flame.flat.fledgling.flight.flint.flood.flu.fog.fold.folklore.follower.following.foodstuffs.footrest.forage.forager.forgery.fork.formamide.formation.formula.fort.fowl.fraudster.freckle.freezing.freight.fuel.fun.fund.fundraising.futon.gallery.galoshes.gastropod.gazebo.gerbil.ghost.giant.gift.giggle.glider.gloom.goat.godfather.godparent.going.goodwill.governance.government.gown.gradient.graffiti.grandpa.grandson.granny.grass.gray.gripper.grouper.guacamole.guard.guidance.guide.gym.gymnast.habit.haircut.halt.hamburger.hammock.handful.handle.handover.harp.haversack.hawk.heartache.heartbeat.heating.hello.help.hepatitis.heroine.hexagon.hierarchy.hippodrome.honesty.hoof.hope.horde.hornet.horst.hose.hospitalization.hovel.hovercraft.hubris.humidity.humor.hundred.hunger.hunt.husband.hutch.hydrant.hydrocarbon.hydrolyse.hydrolyze.hyena.hygienic.hyphenation.ice-cream.icebreaker.igloo.ignorance.illusion.impact.import.importance.impostor.in-joke.incandescence.independence.individual.information.injunction.innovation.insolence.inspection.instance.institute.instruction.instructor.integer.intellect.intent.interchange.interior.intervention.interviewer.invite.iridescence.issue.jacket.jazz.jellyfish.jet.jogging.joy.juggernaut.jump.jungle.junior.jury.kettledrum.kick.kielbasa.kinase.king.kiss.kit.knickers.knight.knitting.knuckle.label.labourer.lace.lady.lamp.language.larva.lashes.laughter.lava.lawmaker.lay.leading.league.legend.legging.legislature.lender.license.lid.lieu.lifestyle.lift.linseed.litter.loaf.lobster.longboat.lotion.lounge.louse.lox.loyalty.luck.lyre.maestro.mainstream.maintainer.majority.makeover.making.mallard.management.manner.mantua.marathon.march.marimba.marketplace.marksman.markup.marten.massage.masterpiece.mathematics.meadow.meal.meander.meatloaf.mechanic.median.membership.mentor.merit.metabolite.metal.middle.midwife.milestone.millet.minion.minister.minor.minority.mixture.mobility.molasses.mom.moment.monasticism.monocle.monster.morbidity.morning.mortise.mountain.mouser.mousse.mozzarella.muscat.mythology.napkin.necklace.nectarine.negotiation.nephew.nerve.netsuke.newsletter.newsprint.newsstand.nightlife.noon.nougat.nucleotidase.nudge.numeracy.numeric.nun.obedience.obesity.object.obligation.ocelot.octave.offset.oil.omelet.onset.opera.operating.optimal.orchid.order.ostrich.other.outlaw.outrun.outset.overcoat.overheard.overload.ownership.pacemaker.packaging.paintwork.palate.pants.pantyhose.papa.parade.parsnip.partridge.passport.pasta.patroller.pear.pearl.pecan.pendant.peninsula.pension.peony.pepper.perfection.permafrost.perp.petal.petticoat.pharmacopoeia.phrase.pick.piglet.pigpen.pigsty.pile.pillbox.pillow.pilot.pine.pinstripe.place.plain.planula.plastic.platter.platypus.pleasure.pliers.plugin.plumber.pneumonia.pocket-watch.poetry.polarisation.polyester.pomelo.pop.poppy.popularity.populist.porter.possession.postbox.precedent.premeditation.premier.premise.premium.pressure.presume.priesthood.printer.privilege.procurement.produce.programme.prohibition.promise.pronoun.providence.provider.provision.publication.publicity.pulse.punctuation.pupil.puppet.puritan.quart.quinoa.quit.railway.range.rationale.ravioli.rawhide.reach.reasoning.reboot.receptor.recommendation.reconsideration.recovery.redesign.relative.release.remark.reorganisation.repeat.replacement.reporter.representation.republican.request.requirement.reservation.resolve.resource.responsibility.restaurant.retention.retrospectivity.reward.ribbon.rim.riser.roadway.role.rosemary.roundabout.rubric.ruin.rule.runway.rust.safe.sailor.saloon.sand.sandbar.sanity.sarong.sauerkraut.saw.scaffold.scale.scarification.scenario.schedule.schnitzel.scholarship.scorn.scorpion.scout.scrap.scratch.seafood.seagull.seal.season.secrecy.secret.section.sediment.self-confidence.sermon.sesame.settler.shadowbox.shark.shipper.shore.shoulder.sideboard.siege.sightseeing.signature.silk.simple.singing.skean.skeleton.skyline.skyscraper.slide.slime.slipper.smog.smoke.sock.soliloquy.solution.solvency.someplace.sonar.sonata.sonnet.soup.soybean.space.spear.spirit.spork.sport.spring.sprinkles.squid.stall.starboard.statue.status.stay.steak.steeple.step.step-mother.sticker.stir-fry.stitcher.stock.stool.story.strait.stranger.strategy.straw.stump.subexpression.submitter.subsidy.substitution.suitcase.summary.summer.sunbeam.sundae.supplier.surface.sushi.suspension.sustenance.swanling.swath.sweatshop.swim.swine.swing.switch.switchboard.swordfish.synergy.t-shirt.tabletop.tackle.tail.tapioca.taro.tarragon.taxicab.teammate.technician.technologist.tectonics.tenant.tenement.tennis.tentacle.teriyaki.term.testimonial.testing.thigh.thongs.thorn.thread.thunderbolt.thyme.tinderbox.toaster.tomatillo.tomb.tomography.tool.tooth.toothbrush.toothpick.topsail.traditionalism.traffic.translation.transom.transparency.trash.travel.tray.trench.tribe.tributary.trick.trolley.tuba.tuber.tune-up.turret.tusk.tuxedo.typeface.typewriter.unblinking.underneath.underpants.understanding.unibody.unique.unit.utilization.valentine.validity.valley.valuable.vanadyl.vein.velocity.venom.version.verve.vestment.veto.viability.vibraphone.vibration.vicinity.video.violin.vision.vista.vol.volleyball.wafer.waist.wallaby.warming.wasabi.waterspout.wear.wedding.whack.whale.wheel.widow.wilderness.willow.window.wombat.word.worth.wriggler.yak.yarmulke.yeast.yin.yogurt.zebra.zen`.split(`.`),preposition:`a.abaft.aboard.about.above.absent.across.afore.after.against.along.alongside.amid.amidst.among.amongst.an.anenst.anti.apropos.apud.around.as.aside.astride.at.athwart.atop.barring.before.behind.below.beneath.beside.besides.between.beyond.but.by.circa.concerning.considering.despite.down.during.except.excepting.excluding.failing.following.for.forenenst.from.given.in.including.inside.into.lest.like.mid.midst.minus.modulo.near.next.notwithstanding.of.off.on.onto.opposite.out.outside.over.pace.past.per.plus.pro.qua.regarding.round.sans.save.since.than.the.through.throughout.till.times.to.toward.towards.under.underneath.unlike.until.unto.up.upon.versus.via.vice.with.within.without.worth`.split(`.`),verb:`abnegate.abscond.abseil.absolve.accentuate.accept.access.accessorise.accompany.account.accredit.achieve.acknowledge.acquire.adjourn.adjudge.admonish.adumbrate.advocate.afford.airbrush.ameliorate.amend.amount.anaesthetise.analyse.anesthetize.anneal.annex.antagonize.ape.apologise.apostrophize.appertain.appreciate.appropriate.approximate.arbitrate.archive.arraign.arrange.ascertain.ascribe.assail.atomize.attend.attest.attribute.augment.avow.axe.baa.banish.bank.baptise.battle.beard.beep.behold.belabor.bemuse.besmirch.bestride.better.bewail.bicycle.bide.bind.biodegrade.blacken.blaspheme.bleach.blend.blink.bliss.bloom.bludgeon.bobble.boggle.bolster.book.boom.bootleg.border.bore.boss.braid.brand.brandish.break.breed.broadcast.broadside.brood.browse.buck.burgeon.bus.butter.buzzing.camouflage.cannibalise.canter.cap.capitalise.capitalize.capsize.card.carouse.carp.carpool.catalog.catalyze.catch.categorise.cease.celebrate.censor.certify.char.charter.chase.chatter.chime.chip.christen.chromakey.chunder.chunter.cinch.circle.circulate.circumnavigate.clamor.clamour.claw.cleave.clinch.clinking.clone.clonk.coagulate.coexist.coincide.collaborate.colligate.colorize.colour.comb.come.commandeer.commemorate.communicate.compete.conceal.conceptualize.conclude.concrete.condense.cone.confide.confirm.confiscate.confound.confute.congregate.conjecture.connect.consign.construe.contradict.contrast.contravene.controvert.convalesce.converse.convince.convoke.coop.cop.corner.covenant.cow.crackle.cram.crank.creak.creaking.cripple.croon.cross.crumble.crystallize.culminate.culture.curry.curse.customise.cycle.dally.dampen.darn.debit.debut.decide.decode.decouple.decriminalize.deduce.deduct.deflate.deflect.deform.defrag.degenerate.degrease.delete.delight.deliquesce.demob.demobilise.democratize.demonstrate.denitrify.deny.depart.depend.deplore.deploy.deprave.depute.dereference.describe.desecrate.deselect.destock.detain.develop.devise.dial.dicker.digitize.dilate.disapprove.disarm.disbar.discontinue.disgorge.dishearten.dishonor.disinherit.dislocate.dispense.display.dispose.disrespect.dissemble.ditch.divert.dock.doodle.downchange.downshift.dowse.draft.drag.drain.dramatize.drowse.drum.dwell.economise.edge.efface.egg.eke.electrify.embalm.embed.embody.emboss.emerge.emphasise.emphasize.emulsify.encode.endow.enfold.engage.engender.enhance.enlist.enrage.enrich.enroll.entice.entomb.entrench.entwine.equate.essay.etch.eulogise.even.evince.exacerbate.exaggerate.exalt.exempt.exonerate.expatiate.explode.expostulate.extract.extricate.eyeglasses.fabricate.facilitate.factorise.factorize.fail.fall.familiarize.fashion.father.fathom.fax.federate.feminize.fence.fess.fictionalize.fiddle.fidget.fill.flash.fleck.flight.floodlight.floss.fluctuate.fluff.fly.focalise.foot.forearm.forecast.foretell.forgather.forgo.fork.form.forswear.founder.fraternise.fray.frizz.fumigate.function.furlough.fuss.gad.gallivant.galvanize.gape.garage.garrote.gasp.gestate.give.glimmer.glisten.gloat.gloss.glow.gnash.gnaw.goose.govern.grade.graduate.graft.grok.guest.guilt.gulp.gum.gurn.gust.gut.guzzle.ham.harangue.harvest.hassle.haul.haze.headline.hearten.heighten.highlight.hoick.hold.hole.hollow.holster.home.homeschool.hoot.horn.horse.hotfoot.house.hover.howl.huddle.huff.hunger.hunt.husk.hype.hypothesise.hypothesize.idle.ignite.imagineer.impact.impanel.implode.incinerate.incline.inculcate.industrialize.ingratiate.inhibit.inject.innovate.inscribe.insert.insist.inspect.institute.institutionalize.intend.intermarry.intermesh.intermix.internalise.internalize.internationalize.intrigue.inure.inveigle.inventory.investigate.irk.iterate.jaywalk.jell.jeopardise.jiggle.jive.joint.jot.jut.keel.knife.knit.know.kowtow.lack.lampoon.large.leap.lecture.legitimize.lend.libel.liberalize.license.ligate.list.lobotomise.lock.log.loose.low.lowball.machine.magnetize.major.make.malfunction.manage.manipulate.maroon.masculinize.mash.mask.masquerade.massage.masticate.materialise.matter.maul.memorise.merge.mesh.metabolise.microblog.microchip.micromanage.militate.mill.minister.minor.misappropriate.miscalculate.misfire.misjudge.miskey.mismatch.mispronounce.misread.misreport.misspend.mob.mobilise.mobilize.moisten.mooch.moor.moralise.mortar.mosh.mothball.motivate.motor.mould.mount.muddy.mummify.mutate.mystify.nab.narrate.narrowcast.nasalise.nauseate.navigate.neaten.neck.neglect.norm.notarize.object.obscure.observe.obsess.obstruct.obtrude.offend.offset.option.orchestrate.orient.orientate.outbid.outdo.outfit.outflank.outfox.outnumber.outrank.outrun.outsource.overburden.overcharge.overcook.overdub.overfeed.overload.overplay.overproduce.overreact.override.overspend.overstay.overtrain.overvalue.overwork.own.oxidise.oxidize.oxygenate.pace.pack.pale.pant.paralyse.parody.part.pause.pave.penalise.persecute.personalise.perspire.pertain.peter.pike.pillory.pinion.pip.pity.pivot.pixellate.plagiarise.plait.plan.please.pluck.ponder.popularize.portray.prance.preclude.preheat.prejudge.preregister.presell.preside.pretend.print.prioritize.probate.probe.proceed.procrastinate.profane.progress.proliferate.proofread.propound.proselytise.provision.pry.publicize.puff.pull.pulp.pulverize.purse.put.putrefy.quadruple.quaff.quantify.quarrel.quash.quaver.question.quiet.quintuple.quip.quit.rag.rally.ramp.randomize.rationalise.rationalize.ravage.ravel.react.readies.readjust.readmit.ready.reapply.rear.reassemble.rebel.reboot.reborn.rebound.rebuff.rebuild.rebuke.recede.reckon.reclassify.recompense.reconstitute.record.recount.redact.redevelop.redound.redraw.redress.reel.refer.reference.refine.reflate.refute.regulate.reiterate.rejigger.rejoin.rekindle.relaunch.relieve.remand.remark.reopen.reorient.replicate.repossess.represent.reprimand.reproach.reprove.repurpose.requite.reschedule.resort.respray.restructure.retool.retract.revere.revitalise.revoke.reword.rewrite.ride.ridge.rim.ring.rise.rival.roger.rosin.rot.rout.row.rue.rule.safeguard.sashay.sate.satirise.satirize.satisfy.saturate.savour.scale.scamper.scar.scare.scarper.scent.schematise.scheme.schlep.scoff.scoop.scope.scotch.scowl.scrabble.scram.scramble.scrape.screw.scruple.scrutinise.scuffle.scuttle.search.secularize.see.segregate.sell.sense.sensitize.sequester.serenade.serialize.serve.service.settle.sew.shaft.sham.shampoo.shanghai.shear.sheathe.shell.shinny.shirk.shoot.shoulder.shout.shovel.showboat.shred.shrill.shudder.shush.sidetrack.sign.silt.sin.singe.sit.sizzle.skateboard.ski.slake.slap.slather.sleet.slink.slip.slope.slump.smarten.smuggle.snack.sneak.sniff.snoop.snow.snowplow.snuggle.soap.solace.solder.solicit.source.spark.spattering.spectacles.spectate.spellcheck.spew.spice.spirit.splash.splay.split.splosh.splurge.spook.square.squirm.stabilise.stable.stack.stage.stake.starch.state.statement.stiffen.stigmatize.sting.stint.stoop.store.storyboard.stratify.structure.stuff.stunt.substantiate.subtract.suckle.suffice.suffocate.summarise.sun.sunbathe.sunder.sup.surge.surprise.swat.swathe.sway.swear.swelter.swerve.swill.swing.symbolise.synthesise.syringe.table.tabulate.tag.tame.tank.tankful.tarry.task.taxicab.team.telescope.tenant.terraform.terrorise.testify.think.throbbing.thump.tighten.toady.toe.tough.tousle.traduce.train.transcend.transplant.trash.treasure.treble.trek.trial.tromp.trouser.trust.tune.tut.twine.twist.typify.unbalance.uncork.uncover.underachieve.undergo.underplay.unearth.unfreeze.unfurl.unlearn.unscramble.unzip.uproot.upsell.usher.vacation.vamoose.vanish.vary.veg.venture.verify.vet.veto.volunteer.vulgarise.waft.wallop.waltz.warp.wash.waver.weary.weatherize.wedge.weep.weight.welcome.westernise.westernize.while.whine.whisper.whistle.whitewash.whup.wilt.wing.wire.wisecrack.wolf.wound.wring.writ.yak.yawn.yearn.yuppify`.split(`.`)}};export{e as t};","import{n as e,t}from\"../base-BpJm8uRb.js\";import{t as n}from\"../en-Blck6vH3.js\";const r=new e({locale:[n,t]});export{r as faker};","//@@import { RedisTestRunStore } from './../redisTestRunStore.js'\nimport { faker } from \"@faker-js/faker\";\nimport { IResourceDataGenerator, IFakerNameTuple } from \"./commonTypes.js\";\n\nexport class ResourceDataGenerator implements IResourceDataGenerator {\n #randomNameList: Record<string, IFakerNameTuple> = {};\n\n //@@protected _store?: RedisTestRunStore;\n\n constructor() {\n faker.seed(123);\n }\n\n //@@\n /*\n GetStore = async (): Promise<RedisTestRunStore> => {\n if (!this._store) {\n this._store = new RedisTestRunStore({\n redisUrl: this.Options!.userData.redisStoreConnection, // 'redis://:60jQ45jS7J4uprhpm7K3@<endpoint>:6379',\n keyPrefix: 'testrun',\n defaultTtlSeconds: 3600,\n batchSize: 1000,\n maxDeleteBatchSize: 1000,\n });\n }\n await this._store.ensureConnected();\n return this._store;\n }\n */\n\n GetFakerName = (index: number): IFakerNameTuple => {\n if (this.#randomNameList[index.toString()]) {\n return this.#randomNameList[index.toString()];\n }\n const fakerNameTuple: IFakerNameTuple = {\n firstName: faker.person.firstName(),\n lastName: faker.person.lastName(),\n };\n this.#randomNameList[index.toString()] = fakerNameTuple;\n\n return this.#randomNameList[index.toString()];\n };\n}\n","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n","import { Sleep } from \"@nsshunt/stsutils\";\n\nexport class LockHelper {\n private _onHoldKeys: Record<string, boolean> = {};\n\n GetOnHold = (holdKey: string): boolean => {\n if (this._onHoldKeys[holdKey]) {\n return true;\n }\n return false;\n };\n\n WaitOnHold = async (holdKey: string, timeout: number): Promise<boolean> => {\n const start = performance.now();\n for (;;) {\n if (this._onHoldKeys[holdKey]) {\n await Sleep(100);\n } else {\n break;\n }\n if (performance.now() - start > timeout) {\n throw new Error(\n `WorkerFhirTestCases:WaitOnHold(): Timeout: [${timeout}] reached.`\n );\n }\n }\n return true;\n };\n\n SetOnHold = (holdKey: string) => {\n this._onHoldKeys[holdKey] = true;\n };\n\n ReleaseOnHold = (holdKey: string) => {\n delete this._onHoldKeys[holdKey];\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0, @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport {\n ISTSLogger,\n STSAxiosConfig,\n IAgentManager,\n IAgentOptions,\n createAgentManager,\n} from \"@nsshunt/stsutils\";\n\nimport { createRetryAxiosClient } from \"@nsshunt/stsfhirclient\";\n\nimport chalk from \"chalk\";\n\nimport { IAuthOptions, ITestingAgentOptions } from \"./../commonTypes.js\";\n\nimport http from \"node:http\";\nimport https from \"node:https\";\n\nimport { TinyEmitter } from \"tiny-emitter\";\nimport { LockHelper } from \"./lockHelper.js\";\n\nexport interface IGetAPITokenFromAuthServerUsingScopeOptions {\n clientId: string;\n authClientSecret: string;\n scope: string;\n endPoint: string;\n}\n\nexport interface IAuthHelperOptions {\n logger: ISTSLogger;\n authOptions: IAuthOptions;\n}\n\nexport class AuthHelper extends TinyEmitter {\n private _options: IAuthHelperOptions;\n private _id: string = crypto.randomUUID();\n private _lockHelper: LockHelper = new LockHelper();\n\n #accesssToken: string | null = null;\n private _authMaxTimeout: number = 5000;\n #originRegex = /^(api:\\/\\/\\w+)/;\n #authAgentManager: IAgentManager | undefined;\n\n protected logPrefix = `WorkerFhirTestCases:[${this._id}]:`;\n\n constructor(options: IAuthHelperOptions) {\n super();\n this._options = options;\n this.#authAgentManager = this.GetAuthAgentManager();\n }\n\n Warning = (message: any) => {\n this._options.logger.warn(`${this.logPrefix}${message}`);\n };\n\n Error = (message: any) => {\n this._options.logger.error(`${this.logPrefix}${message}`);\n };\n\n Debug = (message: any) => {\n this._options.logger.debug(`${this.logPrefix}${message}`);\n };\n\n get id(): string {\n return this._id;\n }\n\n protected defaultAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 10, // Maximum concurrent active sockets per host.\n maxTotalSockets: 20, // Maximum total active sockets across all hosts.\n maxFreeSockets: 10, // Idle keepalive sockets retained for reuse.\n\n timeout: 60000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected stressTestAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 200, // Maximum concurrent active sockets per host.\n maxTotalSockets: 500, // Maximum total active sockets across all hosts.\n maxFreeSockets: 50, // Idle keepalive sockets retained for reuse.\n\n timeout: 30000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected stressTestExtremeAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 500, // Maximum concurrent active sockets per host.\n maxTotalSockets: 1000, // Maximum total active sockets across all hosts.\n maxFreeSockets: 500, // Idle keepalive sockets retained for reuse.\n\n timeout: 30000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected GetAgentManager = (\n testingAgentOptions: ITestingAgentOptions\n ): IAgentManager | undefined => {\n let agentManager: IAgentManager | undefined = undefined;\n let agentOptions: IAgentOptions | undefined = undefined;\n switch (testingAgentOptions.nodeAgentMode) {\n case \"no-agent\":\n break;\n case \"custom-agent-options\":\n if (testingAgentOptions.nodeAgentCustomOptions) {\n agentOptions = {\n ...testingAgentOptions.nodeAgentCustomOptions,\n };\n } else {\n agentOptions = { ...this.defaultAgentOptions };\n }\n break;\n case \"default-agent-options\":\n agentOptions = { ...this.defaultAgentOptions };\n break;\n case \"stress-test-agent-options\":\n agentOptions = { ...this.stressTestAgentOptions };\n break;\n case \"stress-test-extreme-agent-options\":\n agentOptions = { ...this.stressTestExtremeAgentOptions };\n break;\n default:\n throw new Error(\n `TestCaseFhirBase:GetAgentManager(): [${this._id}] unknown nodeAgentMode: [${testingAgentOptions.nodeAgentMode}]`\n );\n }\n if (agentOptions) {\n agentManager = createAgentManager({\n agentOptions,\n httpAgentFactory(options) {\n return new http.Agent(options);\n },\n httpsAgentFactory(options) {\n return new https.Agent(options);\n },\n });\n }\n return agentManager;\n };\n\n protected GetAuthAgentManager = (): IAgentManager | undefined => {\n return this.GetAgentManager(this._options.authOptions.asagentoptions);\n };\n\n ExtractOrigin = (uri: string) => {\n const match = uri.match(this.#originRegex);\n return match ? match[1] : null;\n };\n\n GetAPITokenFromAuthServerUsingScope = async (\n options: IGetAPITokenFromAuthServerUsingScopeOptions\n ): Promise<string> => {\n const { scope, clientId, authClientSecret, endPoint } = options;\n\n let stage = \"1\";\n try {\n stage = \"2\";\n const scopes = scope.split(\" \");\n let origin: string | null = null;\n let error: Error | null = null;\n stage = \"3\";\n for (let i = 0; i < scopes.length; i++) {\n const s = scopes[i];\n if (!origin) {\n origin = this.ExtractOrigin(s);\n if (!origin) {\n error = new Error(\n `Scope: [${scope}] not in required format. Must use (space seperated) api://<client id>[/<resource>.<permission>].`\n );\n break;\n }\n } else {\n const nextOrigin: string | null = this.ExtractOrigin(s);\n if (!nextOrigin) {\n error = new Error(\n `Scope: [${scope}] not in required format. Must use (space seperated) api://<client id>[/<resource>.<permission>].`\n );\n break;\n } else {\n if (origin.localeCompare(nextOrigin) !== 0) {\n error = new Error(\n `Scope: [${scope}] not all from the same client API. All scopes must come from the same client API.`\n );\n break;\n }\n }\n }\n }\n stage = \"4\";\n if (error) {\n throw error;\n }\n\n stage = \"5\";\n const payload = {\n //@@ make a type\n client_id: clientId, // The service calling this method\n client_secret: authClientSecret, // Auth service client secret\n //client_secret: goptions.brokerclientsecret, // Broker service client secret\n scope: scope, // required API\n //@@ remove audience\n //@@ need scope to be the API identifier\n grant_type: \"client_credentials\",\n };\n stage = \"6\";\n const url = endPoint\n ? `${endPoint}${this._options.authOptions.asoauthapiroot}/token`\n : `${this._options.authOptions.asendpoint}:${this._options.authOptions.asport}${this._options.authOptions.asoauthapiroot}/token`;\n\n stage = `6.5: url: [${url}] payload: [${JSON.stringify(payload)}]`;\n\n const axiosConfig = new STSAxiosConfig(url, \"post\")\n .withDefaultHeaders()\n .withData(payload);\n\n //@@ need to pass this in ??\n if (this.#authAgentManager) {\n axiosConfig.withAgentManager(this.#authAgentManager);\n }\n\n const api = createRetryAxiosClient({\n maxRetries: 4,\n retryDelayMs: 300,\n retryJitterMs: 150,\n maxRetryDurationMs: 5000,\n onRetryAttempt: (attempt, error, delayMs) => {\n this.emit(\"authenticationErrorCount\", 1);\n this.emit(\"authenticationRetryCount\", 1);\n //this._options.runner.instrumentData.authenticationErrorCount++;\n //this._options.runner.instrumentData.authenticationRetryCount++;\n\n const message = `GetAPITokenFromAuthServerUsingScope(): [${this._id}] Retry #${attempt} after ${delayMs}ms due to ${error.code || error.response?.status}`;\n this.Warning(message);\n //this._options.runner.instrumentData.message.push(chalk.red(message));\n this.emit(\"logMessage\", chalk.red(message));\n //await this.PublishTelemetry();\n },\n // Below works also ...\n //stsAxiosConfig: requestConfig\n });\n\n // This works with the stsAxiosConfig used directly within the config\n //return await api(url);\n const retVal = await api(url, axiosConfig.config);\n this.emit(\"authenticationCount\", 1);\n //this._options.runner.instrumentData.authenticationCount++;\n\n stage = \"7\";\n if (retVal.status) {\n if (retVal.status !== 200) {\n // Just provide a warning here\n this.Warning(\n chalk.magenta(\n `GetAPITokenFromAuthServerUsingScope(): [${this._id}] Invalid response from server: [${retVal.status}]`\n )\n );\n }\n } else {\n throw new Error(chalk.red(`No retVal.status)`));\n }\n stage = \"8\";\n if (retVal.data) {\n stage = \"9\";\n if (retVal.data.access_token) {\n stage = \"12\";\n return retVal.data.access_token as string;\n } else {\n stage = \"13\";\n throw new Error(`No retVal.data.access_token)`);\n }\n } else {\n stage = \"14\";\n throw new Error(`No retVal.data)`);\n }\n } catch (error: any) {\n this.Error(error);\n let details = \"None available.\";\n if (error.response && error.response.data) {\n try {\n details = JSON.stringify(error.response.data);\n } catch (error) {\n details = `Could not JSON.stringify(error.response.data)`;\n }\n }\n error.message = `${this.logPrefix}GetAPITokenFromAuthServerUsingScope(): Error: [${error}], Stage: [${stage}], Details: [${details}]`;\n throw error;\n }\n };\n\n GetAccessToken = async (): Promise<string> => {\n let timeout: any = undefined;\n const start = performance.now();\n try {\n if (this.#accesssToken) {\n return this.#accesssToken;\n }\n\n const api = \"api://fb6513e4-16fe-4931-bed8-33b82b404a14\"; // the stsrest API\n const scopes = `${api}/_.stsfhir5:All`.split(\" \").sort().join(\" \");\n const authendpointUrl = `${this._options.authOptions.asendpoint}:${this._options.authOptions.asport}`;\n\n const retVal = await this.GetAPITokenFromAuthServerUsingScope({\n clientId: \"d8277fce-bb48-44c2-bbf1-257fe13a444b\" as any, // stsbroker\n authClientSecret: \"64e3ef37-c7b8-4cb1-880a-e6ad3ab36e3c\", // stsbroker password\n //scope: `${api}/res01.create ${api}/res01.read ${api}/res01.update ${api}/res01.delete ${api}/ent01.create ${api}/ent01.read ${api}/ent01.update ${api}/ent01.delete`,\n scope: scopes,\n endPoint: authendpointUrl,\n });\n this.#accesssToken = retVal;\n\n return this.#accesssToken;\n\n /*\n const lockKey = 'GetAccessToken';\n const lockTimeout = 60000;\n // We need to use the OnHold lock here becuase we perform await, i.e. async execution while we wait for a connection\n if (this._lockHelper.GetOnHold(lockKey) === true) {\n //this.Debug(chalk.magenta(`GetAccessToken(): accesssToken does not exist - some other client setting up the new accesssToken (on hold/lock), lock key: [${lockKey}] - waiting ...`));\n try {\n const miniStart = performance.now();\n await this._lockHelper.WaitOnHold(lockKey, lockTimeout);\n //this.Debug(chalk.yellow(`GetAccessToken(): hold (lock) released after: [${performance.now() - miniStart}ms], lock key: [${lockKey}]`));\n if (this.#accesssToken) {\n //this.Debug(chalk.green(`GetAccessToken(): Getting existing accesssToken (post hold release), lock key: [${lockKey}]`));\n return this.#accesssToken;\n } else {\n this.Error(chalk.red(`GetAccessToken(): Could not get existing accesssToken (post hold release), lock key: [${lockKey}]`));\n this.Error(chalk.red(`GetAccessToken(): continue anyway ...`));\n }\n } catch (error) {\n this.Error(chalk.red(`GetAccessToken(): Error: [${error}]`));\n }\n }\n\n //this.Debug(chalk.yellow(`GetAccessToken(): accesssToken does not exist - setting up new accesssToken`));\n\n //this.Debug(chalk.yellow(`GetAccessToken(): setting hold (lock), lock key: [${lockKey}]`));\n this._lockHelper.SetOnHold(lockKey);\n\n\n timeout = setTimeout(() => {\n this.Warning(chalk.magenta(`GetAccessToken(): Timeout: [${this._authMaxTimeout}] exceeded for getting access token ...`));\n }, this._authMaxTimeout);\n\n const api = 'api://fb6513e4-16fe-4931-bed8-33b82b404a14' // the stsrest API\n const scopes = `${api}/_.stsfhir5:All`.split(' ').sort().join(' ');\n const authendpointUrl = `${this._options.authOptions.asendpoint}:${this._options.authOptions.asport}`;\n\n const retVal = await this.GetAPITokenFromAuthServerUsingScope({\n clientId: 'd8277fce-bb48-44c2-bbf1-257fe13a444b' as any, // stsbroker\n authClientSecret: '64e3ef37-c7b8-4cb1-880a-e6ad3ab36e3c', // stsbroker password\n //scope: `${api}/res01.create ${api}/res01.read ${api}/res01.update ${api}/res01.delete ${api}/ent01.create ${api}/ent01.read ${api}/ent01.update ${api}/ent01.delete`,\n scope: scopes,\n endPoint: authendpointUrl,\n });\n\n const workingAaccesssToken = retVal;\n if (timeout) {\n clearTimeout(timeout);\n }\n const totalTime = performance.now() - start;\n if (totalTime > this._authMaxTimeout) {\n this.Warning(chalk.magenta(`GetAccessToken(): The total time for getting the access token: [${totalTime}]`));\n }\n\n this.#accesssToken = workingAaccesssToken;\n this._lockHelper.ReleaseOnHold(lockKey);\n //this.Debug(chalk.yellow(`GetAccessToken(): release hold (lock) Time taken for get access token: [${performance.now() - start}ms], lock key: [${lockKey}]`));\n\n return this.#accesssToken;\n */\n } catch (error: any) {\n if (timeout) {\n clearTimeout(timeout);\n }\n const totalTime = performance.now() - start;\n error.message = `GetAccessToken(): Error: [${error}], Duration until error: [${totalTime}]`;\n this.Error(error);\n return \"\";\n }\n };\n\n GetAccessTokenForSocketClientAccess = async (): Promise<string> => {\n const timeout = setTimeout(() => {\n this.Warning(\n `GetAccessTokenForSocketClientAccess(): Timeout: [${this._authMaxTimeout}] exceeded for getting access token ...`\n );\n }, this._authMaxTimeout);\n const start = performance.now();\n try {\n const api = \"api://fb6513e4-16fe-4931-bed8-33b82b404a14\"; // the stsrest API\n const scopes = `${api}/_.stsfhir5:SocketConnection`\n .split(\" \")\n .sort()\n .join(\" \");\n const authendpointUrl = `${this._options.authOptions.asendpoint}:${this._options.authOptions.asport}`;\n\n const retVal = await this.GetAPITokenFromAuthServerUsingScope({\n clientId: \"d8277fce-bb48-44c2-bbf1-257fe13a444b\" as any, // stsbroker\n authClientSecret: \"64e3ef37-c7b8-4cb1-880a-e6ad3ab36e3c\", // stsbroker password\n //scope: `${api}/res01.create ${api}/res01.read ${api}/res01.update ${api}/res01.delete ${api}/ent01.create ${api}/ent01.read ${api}/ent01.update ${api}/ent01.delete`,\n scope: scopes,\n endPoint: authendpointUrl,\n });\n clearTimeout(timeout);\n const totalTime = performance.now() - start;\n if (totalTime > this._authMaxTimeout) {\n this.Warning(\n chalk.magenta(\n `GetAccessTokenForSocketClientAccess(): The total time for getting the access token: [${totalTime}]`\n )\n );\n }\n return retVal;\n } catch (error: any) {\n clearTimeout(timeout);\n const totalTime = performance.now() - start;\n error.message = `GetAccessTokenForSocketClientAccess(): Error: [${error}], Duration until error: [${totalTime}]`;\n this.Error(error);\n return \"\";\n }\n };\n\n //@@ need to reset the access token at the worker level singleton\n //@@ NOT at this runner instance level\n //@@ currently, the first runner instance will beind to the getaccesstoken callback\n //@@ all future runner instances will refer to their own local access token instance\n //@@ rather than the singleton instance\n ResetAccessToken = () => {\n //@@console.log(chalk.magenta(`Old Token: ${this._id} : ${this.#accesssToken}`));\n this.#accesssToken = null;\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0, @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport {\n IRunnerInstance,\n ITestRunnerTelemetryPayload,\n AbstractRunnerExecutionWorker,\n IIWMessagePayload,\n IRunner,\n} from \"@nsshunt/stsrunnerframework\";\nimport {\n ISTSLogger,\n STSAxiosConfig,\n IAgentManager,\n IAgentOptions,\n createAgentManager,\n} from \"@nsshunt/stsutils\";\n\nimport { AsyncRunnerFactory } from \"./../libmodule/asyncRunnerFactory.js\";\nimport { ResourceDataGenerator } from \"./../libmodule/resourceDataGenerator.js\";\nimport { IWorkerTestCases } from \"./../libmodule/commonTypes.js\";\n\nimport {\n FhirSocketClient,\n IFhirSocketClientOptions,\n FhirSocketClientAllInOne,\n FhirSocketClientIndividual,\n FhirRESTClient,\n IFhirClient,\n} from \"@nsshunt/stsfhirclient\";\n\nimport chalk from \"chalk\";\n\nimport {\n IAuthOptions,\n ITestingAgentOptions,\n IFhirOptions,\n ITestCaseFhirBaseOptions,\n} from \"./../commonTypes.js\";\n\nimport http from \"node:http\";\nimport https from \"node:https\";\n\nimport { AxiosError } from \"axios\";\nimport { LockHelper } from \"./lockHelper.js\";\nimport { AuthHelper } from \"./authHelper.js\";\nimport { TinyEmitter } from \"tiny-emitter\";\n\nexport interface IClientHelperOptions {\n logger: ISTSLogger;\n fhirOptions: IFhirOptions;\n authHelper: AuthHelper;\n}\n\nexport class ClientHelper extends TinyEmitter {\n private _options: IClientHelperOptions;\n private fhirClient: FhirSocketClient | undefined = undefined;\n private _id: string = crypto.randomUUID();\n private _lockHelper: LockHelper = new LockHelper();\n\n protected restFhirClient: FhirRESTClient | null = null;\n\n protected logPrefix = `WorkerFhirTestCases:[${this._id}]:`;\n\n constructor(options: IClientHelperOptions) {\n super();\n this._options = options;\n }\n\n Warning = (message: any) => {\n this._options.logger.warn(`${this.logPrefix}${message}`);\n };\n\n Error = (message: any) => {\n this._options.logger.error(`${this.logPrefix}${message}`);\n };\n\n Debug = (message: any) => {\n this._options.logger.debug(`${this.logPrefix}${message}`);\n };\n\n get id(): string {\n return this._id;\n }\n\n protected defaultAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 10, // Maximum concurrent active sockets per host.\n maxTotalSockets: 20, // Maximum total active sockets across all hosts.\n maxFreeSockets: 10, // Idle keepalive sockets retained for reuse.\n\n timeout: 60000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected stressTestAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 200, // Maximum concurrent active sockets per host.\n maxTotalSockets: 500, // Maximum total active sockets across all hosts.\n maxFreeSockets: 50, // Idle keepalive sockets retained for reuse.\n\n timeout: 30000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected stressTestExtremeAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 500, // Maximum concurrent active sockets per host.\n maxTotalSockets: 1000, // Maximum total active sockets across all hosts.\n maxFreeSockets: 500, // Idle keepalive sockets retained for reuse.\n\n timeout: 30000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected GetAgentManager = (\n testingAgentOptions: ITestingAgentOptions\n ): IAgentManager | undefined => {\n let agentManager: IAgentManager | undefined = undefined;\n let agentOptions: IAgentOptions | undefined = undefined;\n switch (testingAgentOptions.nodeAgentMode) {\n case \"no-agent\":\n break;\n case \"custom-agent-options\":\n if (testingAgentOptions.nodeAgentCustomOptions) {\n agentOptions = {\n ...testingAgentOptions.nodeAgentCustomOptions,\n };\n } else {\n agentOptions = { ...this.defaultAgentOptions };\n }\n break;\n case \"default-agent-options\":\n agentOptions = { ...this.defaultAgentOptions };\n break;\n case \"stress-test-agent-options\":\n agentOptions = { ...this.stressTestAgentOptions };\n break;\n case \"stress-test-extreme-agent-options\":\n agentOptions = { ...this.stressTestExtremeAgentOptions };\n break;\n default:\n throw new Error(\n `TestCaseFhirBase:GetAgentManager(): [${this._id}] unknown nodeAgentMode: [${testingAgentOptions.nodeAgentMode}]`\n );\n }\n if (agentOptions) {\n agentManager = createAgentManager({\n agentOptions,\n httpAgentFactory(options) {\n return new http.Agent(options);\n },\n httpsAgentFactory(options) {\n return new https.Agent(options);\n },\n });\n }\n return agentManager;\n };\n\n protected GetFhirAgentManager = (): IAgentManager | undefined => {\n return this.GetAgentManager(\n this._options.fhirOptions.stsfhiragentOptions\n );\n };\n\n //@@ need to reset the access token at the worker level singleton\n //@@ NOT at this runner instance level\n //@@ currently, the first runner instance will beind to the getaccesstoken callback\n //@@ all future runner instances will refer to their own local access token instance\n //@@ rather than the singleton instance\n /*\n ResetAccessToken = () => {\n //@@console.log(chalk.magenta(`Old Token: ${this._id} : ${this.#accesssToken}`));\n this.#accesssToken = null;\n }\n */\n\n //@@ This whole section needs a re-think\n //@@ the socket (and even rest) client should be a singleton object per worker\n //@@ each new instance of this class (for each runner within a worker) needs to get this workers singleton\n //@@ this also needs to apply to access token as well\n //@@ the code below binds the GetConnectionAccessToken and GetAccessToken to the first\n //@@ class instance when created, all subsequent instances get the wrong (first) references\n //@@ wrong for 2nd+ instance : GetConnectionAccessToken: this.GetAccessTokenForSocketClientAccess,\n //@@ wrong for 2nd+ instance : GetAccessToken: this.GetAccessToken\n protected GetFhirSocketClient = async (): Promise<FhirSocketClient> => {\n try {\n //@@ need a much better way of handling worker level shared resources\n //@@ and also needs to be handled natively by the framework\n //@@ and all sstrongly typed\n if (this.fhirClient) {\n return this.fhirClient;\n }\n\n const lockKey = \"GetFhirSocketClient\";\n const lockTimeout = 60000;\n // We need to use the OnHold lock here becuase we perform await, i.e. async execution while we wait for a connection\n if (this._lockHelper.GetOnHold(lockKey) === true) {\n this.Debug(\n chalk.magenta(\n `GetFhirSocketClient(): fhir client does not exist - some other client setting up the new client (on hold/lock), lock key: [${lockKey}] - waiting ...`\n )\n );\n try {\n const start = performance.now();\n await this._lockHelper.WaitOnHold(lockKey, lockTimeout);\n this.Debug(\n chalk.yellow(\n `GetFhirSocketClient(): hold (lock) released after: [${performance.now() - start}ms], lock key: [${lockKey}]`\n )\n );\n if (this.fhirClient) {\n this.Debug(\n chalk.green(\n `GetFhirSocketClient(): Getting existing fhir client (post hold release), lock key: [${lockKey}]`\n )\n );\n return this.fhirClient;\n } else {\n this.Error(\n chalk.red(\n `GetFhirSocketClient(): Could not get existing fhir client (post hold release), lock key: [${lockKey}]`\n )\n );\n this.Error(\n chalk.red(\n `GetFhirSocketClient(): continue anyway ...`\n )\n );\n }\n } catch (error) {\n this.Error(\n chalk.red(`GetFhirSocketClient(): Error: [${error}]`)\n );\n }\n }\n\n const start = performance.now();\n this.Debug(\n chalk.yellow(\n `GetFhirSocketClient(): fhir client does not exist - setting up new client`\n )\n );\n\n this.Debug(\n chalk.yellow(\n `GetFhirSocketClient(): setting hold (lock), lock key: [${lockKey}]`\n )\n );\n this._lockHelper.SetOnHold(lockKey);\n\n const fhirOptions = this._options.fhirOptions;\n const options: IFhirSocketClientOptions = {\n fhirServerEndpoint: fhirOptions.stsfhirserverendpoint, // `https://<endpoint>`\n fhirapiroot: fhirOptions.stsfhirapiroot, // `/stsfhir/r5`\n fhirServerPort: fhirOptions.stsfhirport, // `/stsfhir/r5`\n socketClientName: fhirOptions.stsfhirsocketname, // 'FhirSocketClient', // this can be anything (unique within the scope of the app)\n socketIoCustomPath: fhirOptions.stsfhirsocketcustompath, // '/stsfhirsocket/socket.io/', // for this, check the app options for [wssCustomPath]\n timeout: fhirOptions.stsfhirsockettimeout,\n baseUrl: fhirOptions.stsfhirbaseurl, // `https://<endpoint>/stsfhir/r5`\n agentManager: this.GetFhirAgentManager(),\n joinRooms: [],\n logger: this._options.logger,\n verboseLogging: true,\n GetConnectionAccessToken:\n this._options.authHelper\n .GetAccessTokenForSocketClientAccess, //@@ see above - needs to be fixed\n GetAccessToken: this._options.authHelper.GetAccessToken, //@@ see above - needs to be fixed\n };\n\n let workingFhirClient;\n if (\n this._options.fhirOptions.stsfhirsocketclientmode ===\n \"socket-client-all-in-one\"\n ) {\n workingFhirClient = new FhirSocketClientAllInOne(\n \"FhirSocketClient\",\n options\n );\n } else {\n workingFhirClient = new FhirSocketClientIndividual(\n \"FhirSocketClient\",\n options\n );\n }\n\n await workingFhirClient.WaitForSocketConnected();\n\n this.Debug(\n chalk.yellow(\n `GetFhirSocketClient(): setting fhir client into object`\n )\n );\n\n this.fhirClient = workingFhirClient;\n this._lockHelper.ReleaseOnHold(lockKey);\n this.Debug(\n chalk.yellow(\n `GetFhirSocketClient(): release hold (lock) Time taken for socket connection and set object: [${performance.now() - start}ms], lock key: [${lockKey}]`\n )\n );\n\n return this.fhirClient;\n } catch (error) {\n this.Error(error);\n throw error;\n }\n };\n\n protected GetRESTClient = async (): Promise<FhirRESTClient> => {\n if (this.restFhirClient) {\n return this.restFhirClient;\n }\n\n // We do not need to use the OnHold lock here becuase we do not perform any await, i.e. no async execution.\n // All the code below executes within the same thread and returns a sync client object.\n const onRetryAttempt = (\n attempt: number,\n error: AxiosError,\n delayMs: number\n ): void => {\n //this._options.runner.instrumentData.errorCount++;\n //this._options.runner.instrumentData.requestCount++;\n const message = `TestCaseFhirBase:onRetryAttempt(): [${this._id}] Retry #${attempt} after ${delayMs}ms due to ${error.code || error.response?.status}`;\n this.Warning(message);\n this.emit(\"retry\", message);\n //this._options.runner.instrumentData.message.push(chalk.red(message));\n //await this.PublishTelemetry();\n };\n\n const fhirOptions = this._options.fhirOptions;\n const fhirRESTClient = new FhirRESTClient({\n GetAccessToken: this._options.authHelper.GetAccessToken,\n user: \"USR_user01@stsmda.com.au\",\n endpoint: fhirOptions.stsfhirserverendpoint, // 'https://localhost',\n stsfhirapiroot: fhirOptions.stsfhirapiroot,\n stsfhirport: fhirOptions.stsfhirport, // '3005',\n logger: this._options.logger,\n agentManager: this.GetFhirAgentManager(),\n onRetryAttempt,\n });\n\n this.restFhirClient = fhirRESTClient;\n\n return fhirRESTClient;\n };\n\n GetClient = async (): Promise<IFhirClient> => {\n let client;\n if (\n this._options.fhirOptions.stsfhirsocketclientmode ===\n \"no-socket-client\"\n ) {\n client = await this.GetRESTClient();\n } else {\n client = await this.GetFhirSocketClient();\n }\n return client;\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0, @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport {\n IRunnerInstance,\n ITestRunnerTelemetryPayload,\n AbstractRunnerExecutionWorker,\n IIWMessagePayload,\n} from \"@nsshunt/stsrunnerframework\";\nimport {\n ISTSLogger,\n IAgentManager,\n IAgentOptions,\n createAgentManager,\n} from \"@nsshunt/stsutils\";\n\nimport { AsyncRunnerFactory } from \"./../libmodule/asyncRunnerFactory.js\";\nimport { ResourceDataGenerator } from \"./../libmodule/resourceDataGenerator.js\";\nimport { IWorkerTestCases } from \"./../libmodule/commonTypes.js\";\n\nimport {\n FhirSocketClient,\n FhirRESTClient,\n IFhirClient,\n} from \"@nsshunt/stsfhirclient\";\n\nimport chalk from \"chalk\";\nimport { Sleep } from \"@nsshunt/stsutils\";\n\nimport {\n IAuthOptions,\n ITestingAgentOptions,\n IFhirOptions,\n ITestCaseFhirBaseOptions,\n} from \"./../commonTypes.js\";\n\nimport http from \"node:http\";\nimport https from \"node:https\";\n\nimport { AuthHelper } from \"./authHelper.js\";\nimport { ClientHelper } from \"./clientHelper.js\";\n\nexport interface IWorkerFhirTestCasesOptions {\n logger: ISTSLogger;\n authOptions: IAuthOptions;\n fhirOptions: IFhirOptions;\n}\n\nexport class WorkerFhirTestCases\n extends AbstractRunnerExecutionWorker\n implements IWorkerTestCases\n{\n private _options: IWorkerFhirTestCasesOptions;\n private _resourceDataGenerator: ResourceDataGenerator;\n private fhirClient: FhirSocketClient | undefined = undefined;\n private _id: string = crypto.randomUUID();\n private _clientHelper: ClientHelper;\n private _authHelper: AuthHelper;\n private _maxIteration: Record<string, number> = {};\n\n protected restFhirClient: FhirRESTClient | null = null;\n\n protected logPrefix = `WorkerFhirTestCases:[${this._id}]:`;\n\n constructor(options: IWorkerFhirTestCasesOptions) {\n super();\n this._options = options;\n\n // This may have options in the future to use redis or anything else ...\n this._resourceDataGenerator = new ResourceDataGenerator();\n\n this._authHelper = new AuthHelper({\n authOptions: options.authOptions,\n logger: options.logger,\n });\n\n this._clientHelper = new ClientHelper({\n authHelper: this._authHelper,\n logger: options.logger,\n fhirOptions: options.fhirOptions,\n });\n }\n\n get authHelper() {\n return this._authHelper;\n }\n\n Warning = (message: any) => {\n this.logger.warn(`${this.logPrefix}${message}`);\n };\n\n Error = (message: any) => {\n this.logger.error(`${this.logPrefix}${message}`);\n };\n\n Debug = (message: any) => {\n this.logger.debug(`${this.logPrefix}${message}`);\n };\n\n get id(): string {\n return this._id;\n }\n\n get resourceDataGenerator(): ResourceDataGenerator {\n return this._resourceDataGenerator;\n }\n\n override get logger(): ISTSLogger {\n return this._options.logger;\n }\n\n override CreateAsyncRunner = async (\n testRunnerTelemetryPayload: ITestRunnerTelemetryPayload\n ): Promise<IRunnerInstance | null> => {\n return AsyncRunnerFactory.CreateAsyncRunner(\n this,\n testRunnerTelemetryPayload\n );\n };\n\n protected override async ProcessPreTerminateWorkerMessage(\n messagePayload: IIWMessagePayload\n ): Promise<any> {\n this.logger.debug(\n chalk.rgb(\n 220,\n 100,\n 0\n )(\n `ProcessPreTerminateWorkerMessage(): [${JSON.stringify(messagePayload, null, 2)}]`\n )\n );\n if (this.fhirClient) {\n this.logger.debug(\n chalk.rgb(\n 220,\n 100,\n 0\n )(`ProcessPreTerminateWorkerMessage(): ResetSocket()`)\n );\n this.fhirClient.ResetSocket();\n this.fhirClient = undefined;\n }\n await Sleep(250);\n return {\n originalMessage: { ...messagePayload },\n myresponsepreterminate: `I got: [${JSON.stringify(messagePayload.payload.data)}]`,\n };\n }\n\n protected defaultAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 10, // Maximum concurrent active sockets per host.\n maxTotalSockets: 20, // Maximum total active sockets across all hosts.\n maxFreeSockets: 10, // Idle keepalive sockets retained for reuse.\n\n timeout: 60000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected stressTestAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 200, // Maximum concurrent active sockets per host.\n maxTotalSockets: 500, // Maximum total active sockets across all hosts.\n maxFreeSockets: 50, // Idle keepalive sockets retained for reuse.\n\n timeout: 30000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected stressTestExtremeAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 500, // Maximum concurrent active sockets per host.\n maxTotalSockets: 1000, // Maximum total active sockets across all hosts.\n maxFreeSockets: 500, // Idle keepalive sockets retained for reuse.\n\n timeout: 30000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected GetAgentManager = (\n testingAgentOptions: ITestingAgentOptions\n ): IAgentManager | undefined => {\n let agentManager: IAgentManager | undefined = undefined;\n let agentOptions: IAgentOptions | undefined = undefined;\n switch (testingAgentOptions.nodeAgentMode) {\n case \"no-agent\":\n break;\n case \"custom-agent-options\":\n if (testingAgentOptions.nodeAgentCustomOptions) {\n agentOptions = {\n ...testingAgentOptions.nodeAgentCustomOptions,\n };\n } else {\n agentOptions = { ...this.defaultAgentOptions };\n }\n break;\n case \"default-agent-options\":\n agentOptions = { ...this.defaultAgentOptions };\n break;\n case \"stress-test-agent-options\":\n agentOptions = { ...this.stressTestAgentOptions };\n break;\n case \"stress-test-extreme-agent-options\":\n agentOptions = { ...this.stressTestExtremeAgentOptions };\n break;\n default:\n throw new Error(\n `TestCaseFhirBase:GetAgentManager(): [${this._id}] unknown nodeAgentMode: [${testingAgentOptions.nodeAgentMode}]`\n );\n }\n if (agentOptions) {\n agentManager = createAgentManager({\n agentOptions,\n httpAgentFactory(options) {\n return new http.Agent(options);\n },\n httpsAgentFactory(options) {\n return new https.Agent(options);\n },\n });\n }\n return agentManager;\n };\n\n protected GetFhirAgentManager = (): IAgentManager | undefined => {\n return this.GetAgentManager(\n this._options.fhirOptions.stsfhiragentOptions\n );\n };\n\n //@@ need to reset the access token at the worker level singleton\n //@@ NOT at this runner instance level\n //@@ currently, the first runner instance will beind to the getaccesstoken callback\n //@@ all future runner instances will refer to their own local access token instance\n //@@ rather than the singleton instance\n /*\n ResetAccessToken = () => {\n //@@console.log(chalk.magenta(`Old Token: ${this._id} : ${this.#accesssToken}`));\n this.#accesssToken = null;\n }\n */\n\n GetClient = async (): Promise<IFhirClient> => {\n return this._clientHelper.GetClient();\n };\n\n GetMaxIteration(key: string) {\n return this._maxIteration[key];\n }\n\n SetMaxIteration(key: string, maxIteration: number) {\n this._maxIteration[key] = maxIteration;\n }\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,8,9,18,19,20,21,30,31,32,34],"mappings":"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;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO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"}
|
|
1
|
+
{"version":3,"file":"ststestrunner.mjs","names":["module","module","module","module","module","module","seedrandom","core","duplex","jsonpatch","jsonpatch","e","r","e","n","t","faker","TinyEmitter","TinyEmitter"],"sources":["../node_modules/http-status-codes/build/es/status-codes.js","../node_modules/seedrandom/lib/alea.js","../node_modules/seedrandom/lib/xor128.js","../node_modules/seedrandom/lib/xorwow.js","../node_modules/seedrandom/lib/xorshift7.js","../node_modules/seedrandom/lib/xor4096.js","../node_modules/seedrandom/lib/tychei.js","../__vite-browser-external","../node_modules/seedrandom/seedrandom.js","../node_modules/seedrandom/index.js","../src/libmodule/randomSequence.ts","../src/libmodule/testCaseFhirBase.ts","../src/libmodule/testCaseFhirQueryBase.ts","../src/libmodule/testCaseFhir01.ts","../src/libmodule/testCaseFhir02.ts","../src/libmodule/testCaseFhir03.ts","../src/libmodule/testCaseFhir04.ts","../src/libmodule/testCaseFhir05.ts","../node_modules/fast-json-patch/module/helpers.mjs","../node_modules/fast-json-patch/module/core.mjs","../node_modules/fast-json-patch/module/duplex.mjs","../node_modules/fast-json-patch/index.mjs","../src/libmodule/testCaseFhir06.ts","../src/libmodule/testCaseFhir07.ts","../src/libmodule/testCaseFhir08.ts","../src/libmodule/testCaseFhir09.ts","../src/libmodule/testCaseFhir20.ts","../src/libmodule/testCase01.ts","../src/libmodule/testCase02.ts","../src/libmodule/asyncRunnerFactory.ts","../node_modules/@faker-js/faker/dist/base-BpJm8uRb.js","../node_modules/@faker-js/faker/dist/en-Blck6vH3.js","../node_modules/@faker-js/faker/dist/locale/en.js","../src/libmodule/resourceDataGenerator.ts","../node_modules/tiny-emitter/index.js","../src/libmodule/lockHelper.ts","../src/libmodule/authHelper.ts","../src/libmodule/clientHelper.ts","../src/libmodule/workerFhirTestCases.ts"],"sourcesContent":["// Generated file. Do not edit\nexport var StatusCodes;\n(function (StatusCodes) {\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.2.1\n *\n * This interim response indicates that everything so far is OK and that the client should continue with the request or ignore it if it is already finished.\n */\n StatusCodes[StatusCodes[\"CONTINUE\"] = 100] = \"CONTINUE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.2.2\n *\n * This code is sent in response to an Upgrade request header by the client, and indicates the protocol the server is switching too.\n */\n StatusCodes[StatusCodes[\"SWITCHING_PROTOCOLS\"] = 101] = \"SWITCHING_PROTOCOLS\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.1\n *\n * This code indicates that the server has received and is processing the request, but no response is available yet.\n */\n StatusCodes[StatusCodes[\"PROCESSING\"] = 102] = \"PROCESSING\";\n /**\n * Official Documentation @ https://www.rfc-editor.org/rfc/rfc8297#page-3\n *\n * This code indicates to the client that the server is likely to send a final response with the header fields included in the informational response.\n */\n StatusCodes[StatusCodes[\"EARLY_HINTS\"] = 103] = \"EARLY_HINTS\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.3.1\n *\n * The request has succeeded. The meaning of a success varies depending on the HTTP method:\n * GET: The resource has been fetched and is transmitted in the message body.\n * HEAD: The entity headers are in the message body.\n * POST: The resource describing the result of the action is transmitted in the message body.\n * TRACE: The message body contains the request message as received by the server\n */\n StatusCodes[StatusCodes[\"OK\"] = 200] = \"OK\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.3.2\n *\n * The request has succeeded and a new resource has been created as a result of it. This is typically the response sent after a PUT request.\n */\n StatusCodes[StatusCodes[\"CREATED\"] = 201] = \"CREATED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.3.3\n *\n * The request has been received but not yet acted upon. It is non-committal, meaning that there is no way in HTTP to later send an asynchronous response indicating the outcome of processing the request. It is intended for cases where another process or server handles the request, or for batch processing.\n */\n StatusCodes[StatusCodes[\"ACCEPTED\"] = 202] = \"ACCEPTED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.3.4\n *\n * This response code means returned meta-information set is not exact set as available from the origin server, but collected from a local or a third party copy. Except this condition, 200 OK response should be preferred instead of this response.\n */\n StatusCodes[StatusCodes[\"NON_AUTHORITATIVE_INFORMATION\"] = 203] = \"NON_AUTHORITATIVE_INFORMATION\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.3.5\n *\n * There is no content to send for this request, but the headers may be useful. The user-agent may update its cached headers for this resource with the new ones.\n */\n StatusCodes[StatusCodes[\"NO_CONTENT\"] = 204] = \"NO_CONTENT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.3.6\n *\n * This response code is sent after accomplishing request to tell user agent reset document view which sent this request.\n */\n StatusCodes[StatusCodes[\"RESET_CONTENT\"] = 205] = \"RESET_CONTENT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7233#section-4.1\n *\n * This response code is used because of range header sent by the client to separate download into multiple streams.\n */\n StatusCodes[StatusCodes[\"PARTIAL_CONTENT\"] = 206] = \"PARTIAL_CONTENT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.2\n *\n * A Multi-Status response conveys information about multiple resources in situations where multiple status codes might be appropriate.\n */\n StatusCodes[StatusCodes[\"MULTI_STATUS\"] = 207] = \"MULTI_STATUS\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.4.1\n *\n * The request has more than one possible responses. User-agent or user should choose one of them. There is no standardized way to choose one of the responses.\n */\n StatusCodes[StatusCodes[\"MULTIPLE_CHOICES\"] = 300] = \"MULTIPLE_CHOICES\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.4.2\n *\n * This response code means that URI of requested resource has been changed. Probably, new URI would be given in the response.\n */\n StatusCodes[StatusCodes[\"MOVED_PERMANENTLY\"] = 301] = \"MOVED_PERMANENTLY\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.4.3\n *\n * This response code means that URI of requested resource has been changed temporarily. New changes in the URI might be made in the future. Therefore, this same URI should be used by the client in future requests.\n */\n StatusCodes[StatusCodes[\"MOVED_TEMPORARILY\"] = 302] = \"MOVED_TEMPORARILY\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.4.4\n *\n * Server sent this response to directing client to get requested resource to another URI with an GET request.\n */\n StatusCodes[StatusCodes[\"SEE_OTHER\"] = 303] = \"SEE_OTHER\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7232#section-4.1\n *\n * This is used for caching purposes. It is telling to client that response has not been modified. So, client can continue to use same cached version of response.\n */\n StatusCodes[StatusCodes[\"NOT_MODIFIED\"] = 304] = \"NOT_MODIFIED\";\n /**\n * @deprecated\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.4.6\n *\n * Was defined in a previous version of the HTTP specification to indicate that a requested response must be accessed by a proxy. It has been deprecated due to security concerns regarding in-band configuration of a proxy.\n */\n StatusCodes[StatusCodes[\"USE_PROXY\"] = 305] = \"USE_PROXY\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.4.7\n *\n * Server sent this response to directing client to get requested resource to another URI with same method that used prior request. This has the same semantic than the 302 Found HTTP response code, with the exception that the user agent must not change the HTTP method used: if a POST was used in the first request, a POST must be used in the second request.\n */\n StatusCodes[StatusCodes[\"TEMPORARY_REDIRECT\"] = 307] = \"TEMPORARY_REDIRECT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7538#section-3\n *\n * This means that the resource is now permanently located at another URI, specified by the Location: HTTP Response header. This has the same semantics as the 301 Moved Permanently HTTP response code, with the exception that the user agent must not change the HTTP method used: if a POST was used in the first request, a POST must be used in the second request.\n */\n StatusCodes[StatusCodes[\"PERMANENT_REDIRECT\"] = 308] = \"PERMANENT_REDIRECT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.1\n *\n * This response means that server could not understand the request due to invalid syntax.\n */\n StatusCodes[StatusCodes[\"BAD_REQUEST\"] = 400] = \"BAD_REQUEST\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7235#section-3.1\n *\n * Although the HTTP standard specifies \"unauthorized\", semantically this response means \"unauthenticated\". That is, the client must authenticate itself to get the requested response.\n */\n StatusCodes[StatusCodes[\"UNAUTHORIZED\"] = 401] = \"UNAUTHORIZED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.2\n *\n * This response code is reserved for future use. Initial aim for creating this code was using it for digital payment systems however this is not used currently.\n */\n StatusCodes[StatusCodes[\"PAYMENT_REQUIRED\"] = 402] = \"PAYMENT_REQUIRED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.3\n *\n * The client does not have access rights to the content, i.e. they are unauthorized, so server is rejecting to give proper response. Unlike 401, the client's identity is known to the server.\n */\n StatusCodes[StatusCodes[\"FORBIDDEN\"] = 403] = \"FORBIDDEN\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.4\n *\n * The server can not find requested resource. In the browser, this means the URL is not recognized. In an API, this can also mean that the endpoint is valid but the resource itself does not exist. Servers may also send this response instead of 403 to hide the existence of a resource from an unauthorized client. This response code is probably the most famous one due to its frequent occurence on the web.\n */\n StatusCodes[StatusCodes[\"NOT_FOUND\"] = 404] = \"NOT_FOUND\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.5\n *\n * The request method is known by the server but has been disabled and cannot be used. For example, an API may forbid DELETE-ing a resource. The two mandatory methods, GET and HEAD, must never be disabled and should not return this error code.\n */\n StatusCodes[StatusCodes[\"METHOD_NOT_ALLOWED\"] = 405] = \"METHOD_NOT_ALLOWED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.6\n *\n * This response is sent when the web server, after performing server-driven content negotiation, doesn't find any content following the criteria given by the user agent.\n */\n StatusCodes[StatusCodes[\"NOT_ACCEPTABLE\"] = 406] = \"NOT_ACCEPTABLE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7235#section-3.2\n *\n * This is similar to 401 but authentication is needed to be done by a proxy.\n */\n StatusCodes[StatusCodes[\"PROXY_AUTHENTICATION_REQUIRED\"] = 407] = \"PROXY_AUTHENTICATION_REQUIRED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.7\n *\n * This response is sent on an idle connection by some servers, even without any previous request by the client. It means that the server would like to shut down this unused connection. This response is used much more since some browsers, like Chrome, Firefox 27+, or IE9, use HTTP pre-connection mechanisms to speed up surfing. Also note that some servers merely shut down the connection without sending this message.\n */\n StatusCodes[StatusCodes[\"REQUEST_TIMEOUT\"] = 408] = \"REQUEST_TIMEOUT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.8\n *\n * This response is sent when a request conflicts with the current state of the server.\n */\n StatusCodes[StatusCodes[\"CONFLICT\"] = 409] = \"CONFLICT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.9\n *\n * This response would be sent when the requested content has been permenantly deleted from server, with no forwarding address. Clients are expected to remove their caches and links to the resource. The HTTP specification intends this status code to be used for \"limited-time, promotional services\". APIs should not feel compelled to indicate resources that have been deleted with this status code.\n */\n StatusCodes[StatusCodes[\"GONE\"] = 410] = \"GONE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.10\n *\n * The server rejected the request because the Content-Length header field is not defined and the server requires it.\n */\n StatusCodes[StatusCodes[\"LENGTH_REQUIRED\"] = 411] = \"LENGTH_REQUIRED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7232#section-4.2\n *\n * The client has indicated preconditions in its headers which the server does not meet.\n */\n StatusCodes[StatusCodes[\"PRECONDITION_FAILED\"] = 412] = \"PRECONDITION_FAILED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.11\n *\n * Request entity is larger than limits defined by server; the server might close the connection or return an Retry-After header field.\n */\n StatusCodes[StatusCodes[\"REQUEST_TOO_LONG\"] = 413] = \"REQUEST_TOO_LONG\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.12\n *\n * The URI requested by the client is longer than the server is willing to interpret.\n */\n StatusCodes[StatusCodes[\"REQUEST_URI_TOO_LONG\"] = 414] = \"REQUEST_URI_TOO_LONG\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.13\n *\n * The media format of the requested data is not supported by the server, so the server is rejecting the request.\n */\n StatusCodes[StatusCodes[\"UNSUPPORTED_MEDIA_TYPE\"] = 415] = \"UNSUPPORTED_MEDIA_TYPE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7233#section-4.4\n *\n * The range specified by the Range header field in the request can't be fulfilled; it's possible that the range is outside the size of the target URI's data.\n */\n StatusCodes[StatusCodes[\"REQUESTED_RANGE_NOT_SATISFIABLE\"] = 416] = \"REQUESTED_RANGE_NOT_SATISFIABLE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.5.14\n *\n * This response code means the expectation indicated by the Expect request header field can't be met by the server.\n */\n StatusCodes[StatusCodes[\"EXPECTATION_FAILED\"] = 417] = \"EXPECTATION_FAILED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2324#section-2.3.2\n *\n * Any attempt to brew coffee with a teapot should result in the error code \"418 I'm a teapot\". The resulting entity body MAY be short and stout.\n */\n StatusCodes[StatusCodes[\"IM_A_TEAPOT\"] = 418] = \"IM_A_TEAPOT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.6\n *\n * The 507 (Insufficient Storage) status code means the method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request. This condition is considered to be temporary. If the request which received this status code was the result of a user action, the request MUST NOT be repeated until it is requested by a separate user action.\n */\n StatusCodes[StatusCodes[\"INSUFFICIENT_SPACE_ON_RESOURCE\"] = 419] = \"INSUFFICIENT_SPACE_ON_RESOURCE\";\n /**\n * @deprecated\n * Official Documentation @ https://tools.ietf.org/rfcdiff?difftype=--hwdiff&url2=draft-ietf-webdav-protocol-06.txt\n *\n * A deprecated response used by the Spring Framework when a method has failed.\n */\n StatusCodes[StatusCodes[\"METHOD_FAILURE\"] = 420] = \"METHOD_FAILURE\";\n /**\n * Official Documentation @ https://datatracker.ietf.org/doc/html/rfc7540#section-9.1.2\n *\n * Defined in the specification of HTTP/2 to indicate that a server is not able to produce a response for the combination of scheme and authority that are included in the request URI.\n */\n StatusCodes[StatusCodes[\"MISDIRECTED_REQUEST\"] = 421] = \"MISDIRECTED_REQUEST\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.3\n *\n * The request was well-formed but was unable to be followed due to semantic errors.\n */\n StatusCodes[StatusCodes[\"UNPROCESSABLE_ENTITY\"] = 422] = \"UNPROCESSABLE_ENTITY\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.4\n *\n * The resource that is being accessed is locked.\n */\n StatusCodes[StatusCodes[\"LOCKED\"] = 423] = \"LOCKED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.5\n *\n * The request failed due to failure of a previous request.\n */\n StatusCodes[StatusCodes[\"FAILED_DEPENDENCY\"] = 424] = \"FAILED_DEPENDENCY\";\n /**\n * Official Documentation @ https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.15\n *\n * The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.\n */\n StatusCodes[StatusCodes[\"UPGRADE_REQUIRED\"] = 426] = \"UPGRADE_REQUIRED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc6585#section-3\n *\n * The origin server requires the request to be conditional. Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict.\n */\n StatusCodes[StatusCodes[\"PRECONDITION_REQUIRED\"] = 428] = \"PRECONDITION_REQUIRED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc6585#section-4\n *\n * The user has sent too many requests in a given amount of time (\"rate limiting\").\n */\n StatusCodes[StatusCodes[\"TOO_MANY_REQUESTS\"] = 429] = \"TOO_MANY_REQUESTS\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc6585#section-5\n *\n * The server is unwilling to process the request because its header fields are too large. The request MAY be resubmitted after reducing the size of the request header fields.\n */\n StatusCodes[StatusCodes[\"REQUEST_HEADER_FIELDS_TOO_LARGE\"] = 431] = \"REQUEST_HEADER_FIELDS_TOO_LARGE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7725\n *\n * The user-agent requested a resource that cannot legally be provided, such as a web page censored by a government.\n */\n StatusCodes[StatusCodes[\"UNAVAILABLE_FOR_LEGAL_REASONS\"] = 451] = \"UNAVAILABLE_FOR_LEGAL_REASONS\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.6.1\n *\n * The server encountered an unexpected condition that prevented it from fulfilling the request.\n */\n StatusCodes[StatusCodes[\"INTERNAL_SERVER_ERROR\"] = 500] = \"INTERNAL_SERVER_ERROR\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.6.2\n *\n * The request method is not supported by the server and cannot be handled. The only methods that servers are required to support (and therefore that must not return this code) are GET and HEAD.\n */\n StatusCodes[StatusCodes[\"NOT_IMPLEMENTED\"] = 501] = \"NOT_IMPLEMENTED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.6.3\n *\n * This error response means that the server, while working as a gateway to get a response needed to handle the request, got an invalid response.\n */\n StatusCodes[StatusCodes[\"BAD_GATEWAY\"] = 502] = \"BAD_GATEWAY\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.6.4\n *\n * The server is not ready to handle the request. Common causes are a server that is down for maintenance or that is overloaded. Note that together with this response, a user-friendly page explaining the problem should be sent. This responses should be used for temporary conditions and the Retry-After: HTTP header should, if possible, contain the estimated time before the recovery of the service. The webmaster must also take care about the caching-related headers that are sent along with this response, as these temporary condition responses should usually not be cached.\n */\n StatusCodes[StatusCodes[\"SERVICE_UNAVAILABLE\"] = 503] = \"SERVICE_UNAVAILABLE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.6.5\n *\n * This error response is given when the server is acting as a gateway and cannot get a response in time.\n */\n StatusCodes[StatusCodes[\"GATEWAY_TIMEOUT\"] = 504] = \"GATEWAY_TIMEOUT\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc7231#section-6.6.6\n *\n * The HTTP version used in the request is not supported by the server.\n */\n StatusCodes[StatusCodes[\"HTTP_VERSION_NOT_SUPPORTED\"] = 505] = \"HTTP_VERSION_NOT_SUPPORTED\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc2518#section-10.6\n *\n * The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is therefore not a proper end point in the negotiation process.\n */\n StatusCodes[StatusCodes[\"INSUFFICIENT_STORAGE\"] = 507] = \"INSUFFICIENT_STORAGE\";\n /**\n * Official Documentation @ https://tools.ietf.org/html/rfc6585#section-6\n *\n * The 511 status code indicates that the client needs to authenticate to gain network access.\n */\n StatusCodes[StatusCodes[\"NETWORK_AUTHENTICATION_REQUIRED\"] = 511] = \"NETWORK_AUTHENTICATION_REQUIRED\";\n})(StatusCodes || (StatusCodes = {}));\n","// A port of an algorithm by Johannes Baagøe <baagoe@baagoe.com>, 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baagøe <baagoe@baagoe.org>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = String(data);\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xorshift7\" algorithm by\n// François Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n","// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n","// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","module.exports = {}","/*\nCopyright 2019 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (global, pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\n\nvar width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n} else {\n // When included as a plain script, set up Math.seedrandom global.\n math['seed' + rngname] = seedrandom;\n}\n\n\n// End anonymous scope, and pass initial values.\n})(\n // global: `self` in browsers (including strict mode and web workers),\n // otherwise `this` in Node and other environments\n (typeof self !== 'undefined') ? self : this,\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n","// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baagøe.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by François Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n","import seedrandom from \"seedrandom\";\n\nexport function getRandomIterationOrder(\n iterations: number,\n seed: string\n): number[] {\n const rng = seedrandom(seed);\n\n const values = Array.from({ length: iterations }, (_, i) => i);\n\n for (let i = values.length - 1; i > 0; i--) {\n const j = Math.floor(rng() * (i + 1));\n [values[i], values[j]] = [values[j], values[i]];\n }\n\n return values;\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF\nimport { Sleep } from \"@nsshunt/stsutils\";\nimport { Person } from \"@nsshunt/stsfhirclient\";\n\nimport {\n IRunner,\n AbstractRunnerExecutionWorker,\n} from \"@nsshunt/stsrunnerframework\";\n\nimport chalk from \"chalk\";\n\nimport { IWorkerTestCases } from \"./commonTypes.js\";\n\nimport { isNode } from \"@nsshunt/stsutils\";\n\nimport {\n ITestCaseFhirBaseOptions,\n ITestingAgentOptions,\n} from \"./../commonTypes.js\";\n\nimport axios, { AxiosError } from \"axios\";\nimport { StatusCodes } from \"http-status-codes\";\n\nimport { IFhirClient, IDomainResource } from \"@nsshunt/stsfhirclient\";\n\nimport { WorkerFhirTestCases } from \"./workerFhirTestCases.js\";\n\nimport { getRandomIterationOrder } from \"./randomSequence.js\";\n\nexport interface IGetAPITokenFromAuthServerUsingScopeOptions {\n clientId: string;\n authClientSecret: string;\n scope: string;\n endPoint: string;\n}\n\nexport abstract class TestCaseFhirBase {\n #options: ITestCaseFhirBaseOptions;\n #runner: IRunner;\n #runnerExecutionWorker: AbstractRunnerExecutionWorker;\n //#clientId: string = '36615b3a-b71b-49af-a68b-4180daed7a5a'; // ststestrunnernode\n //#clientSecret: string = '7fbbf116-0537-424b-904f-d8d0a62adf9e'; // ststestrunnernode password\n #publishTelemetryCount: number = 0;\n #maxBufferSize = 50; // Max number of PostTelemetry calls before a publish. This should always be less than the logger instrtument maxSize buffer (default 200)\n #publishTelemetryTimeout: any = null;\n #publishTelemetryTimeoutVal = 1000; // Maximum time to wait between telemetry publish. The logic is what ever case comes first wins (see maxBufferSize).\n private randomSequence: number[] = [];\n\n protected _RetryMap = [100, 250, 500, 1000, 2000, 3000];\n\n private _id: string = crypto.randomUUID();\n\n protected retryCount = 0;\n protected maxAuthRetryCount = 5;\n\n protected runnerDurationList: number[] = [];\n\n constructor(\n runnerExecutionWorker: AbstractRunnerExecutionWorker,\n runner: IRunner\n ) {\n this.#options = runner.options as ITestCaseFhirBaseOptions;\n\n this.#runnerExecutionWorker = runnerExecutionWorker;\n this.#runner = runner;\n }\n\n protected get runnerExecutionWorker(): WorkerFhirTestCases {\n return this.#runnerExecutionWorker as WorkerFhirTestCases;\n }\n\n GetMaxIteration(key: string) {\n return this.runnerExecutionWorker.GetMaxIteration(key);\n }\n\n SetMaxIteration(key: string, maxIteration: number) {\n this.runnerExecutionWorker.SetMaxIteration(key, maxIteration);\n }\n\n protected ResetClient = () => {\n return;\n //this.restFhirClient = null;\n //this.fhirClient = null;\n //this.Debug(`TestCaseFhirBase:ResetClient() Invoked`);\n };\n\n protected GetRandomSequenceFromIteration = () => {\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n const maxIterations = this.GetMaxIteration(prefix);\n if (this.runner.iteration === 0) {\n const seedId = prefix;\n this.randomSequence = getRandomIterationOrder(\n maxIterations,\n seedId\n );\n // Old method below ...\n //const { workerIndex, runnerIndex } = (this.#runner.options as ITestCaseFhirBaseOptions);\n //const seedId = `seed-${workerIndex}-${runnerIndex}`;\n //this.randomSequence = getRandomIterationOrder(this.runner.options.executionProfile.iterations, seedId);\n }\n // Wrap around if our iteration is smaller that the run set (i.e. the create stage is slower than the get stage if using duration rather than iterations in the run profile)\n const useIteration = this.runner.iteration % maxIterations;\n return this.randomSequence[useIteration];\n // Old method below ...\n //return this.randomSequence[this.runner.iteration];\n };\n\n Error = (message: any) => {\n this.#runnerExecutionWorker.logger.error(message);\n this.#runner.instrumentData.message.push(chalk.red(`${message}`));\n };\n\n Debug = (message: any) => {\n this.#runnerExecutionWorker.logger.debug(message);\n };\n\n get runner(): IRunner {\n return this.#runner;\n }\n\n SleepImmediate(): Promise<void> {\n return new Promise((resolve, reject) => {\n if (isNode) {\n setImmediate(resolve);\n } else {\n resolve();\n }\n });\n }\n\n async SleepImmediateEx(): Promise<void> {\n return new Promise((resolve, reject) => {\n resolve();\n });\n }\n\n SleepImmediateEx2(): Promise<void> {\n return new Promise((resolve, reject) => {\n process.nextTick(resolve);\n });\n }\n\n #CalculatePercentile = () => {\n this.runnerDurationList.sort((a, b) => a - b);\n const size = this.runnerDurationList.length;\n\n const _GetP = (factor: number) => {\n const pos = Math.floor(size * factor);\n if (pos >= 0 && pos < size) {\n return this.runnerDurationList[pos];\n } else {\n return -1;\n }\n };\n\n this.#runner.instrumentData.perc[\"50\"] = _GetP(0.5);\n this.#runner.instrumentData.perc[\"80\"] = _GetP(0.8);\n this.#runner.instrumentData.perc[\"90\"] = _GetP(0.9);\n this.#runner.instrumentData.perc[\"95\"] = _GetP(0.95);\n this.#runner.instrumentData.perc[\"98\"] = _GetP(0.98);\n };\n\n #PublishTelemetryData = async () => {\n this.#CalculatePercentile();\n this.#runnerExecutionWorker.PostTelemetryById(this.#runner.id);\n\n // Now reset any instruments ready for the next cycle\n this.#runner.instrumentData.velocity = 0;\n this.#runner.instrumentData.message = [];\n this.#runner.instrumentData.tx = 0;\n this.#runner.instrumentData.rx = 0;\n\n await this.SleepImmediate();\n };\n\n HandleError = (error: any): boolean => {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] Error: [${error}]`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] description: [${this.runner.options.description}]`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] iteration: [${this.runner.iteration}]`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] asyncRunnerContext: [${JSON.stringify(this.runner.asyncRunnerContext)}]`\n )\n );\n if (axios.isAxiosError(error)) {\n const axiosError: AxiosError = error;\n if (axiosError.response) {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] AXIOS Error Response.Status = [${axiosError.response.status}]`\n )\n );\n if (axiosError.response.headers) {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] headers: [${JSON.stringify(axiosError.response.headers)}]`\n )\n );\n }\n if (axiosError.response.data) {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] data: [${JSON.stringify(axiosError.response.data)}]`\n )\n );\n }\n try {\n // Skip config - too much text - perhaps make an option ?\n /*\n if (axiosError.response.config) {\n this.Error(chalk.red(`TestCaseFhirBase:HandleError(): config: [${JSON.stringify(axiosError.response.config)}]`));\n }\n */\n } catch (innererror: any) {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] could not get response config, error: [${innererror}]`\n )\n );\n }\n\n if (axiosError.response.status === StatusCodes.UNAUTHORIZED) {\n this.runner.instrumentData.authenticationErrorCount++;\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] UNAUTHORIZED - Reset Access Token`\n )\n );\n this.runnerExecutionWorker.authHelper.ResetAccessToken();\n return true;\n }\n } else {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] AXIOS Error = [${axiosError}]`\n )\n );\n }\n } else if (error.message === \"UNAUTHORIZED\") {\n this.runner.instrumentData.authenticationErrorCount++;\n this.Error(\n chalk.red(\n `TestCaseFhirBase:HandleError(): [${this._id}] UNAUTHORIZED - Reset Access Token`\n )\n );\n this.runnerExecutionWorker.authHelper.ResetAccessToken();\n return true;\n }\n return false;\n };\n\n GetPersonRecord = async (\n prefix: string,\n index: number,\n version: string\n ): Promise<Person> => {\n const { workerIndex, runnerIndex, runId } = this.#options;\n\n const useId = `${prefix}-${index}`;\n\n let firstName;\n let lastName;\n /*\n if (this.#options.useRedisForNames === true) {\n const store = await (this.runnerExecutionWorker as WorkerTestCases).GetStore();\n const loaded = await store.getRecord(runId, `${workerIndex}_${runnerIndex}_${this.runner.iteration}`);\n //this.Debug('Loaded first record:', loaded);\n firstName = loaded!.givenName;\n lastName = loaded!.familyName;\n } else {\n const name = (this.runnerExecutionWorker as WorkerTestCases).GetFakerName(this.runner.iteration);\n firstName = name.firstName;\n lastName = name.lastName;\n }\n */\n\n // const name = ((this.runnerExecutionWorker as unknown) as IWorkerTestCases).resourceDataGenerator.GetFakerName(this.runner.iteration);\n const name = (\n this.runnerExecutionWorker as unknown as IWorkerTestCases\n ).resourceDataGenerator.GetFakerName(index);\n firstName = name.firstName;\n lastName = name.lastName;\n\n const personRecord: Person = {\n id: useId,\n resourceType: \"Person\",\n name: [\n {\n family: lastName,\n given: [firstName],\n use: `usual`,\n },\n ],\n text: {\n //div: `New Record ${this.runner.iteration}`,\n div: `New Record ${index}`,\n status: \"generated\",\n },\n meta: {\n versionId: version,\n lastUpdated: new Date().toISOString(),\n },\n };\n\n return personRecord;\n };\n\n #ForcePublishTelemetryData = async () => {\n await this.#PublishTelemetryData();\n };\n\n #SetupTimeout = async () => {\n if (!this.#publishTelemetryTimeout) {\n this.#publishTelemetryTimeout = setTimeout(async () => {\n await this.#PublishTelemetryData();\n this.#publishTelemetryCount = 0;\n this.#publishTelemetryTimeout = null;\n }, this.#publishTelemetryTimeoutVal);\n if (isNode) {\n this.#publishTelemetryTimeout.unref();\n }\n }\n };\n\n PublishTelemetry = async () => {\n this.#publishTelemetryCount++;\n\n if (this.#publishTelemetryCount % this.#maxBufferSize === 0) {\n this.#publishTelemetryCount = 0;\n if (this.#publishTelemetryTimeout) {\n clearTimeout(this.#publishTelemetryTimeout);\n this.#publishTelemetryTimeout = null;\n }\n await this.#PublishTelemetryData();\n }\n\n if (!this.#publishTelemetryTimeout) {\n this.#SetupTimeout();\n }\n };\n\n #OutputLogMessage = async (message: string): Promise<void> => {\n const messageOutput = chalk.grey(message);\n this.#runner.instrumentData.message.push(messageOutput);\n await this.PublishTelemetry();\n };\n\n StartRunner = async (): Promise<boolean> => {\n this.runner.instrumentData.timer = performance.now();\n this.runnerDurationList = [];\n await this.#OutputLogMessage(`StartRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n StopRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`StopRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n TerminateRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`TerminateRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n Completed = async (): Promise<boolean> => {\n const start = this.runner.instrumentData.timer;\n this.runner.instrumentData.timer = performance.now() - start;\n await this.#OutputLogMessage(\n `Completed [${this.#runner.id}] [${JSON.stringify(this.#runner.instrumentData)}]`\n );\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n PauseRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`PauseRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n ResumeRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`ResumeRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n ResetRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`ResetRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n UpdateRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`UpdateOptions [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n abstract PerformExecuteQuery(): Promise<IDomainResource | null>;\n\n hashString(str: string): number {\n let hash = 0x811c9dc5; // FNV offset basis\n\n for (let i = 0; i < str.length; i++) {\n hash ^= str.charCodeAt(i);\n hash = Math.imul(hash, 0x01000193); // FNV prime\n }\n\n return hash >>> 0; // convert to unsigned 32-bit\n }\n\n protected _GetDetail = (): string => {\n const options = this.runner.options as ITestCaseFhirBaseOptions;\n const { runPrefix, testType, description } = options;\n const { workerManagerId, iteration } = this.runner;\n\n const rgbTable = [\n [0, 100, 255],\n [75, 150, 255],\n [150, 180, 255],\n [190, 200, 255],\n [210, 230, 255],\n ];\n\n const workerManagerRGBTable = [\n [200, 0, 255],\n [210, 60, 255],\n [220, 114, 255],\n [235, 170, 255],\n [240, 210, 255],\n\n [0, 255, 130],\n [75, 255, 160],\n [130, 255, 190],\n [190, 255, 220],\n [215, 255, 230],\n\n [255, 150, 0],\n [255, 170, 65],\n [255, 200, 130],\n [255, 220, 180],\n [255, 235, 210],\n ];\n\n const rgbTableRow = rgbTable[options.workerIndex % rgbTable.length];\n const workerManagerRGBTableRow =\n workerManagerRGBTable[\n this.hashString(workerManagerId) % workerManagerRGBTable.length\n ];\n\n const wkCol = chalk.rgb(rgbTableRow[0], rgbTableRow[1], rgbTableRow[2]);\n const wkColWM = chalk.rgb(\n workerManagerRGBTableRow[0],\n workerManagerRGBTableRow[1],\n workerManagerRGBTableRow[2]\n );\n\n return wkCol(\n `runPrefix: [${chalk.bold(runPrefix)}], testType: [${chalk.bold(testType)}], description: [${chalk.bold(description)}], workerManagerId: [${wkColWM(chalk.bold(workerManagerId))}], Iteration: [${chalk.bold(iteration.toString())}]`\n );\n };\n\n protected _CheckOutputLongDurationError = (\n snapshotStart: number,\n message: string\n ): number => {\n const snapShotEnd = performance.now();\n\n if (snapShotEnd - snapshotStart > 1000) {\n this.Error(\n chalk.red(\n `TestCaseFhirBase:_CheckOutputLongDurationError(): [${this._id}] *** ==> Long execution: [${snapShotEnd - snapshotStart}] message: [${message}]`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirBase:_CheckOutputLongDurationError(): [${this._id}] ==> ${this._GetDetail()}`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirBase:_CheckOutputLongDurationError(): [${this._id}] ==> Note: While not specifically an error, this is logged as an error.`\n )\n );\n }\n return snapShotEnd;\n };\n\n ExecuteQuery = async (): Promise<IDomainResource | null> => {\n this.retryCount = 0;\n return this._ExecuteQuery();\n };\n\n _ExecuteQuery = async (): Promise<IDomainResource | null> => {\n const dummyIterationSleepDuration = (\n this.runner.options as ITestCaseFhirBaseOptions\n ).dummyIterationSleepDuration;\n if (dummyIterationSleepDuration > 0) {\n await Sleep(dummyIterationSleepDuration);\n return null;\n } else if (dummyIterationSleepDuration < 0) {\n const client = await this.GetClient();\n await client.GetLatency({});\n return null;\n }\n\n try {\n const retVal = await this.PerformExecuteQuery();\n return retVal;\n } catch (error: any) {\n this.runner.instrumentData.errorCount++;\n if (this.HandleError(error) === true) {\n if (this.retryCount < this.maxAuthRetryCount) {\n // Retry due to 401\n this.retryCount++;\n this.runner.instrumentData.authenticationRetryCount++;\n const message = `TestCaseFhirBase:ExecuteQuery(): [${this._id}] Retry auth attempt: retryCount: [${this.retryCount}], maxAuthRetryCount: [${this.maxAuthRetryCount}]`;\n this.Error(message);\n if (this.retryCount > this._RetryMap.length) {\n await Sleep(this._RetryMap[this._RetryMap.length - 1]);\n } else {\n await Sleep(this._RetryMap[this.retryCount - 1]);\n }\n return await this._ExecuteQuery();\n } else {\n const message = `TestCaseFhirBase:_ExecuteQuery(): [${this._id}] Max auth retries exceeded: retryCount: [${this.retryCount}], maxAuthRetryCount: [${this.maxAuthRetryCount}], Error: [${error}]`;\n this.Error(message);\n error.message = message;\n throw error;\n }\n } else {\n throw error;\n }\n }\n };\n\n GetClient = async (): Promise<IFhirClient> => {\n return this.runnerExecutionWorker.GetClient();\n };\n\n CheckReturnData = (p1obj: any, p2obj: any) => {\n const p1 = JSON.stringify(p1obj);\n const p2 = JSON.stringify(p2obj);\n if (p1.localeCompare(p2) !== 0) {\n this.runner.instrumentData.errorCount++;\n console.log(\n chalk.red(\n `TestCaseFhirBase:CheckReturnData(): Compare return data check failed.`\n )\n );\n console.log(p1);\n console.log(p2);\n process.exit(1);\n }\n };\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF\nimport {\n IRunnerInstance,\n IRunnerOptions,\n IRunner,\n AbstractRunnerExecutionWorker,\n} from \"@nsshunt/stsrunnerframework\";\n\nimport chalk from \"chalk\";\n\nimport { IFhirClient, IDomainResource } from \"@nsshunt/stsfhirclient\";\nimport { TestCaseFhirBase } from \"./testCaseFhirBase.js\";\n\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\n\n/*\nexport interface IRunnerTestCaseFhirQueryBase extends IRunnerOptions {\n agentResetMod: number\n personPrefix: string\n}\n*/\n\nexport abstract class TestCaseFhirQueryBase\n extends TestCaseFhirBase\n implements IRunnerInstance\n{\n private _longExecTimeoutVal = 5000;\n private _durationList: number[] = [];\n\n constructor(\n workerInstance: AbstractRunnerExecutionWorker,\n runner: IRunner\n ) {\n super(workerInstance, runner);\n }\n\n #ResetClient = (reason: string) => {\n this.ResetClient();\n };\n\n #CheckResetClient = () => {\n if (this.runner.instrumentData.requestCount > 0) {\n if (\n this.runner.instrumentData.requestCount %\n (this.runner.options as ITestCaseFhirBaseOptions)\n .clientResetMod ===\n 0\n ) {\n this.#ResetClient(\"#ResetClient triggered\");\n }\n }\n };\n\n //@@ also monitor # of DB postgrews connections\n //@@ monitor open ports\n //@@ time wait\n ExecuteRunner = async (): Promise<boolean> => {\n if (this.runner.iteration % 100 === 0) {\n this.Debug(\n `TestCaseFhirQueryBase:ExecuteRunner(): ${this._GetDetail()}`\n );\n }\n\n const start = performance.now();\n\n this.runner.instrumentData.activeRequestCount++;\n\n this.#CheckResetClient();\n\n const longExecTimeout = setTimeout(() => {\n this.Debug(\n chalk.magenta(\n `TestCaseFhirQueryBase:ExecuteRunner(): *** ==> Long execution: [${this._longExecTimeoutVal}] exceeded - still waiting ...`\n )\n );\n this.Debug(\n chalk.magenta(\n `TestCaseFhirQueryBase:ExecuteRunner(): ==> ${this._GetDetail()}`\n )\n );\n }, this._longExecTimeoutVal);\n\n try {\n await this.ExecuteQuery();\n clearInterval(longExecTimeout);\n } catch (error) {\n clearInterval(longExecTimeout);\n this.runner.instrumentData.errorCount++;\n const message = `TestCaseFhirQueryBase:ExecuteRunner(): Error: [${error}], Error Count: [${this.runner.instrumentData.errorCount}], ${this._GetDetail()}`;\n this.Error(message);\n this.#ResetClient(message);\n }\n\n this.runner.instrumentData.coreCount = 1;\n this.runner.instrumentData.requestCount++;\n this.runner.instrumentData.velocity++;\n this.runner.instrumentData.activeRequestCount--;\n\n const end = performance.now();\n const diff = end - start;\n this.runner.instrumentData.duration = diff;\n\n this.runnerDurationList.push(diff);\n\n if (diff <= 5) {\n this.runner.instrumentData.duration5++;\n } else if (diff <= 10) {\n this.runner.instrumentData.duration10++;\n } else if (diff <= 20) {\n this.runner.instrumentData.duration20++;\n } else if (diff <= 30) {\n this.runner.instrumentData.duration30++;\n } else if (diff <= 40) {\n this.runner.instrumentData.duration40++;\n } else if (diff <= 50) {\n this.runner.instrumentData.duration50++;\n } else if (diff <= 60) {\n this.runner.instrumentData.duration60++;\n } else if (diff <= 80) {\n this.runner.instrumentData.duration80++;\n } else if (diff <= 100) {\n this.runner.instrumentData.duration100++;\n } else if (diff <= 120) {\n this.runner.instrumentData.duration120++;\n } else if (diff <= 150) {\n this.runner.instrumentData.duration150++;\n } else if (diff <= 250) {\n this.runner.instrumentData.duration250++;\n } else if (diff <= 500) {\n this.runner.instrumentData.duration500++;\n } else if (diff <= 1000) {\n this.runner.instrumentData.duration1000++;\n } else {\n this.runner.instrumentData.duratione++;\n }\n\n if (diff > this._longExecTimeoutVal) {\n this.Error(\n chalk.red(\n `TestCaseFhirQueryBase:ExecuteRunner(): *** ==> Long execution: [${diff}] Completed`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirQueryBase:ExecuteRunner(): ==> ${this._GetDetail()}`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirQueryBase:ExecuteRunner(): ==> Note: While not specifically an error, this is logged as an error.`\n )\n );\n } else if (diff > 200) {\n this.Debug(\n chalk.rgb(\n 155,\n 120,\n 200\n )(\n `TestCaseFhirQueryBase:ExecuteRunner(): *** ==> Long execution: [${diff}] Completed`\n )\n );\n this.Debug(\n chalk.rgb(\n 155,\n 120,\n 200\n )(\n `TestCaseFhirQueryBase:ExecuteRunner(): ==> ${this._GetDetail()}`\n )\n );\n }\n\n const longExecTimeoutpublishTelemetry = setTimeout(() => {\n this.Error(\n chalk.red(\n `TestCaseFhirQueryBase:ExecuteRunner(): *** ==> Long execution: [${this._longExecTimeoutVal}] for PublishTelemetry()`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirQueryBase:ExecuteRunner(): ==> ${this._GetDetail()}`\n )\n );\n this.Error(\n chalk.red(\n `TestCaseFhirQueryBase:ExecuteRunner(): ==> Note: While not specifically an error, this is logged as an error.`\n )\n );\n }, this._longExecTimeoutVal);\n\n await this.PublishTelemetry();\n clearInterval(longExecTimeoutpublishTelemetry);\n\n return true;\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource } from \"@nsshunt/stsfhirclient\";\n\nexport class TestCaseFhir01\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const retVal =\n await this.runnerExecutionWorker.authHelper.GetAccessToken();\n this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetAccessToken()\"\n );\n\n this.runnerExecutionWorker.authHelper.ResetAccessToken(); // Force a new token\n\n return null;\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\n/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource, Person, Bundle } from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\nimport { Sleep } from \"@nsshunt/stsutils\";\nexport class TestCaseFhir02\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n private bundleBatch: any;\n private personRecords: Person[] = [];\n\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n const bundleSize = (this.runner.options as ITestCaseFhirBaseOptions)\n .bundleSize;\n\n if (this.runner.iteration === 0) {\n this.bundleBatch = {\n resourceType: \"Bundle\",\n type: \"transaction\",\n entry: [],\n };\n }\n\n const personRecord: Person = await this.GetPersonRecord(\n prefix,\n this.runner.iteration,\n \"1\"\n );\n\n this.SetMaxIteration(prefix, this.runner.iteration);\n\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n // Only push the person if not already in the batch\n // We already have this person if we are in a retry post error state ...\n const foundIndexPersonRecords = this.personRecords.findIndex(\n (p) => p.id?.localeCompare(personRecord.id!) === 0\n );\n const foundIndexBindlePersonRecords = this.bundleBatch.entry.findIndex(\n (p: any) => p.resource.id?.localeCompare(personRecord.id!) === 0\n );\n\n if (foundIndexPersonRecords === -1) {\n if (foundIndexBindlePersonRecords !== -1) {\n // Error state ...\n throw new Error(\n `TestCaseFhir02:PerformExecuteQuery(): Invalid record state for batch transaction, foundIndexPersonRecords: [${foundIndexPersonRecords}], foundIndexBindlePersonRecords: [${foundIndexBindlePersonRecords}], personRecord.id: [${personRecord.id}]`\n );\n }\n this.personRecords.push(personRecord);\n\n this.bundleBatch.entry!.push({\n fullUrl: (personRecord as any).id,\n resource: personRecord as any,\n request: {\n method: \"POST\",\n url: \"Person\",\n },\n });\n }\n\n let retVal = undefined;\n if (this.runner.iteration % bundleSize === bundleSize - 1) {\n retVal = await client.ProcessBatchOrTransactionResources(\n this.bundleBatch\n );\n this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.PostResource()\"\n );\n } else if (\n this.runner.iteration ===\n (this.runner.options as ITestCaseFhirBaseOptions).executionProfile\n .iterations -\n 1\n ) {\n retVal = await client.ProcessBatchOrTransactionResources(\n this.bundleBatch\n );\n this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.PostResource()\"\n );\n }\n\n //@@ this is horrid (code smell) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal && retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n if (retVal) {\n for (let i = 0; i < retVal.body.entry.length - 1; i++) {\n const personRecord: Person = this.personRecords[i];\n delete personRecord.meta;\n\n const retPersonData = { ...retVal.body.entry[i].resource };\n delete retPersonData.meta;\n\n this.CheckReturnData(personRecord, retPersonData);\n }\n this.bundleBatch.entry = [];\n this.personRecords = [];\n }\n\n // Go slow on purpose to force wrapping on all subsequent tests (remove once tested)\n // await Sleep(500);\n\n // just return the first one - its not used anyway (code smell - should return void)\n return personRecord as any;\n };\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\n/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource } from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir03\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n\n const personRecord = await this.GetPersonRecord(\n prefix,\n this.GetRandomSequenceFromIteration(),\n \"1\"\n );\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n const retVal = await client.GetResource(\n \"Person\",\n personRecord.id as string\n );\n this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n delete personRecord.meta;\n delete retVal.body.meta;\n\n this.CheckReturnData(personRecord, retVal.body);\n\n return retVal.body;\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\n/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource, IPerson } from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir04\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n const personRecord = await this.GetPersonRecord(\n `${prefix}`,\n this.GetRandomSequenceFromIteration(),\n \"1\"\n );\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n const retVal = await client.GetResource(\n \"Person\",\n personRecord.id as string\n );\n const __snapshot4 = this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n // We add the extra requestCount here beucase we are doing more than 1 transaction in this execute cycle as\n // the stsrunnerframework always add one automatically.\n this.runner.instrumentData.requestCount++;\n\n const compPersonRecord = { ...personRecord };\n const loadedPersonRecorded = { ...retVal.body };\n\n //console.log(` ==> version id: [${loadedPersonRecorded.meta.versionId}]`);\n //console.log(` ==> tag: [${loadedPersonRecorded.meta.tag}]`);\n\n const loadedRecordVersion: number = parseInt(\n loadedPersonRecorded.meta.versionId\n );\n\n delete compPersonRecord.meta;\n delete loadedPersonRecorded.meta;\n\n if (loadedRecordVersion > 1) {\n compPersonRecord.text!.div = `Put record TestCaseFhir04 ${this.runner.iteration % this.GetMaxIteration(prefix)}`; //@@ needs to use wrapped id\n }\n\n this.CheckReturnData(compPersonRecord, loadedPersonRecorded);\n\n const originalPersonRecord = retVal.body as IPerson;\n if (originalPersonRecord && originalPersonRecord.text) {\n originalPersonRecord.text.div = `Put record TestCaseFhir04 ${this.runner.iteration % this.GetMaxIteration(prefix)}`; //@@ needs to use wrapped id\n\n //@@ need to use actual returned record as this may execute more than once for the same person (iteration wrap around from the original create set)\n const retVal = await client.PutResource(\n \"Person\",\n originalPersonRecord as any,\n `W/\"${loadedRecordVersion}\"`\n );\n this._CheckOutputLongDurationError(\n __snapshot4,\n \"await this.PutResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n const updatedRecord = { ...retVal.body };\n\n delete updatedRecord.meta;\n delete originalPersonRecord.meta;\n\n this.CheckReturnData(updatedRecord, originalPersonRecord);\n\n return retVal.body;\n } else {\n this.runner.instrumentData.errorCount++;\n return null;\n }\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource, Person } from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir05\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const baseUrl = (this.runner.options as ITestCaseFhirBaseOptions)\n .fhirOptions.stsfhirbaseurl;\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n\n const personRecord: Person = await this.GetPersonRecord(\n prefix,\n this.GetRandomSequenceFromIteration(),\n \"3\"\n );\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n // Broad query - slow\n //const url = new URL(`${baseUrl}/Person?family=${searchLetter}`);\n\n // Get record based on family and given name (complete name)\n //const url = new URL(`${baseUrl}/Person?family=${personRecord.name![0].family}&given=${personRecord.name![0].given![0]}`);\n\n // Get record based on family name only\n const url = new URL(\n `${baseUrl}/Person?family=${personRecord.name![0].family}`\n );\n\n // Get record based on given name only\n //const url = new URL(`${baseUrl}/Person?given=${personRecord.name![0].given![0]}`);\n\n let retVal;\n if (\n (this.runner.options as ITestCaseFhirBaseOptions).useDirectQuery ===\n true\n ) {\n const data = {\n queryTestingMode: (\n this.runner.options as ITestCaseFhirBaseOptions\n ).queryTestingMode,\n family: personRecord.name![0].family,\n };\n retVal = await client.GenericSearchTesting(\"Person\", data);\n this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GenericSearchTesting()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n } else {\n retVal = await client.GetResources(url);\n this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetResources()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n }\n\n const checkRetVal = { ...retVal.body };\n\n const searchRetValCheck = {\n resourceType: \"Bundle\",\n type: \"searchset\",\n };\n\n delete checkRetVal.total;\n delete checkRetVal.link;\n delete checkRetVal.entry;\n\n this.CheckReturnData(searchRetValCheck, checkRetVal);\n\n return retVal.body;\n };\n}\n","/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2022 Joachim Wester\n * MIT licensed\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function hasOwnProperty(obj, key) {\n return _hasOwnProperty.call(obj, key);\n}\nexport function _objectKeys(obj) {\n if (Array.isArray(obj)) {\n var keys_1 = new Array(obj.length);\n for (var k = 0; k < keys_1.length; k++) {\n keys_1[k] = \"\" + k;\n }\n return keys_1;\n }\n if (Object.keys) {\n return Object.keys(obj);\n }\n var keys = [];\n for (var i in obj) {\n if (hasOwnProperty(obj, i)) {\n keys.push(i);\n }\n }\n return keys;\n}\n;\n/**\n* Deeply clone the object.\n* https://jsperf.com/deep-copy-vs-json-stringify-json-parse/25 (recursiveDeepCopy)\n* @param {any} obj value to clone\n* @return {any} cloned obj\n*/\nexport function _deepClone(obj) {\n switch (typeof obj) {\n case \"object\":\n return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5\n case \"undefined\":\n return null; //this is how JSON.stringify behaves for array items\n default:\n return obj; //no need to clone primitives\n }\n}\n//3x faster than cached /^\\d+$/.test(str)\nexport function isInteger(str) {\n var i = 0;\n var len = str.length;\n var charCode;\n while (i < len) {\n charCode = str.charCodeAt(i);\n if (charCode >= 48 && charCode <= 57) {\n i++;\n continue;\n }\n return false;\n }\n return true;\n}\n/**\n* Escapes a json pointer path\n* @param path The raw pointer\n* @return the Escaped path\n*/\nexport function escapePathComponent(path) {\n if (path.indexOf('/') === -1 && path.indexOf('~') === -1)\n return path;\n return path.replace(/~/g, '~0').replace(/\\//g, '~1');\n}\n/**\n * Unescapes a json pointer path\n * @param path The escaped pointer\n * @return The unescaped path\n */\nexport function unescapePathComponent(path) {\n return path.replace(/~1/g, '/').replace(/~0/g, '~');\n}\nexport function _getPathRecursive(root, obj) {\n var found;\n for (var key in root) {\n if (hasOwnProperty(root, key)) {\n if (root[key] === obj) {\n return escapePathComponent(key) + '/';\n }\n else if (typeof root[key] === 'object') {\n found = _getPathRecursive(root[key], obj);\n if (found != '') {\n return escapePathComponent(key) + '/' + found;\n }\n }\n }\n }\n return '';\n}\nexport function getPath(root, obj) {\n if (root === obj) {\n return '/';\n }\n var path = _getPathRecursive(root, obj);\n if (path === '') {\n throw new Error(\"Object not found in root\");\n }\n return \"/\" + path;\n}\n/**\n* Recursively checks whether an object has any undefined values inside.\n*/\nexport function hasUndefined(obj) {\n if (obj === undefined) {\n return true;\n }\n if (obj) {\n if (Array.isArray(obj)) {\n for (var i_1 = 0, len = obj.length; i_1 < len; i_1++) {\n if (hasUndefined(obj[i_1])) {\n return true;\n }\n }\n }\n else if (typeof obj === \"object\") {\n var objKeys = _objectKeys(obj);\n var objKeysLength = objKeys.length;\n for (var i = 0; i < objKeysLength; i++) {\n if (hasUndefined(obj[objKeys[i]])) {\n return true;\n }\n }\n }\n }\n return false;\n}\nfunction patchErrorMessageFormatter(message, args) {\n var messageParts = [message];\n for (var key in args) {\n var value = typeof args[key] === 'object' ? JSON.stringify(args[key], null, 2) : args[key]; // pretty print\n if (typeof value !== 'undefined') {\n messageParts.push(key + \": \" + value);\n }\n }\n return messageParts.join('\\n');\n}\nvar PatchError = /** @class */ (function (_super) {\n __extends(PatchError, _super);\n function PatchError(message, name, index, operation, tree) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, patchErrorMessageFormatter(message, { name: name, index: index, operation: operation, tree: tree })) || this;\n _this.name = name;\n _this.index = index;\n _this.operation = operation;\n _this.tree = tree;\n Object.setPrototypeOf(_this, _newTarget.prototype); // restore prototype chain, see https://stackoverflow.com/a/48342359\n _this.message = patchErrorMessageFormatter(message, { name: name, index: index, operation: operation, tree: tree });\n return _this;\n }\n return PatchError;\n}(Error));\nexport { PatchError };\n","import { PatchError, _deepClone, isInteger, unescapePathComponent, hasUndefined } from './helpers.mjs';\nexport var JsonPatchError = PatchError;\nexport var deepClone = _deepClone;\n/* We use a Javascript hash to store each\n function. Each hash entry (property) uses\n the operation identifiers specified in rfc6902.\n In this way, we can map each patch operation\n to its dedicated function in efficient way.\n */\n/* The operations applicable to an object */\nvar objOps = {\n add: function (obj, key, document) {\n obj[key] = this.value;\n return { newDocument: document };\n },\n remove: function (obj, key, document) {\n var removed = obj[key];\n delete obj[key];\n return { newDocument: document, removed: removed };\n },\n replace: function (obj, key, document) {\n var removed = obj[key];\n obj[key] = this.value;\n return { newDocument: document, removed: removed };\n },\n move: function (obj, key, document) {\n /* in case move target overwrites an existing value,\n return the removed value, this can be taxing performance-wise,\n and is potentially unneeded */\n var removed = getValueByPointer(document, this.path);\n if (removed) {\n removed = _deepClone(removed);\n }\n var originalValue = applyOperation(document, { op: \"remove\", path: this.from }).removed;\n applyOperation(document, { op: \"add\", path: this.path, value: originalValue });\n return { newDocument: document, removed: removed };\n },\n copy: function (obj, key, document) {\n var valueToCopy = getValueByPointer(document, this.from);\n // enforce copy by value so further operations don't affect source (see issue #177)\n applyOperation(document, { op: \"add\", path: this.path, value: _deepClone(valueToCopy) });\n return { newDocument: document };\n },\n test: function (obj, key, document) {\n return { newDocument: document, test: _areEquals(obj[key], this.value) };\n },\n _get: function (obj, key, document) {\n this.value = obj[key];\n return { newDocument: document };\n }\n};\n/* The operations applicable to an array. Many are the same as for the object */\nvar arrOps = {\n add: function (arr, i, document) {\n if (isInteger(i)) {\n arr.splice(i, 0, this.value);\n }\n else { // array props\n arr[i] = this.value;\n }\n // this may be needed when using '-' in an array\n return { newDocument: document, index: i };\n },\n remove: function (arr, i, document) {\n var removedList = arr.splice(i, 1);\n return { newDocument: document, removed: removedList[0] };\n },\n replace: function (arr, i, document) {\n var removed = arr[i];\n arr[i] = this.value;\n return { newDocument: document, removed: removed };\n },\n move: objOps.move,\n copy: objOps.copy,\n test: objOps.test,\n _get: objOps._get\n};\n/**\n * Retrieves a value from a JSON document by a JSON pointer.\n * Returns the value.\n *\n * @param document The document to get the value from\n * @param pointer an escaped JSON pointer\n * @return The retrieved value\n */\nexport function getValueByPointer(document, pointer) {\n if (pointer == '') {\n return document;\n }\n var getOriginalDestination = { op: \"_get\", path: pointer };\n applyOperation(document, getOriginalDestination);\n return getOriginalDestination.value;\n}\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the {newDocument, result} of the operation.\n * It modifies the `document` and `operation` objects - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyOperation(document, jsonpatch._deepClone(operation))`.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return `{newDocument, result}` after the operation\n */\nexport function applyOperation(document, operation, validateOperation, mutateDocument, banPrototypeModifications, index) {\n if (validateOperation === void 0) { validateOperation = false; }\n if (mutateDocument === void 0) { mutateDocument = true; }\n if (banPrototypeModifications === void 0) { banPrototypeModifications = true; }\n if (index === void 0) { index = 0; }\n if (validateOperation) {\n if (typeof validateOperation == 'function') {\n validateOperation(operation, 0, document, operation.path);\n }\n else {\n validator(operation, 0);\n }\n }\n /* ROOT OPERATIONS */\n if (operation.path === \"\") {\n var returnValue = { newDocument: document };\n if (operation.op === 'add') {\n returnValue.newDocument = operation.value;\n return returnValue;\n }\n else if (operation.op === 'replace') {\n returnValue.newDocument = operation.value;\n returnValue.removed = document; //document we removed\n return returnValue;\n }\n else if (operation.op === 'move' || operation.op === 'copy') { // it's a move or copy to root\n returnValue.newDocument = getValueByPointer(document, operation.from); // get the value by json-pointer in `from` field\n if (operation.op === 'move') { // report removed item\n returnValue.removed = document;\n }\n return returnValue;\n }\n else if (operation.op === 'test') {\n returnValue.test = _areEquals(document, operation.value);\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n returnValue.newDocument = document;\n return returnValue;\n }\n else if (operation.op === 'remove') { // a remove on root\n returnValue.removed = document;\n returnValue.newDocument = null;\n return returnValue;\n }\n else if (operation.op === '_get') {\n operation.value = document;\n return returnValue;\n }\n else { /* bad operation */\n if (validateOperation) {\n throw new JsonPatchError('Operation `op` property is not one of operations defined in RFC-6902', 'OPERATION_OP_INVALID', index, operation, document);\n }\n else {\n return returnValue;\n }\n }\n } /* END ROOT OPERATIONS */\n else {\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n var path = operation.path || \"\";\n var keys = path.split('/');\n var obj = document;\n var t = 1; //skip empty element - http://jsperf.com/to-shift-or-not-to-shift\n var len = keys.length;\n var existingPathFragment = undefined;\n var key = void 0;\n var validateFunction = void 0;\n if (typeof validateOperation == 'function') {\n validateFunction = validateOperation;\n }\n else {\n validateFunction = validator;\n }\n while (true) {\n key = keys[t];\n if (key && key.indexOf('~') != -1) {\n key = unescapePathComponent(key);\n }\n if (banPrototypeModifications &&\n (key == '__proto__' ||\n (key == 'prototype' && t > 0 && keys[t - 1] == 'constructor'))) {\n throw new TypeError('JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README');\n }\n if (validateOperation) {\n if (existingPathFragment === undefined) {\n if (obj[key] === undefined) {\n existingPathFragment = keys.slice(0, t).join('/');\n }\n else if (t == len - 1) {\n existingPathFragment = operation.path;\n }\n if (existingPathFragment !== undefined) {\n validateFunction(operation, 0, document, existingPathFragment);\n }\n }\n }\n t++;\n if (Array.isArray(obj)) {\n if (key === '-') {\n key = obj.length;\n }\n else {\n if (validateOperation && !isInteger(key)) {\n throw new JsonPatchError(\"Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index\", \"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\", index, operation, document);\n } // only parse key when it's an integer for `arr.prop` to work\n else if (isInteger(key)) {\n key = ~~key;\n }\n }\n if (t >= len) {\n if (validateOperation && operation.op === \"add\" && key > obj.length) {\n throw new JsonPatchError(\"The specified index MUST NOT be greater than the number of elements in the array\", \"OPERATION_VALUE_OUT_OF_BOUNDS\", index, operation, document);\n }\n var returnValue = arrOps[operation.op].call(operation, obj, key, document); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return returnValue;\n }\n }\n else {\n if (t >= len) {\n var returnValue = objOps[operation.op].call(operation, obj, key, document); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return returnValue;\n }\n }\n obj = obj[key];\n // If we have more keys in the path, but the next value isn't a non-null object,\n // throw an OPERATION_PATH_UNRESOLVABLE error instead of iterating again.\n if (validateOperation && t < len && (!obj || typeof obj !== \"object\")) {\n throw new JsonPatchError('Cannot perform operation at the desired path', 'OPERATION_PATH_UNRESOLVABLE', index, operation, document);\n }\n }\n }\n}\n/**\n * Apply a full JSON Patch array on a JSON document.\n * Returns the {newDocument, result} of the patch.\n * It modifies the `document` object and `patch` - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyPatch(document, jsonpatch._deepClone(patch))`.\n *\n * @param document The document to patch\n * @param patch The patch to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return An array of `{newDocument, result}` after the patch\n */\nexport function applyPatch(document, patch, validateOperation, mutateDocument, banPrototypeModifications) {\n if (mutateDocument === void 0) { mutateDocument = true; }\n if (banPrototypeModifications === void 0) { banPrototypeModifications = true; }\n if (validateOperation) {\n if (!Array.isArray(patch)) {\n throw new JsonPatchError('Patch sequence must be an array', 'SEQUENCE_NOT_AN_ARRAY');\n }\n }\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n var results = new Array(patch.length);\n for (var i = 0, length_1 = patch.length; i < length_1; i++) {\n // we don't need to pass mutateDocument argument because if it was true, we already deep cloned the object, we'll just pass `true`\n results[i] = applyOperation(document, patch[i], validateOperation, true, banPrototypeModifications, i);\n document = results[i].newDocument; // in case root was replaced\n }\n results.newDocument = document;\n return results;\n}\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the updated document.\n * Suitable as a reducer.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @return The updated document\n */\nexport function applyReducer(document, operation, index) {\n var operationResult = applyOperation(document, operation);\n if (operationResult.test === false) { // failed test\n throw new JsonPatchError(\"Test operation failed\", 'TEST_OPERATION_FAILED', index, operation, document);\n }\n return operationResult.newDocument;\n}\n/**\n * Validates a single operation. Called from `jsonpatch.validate`. Throws `JsonPatchError` in case of an error.\n * @param {object} operation - operation object (patch)\n * @param {number} index - index of operation in the sequence\n * @param {object} [document] - object where the operation is supposed to be applied\n * @param {string} [existingPathFragment] - comes along with `document`\n */\nexport function validator(operation, index, document, existingPathFragment) {\n if (typeof operation !== 'object' || operation === null || Array.isArray(operation)) {\n throw new JsonPatchError('Operation is not an object', 'OPERATION_NOT_AN_OBJECT', index, operation, document);\n }\n else if (!objOps[operation.op]) {\n throw new JsonPatchError('Operation `op` property is not one of operations defined in RFC-6902', 'OPERATION_OP_INVALID', index, operation, document);\n }\n else if (typeof operation.path !== 'string') {\n throw new JsonPatchError('Operation `path` property is not a string', 'OPERATION_PATH_INVALID', index, operation, document);\n }\n else if (operation.path.indexOf('/') !== 0 && operation.path.length > 0) {\n // paths that aren't empty string should start with \"/\"\n throw new JsonPatchError('Operation `path` property must start with \"/\"', 'OPERATION_PATH_INVALID', index, operation, document);\n }\n else if ((operation.op === 'move' || operation.op === 'copy') && typeof operation.from !== 'string') {\n throw new JsonPatchError('Operation `from` property is not present (applicable in `move` and `copy` operations)', 'OPERATION_FROM_REQUIRED', index, operation, document);\n }\n else if ((operation.op === 'add' || operation.op === 'replace' || operation.op === 'test') && operation.value === undefined) {\n throw new JsonPatchError('Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)', 'OPERATION_VALUE_REQUIRED', index, operation, document);\n }\n else if ((operation.op === 'add' || operation.op === 'replace' || operation.op === 'test') && hasUndefined(operation.value)) {\n throw new JsonPatchError('Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)', 'OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED', index, operation, document);\n }\n else if (document) {\n if (operation.op == \"add\") {\n var pathLen = operation.path.split(\"/\").length;\n var existingPathLen = existingPathFragment.split(\"/\").length;\n if (pathLen !== existingPathLen + 1 && pathLen !== existingPathLen) {\n throw new JsonPatchError('Cannot perform an `add` operation at the desired path', 'OPERATION_PATH_CANNOT_ADD', index, operation, document);\n }\n }\n else if (operation.op === 'replace' || operation.op === 'remove' || operation.op === '_get') {\n if (operation.path !== existingPathFragment) {\n throw new JsonPatchError('Cannot perform the operation at a path that does not exist', 'OPERATION_PATH_UNRESOLVABLE', index, operation, document);\n }\n }\n else if (operation.op === 'move' || operation.op === 'copy') {\n var existingValue = { op: \"_get\", path: operation.from, value: undefined };\n var error = validate([existingValue], document);\n if (error && error.name === 'OPERATION_PATH_UNRESOLVABLE') {\n throw new JsonPatchError('Cannot perform the operation from a path that does not exist', 'OPERATION_FROM_UNRESOLVABLE', index, operation, document);\n }\n }\n }\n}\n/**\n * Validates a sequence of operations. If `document` parameter is provided, the sequence is additionally validated against the object document.\n * If error is encountered, returns a JsonPatchError object\n * @param sequence\n * @param document\n * @returns {JsonPatchError|undefined}\n */\nexport function validate(sequence, document, externalValidator) {\n try {\n if (!Array.isArray(sequence)) {\n throw new JsonPatchError('Patch sequence must be an array', 'SEQUENCE_NOT_AN_ARRAY');\n }\n if (document) {\n //clone document and sequence so that we can safely try applying operations\n applyPatch(_deepClone(document), _deepClone(sequence), externalValidator || true);\n }\n else {\n externalValidator = externalValidator || validator;\n for (var i = 0; i < sequence.length; i++) {\n externalValidator(sequence[i], i, document, undefined);\n }\n }\n }\n catch (e) {\n if (e instanceof JsonPatchError) {\n return e;\n }\n else {\n throw e;\n }\n }\n}\n// based on https://github.com/epoberezkin/fast-deep-equal\n// MIT License\n// Copyright (c) 2017 Evgeny Poberezkin\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\nexport function _areEquals(a, b) {\n if (a === b)\n return true;\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = Array.isArray(a), arrB = Array.isArray(b), i, length, key;\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length)\n return false;\n for (i = length; i-- !== 0;)\n if (!_areEquals(a[i], b[i]))\n return false;\n return true;\n }\n if (arrA != arrB)\n return false;\n var keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length)\n return false;\n for (i = length; i-- !== 0;)\n if (!b.hasOwnProperty(keys[i]))\n return false;\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!_areEquals(a[key], b[key]))\n return false;\n }\n return true;\n }\n return a !== a && b !== b;\n}\n;\n","/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2021 Joachim Wester\n * MIT license\n */\nimport { _deepClone, _objectKeys, escapePathComponent, hasOwnProperty } from './helpers.mjs';\nimport { applyPatch } from './core.mjs';\nvar beforeDict = new WeakMap();\nvar Mirror = /** @class */ (function () {\n function Mirror(obj) {\n this.observers = new Map();\n this.obj = obj;\n }\n return Mirror;\n}());\nvar ObserverInfo = /** @class */ (function () {\n function ObserverInfo(callback, observer) {\n this.callback = callback;\n this.observer = observer;\n }\n return ObserverInfo;\n}());\nfunction getMirror(obj) {\n return beforeDict.get(obj);\n}\nfunction getObserverFromMirror(mirror, callback) {\n return mirror.observers.get(callback);\n}\nfunction removeObserverFromMirror(mirror, observer) {\n mirror.observers.delete(observer.callback);\n}\n/**\n * Detach an observer from an object\n */\nexport function unobserve(root, observer) {\n observer.unobserve();\n}\n/**\n * Observes changes made to an object, which can then be retrieved using generate\n */\nexport function observe(obj, callback) {\n var patches = [];\n var observer;\n var mirror = getMirror(obj);\n if (!mirror) {\n mirror = new Mirror(obj);\n beforeDict.set(obj, mirror);\n }\n else {\n var observerInfo = getObserverFromMirror(mirror, callback);\n observer = observerInfo && observerInfo.observer;\n }\n if (observer) {\n return observer;\n }\n observer = {};\n mirror.value = _deepClone(obj);\n if (callback) {\n observer.callback = callback;\n observer.next = null;\n var dirtyCheck = function () {\n generate(observer);\n };\n var fastCheck = function () {\n clearTimeout(observer.next);\n observer.next = setTimeout(dirtyCheck);\n };\n if (typeof window !== 'undefined') { //not Node\n window.addEventListener('mouseup', fastCheck);\n window.addEventListener('keyup', fastCheck);\n window.addEventListener('mousedown', fastCheck);\n window.addEventListener('keydown', fastCheck);\n window.addEventListener('change', fastCheck);\n }\n }\n observer.patches = patches;\n observer.object = obj;\n observer.unobserve = function () {\n generate(observer);\n clearTimeout(observer.next);\n removeObserverFromMirror(mirror, observer);\n if (typeof window !== 'undefined') {\n window.removeEventListener('mouseup', fastCheck);\n window.removeEventListener('keyup', fastCheck);\n window.removeEventListener('mousedown', fastCheck);\n window.removeEventListener('keydown', fastCheck);\n window.removeEventListener('change', fastCheck);\n }\n };\n mirror.observers.set(callback, new ObserverInfo(callback, observer));\n return observer;\n}\n/**\n * Generate an array of patches from an observer\n */\nexport function generate(observer, invertible) {\n if (invertible === void 0) { invertible = false; }\n var mirror = beforeDict.get(observer.object);\n _generate(mirror.value, observer.object, observer.patches, \"\", invertible);\n if (observer.patches.length) {\n applyPatch(mirror.value, observer.patches);\n }\n var temp = observer.patches;\n if (temp.length > 0) {\n observer.patches = [];\n if (observer.callback) {\n observer.callback(temp);\n }\n }\n return temp;\n}\n// Dirty check if obj is different from mirror, generate patches and update mirror\nfunction _generate(mirror, obj, patches, path, invertible) {\n if (obj === mirror) {\n return;\n }\n if (typeof obj.toJSON === \"function\") {\n obj = obj.toJSON();\n }\n var newKeys = _objectKeys(obj);\n var oldKeys = _objectKeys(mirror);\n var changed = false;\n var deleted = false;\n //if ever \"move\" operation is implemented here, make sure this test runs OK: \"should not generate the same patch twice (move)\"\n for (var t = oldKeys.length - 1; t >= 0; t--) {\n var key = oldKeys[t];\n var oldVal = mirror[key];\n if (hasOwnProperty(obj, key) && !(obj[key] === undefined && oldVal !== undefined && Array.isArray(obj) === false)) {\n var newVal = obj[key];\n if (typeof oldVal == \"object\" && oldVal != null && typeof newVal == \"object\" && newVal != null && Array.isArray(oldVal) === Array.isArray(newVal)) {\n _generate(oldVal, newVal, patches, path + \"/\" + escapePathComponent(key), invertible);\n }\n else {\n if (oldVal !== newVal) {\n changed = true;\n if (invertible) {\n patches.push({ op: \"test\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(oldVal) });\n }\n patches.push({ op: \"replace\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(newVal) });\n }\n }\n }\n else if (Array.isArray(mirror) === Array.isArray(obj)) {\n if (invertible) {\n patches.push({ op: \"test\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(oldVal) });\n }\n patches.push({ op: \"remove\", path: path + \"/\" + escapePathComponent(key) });\n deleted = true; // property has been deleted\n }\n else {\n if (invertible) {\n patches.push({ op: \"test\", path: path, value: mirror });\n }\n patches.push({ op: \"replace\", path: path, value: obj });\n changed = true;\n }\n }\n if (!deleted && newKeys.length == oldKeys.length) {\n return;\n }\n for (var t = 0; t < newKeys.length; t++) {\n var key = newKeys[t];\n if (!hasOwnProperty(mirror, key) && obj[key] !== undefined) {\n patches.push({ op: \"add\", path: path + \"/\" + escapePathComponent(key), value: _deepClone(obj[key]) });\n }\n }\n}\n/**\n * Create an array of patches from the differences in two objects\n */\nexport function compare(tree1, tree2, invertible) {\n if (invertible === void 0) { invertible = false; }\n var patches = [];\n _generate(tree1, tree2, patches, '', invertible);\n return patches;\n}\n","export * from './module/core.mjs';\nexport * from './module/duplex.mjs';\nexport {\n PatchError as JsonPatchError,\n _deepClone as deepClone,\n escapePathComponent,\n unescapePathComponent\n} from './module/helpers.mjs';\n\n\n/**\n * Default export for backwards compat\n */\n\nimport * as core from './module/core.mjs';\nimport * as duplex from './module/duplex.mjs';\nimport {\n PatchError as JsonPatchError,\n _deepClone as deepClone,\n escapePathComponent,\n unescapePathComponent\n} from './module/helpers.mjs';\n\nexport default Object.assign({}, core, duplex, {\n JsonPatchError,\n deepClone,\n escapePathComponent,\n unescapePathComponent\n});","/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { IDomainResource } from \"@nsshunt/stsfhirclient\";\nimport jsonpatch from \"fast-json-patch\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir06\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n const personRecord = await this.GetPersonRecord(\n `${prefix}`,\n this.GetRandomSequenceFromIteration(),\n \"3\"\n );\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n const retVal = await client.GetResource(\n \"Person\",\n personRecord.id as string\n );\n const __snapshot4 = this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n const resource = retVal.body;\n const loadedRecordVersion: number = parseInt(resource.meta.versionId);\n\n const patchText = `Json Patched record TestCaseFhir07 ${this.runner.iteration % this.GetMaxIteration(prefix)}`;\n const observer: any = jsonpatch.observe(resource);\n resource.text.div = patchText;\n const patchRecord: jsonpatch.Operation[] = jsonpatch.generate(observer);\n\n // `application/merge-patch+json`\n const retValPatched = await client.PatchResource(\n \"Person\",\n personRecord.id!,\n patchRecord,\n `application/json-patch+json`,\n `W/\"${loadedRecordVersion}\"`\n );\n this._CheckOutputLongDurationError(\n __snapshot4,\n \"await this.PatchResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retValPatched.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n //console.log('07');\n //console.log(personRecord);\n //console.log(retValPatched.body);\n\n const retRecordCheck = { ...retValPatched.body };\n personRecord.text!.div = patchText;\n\n //const zz = (loadedRecordVersion + 1).toString();\n //console.log(loadedRecordVersion);\n //console.log(typeof loadedRecordVersion);\n //console.log(typeof (loadedRecordVersion + 1));\n //console.log(typeof zz);\n //console.log(zz);\n\n personRecord.meta!.versionId = (loadedRecordVersion + 1).toString(); // We are expected the increased version number\n\n delete personRecord.meta!.lastUpdated;\n delete retRecordCheck.meta.lastUpdated;\n\n this.CheckReturnData(personRecord, retRecordCheck);\n\n return retValPatched.body;\n };\n}\n","import { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { IDomainResource } from \"@nsshunt/stsfhirclient\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir07\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n const personRecord = await this.GetPersonRecord(\n `${prefix}`,\n this.GetRandomSequenceFromIteration(),\n \"4\"\n );\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n const retVal = await client.GetResource(\n \"Person\",\n personRecord.id as string\n );\n const __snapshot4 = this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n const resource = retVal.body;\n const loadedRecordVersion: number = parseInt(resource.meta.versionId);\n const patchText = `Merge Patched record TestCaseFhir08 ${this.runner.iteration & this.GetMaxIteration(prefix)}`;\n resource.text.div = patchText;\n\n const retValPatched = await client.PatchResource(\n \"Person\",\n personRecord.id!,\n resource,\n `application/merge-patch+json`,\n `W/\"${loadedRecordVersion}\"`\n );\n this._CheckOutputLongDurationError(\n __snapshot4,\n \"await this.PatchResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retValPatched.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n const retRecordCheck = { ...retValPatched.body };\n personRecord.text!.div = patchText;\n personRecord.meta!.versionId = (loadedRecordVersion + 1).toString(); // We are expected the increased version number\n\n delete personRecord.meta!.lastUpdated;\n delete retRecordCheck.meta.lastUpdated;\n\n this.CheckReturnData(personRecord, retRecordCheck);\n\n return retValPatched.body;\n };\n}\n","import { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource } from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\n\nimport axios, { AxiosError } from \"axios\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir08\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const prefix = (this.runner.options as ITestCaseFhirBaseOptions)\n .personPrefix;\n const personRecord = await this.GetPersonRecord(\n prefix,\n this.GetRandomSequenceFromIteration(),\n \"5\"\n );\n\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n const retVal = await client.GetResource(\n \"Person\",\n personRecord.id as string\n );\n const __snapshot4 = this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n // Check if this record is already deleted ...\n const resource = retVal.body;\n if (resource.meta) {\n const loadedRecordVersion: number = parseInt(\n resource.meta.versionId\n );\n\n // We are expecting 410 Gone for delete response\n try {\n const retVal = await client.DeleteResource(\n \"Person\",\n personRecord.id as string,\n `W/\"${loadedRecordVersion}\"`\n );\n this._CheckOutputLongDurationError(\n __snapshot4,\n \"await this.DeleteResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n const deletedRetValCheck = {\n resourceType: \"OperationOutcome\",\n issue: [\n {\n severity: \"error\",\n code: \"deleted\",\n diagnostics: `DeleteResource: Resource ${personRecord.id} version ${loadedRecordVersion + 1} has been deleted.`,\n },\n ],\n };\n\n this.CheckReturnData(deletedRetValCheck, retVal.body);\n\n return retVal.body;\n } catch (error) {\n if (axios.isAxiosError(error)) {\n const axiosError: AxiosError = error;\n if (axiosError.response) {\n if (axiosError.response.status !== StatusCodes.GONE) {\n throw error;\n }\n return null;\n } else {\n throw error;\n }\n } else {\n throw error;\n }\n }\n } else {\n if (retVal.status === 404) {\n return null;\n } else {\n const message = `Unknown return value for delete, retVal.status: [${retVal.status}], resource: [${JSON.stringify(resource)}]`;\n console.error(message);\n throw new Error(message);\n }\n }\n };\n}\n","import { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport { IDomainResource } from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\n\nexport class TestCaseFhir09\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const __snapshot1 = performance.now();\n\n const client = await this.GetClient();\n const __snapshot2 = this._CheckOutputLongDurationError(\n __snapshot1,\n \"await this.GetClient()\"\n );\n\n const personRecord = await this.GetPersonRecord(\n `${(this.runner.options as ITestCaseFhirBaseOptions).personPrefix}`,\n this.GetRandomSequenceFromIteration(),\n \"1\"\n );\n const __snapshot3 = this._CheckOutputLongDurationError(\n __snapshot2,\n \"await this.GetPersonRecord()\"\n );\n\n const retVal = await client.GetHistoryInstanceFhirResource(\n \"Person\",\n personRecord.id as string,\n \"1\"\n );\n this._CheckOutputLongDurationError(\n __snapshot3,\n \"await this.GetHistoryInstanceFhirResource()\"\n );\n\n //@@ this is horrid (code small) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n if (retVal.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n\n if (retVal.status === StatusCodes.GONE) {\n // The version 2 record may be deleted if the duration of the other tests that perform updates didn't get to this record in time\n // So the delete has occured on an earlier version of the record.\n return null;\n } else {\n delete personRecord.meta;\n delete retVal.body.meta;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete (personRecord!.text! as any).div;\n delete retVal.body.text.div;\n\n this.CheckReturnData(personRecord, retVal.body);\n\n return retVal.body;\n }\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\n/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport { IRunnerInstance } from \"@nsshunt/stsrunnerframework\";\nimport { TestCaseFhirQueryBase } from \"./testCaseFhirQueryBase.js\";\nimport {\n IDomainResource,\n Person,\n Bundle,\n IFhirResponse,\n} from \"@nsshunt/stsfhirclient\";\nimport { ITestCaseFhirBaseOptions } from \"./../commonTypes.js\";\nimport { StatusCodes } from \"http-status-codes\";\nimport jsonpatch from \"fast-json-patch\";\nimport chalk from \"chalk\";\n\nexport class TestCaseFhir20\n extends TestCaseFhirQueryBase\n implements IRunnerInstance\n{\n PerformExecuteQuery = async (): Promise<IDomainResource | null> => {\n const client = await this.GetClient();\n const prefix = `${(this.runner.options as ITestCaseFhirBaseOptions).personPrefix}-AIO`;\n const personRecord: Person = await this.GetPersonRecord(\n prefix,\n this.runner.iteration,\n \"1\"\n );\n const baseUrl = (this.runner.options as ITestCaseFhirBaseOptions)\n .fhirOptions.stsfhirbaseurl;\n let stage = 1;\n\n //@@ this is horrid (code smell) way of handling these socket client errors\n //@@ the socket client itself should do this check and throw an actual error\n //@@ for all >= 400 status codes\n const checkStatus = (stage: number, fr: IFhirResponse) => {\n if (fr.status === StatusCodes.UNAUTHORIZED) {\n throw new Error(\"UNAUTHORIZED\");\n }\n return fr;\n };\n\n try {\n const retVal1 = checkStatus(\n stage++,\n await client.PostResource(\"Person\", personRecord as any)\n );\n\n const retVal2 = checkStatus(\n stage++,\n await client.GetResource(\"Person\", personRecord.id as string)\n );\n\n retVal2.body.text.div = `Put record TestCaseFhir20 ${this.runner.iteration}`;\n\n const retVal3 = checkStatus(\n stage++,\n await client.PutResource(\"Person\", retVal2.body as any, `W/\"1\"`)\n );\n\n retVal3.body.text.div = `Put record TestCaseFhir20 ${this.runner.iteration}`;\n\n const retVal4 = checkStatus(\n stage++,\n await client.PutResource(\"Person\", retVal3.body as any, `W/\"2\"`)\n );\n\n const url = new URL(\n `${baseUrl}/Person?family=${personRecord.name![0].family}`\n );\n\n const retVal5 = checkStatus(\n stage++,\n await client.GetResources(url)\n );\n\n const patchText1 = `Json Patched record TestCaseFhir20 ${this.runner.iteration}`;\n const observer: any = jsonpatch.observe(retVal4.body);\n retVal4.body.text.div = patchText1;\n const patchRecord: jsonpatch.Operation[] =\n jsonpatch.generate(observer);\n\n const retVal6 = checkStatus(\n stage++,\n await client.PatchResource(\n \"Person\",\n personRecord.id!,\n patchRecord,\n `application/json-patch+json`,\n `W/\"3\"`\n )\n );\n\n const patchText2 = `Merge Patched record TestCaseFhir20 ${this.runner.iteration}`;\n retVal6.body.text.div = patchText2;\n const retVal7 = checkStatus(\n stage++,\n await client.PatchResource(\n \"Person\",\n personRecord.id!,\n retVal6.body,\n `application/merge-patch+json`,\n `W/\"4\"`\n )\n );\n\n const retVal8 = checkStatus(\n stage++,\n await client.DeleteResource(\n \"Person\",\n personRecord.id as string,\n `W/\"5\"`\n )\n );\n\n const retVal9 = checkStatus(\n stage++,\n await client.GetHistoryInstanceFhirResource(\n \"Person\",\n personRecord.id as string,\n \"2\"\n )\n );\n\n return retVal1.body;\n } catch (error) {\n console.error(\n chalk.red(\n `TestCaseFhir20(): Stage: [${stage}], Error: [${error}]`\n )\n );\n console.error(error);\n throw error;\n }\n };\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF\n\n/**\n * TestCase01\n * ==========\n *\n * Concrete test runner implementation used to validate the runner framework.\n *\n * Purpose\n * -------\n * `TestCase01` is a synthetic/example runner that performs predictable,\n * low-risk work so the surrounding framework can be tested.\n *\n * It is designed to exercise and demonstrate:\n *\n * - runner lifecycle methods\n * - start\n * - stop\n * - pause\n * - resume\n * - reset\n * - update\n * - complete\n * - terminate\n * - telemetry generation and batching\n * - log message generation\n * - metric updates\n * - active request tracking\n * - duration measurement\n * - delayed work simulation using `Sleep(...)`\n *\n * It does not perform real business work. Instead, it simulates work by:\n *\n * - updating telemetry counters\n * - optionally sleeping for a configured duration\n * - generating periodic messages\n * - publishing telemetry using batching and timeout logic\n *\n * Architectural role\n * ------------------\n * This class is a concrete implementation of {@link IRunnerInstance}.\n *\n * It is hosted by a concrete worker-side execution host such as\n * `WorkerTestCases`, which in turn derives from\n * {@link AbstractRunnerExecutionWorker}.\n *\n * The framework uses this runner to validate that:\n *\n * - worker command routing works\n * - runner execution loops work\n * - telemetry publication works\n * - runner lifecycle messages behave as expected\n */\n\nimport {\n AbstractRunnerExecutionWorker,\n IRunnerInstance,\n IRunnerOptions,\n IRunner,\n} from \"@nsshunt/stsrunnerframework\";\n\nimport chalk from \"chalk\";\n\nimport { Sleep, isNode } from \"@nsshunt/stsutils\";\n\n/**\n * Internal mutable state used to generate the animated/indented \"Hello World\"\n * log output for each runner.\n *\n * Fields:\n * - `indent`: current indentation level for the next message\n * - `adder`: direction/step used to move indentation left/right\n */\ndeclare interface LogMessageData {\n /**\n * Current indentation width for the next generated log line.\n */\n indent: number;\n\n /**\n * Current directional increment applied to `indent`.\n *\n * Usually:\n * - `1` while indentation is increasing\n * - `-1` while indentation is decreasing\n */\n adder: number;\n}\n\n/**\n * Map of per-runner log message animation state.\n *\n * Key:\n * - runner id\n *\n * Value:\n * - the current indentation/direction state for generated log lines\n */\ndeclare type LogMessageDataSet = Record<string, LogMessageData>;\n\n/**\n * Extended runner options used specifically by `TestCase01`.\n *\n * In addition to standard framework runner options, this test case supports:\n *\n * - `sleepDuration`\n * - `logMessageMod`\n * - `colourIndex`\n *\n * These fields allow the test runner to simulate work and produce predictable\n * telemetry/logging behaviour.\n */\nexport interface IRunnerOptionsEx extends IRunnerOptions {\n /**\n * Simulated work delay in milliseconds for each execution iteration.\n *\n * If greater than zero, the runner sleeps for this duration inside `ExecuteRunner()`.\n * If zero, it yields immediately instead.\n */\n sleepDuration: number;\n\n /**\n * Frequency for generating animated log messages.\n *\n * Example:\n * - if `logMessageMod` is `5`, a generated log message is emitted every 5 requests.\n */\n logMessageMod: number;\n\n /**\n * Placeholder/example option for colour selection.\n *\n * Currently present for test flexibility but not actively used in the logic shown here.\n */\n colourIndex: number;\n}\n\n/**\n * Concrete synthetic test runner implementation.\n *\n * This runner:\n * - simulates work\n * - updates telemetry counters\n * - batches telemetry publishing\n * - emits lifecycle log messages\n */\nexport class TestCase01 implements IRunnerInstance {\n /**\n * The live serialisable runner model/state owned by this test runner.\n *\n * This object is mutated as telemetry and execution progress change.\n */\n #runner: IRunner;\n\n /**\n * Owning worker-side execution host.\n *\n * Used primarily to publish telemetry back to the manager by runner id.\n */\n #runnerExecutionWorker: AbstractRunnerExecutionWorker;\n\n /**\n * Per-runner state used for animated/indented generated log messages.\n */\n #logMessageDataSet: LogMessageDataSet = {};\n\n /**\n * Timeout handle used to perform delayed telemetry publication.\n *\n * This supports the \"publish on timeout if buffer threshold is not reached\"\n * batching strategy.\n */\n #publishTelemetryTimeout: any = null;\n\n /**\n * Counter of buffered telemetry publication events since the last publish.\n *\n * When this reaches `#maxBufferSize`, telemetry is published immediately.\n */\n #publishTelemetryCount: number = 0;\n\n /**\n * Maximum number of telemetry buffer events allowed before forcing a publish.\n *\n * This is intended to remain lower than the logging/instrument buffer size\n * used elsewhere in the observability stack.\n */\n #maxBufferSize = 50;\n\n /**\n * Maximum time in milliseconds to wait before publishing buffered telemetry.\n *\n * Telemetry publish strategy:\n * - whichever happens first wins:\n * - max buffer count reached\n * - timeout reached\n */\n #publishTelemetryTimeoutVal = 1000;\n\n /**\n * Construct a new synthetic test runner.\n *\n * @param runnerExecutionWorker Owning worker-side execution host.\n * @param runner Live runner model/state for this test runner.\n */\n constructor(\n runnerExecutionWorker: AbstractRunnerExecutionWorker,\n runner: IRunner\n ) {\n this.#runnerExecutionWorker = runnerExecutionWorker;\n this.#runner = runner;\n }\n\n Debug = (message: any) => {\n this.#runnerExecutionWorker.logger.debug(message);\n };\n\n /**\n * Generate an animated indented log message for the runner.\n *\n * Behaviour:\n * - lazily initialises per-runner indentation state\n * - creates a message with varying indentation\n * - appends that message to runner telemetry messages\n * - updates indentation direction when bounds are reached\n *\n * Indentation behaviour:\n * - increases from 0 upward\n * - reverses direction after passing 20\n * - reverses again when returning to 0\n *\n * This exists purely to generate visually changing test log output.\n *\n * @param runner Runner whose message should be generated.\n * @param iteration Current runner iteration number.\n */\n #GenLogMessage = (runner: IRunner, iteration: number) => {\n if (!this.#logMessageDataSet[runner.id]) {\n this.#logMessageDataSet[runner.id] = {\n adder: 1,\n indent: 0,\n };\n }\n\n const logMessageData = this.#logMessageDataSet[runner.id];\n const message = `${\" \".repeat(logMessageData.indent)} [${runner.id}] >> Hello World << ${iteration}`;\n\n this.Debug(message);\n runner.instrumentData.message.push(message);\n\n logMessageData.indent += logMessageData.adder;\n\n if (logMessageData.indent > 20) {\n logMessageData.adder = -1;\n } else if (logMessageData.indent === 0) {\n logMessageData.adder = 1;\n }\n };\n\n /**\n * Ensure a timeout-based telemetry publish is scheduled.\n *\n * Behaviour:\n * - if no publish timeout exists, creates one\n * - when the timeout fires:\n * - publishes telemetry\n * - resets buffered publish count\n * - clears the timeout handle\n *\n * In Node.js the timer is `unref()`'d so it does not keep the process alive.\n */\n #SetupTimeout = async () => {\n if (!this.#publishTelemetryTimeout) {\n this.#publishTelemetryTimeout = setTimeout(async () => {\n this.Debug(\n chalk.yellow(\n ` PublishTelemetryData - Normal Behaviour (**** TIMEOUT ****) `\n )\n );\n await this.#PublishTelemetryData();\n this.#publishTelemetryCount = 0;\n this.#publishTelemetryTimeout = null;\n }, this.#publishTelemetryTimeoutVal);\n\n if (isNode) {\n this.#publishTelemetryTimeout.unref();\n }\n }\n };\n\n /**\n * Publish the current runner telemetry snapshot immediately.\n *\n * Behaviour:\n * - asks the owning worker execution host to post telemetry for this runner\n * - writes a separator line to the local log sink\n * - resets selected per-cycle telemetry fields ready for the next publish window\n * - yields immediately before returning\n *\n * Telemetry fields reset after publish:\n * - `velocity`\n * - `message`\n * - `tx`\n * - `rx`\n *\n * Notes:\n * - not all telemetry fields are reset here; only those intended to behave\n * as per-publish-window accumulators\n */\n #PublishTelemetryData = async () => {\n this.#runnerExecutionWorker.PostTelemetryById(this.#runner.id);\n\n this.Debug(\n chalk.red(\n `------------------------------------------------------------------------------------------------------------`\n )\n );\n\n // Reset transient/per-publish telemetry fields for the next cycle.\n this.#runner.instrumentData.velocity = 0;\n this.#runner.instrumentData.message = [];\n this.#runner.instrumentData.tx = 0;\n this.#runner.instrumentData.rx = 0;\n\n await this.SleepImmediate();\n };\n\n /**\n * Force an immediate telemetry publish regardless of current buffer count.\n *\n * Used for important lifecycle transitions such as:\n * - start\n * - stop\n * - pause\n * - resume\n * - reset\n * - terminate\n * - complete\n */\n #ForcePublishTelemetryData = async () => {\n this.Debug(chalk.magenta(` **** FORCED PUBLISH **** `));\n await this.#PublishTelemetryData();\n };\n\n /**\n * Buffer and publish telemetry using a mixed threshold/timeout strategy.\n *\n * Behaviour:\n * - increments the buffered telemetry count\n * - if the count reaches `#maxBufferSize`:\n * - clears any pending timeout\n * - publishes immediately\n * - resets the buffered count\n * - otherwise ensures a timeout is scheduled\n *\n * This creates a \"whichever happens first\" batching model:\n * - count threshold\n * - timeout threshold\n */\n #PublishTelemetry = async () => {\n this.#publishTelemetryCount++;\n\n if (this.#publishTelemetryCount % this.#maxBufferSize === 0) {\n this.Debug(chalk.cyan(` **** MAX COUNT REACHED **** `));\n this.#publishTelemetryCount = 0;\n\n if (this.#publishTelemetryTimeout) {\n clearTimeout(this.#publishTelemetryTimeout);\n this.#publishTelemetryTimeout = null;\n }\n\n await this.#PublishTelemetryData();\n }\n\n if (!this.#publishTelemetryTimeout) {\n this.#SetupTimeout();\n }\n };\n\n /**\n * Yield immediately to the event loop/microtask queue.\n *\n * Used when the runner wants to behave asynchronously but does not need\n * a real delay.\n *\n * @returns Resolved promise.\n */\n SleepImmediate(): Promise<void> {\n return new Promise((resolve, reject) => {\n resolve();\n });\n }\n\n /**\n * Execute one synthetic unit of work for this runner.\n *\n * Behaviour\n * ---------\n * - captures start time\n * - reads extended runner options\n * - updates telemetry counters/metrics\n * - optionally generates log messages\n * - optionally emits status/progress messages\n * - simulates actual work using:\n * - `Sleep(options.sleepDuration)`, or\n * - immediate yield\n * - decrements active request count\n * - records duration\n * - publishes telemetry using buffered publish logic\n *\n * Telemetry updates performed\n * ---------------------------\n * - `coreCount = 1`\n * - `activeRequestCount++`\n * - `requestCount++`\n * - `velocity++`\n * - `tx += 256000`\n * - `rx += 6500000`\n * - `duration = measured execution time`\n *\n * Notes\n * -----\n * - This method simulates real work rather than performing domain logic\n * - It is intended to validate the framework's runner/telemetry lifecycle\n * - After the awaited work delay, the actual framework runner state may have\n * changed externally, but this test implementation does not directly react here\n *\n * @returns `true` when the synthetic work cycle completes.\n */\n ExecuteRunner = async (): Promise<any> => {\n const start = performance.now();\n const options = this.#runner.options as IRunnerOptionsEx;\n\n this.#runner.instrumentData.coreCount = 1;\n this.#runner.instrumentData.activeRequestCount++;\n this.#runner.instrumentData.requestCount++;\n this.#runner.instrumentData.velocity++;\n this.#runner.instrumentData.tx += 256000;\n this.#runner.instrumentData.rx += 6500000;\n\n if (\n this.#runner.instrumentData.requestCount % options.logMessageMod ===\n 0\n ) {\n this.#GenLogMessage(this.#runner, this.#runner.iteration);\n }\n\n if (this.#runner.instrumentData.requestCount % 1 === 0) {\n const message = `Worker: [${this.#runner.asyncRunnerContext.threadId}], Runner: [${this.#runner.asyncRunnerContext.id}] has completed: [${this.#runner.instrumentData.requestCount}] iterations of max: [${options.executionProfile.iterations}]`;\n this.Debug(message);\n this.#runner.instrumentData.message = [message];\n }\n\n /**\n * Simulate actual work.\n *\n * In real runner implementations this is where domain-specific work would occur:\n * - REST calls\n * - DB access\n * - browser automation\n * - file processing\n * etc.\n */\n if (options.sleepDuration > 0) {\n await Sleep(options.sleepDuration);\n } else {\n await this.SleepImmediate();\n }\n\n this.#runner.instrumentData.activeRequestCount--;\n\n const end = performance.now();\n const diff = end - start;\n this.#runner.instrumentData.duration = diff;\n\n await this.#PublishTelemetry();\n\n return true;\n };\n\n /**\n * Write a grey-coloured lifecycle message into the runner telemetry message buffer\n * and publish telemetry using normal buffered publish logic.\n *\n * @param message Lifecycle/status message to emit.\n */\n #OutputLogMessage = async (message: string): Promise<void> => {\n const messageOutput = chalk.grey(message);\n this.Debug(messageOutput);\n this.#runner.instrumentData.message.push(messageOutput);\n await this.#PublishTelemetry();\n };\n\n /**\n * Handle framework \"start\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n StartRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`StartRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"stop\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n StopRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`StopRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"terminate\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n TerminateRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`TerminateRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"completed\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a completion lifecycle message including current telemetry snapshot\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n Completed = async (): Promise<any> => {\n await this.#OutputLogMessage(\n `Completed [${this.#runner.id}] [${JSON.stringify(this.#runner.instrumentData)}]`\n );\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"pause\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n * - returns a descriptive diagnostic string\n *\n * @returns Diagnostic pause message.\n */\n PauseRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`PauseRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return `I have been paused at iteration: [${this.#runner.iteration}] Date: [${new Date()}] Performance: [${performance.now()}]`;\n };\n\n /**\n * Handle framework \"resume\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n * - returns a descriptive diagnostic string\n *\n * @returns Diagnostic resume message.\n */\n ResumeRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`ResumeRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return `I have been resumed at iteration: [${this.#runner.iteration}] Date: [${new Date()}] Performance: [${performance.now()}]`;\n };\n\n /**\n * Handle framework \"reset\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - resets `requestCount` to zero\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n ResetRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`ResetRunner [${this.#runner.id}]`);\n this.#runner.instrumentData.requestCount = 0;\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"update\" lifecycle event for this runner.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * Note:\n * - this implementation does not directly apply option changes itself;\n * it simply acknowledges the lifecycle event for framework testing\n *\n * @returns `true`\n */\n UpdateRunner = async (): Promise<any> => {\n await this.#OutputLogMessage(`UpdateOptions [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF\n\n/**\n * TestCase02\n * ==========\n *\n * Second concrete example runner used to test and demonstrate the runner framework.\n *\n * Purpose\n * -------\n * `TestCase02` is a synthetic runner implementation very similar to `TestCase01`,\n * but with slightly different behaviour and output style. It is intended to help\n * validate that the framework can host multiple concrete runner types behind the\n * same worker/runtime abstraction.\n *\n * This test runner is useful for exercising:\n *\n * - runner lifecycle callbacks\n * - telemetry batching and publishing\n * - execution timing/duration capture\n * - log message generation\n * - active request tracking\n * - update/reset/pause/resume/terminate flows\n * - multiple concrete test runner implementations in the same framework\n *\n * Key difference from TestCase01\n * ------------------------------\n * While structurally very similar to `TestCase01`, this runner also writes a\n * per-iteration status message directly to the provided logger.\n *\n * That makes this class useful when you want:\n *\n * - visible console progress while testing\n * - easier manual observation of iteration flow\n * - a second runner implementation to verify type-based runner selection\n *\n * Architectural role\n * ------------------\n * `TestCase02` is a concrete implementation of {@link IRunnerInstance}.\n *\n * It is hosted by a worker-side execution host such as `WorkerTestCases`,\n * which itself derives from {@link AbstractRunnerExecutionWorker}.\n *\n * Like `TestCase01`, this runner does not perform real business work. Instead,\n * it simulates repeatable work and emits telemetry so the surrounding framework\n * can be validated.\n */\n\nimport {\n AbstractRunnerExecutionWorker,\n IRunnerInstance,\n IRunnerOptions,\n IRunner,\n} from \"@nsshunt/stsrunnerframework\";\n\nimport chalk from \"chalk\";\n\nimport { Sleep, isNode } from \"@nsshunt/stsutils\";\n\n/**\n * Internal mutable state used to generate animated/indented log messages.\n *\n * Fields:\n * - `indent`: current indentation level\n * - `adder`: current direction/step applied to the indentation\n */\ndeclare interface LogMessageData {\n /**\n * Current indentation width used when generating the next message.\n */\n indent: number;\n\n /**\n * Current step/direction for indentation movement.\n *\n * Usually:\n * - `1` when indentation is increasing\n * - `-1` when indentation is decreasing\n */\n adder: number;\n}\n\n/**\n * Per-runner map of generated-log indentation state.\n *\n * Key:\n * - runner id\n *\n * Value:\n * - current indentation/direction state for that runner's generated messages\n */\ndeclare type LogMessageDataSet = Record<string, LogMessageData>;\n\n/**\n * Extended runner options used by `TestCase02`.\n *\n * In addition to the standard runner options, this test runner supports:\n *\n * - `sleepDuration`\n * - `logMessageMod`\n * - `colourIndex`\n */\nexport interface IRunnerOptionsEx extends IRunnerOptions {\n /**\n * Simulated work delay in milliseconds for each execution cycle.\n */\n sleepDuration: number;\n\n /**\n * Frequency used for generated \"Hello World\" log messages.\n *\n * Example:\n * - if set to `10`, an animated log message is generated every 10 requests.\n */\n logMessageMod: number;\n\n /**\n * Placeholder/example option for colour selection.\n *\n * Present for testing/extensibility, though not directly used in the logic shown.\n */\n colourIndex: number;\n}\n\n/**\n * Concrete synthetic test runner implementation.\n *\n * This runner simulates work, updates telemetry, batches telemetry publishing,\n * and writes both internal telemetry messages and visible console progress.\n */\nexport class TestCase02 implements IRunnerInstance {\n /**\n * Live serialisable runner model/state for this test runner.\n *\n * This object is mutated as execution and telemetry progress.\n */\n #runner: IRunner;\n\n /**\n * Owning worker-side execution host.\n *\n * Used primarily to publish telemetry for this runner back to the manager.\n */\n #runnerExecutionWorker: AbstractRunnerExecutionWorker;\n\n /**\n * Per-runner animated log message state.\n */\n #logMessageDataSet: LogMessageDataSet = {};\n\n /**\n * Timeout handle used for delayed telemetry publication.\n *\n * Supports timeout-based flush behaviour when the publish count threshold\n * has not yet been reached.\n */\n #publishTelemetryTimeout: any = null;\n\n /**\n * Count of buffered telemetry-publish requests since the last flush.\n */\n #publishTelemetryCount: number = 0;\n\n /**\n * Maximum buffered publish count before telemetry is flushed immediately.\n *\n * This should remain lower than the maximum observability/logging buffer size\n * used elsewhere in the framework.\n */\n #maxBufferSize = 50;\n\n /**\n * Maximum time in milliseconds to wait before flushing telemetry.\n *\n * Publish strategy:\n * - whichever happens first:\n * - max buffer size reached\n * - timeout reached\n */\n #publishTelemetryTimeoutVal = 1000;\n\n /**\n * Construct a new `TestCase02` runner.\n *\n * @param runnerExecutionWorker Owning worker-side execution host.\n * @param runner Live runner model/state.\n */\n constructor(\n runnerExecutionWorker: AbstractRunnerExecutionWorker,\n runner: IRunner\n ) {\n this.#runnerExecutionWorker = runnerExecutionWorker;\n this.#runner = runner;\n }\n\n Debug = (message: any) => {\n this.#runnerExecutionWorker.logger.debug(message);\n };\n\n /**\n * Generate an animated indented \"Hello World\" style log message.\n *\n * Behaviour:\n * - initialises per-runner indentation state if needed\n * - builds a message with variable indentation\n * - appends the message to the runner telemetry message buffer\n * - updates indentation direction when bounds are reached\n *\n * Indentation pattern:\n * - grows from 0 upward\n * - reverses after exceeding 20\n * - reverses again when returning to 0\n *\n * @param runner Runner whose message should be generated.\n * @param iteration Current iteration number.\n */\n #GenLogMessage = (runner: IRunner, iteration: number) => {\n if (!this.#logMessageDataSet[runner.id]) {\n this.#logMessageDataSet[runner.id] = {\n adder: 1,\n indent: 0,\n };\n }\n\n const logMessageData = this.#logMessageDataSet[runner.id];\n const message = `${\" \".repeat(logMessageData.indent)} [${runner.id}] >> Hello World << ${iteration}`;\n\n this.Debug(message);\n runner.instrumentData.message.push(message);\n\n logMessageData.indent += logMessageData.adder;\n\n if (logMessageData.indent > 20) {\n logMessageData.adder = -1;\n } else if (logMessageData.indent === 0) {\n logMessageData.adder = 1;\n }\n };\n\n /**\n * Schedule a timeout-based telemetry flush if one is not already active.\n *\n * Behaviour:\n * - creates a timeout only when no current timeout exists\n * - when the timeout fires:\n * - telemetry is published\n * - buffered publish count is reset\n * - timeout handle is cleared\n *\n * In Node.js, the timer is `unref()`'d so it does not keep the process alive.\n */\n #SetupTimeout = async () => {\n if (!this.#publishTelemetryTimeout) {\n this.#publishTelemetryTimeout = setTimeout(async () => {\n this.Debug(\n chalk.yellow(\n ` PublishTelemetryData - Normal Behaviour (**** TIMEOUT ****) `\n )\n );\n await this.#PublishTelemetryData();\n this.#publishTelemetryCount = 0;\n this.#publishTelemetryTimeout = null;\n }, this.#publishTelemetryTimeoutVal);\n\n if (isNode) {\n this.#publishTelemetryTimeout.unref();\n }\n }\n };\n\n /**\n * Publish the current telemetry snapshot immediately.\n *\n * Behaviour:\n * - asks the owning execution worker to post telemetry for this runner\n * - writes a separator line to the local test log sink\n * - resets transient per-publish telemetry fields\n * - yields immediately before returning\n *\n * Reset after publish:\n * - `velocity`\n * - `message`\n * - `tx`\n * - `rx`\n */\n #PublishTelemetryData = async () => {\n this.#runnerExecutionWorker.PostTelemetryById(this.#runner.id);\n\n this.Debug(\n chalk.red(\n `------------------------------------------------------------------------------------------------------------`\n )\n );\n\n // Reset transient/per-flush telemetry values.\n this.#runner.instrumentData.velocity = 0;\n this.#runner.instrumentData.message = [];\n this.#runner.instrumentData.tx = 0;\n this.#runner.instrumentData.rx = 0;\n\n await this.SleepImmediate();\n };\n\n /**\n * Force an immediate telemetry publication.\n *\n * Used for lifecycle transitions where immediate visibility is desirable.\n */\n #ForcePublishTelemetryData = async () => {\n this.Debug(chalk.magenta(` **** FORCED PUBLISH **** `));\n await this.#PublishTelemetryData();\n };\n\n /**\n * Buffer telemetry and publish using a threshold-or-timeout strategy.\n *\n * Behaviour:\n * - increments buffered telemetry count\n * - when the count reaches `#maxBufferSize`:\n * - clears any pending timeout\n * - immediately publishes telemetry\n * - resets buffered count\n * - otherwise ensures a timeout flush is scheduled\n *\n * This gives a \"first trigger wins\" strategy:\n * - count threshold reached\n * - timeout reached\n */\n #PublishTelemetry = async () => {\n this.#publishTelemetryCount++;\n\n if (this.#publishTelemetryCount % this.#maxBufferSize === 0) {\n this.Debug(chalk.cyan(` **** MAX COUNT REACHED **** `));\n this.#publishTelemetryCount = 0;\n\n if (this.#publishTelemetryTimeout) {\n clearTimeout(this.#publishTelemetryTimeout);\n this.#publishTelemetryTimeout = null;\n }\n\n await this.#PublishTelemetryData();\n }\n\n if (!this.#publishTelemetryTimeout) {\n this.#SetupTimeout();\n }\n };\n\n /**\n * Yield immediately to the event loop/microtask queue.\n *\n * Used when asynchronous behaviour is desired but no real delay is needed.\n *\n * @returns Resolved promise.\n */\n SleepImmediate(): Promise<void> {\n return new Promise((resolve, reject) => {\n resolve();\n });\n }\n\n /**\n * Execute one synthetic unit of work for this runner.\n *\n * Behaviour\n * ---------\n * - captures start time\n * - reads extended test options\n * - updates runner telemetry\n * - optionally generates animated telemetry messages\n * - always generates a progress message for telemetry\n * - simulates work with either:\n * - `Sleep(options.sleepDuration)`, or\n * - immediate yield\n * - decrements active request count\n * - calculates and stores execution duration\n * - performs buffered telemetry publication\n *\n * Telemetry fields updated\n * ------------------------\n * - `coreCount = 1`\n * - `activeRequestCount++`\n * - `requestCount++`\n * - `velocity++`\n * - `tx += 256000`\n * - `rx += 6500000`\n * - `duration = measured elapsed time`\n *\n * Additional visible behaviour\n * ----------------------------\n * Unlike `TestCase01`, this implementation always writes a progress message\n * directly to the process/browser console using the provided logger.\n *\n * This makes it more useful for manually watching test progress while the\n * framework is running.\n *\n * @returns `true` when the simulated work cycle completes.\n */\n ExecuteRunner = async (): Promise<boolean> => {\n const start = performance.now();\n const options = this.#runner.options as IRunnerOptionsEx;\n\n this.#runner.instrumentData.coreCount = 1;\n this.#runner.instrumentData.activeRequestCount++;\n this.#runner.instrumentData.requestCount++;\n this.#runner.instrumentData.velocity++;\n this.#runner.instrumentData.tx += 256000;\n this.#runner.instrumentData.rx += 6500000;\n\n if (\n this.#runner.instrumentData.requestCount % options.logMessageMod ===\n 0\n ) {\n this.#GenLogMessage(this.#runner, this.#runner.iteration);\n }\n\n if (this.#runner.instrumentData.requestCount % 1 === 0) {\n const message = `Worker: [${this.#runner.asyncRunnerContext.threadId}], Runner: [${this.#runner.asyncRunnerContext.id}] has completed: [${this.#runner.instrumentData.requestCount}] iterations of max: [${options.executionProfile.iterations}]`;\n this.Debug(message);\n this.#runner.instrumentData.message = [message];\n }\n\n /**\n * Visible console output for manual observation/debugging.\n *\n * This is the main behavioural difference from `TestCase01`.\n */\n const message = `Worker: [${this.#runner.asyncRunnerContext.threadId}], Runner: [${this.#runner.asyncRunnerContext.id}] has completed: [${this.#runner.instrumentData.requestCount}] iterations of max: [${options.executionProfile.iterations}]`;\n\n this.Debug(message);\n\n /**\n * Simulate actual work.\n *\n * In a real runner implementation this would be replaced with\n * domain-specific work such as:\n * - REST/API calls\n * - browser interactions\n * - DB operations\n * - file processing\n * etc.\n */\n if (options.sleepDuration > 0) {\n await Sleep(options.sleepDuration);\n } else {\n await this.SleepImmediate();\n }\n\n this.#runner.instrumentData.activeRequestCount--;\n\n const end = performance.now();\n const diff = end - start;\n this.#runner.instrumentData.duration = diff;\n\n await this.#PublishTelemetry();\n\n return true;\n };\n\n /**\n * Write a grey-coloured lifecycle message into the runner telemetry message buffer\n * and publish telemetry using normal buffered publish rules.\n *\n * @param message Lifecycle/status message to emit.\n */\n #OutputLogMessage = async (message: string): Promise<void> => {\n const messageOutput = chalk.grey(message);\n this.Debug(messageOutput);\n this.#runner.instrumentData.message.push(messageOutput);\n await this.#PublishTelemetry();\n };\n\n /**\n * Handle framework \"start\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n StartRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`StartRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"stop\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n StopRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`StopRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"terminate\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n TerminateRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`TerminateRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"completed\" lifecycle event.\n *\n * Behaviour:\n * - writes a completion message including the current telemetry snapshot\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n Completed = async (): Promise<boolean> => {\n await this.#OutputLogMessage(\n `Completed [${this.#runner.id}] [${JSON.stringify(this.#runner.instrumentData)}]`\n );\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"pause\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n PauseRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`PauseRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"resume\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n ResumeRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`ResumeRunner [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"reset\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - resets `requestCount` to zero\n * - forces immediate telemetry publication\n *\n * @returns `true`\n */\n ResetRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`ResetRunner [${this.#runner.id}]`);\n this.#runner.instrumentData.requestCount = 0;\n await this.#ForcePublishTelemetryData();\n return true;\n };\n\n /**\n * Handle framework \"update\" lifecycle event.\n *\n * Behaviour:\n * - writes a lifecycle message\n * - forces immediate telemetry publication\n *\n * Note:\n * - this implementation acknowledges the update event but does not apply\n * custom update logic itself\n *\n * @returns `true`\n */\n UpdateRunner = async (): Promise<boolean> => {\n await this.#OutputLogMessage(`UpdateOptions [${this.#runner.id}]`);\n await this.#ForcePublishTelemetryData();\n return true;\n };\n}\n","import {\n IRunnerInstance,\n ITestRunnerTelemetryPayload,\n AbstractRunnerExecutionWorker,\n} from \"@nsshunt/stsrunnerframework\";\n\nimport { TestCaseFhir01 } from \"./testCaseFhir01.js\";\nimport { TestCaseFhir02 } from \"./testCaseFhir02.js\";\nimport { TestCaseFhir03 } from \"./testCaseFhir03.js\";\nimport { TestCaseFhir04 } from \"./testCaseFhir04.js\";\nimport { TestCaseFhir05 } from \"./testCaseFhir05.js\";\nimport { TestCaseFhir06 } from \"./testCaseFhir06.js\";\nimport { TestCaseFhir07 } from \"./testCaseFhir07.js\";\nimport { TestCaseFhir08 } from \"./testCaseFhir08.js\";\nimport { TestCaseFhir09 } from \"./testCaseFhir09.js\";\nimport { TestCaseFhir20 } from \"./testCaseFhir20.js\";\n\nimport { TestCase01 } from \"./testCase01.js\";\nimport { TestCase02 } from \"./testCase02.js\";\n\nexport class AsyncRunnerFactory {\n static CreateAsyncRunner = async (\n runnerExecutionWorker: AbstractRunnerExecutionWorker,\n testRunnerTelemetryPayload: ITestRunnerTelemetryPayload\n ): Promise<IRunnerInstance | null> => {\n const { runner } = testRunnerTelemetryPayload;\n switch (runner.options.testType) {\n case \"TestCase01\":\n return new TestCase01(runnerExecutionWorker, runner);\n case \"TestCase02\":\n return new TestCase02(runnerExecutionWorker, runner);\n case \"TestCaseFhir01\":\n return new TestCaseFhir01(runnerExecutionWorker, runner);\n case \"TestCaseFhir02\":\n return new TestCaseFhir02(runnerExecutionWorker, runner);\n case \"TestCaseFhir03\":\n return new TestCaseFhir03(runnerExecutionWorker, runner);\n case \"TestCaseFhir04\":\n return new TestCaseFhir04(runnerExecutionWorker, runner);\n case \"TestCaseFhir05\":\n return new TestCaseFhir05(runnerExecutionWorker, runner);\n case \"TestCaseFhir06\":\n return new TestCaseFhir06(runnerExecutionWorker, runner);\n case \"TestCaseFhir07\":\n return new TestCaseFhir07(runnerExecutionWorker, runner);\n case \"TestCaseFhir08\":\n return new TestCaseFhir08(runnerExecutionWorker, runner);\n case \"TestCaseFhir09\":\n return new TestCaseFhir09(runnerExecutionWorker, runner);\n case \"TestCaseFhir20\":\n return new TestCaseFhir20(runnerExecutionWorker, runner);\n }\n return null;\n };\n}\n","var e=class extends Error{};const t=Symbol(`FakerLocaleProxy`),n=()=>{throw new e(`You cannot edit the locale data on the faker instance`)};function r(e){return typeof e==`object`&&!!e&&e?.[t]===!0}function i(e){if(r(e))return e;let i={raw:e};return new Proxy(e,{has(){return!0},get(e,n){return typeof n==`symbol`?n===t||e[n]:n===`nodeType`?e[n]:i[n]??=o(n,e[n])},set:n,deleteProperty:n})}function a(t,...n){if(t===null)throw new e(`The locale data for '${n.join(`.`)}' aren't applicable to this locale.\n If you think this is a bug, please report it at: https://github.com/faker-js/faker`);if(t===void 0)throw new e(`The locale data for '${n.join(`.`)}' are missing in this locale.\n If this is a custom Faker instance, please make sure all required locales are used e.g. '[de_AT, de, en, base]'.\n Please contribute the missing data to the project or use a locale/Faker instance that has these data.\n For more information see https://fakerjs.dev/guide/localization.html`)}function o(e,t={}){return new Proxy(t,{has(e,t){return e[t]!=null},get(t,n){let r=t[n];return typeof n==`symbol`||n===`nodeType`||a(r,e,n.toString()),r},set:n,deleteProperty:n})}function s(e){let t={};for(let n of e)for(let e in n){let r=n[e];t[e]===void 0?t[e]={...r}:t[e]={...r,...t[e]}}return t}const c=2567483615,l=2**31-1,u=2**31,{imul:d,trunc:f}=Math;function p(e){return typeof e==`number`?m(e):h(e)}function m(e){let t=Array.from({length:624});t[0]=e;for(let e=1;e!==624;++e){let n=t[e-1]^t[e-1]>>>30;t[e]=f(d(1812433253,n)+e)}return t}function h(e){let t=m(19650218),n=1,r=0;for(let i=Math.max(624,e.length);i!==0;--i){let i=t[n-1]^t[n-1]>>>30;t[n]=f((t[n]^d(i,1664525))+e[r]+r),n++,r++,n>=624&&(t[0]=t[623],n=1),r>=e.length&&(r=0)}for(let e=623;e!==0;e--)t[n]=f((t[n]^d(t[n-1]^t[n-1]>>>30,1566083941))-n),n++,n>=624&&(t[0]=t[623],n=1);return t[0]=2147483648,t}function g(e){for(let t=0;t!==227;++t){let n=(e[t]&u)+(e[t+1]&l);e[t]=e[t+397]^n>>>1^-(n&1)&c}for(let t=227;t!==623;++t){let n=(e[t]&u)+(e[t+1]&l);e[t]=e[t+397-624]^n>>>1^-(n&1)&c}let t=(e[623]&u)+(e[0]&l);return e[623]=e[396]^t>>>1^-(t&1)&c,e}var _=class{states;index;constructor(e=Math.random()*(2**53-1),t=g(p(e)),n=0){this.states=t,this.index=n}nextU32(){let e=this.states[this.index];return e^=this.states[this.index]>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,++this.index>=624&&(this.states=g(this.states),this.index=0),e>>>0}nextF32(){return this.nextU32()*23283064365386963e-26}nextU53(){let e=this.nextU32()>>>5,t=this.nextU32()>>>6;return e*67108864+t}nextF53(){return this.nextU53()*11102230246251565e-32}seed(e){this.states=g(p(e)),this.index=0}};function v(){return Math.ceil(Math.random()*(2**53-1))}function ee(e=v()){let t=new _(e);return{next(){return t.nextF32()},seed(e){t.seed(e)}}}function y(e=v()){let t=new _(e);return{next(){return t.nextF53()},seed(e){t.seed(e)}}}function te(e={}){let{locale:t={},randomizer:n=y(),config:r={},seed:a}=e;return n!=null&&a!=null&&n.seed(a),{locale:i(Array.isArray(t)?s(t):t),randomizer:n,config:r}}function b(){return ne}const ne=({next:e})=>e();function re(e){let t=Object.getPrototypeOf(e);do{for(let n of Object.getOwnPropertyNames(t))typeof e[n]==`function`&&n!==`constructor`&&(e[n]=e[n].bind(e));t=Object.getPrototypeOf(t)}while(t!==Object.prototype)}var x=class{faker;constructor(e){this.faker=e,re(this)}},S=class extends x{faker;constructor(e){super(e),this.faker=e}};let C=function(e){return e.Narrowbody=`narrowbody`,e.Regional=`regional`,e.Widebody=`widebody`,e}({});const ie=[`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`],ae=[`0`,`O`,`1`,`I`,`L`],oe={regional:20,narrowbody:35,widebody:60},se={regional:[`A`,`B`,`C`,`D`],narrowbody:[`A`,`B`,`C`,`D`,`E`,`F`],widebody:[`A`,`B`,`C`,`D`,`E`,`F`,`G`,`H`,`J`,`K`]};var ce=class extends S{airport(){return this.faker.helpers.arrayElement(this.faker.definitions.airline.airport)}airline(){return this.faker.helpers.arrayElement(this.faker.definitions.airline.airline)}airplane(){return this.faker.helpers.arrayElement(this.faker.definitions.airline.airplane)}recordLocator(e={}){let{allowNumerics:t=!1,allowVisuallySimilarCharacters:n=!1}=e,r=[];return t||r.push(...ie),n||r.push(...ae),this.faker.string.alphanumeric({length:6,casing:`upper`,exclude:r})}seat(e={}){let{aircraftType:t=`narrowbody`}=e,n=oe[t],r=se[t];return`${this.faker.number.int({min:1,max:n})}${this.faker.helpers.arrayElement(r)}`}aircraftType(){return this.faker.helpers.enumValue(C)}flightNumber(e={}){let{length:t={min:1,max:4},addLeadingZeros:n=!1}=e,r=this.faker.string.numeric({length:t,allowLeadingZeros:!1});return n?r.padStart(4,`0`):r}},le=class extends S{dog(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.dog)}cat(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.cat)}snake(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.snake)}bear(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.bear)}lion(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.lion)}cetacean(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.cetacean)}horse(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.horse)}bird(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.bird)}cow(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.cow)}fish(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.fish)}crocodilia(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.crocodilia)}insect(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.insect)}rabbit(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.rabbit)}rodent(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.rodent)}type(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.type)}petName(){return this.faker.helpers.arrayElement(this.faker.definitions.animal.pet_name)}},ue=class extends S{author(){return this.faker.helpers.arrayElement(this.faker.definitions.book.author)}format(){return this.faker.helpers.arrayElement(this.faker.definitions.book.format)}genre(){return this.faker.helpers.arrayElement(this.faker.definitions.book.genre)}publisher(){return this.faker.helpers.arrayElement(this.faker.definitions.book.publisher)}series(){return this.faker.helpers.arrayElement(this.faker.definitions.book.series)}title(){return this.faker.helpers.arrayElement(this.faker.definitions.book.title)}};let w=function(e){return e.SRGB=`sRGB`,e.DisplayP3=`display-p3`,e.REC2020=`rec2020`,e.A98RGB=`a98-rgb`,e.ProphotoRGB=`prophoto-rgb`,e}({}),T=function(e){return e.RGB=`rgb`,e.RGBA=`rgba`,e.HSL=`hsl`,e.HSLA=`hsla`,e.HWB=`hwb`,e.CMYK=`cmyk`,e.LAB=`lab`,e.LCH=`lch`,e.COLOR=`color`,e}({});function de(e,t){let{prefix:n,casing:r}=t;switch(r){case`upper`:e=e.toUpperCase();break;case`lower`:e=e.toLowerCase();break;case`mixed`:}return n&&(e=n+e),e}function E(e){return e.map(e=>{if(e%1!=0){let t=new ArrayBuffer(4);return new DataView(t).setFloat32(0,e),E([...new Uint8Array(t)]).replaceAll(` `,``)}return(e>>>0).toString(2).padStart(8,`0`)}).join(` `)}function D(e){return Math.round(e*100)}function fe(e,t=`rgb`,n=`sRGB`){switch(t){case`rgba`:return`rgba(${e[0]}, ${e[1]}, ${e[2]}, ${e[3]})`;case`color`:return`color(${n} ${e[0]} ${e[1]} ${e[2]})`;case`cmyk`:return`cmyk(${D(e[0])}%, ${D(e[1])}%, ${D(e[2])}%, ${D(e[3])}%)`;case`hsl`:return`hsl(${e[0]}deg ${D(e[1])}% ${D(e[2])}%)`;case`hsla`:return`hsl(${e[0]}deg ${D(e[1])}% ${D(e[2])}% / ${e[3]})`;case`hwb`:return`hwb(${e[0]} ${D(e[1])}% ${D(e[2])}%)`;case`lab`:return`lab(${D(e[0])}% ${e[1]} ${e[2]})`;case`lch`:return`lch(${D(e[0])}% ${e[1]} ${e[2]})`;case`rgb`:return`rgb(${e[0]}, ${e[1]}, ${e[2]})`}}function O(e,t,n=`rgb`,r=`sRGB`){switch(t){case`css`:return fe(e,n,r);case`binary`:return E(e);case`decimal`:return e}}var pe=class extends S{human(){return this.faker.helpers.arrayElement(this.faker.definitions.color.human)}space(){return this.faker.helpers.arrayElement(this.faker.definitions.color.space)}cssSupportedFunction(){return this.faker.helpers.enumValue(T)}cssSupportedSpace(){return this.faker.helpers.enumValue(w)}rgb(e={}){let{format:t=`hex`,includeAlpha:n=!1,prefix:r=`#`,casing:i=`lower`}=e,a;if(t===`hex`)return a=this.faker.string.hexadecimal({length:n?8:6,prefix:``}),a=de(a,{prefix:r,casing:i}),a;let o=`rgb`;return a=Array.from({length:3},()=>this.faker.number.int(255)),n&&(a.push(this.faker.number.float({multipleOf:.01})),o=`rgba`),O(a,t,o)}cmyk(e={}){let{format:t=`decimal`}=e;return O(Array.from({length:4},()=>this.faker.number.float({multipleOf:.01})),t,`cmyk`)}hsl(e={}){let{format:t=`decimal`,includeAlpha:n=!1}=e,r=[this.faker.number.int(360)];for(let t=0;t<(e?.includeAlpha?3:2);t++)r.push(this.faker.number.float({multipleOf:.01}));return O(r,t,n?`hsla`:`hsl`)}hwb(e={}){let{format:t=`decimal`}=e,n=[this.faker.number.int(360)];for(let e=0;e<2;e++)n.push(this.faker.number.float({multipleOf:.01}));return O(n,t,`hwb`)}lab(e={}){let{format:t=`decimal`}=e,n=[this.faker.number.float({multipleOf:1e-6})];for(let e=0;e<2;e++)n.push(this.faker.number.float({min:-100,max:100,multipleOf:1e-4}));return O(n,t,`lab`)}lch(e={}){let{format:t=`decimal`}=e;return O([this.faker.number.float({multipleOf:1e-6}),this.faker.number.float({max:230,multipleOf:.1}),this.faker.number.float({max:360,multipleOf:.1})],t,`lch`)}colorByCSSColorSpace(e={}){let{format:t=`decimal`,space:n=`sRGB`}=e;return O(Array.from({length:3},()=>this.faker.number.float({multipleOf:1e-4})),t,`color`,n)}};function me(t){if(!/^\\d{11}$/.test(t))throw new e(`calculateUPCCheckDigit expects exactly 11 numeric digits`);let n=0,r=0;for(let e of t)n+=Number.parseInt(e,10)*(r%2==0?3:1),r++;return(10-n%10)%10}const he={0:[[1999999,2],[2279999,3],[2289999,4],[3689999,3],[3699999,4],[6389999,3],[6397999,4],[6399999,7],[6449999,3],[6459999,7],[6479999,3],[6489999,7],[6549999,3],[6559999,4],[6999999,3],[8499999,4],[8999999,5],[9499999,6],[9999999,7]],1:[[99999,3],[299999,2],[349999,3],[399999,4],[499999,3],[699999,2],[999999,4],[3979999,3],[5499999,4],[6499999,5],[6799999,4],[6859999,5],[7139999,4],[7169999,3],[7319999,4],[7399999,7],[7749999,5],[7753999,7],[7763999,5],[7764999,7],[7769999,5],[7782999,7],[7899999,5],[7999999,4],[8004999,5],[8049999,5],[8379999,5],[8384999,7],[8671999,5],[8675999,4],[8697999,5],[9159999,6],[9165059,7],[9168699,6],[9169079,7],[9195999,6],[9196549,7],[9729999,6],[9877999,4],[9911499,6],[9911999,7],[9989899,6],[9999999,7]]};var ge=class extends S{department(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.department)}productName(){let e=this.faker.definitions.commerce.product_name.pattern;return this.faker.helpers.fake(e)}price(e={}){let{dec:t=2,max:n=1e3,min:r=1,symbol:i=``}=e;if(r<0||n<0)return`${i}0`;if(r===n)return`${i}${r.toFixed(t)}`;let a=this.faker.number.float({min:r,max:n,fractionDigits:t});if(t===0)return`${i}${a.toFixed(t)}`;let o=a*10**t%10,s=this.faker.helpers.weightedArrayElement([{weight:5,value:9},{weight:3,value:5},{weight:1,value:0},{weight:1,value:this.faker.number.int({min:0,max:9})}]),c=(1/10)**t,l=o*c,u=s*c,d=a-l+u;return r<=d&&d<=n?`${i}${d.toFixed(t)}`:`${i}${a.toFixed(t)}`}productAdjective(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_name.adjective)}productMaterial(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_name.material)}product(){return this.faker.helpers.arrayElement(this.faker.definitions.commerce.product_name.product)}productDescription(){return this.faker.helpers.fake(this.faker.definitions.commerce.product_description)}isbn(t={}){typeof t==`number`&&(t={variant:t});let{variant:n=13,separator:r=`-`}=t,[i,a]=this.faker.helpers.objectEntry(he),o=this.faker.string.numeric(8),s=Number.parseInt(o.slice(0,-1)),c=a.find(([e])=>s<=e)?.[1];if(!c)throw new e(`Unable to find a registrant length for the group ${i}`);let l=[`978`,i,o.slice(0,c),o.slice(c)];n===10&&l.shift();let u=l.join(``),d=0;for(let e=0;e<n-1;e++){let t=n===10?e+1:e%2?3:1;d+=t*Number.parseInt(u[e])}return d=n===10?d%11:(10-d%10)%10,l.push(d===10?`X`:d.toString()),l.join(r)}upc(t={}){let{prefix:n=``}=t;if(n&&/\\D/.test(n))throw new e(`Prefix must contain only numeric digits`);if(n.length>11)throw new e(`Prefix must be at most 11 numeric digits`);let r=11-n.length,i=`${n}${this.faker.string.numeric({length:r,allowLeadingZeros:!0})}`;return`${i}${me(i)}`}},_e=class extends S{name(){return this.faker.helpers.fake(this.faker.definitions.company.name_pattern)}catchPhrase(){return[this.catchPhraseAdjective(),this.catchPhraseDescriptor(),this.catchPhraseNoun()].join(` `)}buzzPhrase(){return[this.buzzVerb(),this.buzzAdjective(),this.buzzNoun()].join(` `)}catchPhraseAdjective(){return this.faker.helpers.arrayElement(this.faker.definitions.company.adjective)}catchPhraseDescriptor(){return this.faker.helpers.arrayElement(this.faker.definitions.company.descriptor)}catchPhraseNoun(){return this.faker.helpers.arrayElement(this.faker.definitions.company.noun)}buzzAdjective(){return this.faker.helpers.arrayElement(this.faker.definitions.company.buzz_adjective)}buzzVerb(){return this.faker.helpers.arrayElement(this.faker.definitions.company.buzz_verb)}buzzNoun(){return this.faker.helpers.arrayElement(this.faker.definitions.company.buzz_noun)}},ve=class extends S{column(){return this.faker.helpers.arrayElement(this.faker.definitions.database.column)}type(){return this.faker.helpers.arrayElement(this.faker.definitions.database.type)}collation(){return this.faker.helpers.arrayElement(this.faker.definitions.database.collation)}engine(){return this.faker.helpers.arrayElement(this.faker.definitions.database.engine)}mongodbObjectId(){return this.faker.string.hexadecimal({length:24,casing:`lower`,prefix:``})}};function k(t,n=`refDate`){let r=new Date(t);if(Number.isNaN(r.valueOf()))throw new e(`Invalid ${n} date: ${t.toString()}`);return r}var A=class extends x{anytime(e={}){let{refDate:t=this.faker.defaultRefDate()}=e,n=k(t).getTime();return this.between({from:n-1e3*60*60*24*365,to:n+1e3*60*60*24*365})}past(t={}){let{refDate:n=this.faker.defaultRefDate()}=t,{years:r=1}=t;if(typeof r==`number`&&(r={min:0,max:r}),r.max<=0)throw new e(`Years must be greater than 0.`);if(r.min>=r.max)throw new e(`The maximum amount of years must be greater than the minimum amount of years.`);let i=k(n),a=new Date(i);a.setUTCFullYear(a.getUTCFullYear()-r.max);let o=new Date(i);return o.setUTCFullYear(o.getUTCFullYear()-r.min),this.between({from:a,to:o.getTime()-1e3})}future(t={}){let{refDate:n=this.faker.defaultRefDate()}=t,{years:r=1}=t;if(typeof r==`number`&&(r={min:0,max:r}),r.max<=0)throw new e(`Years must be greater than 0.`);if(r.min>=r.max)throw new e(`The maximum amount of years must be greater than the minimum amount of years.`);let i=k(n),a=new Date(i);a.setUTCFullYear(a.getUTCFullYear()+r.min);let o=new Date(i);return o.setUTCFullYear(o.getUTCFullYear()+r.max),this.between({from:a.getTime()+1e3,to:o})}between(t){let{from:n,to:r}=t,i=k(n,`from`).getTime(),a=k(r,`to`).getTime();if(i>a)throw new e(\"`from` date must be before `to` date.\");return new Date(this.faker.number.int({min:i,max:a}))}betweens(e){let{from:t,to:n,count:r=3}=e;return this.faker.helpers.multiple(()=>this.between({from:t,to:n}),{count:r}).toSorted((e,t)=>e.getTime()-t.getTime())}recent(t={}){let{refDate:n=this.faker.defaultRefDate()}=t,{days:r=1}=t;if(typeof r==`number`&&(r={min:0,max:r}),r.max<=0)throw new e(`Days must be greater than 0.`);if(r.min>=r.max)throw new e(`The maximum amount of days must be greater than the minimum amount of days.`);let i=k(n),a=new Date(i);a.setUTCDate(a.getUTCDate()-r.max);let o=new Date(i);return o.setUTCDate(o.getUTCDate()-r.min),this.between({from:a,to:o.getTime()-1e3})}soon(t={}){let{refDate:n=this.faker.defaultRefDate()}=t,{days:r=1}=t;if(typeof r==`number`&&(r={min:0,max:r}),r.max<=0)throw new e(`Days must be greater than 0.`);if(r.min>=r.max)throw new e(`The maximum amount of days must be greater than the minimum amount of days.`);let i=k(n),a=new Date(i);a.setUTCDate(a.getUTCDate()+r.min);let o=new Date(i);return o.setUTCDate(o.getUTCDate()+r.max),this.between({from:a.getTime()+1e3,to:o})}birthdate(t={}){let{mode:n=`age`,min:r=18,max:i=80,refDate:a=this.faker.defaultRefDate()}=t,o=k(a),s=o.getUTCFullYear();switch(n){case`age`:{let t=new Date(o).setUTCFullYear(s-i-1)+1440*60*1e3,n=new Date(o).setUTCFullYear(s-r);if(t>n)throw new e(`Max age ${i} should be greater than or equal to min age ${r}.`);return this.between({from:t,to:n})}case`year`:{let t=new Date(Date.UTC(0,0,2)).setUTCFullYear(r),n=new Date(Date.UTC(0,11,30)).setUTCFullYear(i);if(t>n)throw new e(`Max year ${i} should be greater than or equal to min year ${r}.`);return this.between({from:t,to:n})}}}},ye=class extends A{faker;constructor(e){super(e),this.faker=e}month(e={}){let{abbreviated:t=!1,context:n=!1}=e,r=this.faker.definitions.date.month,i;i=t?n&&r.abbr_context!=null?`abbr_context`:`abbr`:n&&r.wide_context!=null?`wide_context`:`wide`;let o=r[i];return a(o,`date.month`,i),this.faker.helpers.arrayElement(o)}weekday(e={}){let{abbreviated:t=!1,context:n=!1}=e,r=this.faker.definitions.date.weekday,i;i=t?n&&r.abbr_context!=null?`abbr_context`:`abbr`:n&&r.wide_context!=null?`wide_context`:`wide`;let o=r[i];return a(o,`date.weekday`,i),this.faker.helpers.arrayElement(o)}timeZone(){return this.faker.helpers.arrayElement(this.faker.definitions.date.time_zone)}};let j=function(e){return e.Legacy=`legacy`,e.Segwit=`segwit`,e.Bech32=`bech32`,e.Taproot=`taproot`,e}({}),be=function(e){return e.Mainnet=`mainnet`,e.Testnet=`testnet`,e}({});const xe={legacy:{prefix:{mainnet:`1`,testnet:`m`},length:{min:26,max:34},casing:`mixed`,exclude:`0OIl`},segwit:{prefix:{mainnet:`3`,testnet:`2`},length:{min:26,max:34},casing:`mixed`,exclude:`0OIl`},bech32:{prefix:{mainnet:`bc1`,testnet:`tb1`},length:{min:42,max:42},casing:`lower`,exclude:`1bBiIoO`},taproot:{prefix:{mainnet:`bc1p`,testnet:`tb1p`},length:{min:62,max:62},casing:`lower`,exclude:`1bBiIoO`}},M={alpha:`ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``),formats:[{country:`AL`,total:28,bban:[{type:`n`,count:8},{type:`c`,count:16}],format:`ALkk bbbs sssx cccc cccc cccc cccc`},{country:`AD`,total:24,bban:[{type:`n`,count:8},{type:`c`,count:12}],format:`ADkk bbbb ssss cccc cccc cccc`},{country:`AT`,total:20,bban:[{type:`n`,count:5},{type:`n`,count:11}],format:`ATkk bbbb bccc cccc cccc`},{country:`AZ`,total:28,bban:[{type:`a`,count:4},{type:`n`,count:20}],format:`AZkk bbbb cccc cccc cccc cccc cccc`},{country:`BH`,total:22,bban:[{type:`a`,count:4},{type:`c`,count:14}],format:`BHkk bbbb cccc cccc cccc cc`},{country:`BE`,total:16,bban:[{type:`n`,count:3},{type:`n`,count:9}],format:`BEkk bbbc cccc ccxx`},{country:`BA`,total:20,bban:[{type:`n`,count:6},{type:`n`,count:10}],format:`BAkk bbbs sscc cccc ccxx`},{country:`BR`,total:29,bban:[{type:`n`,count:13},{type:`n`,count:10},{type:`a`,count:1},{type:`c`,count:1}],format:`BRkk bbbb bbbb ssss sccc cccc ccct n`},{country:`BG`,total:22,bban:[{type:`a`,count:4},{type:`n`,count:6},{type:`c`,count:8}],format:`BGkk bbbb ssss ddcc cccc cc`},{country:`CR`,total:22,bban:[{type:`n`,count:1},{type:`n`,count:3},{type:`n`,count:14}],format:`CRkk xbbb cccc cccc cccc cc`},{country:`HR`,total:21,bban:[{type:`n`,count:7},{type:`n`,count:10}],format:`HRkk bbbb bbbc cccc cccc c`},{country:`CY`,total:28,bban:[{type:`n`,count:8},{type:`c`,count:16}],format:`CYkk bbbs ssss cccc cccc cccc cccc`},{country:`CZ`,total:24,bban:[{type:`n`,count:10},{type:`n`,count:10}],format:`CZkk bbbb ssss sscc cccc cccc`},{country:`DK`,total:18,bban:[{type:`n`,count:4},{type:`n`,count:10}],format:`DKkk bbbb cccc cccc cc`},{country:`DO`,total:28,bban:[{type:`a`,count:4},{type:`n`,count:20}],format:`DOkk bbbb cccc cccc cccc cccc cccc`},{country:`TL`,total:23,bban:[{type:`n`,count:3},{type:`n`,count:16}],format:`TLkk bbbc cccc cccc cccc cxx`},{country:`EE`,total:20,bban:[{type:`n`,count:4},{type:`n`,count:12}],format:`EEkk bbss cccc cccc cccx`},{country:`FO`,total:18,bban:[{type:`n`,count:4},{type:`n`,count:10}],format:`FOkk bbbb cccc cccc cx`},{country:`FI`,total:18,bban:[{type:`n`,count:6},{type:`n`,count:8}],format:`FIkk bbbb bbcc cccc cx`},{country:`FR`,total:27,bban:[{type:`n`,count:10},{type:`c`,count:11},{type:`n`,count:2}],format:`FRkk bbbb bggg ggcc cccc cccc cxx`},{country:`GE`,total:22,bban:[{type:`a`,count:2},{type:`n`,count:16}],format:`GEkk bbcc cccc cccc cccc cc`},{country:`DE`,total:22,bban:[{type:`n`,count:8},{type:`n`,count:10}],format:`DEkk bbbb bbbb cccc cccc cc`},{country:`GI`,total:23,bban:[{type:`a`,count:4},{type:`c`,count:15}],format:`GIkk bbbb cccc cccc cccc ccc`},{country:`GR`,total:27,bban:[{type:`n`,count:7},{type:`c`,count:16}],format:`GRkk bbbs sssc cccc cccc cccc ccc`},{country:`GL`,total:18,bban:[{type:`n`,count:4},{type:`n`,count:10}],format:`GLkk bbbb cccc cccc cc`},{country:`GT`,total:28,bban:[{type:`c`,count:4},{type:`c`,count:4},{type:`c`,count:16}],format:`GTkk bbbb mmtt cccc cccc cccc cccc`},{country:`HU`,total:28,bban:[{type:`n`,count:8},{type:`n`,count:16}],format:`HUkk bbbs sssk cccc cccc cccc cccx`},{country:`IS`,total:26,bban:[{type:`n`,count:6},{type:`n`,count:16}],format:`ISkk bbbb sscc cccc iiii iiii ii`},{country:`IE`,total:22,bban:[{type:`a`,count:4},{type:`n`,count:6},{type:`n`,count:8}],format:`IEkk aaaa bbbb bbcc cccc cc`},{country:`IL`,total:23,bban:[{type:`n`,count:6},{type:`n`,count:13}],format:`ILkk bbbn nncc cccc cccc ccc`},{country:`IR`,total:26,bban:[{type:`n`,count:22}],format:`IRkk bbbb cccc cccc cccc cccc cc`},{country:`IT`,total:27,bban:[{type:`a`,count:1},{type:`n`,count:10},{type:`c`,count:12}],format:`ITkk xaaa aabb bbbc cccc cccc ccc`},{country:`JO`,total:30,bban:[{type:`a`,count:4},{type:`n`,count:4},{type:`n`,count:18}],format:`JOkk bbbb nnnn cccc cccc cccc cccc cc`},{country:`KZ`,total:20,bban:[{type:`n`,count:3},{type:`c`,count:13}],format:`KZkk bbbc cccc cccc cccc`},{country:`XK`,total:20,bban:[{type:`n`,count:4},{type:`n`,count:12}],format:`XKkk bbbb cccc cccc cccc`},{country:`KW`,total:30,bban:[{type:`a`,count:4},{type:`c`,count:22}],format:`KWkk bbbb cccc cccc cccc cccc cccc cc`},{country:`LV`,total:21,bban:[{type:`a`,count:4},{type:`c`,count:13}],format:`LVkk bbbb cccc cccc cccc c`},{country:`LB`,total:28,bban:[{type:`n`,count:4},{type:`c`,count:20}],format:`LBkk bbbb cccc cccc cccc cccc cccc`},{country:`LI`,total:21,bban:[{type:`n`,count:5},{type:`c`,count:12}],format:`LIkk bbbb bccc cccc cccc c`},{country:`LT`,total:20,bban:[{type:`n`,count:5},{type:`n`,count:11}],format:`LTkk bbbb bccc cccc cccc`},{country:`LU`,total:20,bban:[{type:`n`,count:3},{type:`c`,count:13}],format:`LUkk bbbc cccc cccc cccc`},{country:`MK`,total:19,bban:[{type:`n`,count:3},{type:`c`,count:10},{type:`n`,count:2}],format:`MKkk bbbc cccc cccc cxx`},{country:`MT`,total:31,bban:[{type:`a`,count:4},{type:`n`,count:5},{type:`c`,count:18}],format:`MTkk bbbb ssss sccc cccc cccc cccc ccc`},{country:`MR`,total:27,bban:[{type:`n`,count:10},{type:`n`,count:13}],format:`MRkk bbbb bsss sscc cccc cccc cxx`},{country:`MU`,total:30,bban:[{type:`a`,count:4},{type:`n`,count:4},{type:`n`,count:15},{type:`a`,count:3}],format:`MUkk bbbb bbss cccc cccc cccc 000d dd`},{country:`MC`,total:27,bban:[{type:`n`,count:10},{type:`c`,count:11},{type:`n`,count:2}],format:`MCkk bbbb bsss sscc cccc cccc cxx`},{country:`MD`,total:24,bban:[{type:`c`,count:2},{type:`c`,count:18}],format:`MDkk bbcc cccc cccc cccc cccc`},{country:`ME`,total:22,bban:[{type:`n`,count:3},{type:`n`,count:15}],format:`MEkk bbbc cccc cccc cccc xx`},{country:`NL`,total:18,bban:[{type:`a`,count:4},{type:`n`,count:10}],format:`NLkk bbbb cccc cccc cc`},{country:`NO`,total:15,bban:[{type:`n`,count:4},{type:`n`,count:7}],format:`NOkk bbbb cccc ccx`},{country:`PK`,total:24,bban:[{type:`a`,count:4},{type:`n`,count:16}],format:`PKkk bbbb cccc cccc cccc cccc`},{country:`PS`,total:29,bban:[{type:`a`,count:4},{type:`n`,count:9},{type:`n`,count:12}],format:`PSkk bbbb xxxx xxxx xccc cccc cccc c`},{country:`PL`,total:28,bban:[{type:`n`,count:8},{type:`n`,count:16}],format:`PLkk bbbs sssx cccc cccc cccc cccc`},{country:`PT`,total:25,bban:[{type:`n`,count:8},{type:`n`,count:13}],format:`PTkk bbbb ssss cccc cccc cccx x`},{country:`QA`,total:29,bban:[{type:`a`,count:4},{type:`c`,count:21}],format:`QAkk bbbb cccc cccc cccc cccc cccc c`},{country:`RO`,total:24,bban:[{type:`a`,count:4},{type:`c`,count:16}],format:`ROkk bbbb cccc cccc cccc cccc`},{country:`SM`,total:27,bban:[{type:`a`,count:1},{type:`n`,count:10},{type:`c`,count:12}],format:`SMkk xaaa aabb bbbc cccc cccc ccc`},{country:`SA`,total:24,bban:[{type:`n`,count:2},{type:`c`,count:18}],format:`SAkk bbcc cccc cccc cccc cccc`},{country:`RS`,total:22,bban:[{type:`n`,count:3},{type:`n`,count:15}],format:`RSkk bbbc cccc cccc cccc xx`},{country:`SK`,total:24,bban:[{type:`n`,count:10},{type:`n`,count:10}],format:`SKkk bbbb ssss sscc cccc cccc`},{country:`SI`,total:19,bban:[{type:`n`,count:5},{type:`n`,count:10}],format:`SIkk bbss sccc cccc cxx`},{country:`ES`,total:24,bban:[{type:`n`,count:10},{type:`n`,count:10}],format:`ESkk bbbb gggg xxcc cccc cccc`},{country:`SE`,total:24,bban:[{type:`n`,count:3},{type:`n`,count:17}],format:`SEkk bbbc cccc cccc cccc cccc`},{country:`CH`,total:21,bban:[{type:`n`,count:5},{type:`c`,count:12}],format:`CHkk bbbb bccc cccc cccc c`},{country:`TN`,total:24,bban:[{type:`n`,count:5},{type:`n`,count:15}],format:`TNkk bbss sccc cccc cccc cccc`},{country:`TR`,total:26,bban:[{type:`n`,count:5},{type:`n`,count:1},{type:`n`,count:16}],format:`TRkk bbbb bxcc cccc cccc cccc cc`},{country:`AE`,total:23,bban:[{type:`n`,count:3},{type:`n`,count:16}],format:`AEkk bbbc cccc cccc cccc ccc`},{country:`GB`,total:22,bban:[{type:`a`,count:4},{type:`n`,count:6},{type:`n`,count:8}],format:`GBkk bbbb ssss sscc cccc cc`},{country:`VG`,total:24,bban:[{type:`a`,count:4},{type:`n`,count:16}],format:`VGkk bbbb cccc cccc cccc cccc`}],iso3166:`AD.AE.AF.AG.AI.AL.AM.AO.AQ.AR.AS.AT.AU.AW.AX.AZ.BA.BB.BD.BE.BF.BG.BH.BI.BJ.BL.BM.BN.BO.BQ.BR.BS.BT.BV.BW.BY.BZ.CA.CC.CD.CF.CG.CH.CI.CK.CL.CM.CN.CO.CR.CU.CV.CW.CX.CY.CZ.DE.DJ.DK.DM.DO.DZ.EC.EE.EG.EH.ER.ES.ET.FI.FJ.FK.FM.FO.FR.GA.GB.GD.GE.GF.GG.GH.GI.GL.GM.GN.GP.GQ.GR.GS.GT.GU.GW.GY.HK.HM.HN.HR.HT.HU.ID.IE.IL.IM.IN.IO.IQ.IR.IS.IT.JE.JM.JO.JP.KE.KG.KH.KI.KM.KN.KP.KR.KW.KY.KZ.LA.LB.LC.LI.LK.LR.LS.LT.LU.LV.LY.MA.MC.MD.ME.MF.MG.MH.MK.ML.MM.MN.MO.MP.MQ.MR.MS.MT.MU.MV.MW.MX.MY.MZ.NA.NC.NE.NF.NG.NI.NL.NO.NP.NR.NU.NZ.OM.PA.PE.PF.PG.PH.PK.PL.PM.PN.PR.PS.PT.PW.PY.QA.RE.RO.RS.RU.RW.SA.SB.SC.SD.SE.SG.SH.SI.SJ.SK.SL.SM.SN.SO.SR.SS.ST.SV.SX.SY.SZ.TC.TD.TF.TG.TH.TJ.TK.TL.TM.TN.TO.TR.TT.TV.TW.TZ.UA.UG.UM.US.UY.UZ.VA.VC.VE.VG.VI.VN.VU.WF.WS.XK.YE.YT.ZA.ZM.ZW`.split(`.`),mod97:e=>{let t=0;for(let n of e)t=(t*10+ +n)%97;return t},pattern10:[`01`,`02`,`03`,`04`,`05`,`06`,`07`,`08`,`09`],pattern100:[`001`,`002`,`003`,`004`,`005`,`006`,`007`,`008`,`009`],toDigitString:e=>e.replaceAll(/[A-Z]/gi,e=>String((e.toUpperCase().codePointAt(0)??NaN)-55))};function Se(e){let t=``;for(let n=0;n<e.length;n+=4)t+=`${e.substring(n,n+4)} `;return t.trimEnd()}var Ce=class extends S{accountNumber(e={}){typeof e==`number`&&(e={length:e});let{length:t=8}=e;return this.faker.string.numeric({length:t,allowLeadingZeros:!0})}accountName(){return[this.faker.helpers.arrayElement(this.faker.definitions.finance.account_type),`Account`].join(` `)}routingNumber(){let e=this.faker.helpers.arrayElement(this.faker.definitions.finance.federal_reserve_routing_symbol)+this.faker.string.numeric({length:4,allowLeadingZeros:!0}),t=0;for(let n=0;n<e.length;n+=3)t+=Number(e[n])*3,t+=Number(e[n+1])*7,t+=Number(e[n+2])||0;return`${e}${Math.ceil(t/10)*10-t}`}amount(e={}){let{autoFormat:t=!1,dec:n=2,max:r=1e3,min:i=0,symbol:a=``}=e,o=this.faker.number.float({max:r,min:i,fractionDigits:n});return a+(t?o.toLocaleString(void 0,{minimumFractionDigits:n}):o.toFixed(n))}transactionType(){return this.faker.helpers.arrayElement(this.faker.definitions.finance.transaction_type)}currency(){return this.faker.helpers.arrayElement(this.faker.definitions.finance.currency)}currencyCode(){return this.currency().code}currencyName(){return this.currency().name}currencySymbol(){let e;do e=this.currency().symbol;while(e.length===0);return e}currencyNumericCode(){return this.currency().numericCode}bitcoinAddress(e={}){let{type:t=this.faker.helpers.enumValue(j),network:n=`mainnet`}=e,r=xe[t],i=r.prefix[n],a=this.faker.number.int(r.length);return i+this.faker.string.alphanumeric({length:a-i.length,casing:r.casing,exclude:r.exclude})}litecoinAddress(){let e=this.faker.number.int({min:26,max:33});return this.faker.string.fromCharacters(`LM3`)+this.faker.string.fromCharacters(`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`,e-1)}creditCardNumber(e={}){typeof e==`string`&&(e={issuer:e});let{issuer:t=``}=e,n,r=this.faker.definitions.finance.credit_card,i=t.toLowerCase();if(i in r)n=this.faker.helpers.arrayElement(r[i]);else if(t.includes(`#`))n=t;else{let e=this.faker.helpers.objectValue(r);n=this.faker.helpers.arrayElement(e)}return n=n.replaceAll(`/`,``),this.faker.helpers.replaceCreditCardSymbols(n)}creditCardCVV(){return this.faker.string.numeric({length:3,allowLeadingZeros:!0})}creditCardIssuer(){return this.faker.helpers.objectKey(this.faker.definitions.finance.credit_card)}pin(t={}){typeof t==`number`&&(t={length:t});let{length:n=4}=t;if(n<1)throw new e(`minimum length is 1`);return this.faker.string.numeric({length:n,allowLeadingZeros:!0})}ethereumAddress(){return this.faker.string.hexadecimal({length:40,casing:`lower`})}iban(t={}){let{countryCode:n,formatted:r=!1}=t,i=n?M.formats.find(e=>e.country===n):this.faker.helpers.arrayElement(M.formats);if(!i)throw new e(`Country code ${n} not supported.`);let a=``,o=0;for(let e of i.bban){let t=e.count;for(o+=e.count;t>0;)e.type===`a`?a+=this.faker.helpers.arrayElement(M.alpha):e.type===`c`?this.faker.datatype.boolean(.8)?a+=this.faker.number.int(9):a+=this.faker.helpers.arrayElement(M.alpha):t>=3&&this.faker.datatype.boolean(.3)?this.faker.datatype.boolean()?(a+=this.faker.helpers.arrayElement(M.pattern100),t-=2):(a+=this.faker.helpers.arrayElement(M.pattern10),t--):a+=this.faker.number.int(9),t--;a=a.substring(0,o)}let s=98-M.mod97(M.toDigitString(`${a}${i.country}00`));s<10&&(s=`0${s}`);let c=`${i.country}${s}${a}`;return r?Se(c):c}bic(e={}){let{includeBranchCode:t=this.faker.datatype.boolean()}=e;return`${this.faker.string.alpha({length:4,casing:`upper`})}${this.faker.helpers.arrayElement(M.iso3166)}${this.faker.string.alphanumeric({length:2,casing:`upper`})}${t?this.faker.datatype.boolean()?this.faker.string.alphanumeric({length:3,casing:`upper`}):`XXX`:``}`}transactionDescription(){return this.faker.helpers.fake(this.faker.definitions.finance.transaction_description_pattern)}};function we(e){return e.split(` `).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}var Te=class extends S{adjective(){return this.faker.helpers.arrayElement(this.faker.definitions.food.adjective)}description(){return this.faker.helpers.fake(this.faker.definitions.food.description_pattern)}dish(){return this.faker.datatype.boolean()?we(this.faker.helpers.fake(this.faker.definitions.food.dish_pattern)):we(this.faker.helpers.arrayElement(this.faker.definitions.food.dish))}ethnicCategory(){return this.faker.helpers.arrayElement(this.faker.definitions.food.ethnic_category)}fruit(){return this.faker.helpers.arrayElement(this.faker.definitions.food.fruit)}ingredient(){return this.faker.helpers.arrayElement(this.faker.definitions.food.ingredient)}meat(){return this.faker.helpers.arrayElement(this.faker.definitions.food.meat)}spice(){return this.faker.helpers.arrayElement(this.faker.definitions.food.spice)}vegetable(){return this.faker.helpers.arrayElement(this.faker.definitions.food.vegetable)}},Ee=class extends S{branch(){return`${this.faker.hacker.noun().replace(` `,`-`)}-${this.faker.hacker.verb().replace(` `,`-`)}`}commitEntry(e={}){let{merge:t=this.faker.datatype.boolean({probability:.2}),eol:n=`CRLF`,refDate:r}=e,i=[`commit ${this.faker.git.commitSha()}`];t&&i.push(`Merge: ${this.commitSha({length:7})} ${this.commitSha({length:7})}`);let a=this.faker.person.firstName(),o=this.faker.person.lastName(),s=this.faker.person.fullName({firstName:a,lastName:o}),c=this.faker.internet.username({firstName:a,lastName:o}),l=this.faker.helpers.arrayElement([s,c]),u=this.faker.internet.email({firstName:a,lastName:o});l=l.replaceAll(/^[.,:;\"\\\\']|[<>\\n]|[.,:;\"\\\\']$/g,``),i.push(`Author: ${l} <${u}>`,`Date: ${this.commitDate({refDate:r})}`,``,`${`\\xA0`.repeat(4)}${this.commitMessage()}`,``);let d=n===`CRLF`?`\\r\n`:`\n`;return i.join(d)}commitMessage(){return`${this.faker.hacker.verb()} ${this.faker.hacker.adjective()} ${this.faker.hacker.noun()}`}commitDate(e={}){let{refDate:t=this.faker.defaultRefDate()}=e,n=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],r=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],i=this.faker.date.recent({days:1,refDate:t}),a=n[i.getUTCDay()],o=r[i.getUTCMonth()],s=i.getUTCDate(),c=i.getUTCHours().toString().padStart(2,`0`),l=i.getUTCMinutes().toString().padStart(2,`0`),u=i.getUTCSeconds().toString().padStart(2,`0`),d=i.getUTCFullYear(),f=this.faker.number.int({min:-11,max:12}),p=Math.abs(f).toString().padStart(2,`0`);return`${a} ${o} ${s} ${c}:${l}:${u} ${d} ${f>=0?`+`:`-`}${p}00`}commitSha(e={}){let{length:t=40}=e;return this.faker.string.hexadecimal({length:t,casing:`lower`,prefix:``})}},De=class extends S{abbreviation(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.abbreviation)}adjective(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.adjective)}noun(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.noun)}verb(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.verb)}ingverb(){return this.faker.helpers.arrayElement(this.faker.definitions.hacker.ingverb)}phrase(){return this.faker.helpers.fake(this.faker.definitions.hacker.phrase)}};const Oe=/\\.|\\(/;function ke(t,n,r=[n,n.definitions.raw]){if(t.length===0)throw new e(`Eval expression cannot be empty.`);if(r.length===0)throw new e(`Eval entrypoints cannot be empty.`);let i=r,a=t;do{let e;a.startsWith(`(`)?[e,i]=Ae(a,i):[e,i]=Me(a,i),a=a.substring(e),i=i.filter(e=>e!=null).map(e=>Array.isArray(e)?n.helpers.arrayElement(e):e)}while(a.length>0&&i.length>0);if(i.length===0)throw new e(`Cannot resolve expression '${t}'`);let o=i[0];return typeof o==`function`?o():o}function Ae(t,n){let[r,i]=je(t),a=t[r+1];switch(a){case`.`:case`(`:case void 0:break;default:throw new e(`Expected dot ('.'), open parenthesis ('('), or nothing after function call but got '${a}'`)}return[r+(a===`.`?2:1),n.map(e=>typeof e==`function`?e(...i):void 0)]}function je(t){let n=t.indexOf(`)`,1);if(n===-1)throw new e(`Missing closing parenthesis in '${t}'`);for(;n!==-1;){let e=t.substring(1,n);try{return[n,JSON.parse(`[${e}]`)]}catch{if(!e.includes(`'`)&&!e.includes(`\"`))try{return[n,JSON.parse(`[\"${e}\"]`)]}catch{}}n=t.indexOf(`)`,n+1)}n=t.lastIndexOf(`)`);let r=t.substring(1,n);return[n,[r]]}function Me(t,n){let r=Oe.exec(t),i=(r?.[0]??``)===`.`,a=r?.index??t.length,o=t.substring(0,a);if(o.length===0)throw new e(`Expression parts cannot be empty in '${t}'`);let s=t[a+1];if(i&&(s==null||s===`.`||s===`(`))throw new e(`Found dot without property name in '${t}'`);return[a+ +!!i,n.map(e=>N(e,o))]}function N(e,t){switch(typeof e){case`function`:try{e=e()}catch{return}return N(e,t);case`object`:return e?.[t];default:return}}function Ne(e){let t=Pe(e.replace(/L?$/,`0`));return t===0?0:10-t}function Pe(e){e=e.replaceAll(/[\\s-]/g,``);let t=0,n=!1;for(let r=e.length-1;r>=0;r--){let i=Number.parseInt(e[r]);n&&(i*=2,i>9&&(i=i%10+1)),t+=i,n=!n}return t%10}function P(t,n,r,i){let a=1;if(n)switch(n){case`?`:a=+!t.datatype.boolean();break;case`*`:{let e=1;for(;t.datatype.boolean();)e*=2;a=t.number.int({min:0,max:e});break}case`+`:{let e=1;for(;t.datatype.boolean();)e*=2;a=t.number.int({min:1,max:e});break}default:throw new e(`Unknown quantifier symbol provided.`)}else r!=null&&i!=null?a=t.number.int({min:Number.parseInt(r),max:Number.parseInt(i)}):r!=null&&i==null&&(a=Number.parseInt(r));return a}function Fe(e,t=``){let n=/(.)\\{(\\d+),(\\d+)\\}/,r=/(.)\\{(\\d+)\\}/,i=/\\[(\\d+)-(\\d+)\\]/,a,o,s,c,l=n.exec(t);for(;l!=null;)a=Number.parseInt(l[2]),o=Number.parseInt(l[3]),a>o&&(s=o,o=a,a=s),c=e.number.int({min:a,max:o}),t=t.slice(0,l.index)+l[1].repeat(c)+t.slice(l.index+l[0].length),l=n.exec(t);for(l=r.exec(t);l!=null;)c=Number.parseInt(l[2]),t=t.slice(0,l.index)+l[1].repeat(c)+t.slice(l.index+l[0].length),l=r.exec(t);for(l=i.exec(t);l!=null;)a=Number.parseInt(l[1]),o=Number.parseInt(l[2]),a>o&&(s=o,o=a,a=s),t=t.slice(0,l.index)+e.number.int({min:a,max:o}).toString()+t.slice(l.index+l[0].length),l=i.exec(t);return t}function Ie(e,t,n){let r=``,i=!1;for(let a=0;a<t.length;a++){let o=t[a];if(o===`\\\\`){r+=o,a+1<t.length&&(r+=t[++a]);continue}if(o===`[`){i=!0,r+=o;continue}if(o===`]`){i=!1,r+=o;continue}let s=t[a+1],c=[`?`,`*`,`+`,`{`].includes(s);if(!i&&!c&&o===`.`){r+=e.string.alphanumeric();continue}if(!i&&!c&&n&&/^[a-z]$/i.test(o)){r+=e.string.fromCharacters([o.toLowerCase(),o.toUpperCase()]);continue}r+=o}return r}function F(e,t=``,n=`#`){let r=``;for(let i=0;i<t.length;i++)t.charAt(i)===n?r+=e.number.int(9):t.charAt(i)===`!`?r+=e.number.int({min:2,max:9}):r+=t.charAt(i);return r}var I=class extends x{slugify(e=``){return e.normalize(`NFKD`).replaceAll(/[\\u0300-\\u036F]/g,``).replaceAll(` `,`-`).replaceAll(/[^\\w.-]+/g,``)}replaceSymbols(e=``){let t=`ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``),n=``;for(let r=0;r<e.length;r++)e.charAt(r)===`#`?n+=this.faker.number.int(9):e.charAt(r)===`?`?n+=this.arrayElement(t):e.charAt(r)===`*`?n+=this.faker.datatype.boolean()?this.arrayElement(t):this.faker.number.int(9):n+=e.charAt(r);return n}replaceCreditCardSymbols(e=`6453-####-####-####-###L`,t=`#`){e=Fe(this.faker,e),e=F(this.faker,e,t);let n=Ne(e);return e.replace(`L`,String(n))}fromRegExp(t){let n=!1;if(t instanceof RegExp&&(n=t.flags.includes(`i`),t=t.source.replace(/^\\^+/,``).replace(/\\$+$/,``)),t===`.`)return this.faker.string.alphanumeric();if(n&&/^[a-z]$/i.test(t))return this.faker.string.fromCharacters([t.toLowerCase(),t.toUpperCase()]);t=Ie(this.faker,t,n);let r,i,a,o=/([.A-Za-z0-9])(?:\\{(\\d+)(?:,(\\d+)|)\\}|(\\?|\\*|\\+))(?![^[]*]|[^{]*})/,s=o.exec(t);for(;s!=null;){let e=s[2],r=s[3],i=s[4];a=P(this.faker,i,e,r);let c;c=s[1]===`.`?this.faker.string.alphanumeric(a):n?this.faker.string.fromCharacters([s[1].toLowerCase(),s[1].toUpperCase()],a):s[1].repeat(a),t=t.slice(0,s.index)+c+t.slice(s.index+s[0].length),s=o.exec(t)}let c=/(\\d-\\d|\\w-\\w|\\d|\\w|[-!@#$&()`.+,/\"])/,l=/\\[(\\^|)(-|)(.+?)\\](?:\\{(\\d+)(?:,(\\d+)|)\\}|(\\?|\\*|\\+)|)/;for(s=l.exec(t);s!=null;){let o=s[1]===`^`,u=s[2]===`-`,d=s[4],f=s[5],p=s[6],m=[],h=s[3],g=c.exec(h);for(u&&m.push(45);g!=null;){if(g[0].includes(`-`)){let t=g[0].split(`-`).map(e=>e.codePointAt(0)??NaN);if(r=t[0],i=t[1],r>i)throw new e(`Character range provided is out of order.`);for(let e=r;e<=i;e++)if(n&&Number.isNaN(Number(String.fromCodePoint(e)))){let t=String.fromCodePoint(e);m.push(t.toUpperCase().codePointAt(0)??NaN,t.toLowerCase().codePointAt(0)??NaN)}else m.push(e)}else n&&Number.isNaN(Number(g[0]))?m.push(g[0].toUpperCase().codePointAt(0)??NaN,g[0].toLowerCase().codePointAt(0)??NaN):m.push(g[0].codePointAt(0)??NaN);h=h.substring(g[0].length),g=c.exec(h)}if(a=P(this.faker,p,d,f),o){let e;for(let t=48;t<=57;t++){if(e=m.indexOf(t),e>-1){m.splice(e,1);continue}m.push(t)}for(let t=65;t<=90;t++){if(e=m.indexOf(t),e>-1){m.splice(e,1);continue}m.push(t)}for(let t=97;t<=122;t++){if(e=m.indexOf(t),e>-1){m.splice(e,1);continue}m.push(t)}}let _=this.multiple(()=>String.fromCodePoint(this.arrayElement(m)),{count:a}).join(``);t=t.slice(0,s.index)+_+t.slice(s.index+s[0].length),s=l.exec(t)}let u=/(.)\\{(\\d+),(\\d+)\\}/;for(s=u.exec(t);s!=null;){if(r=Number.parseInt(s[2]),i=Number.parseInt(s[3]),r>i)throw new e(`Numbers out of order in {} quantifier.`);a=this.faker.number.int({min:r,max:i}),t=t.slice(0,s.index)+s[1].repeat(a)+t.slice(s.index+s[0].length),s=u.exec(t)}let d=/(.)\\{(\\d+)\\}/;for(s=d.exec(t);s!=null;)a=Number.parseInt(s[2]),t=t.slice(0,s.index)+s[1].repeat(a)+t.slice(s.index+s[0].length),s=d.exec(t);return t}shuffle(e,t={}){let{inplace:n=!1}=t;n||(e=[...e]);for(let t=e.length-1;t>0;--t){let n=this.faker.number.int(t);[e[t],e[n]]=[e[n],e[t]]}return e}uniqueArray(e,t){if(Array.isArray(e)){let n=[...new Set(e)];return this.shuffle(n).splice(0,t)}let n=new Set;try{if(typeof e==`function`){let r=1e3*t,i=0;for(;n.size<t&&i<r;)n.add(e()),i++}}catch{}return[...n]}mustache(e,t){if(e==null)return``;for(let n in t){let r=RegExp(`{{${n}}}`,`g`),i=t[n];typeof i==`string`&&(i=i.replaceAll(`$`,`$$$$`)),e=e.replace(r,i)}return e}maybe(e,t={}){if(this.faker.datatype.boolean(t))return e()}objectKey(e){let t=Object.keys(e);return this.arrayElement(t)}objectValue(e){return e[this.faker.helpers.objectKey(e)]}objectEntry(e){let t=this.faker.helpers.objectKey(e);return[t,e[t]]}arrayElement(t){if(t.length===0)throw new e(`Cannot get value from empty dataset.`);return t[t.length>1?this.faker.number.int({max:t.length-1}):0]}weightedArrayElement(t){if(t.length===0)throw new e(`weightedArrayElement expects an array with at least one element`);if(t.some(e=>e.weight<=0))throw new e(`weightedArrayElement expects an array of { weight, value } objects where weight is a positive number`);let n=t.reduce((e,{weight:t})=>e+t,0),r=this.faker.number.float({min:0,max:n}),i=0;for(let{weight:e,value:n}of t)if(i+=e,r<i)return n;return t.at(-1).value}arrayElements(e,t){if(e.length===0)return[];let n=this.rangeToNumber(t??{min:1,max:e.length});if(n>=e.length)return this.shuffle(e);if(n<=0)return[];let r=[...e],i=e.length,a=i-n;for(;i-->a;){let e=this.faker.number.int(i),t=r[e];r[e]=r[i],r[i]=t}return r.slice(a)}enumValue(e){let t=Object.keys(e).filter(e=>Number.isNaN(Number(e)));return e[this.arrayElement(t)]}rangeToNumber(e){return typeof e==`number`?e:this.faker.number.int(e)}multiple(e,t={}){let n=this.rangeToNumber(t.count??3);return n<=0?[]:Array.from({length:n},e)}},Le=class extends I{faker;constructor(e){super(e),this.faker=e}fake(e){e=typeof e==`string`?e:this.arrayElement(e);let t=e.search(/{{[a-z]/),n=e.indexOf(`}}`,t);if(t===-1||n===-1)return e;let r=ke(e.substring(t+2,n+2).replace(`}}`,``).replace(`{{`,``),this.faker),i=String(r),a=e.substring(0,t)+i+e.substring(n+2);return this.fake(a)}};const L=typeof Buffer>`u`||!z(`base64`)?e=>{let t=new TextEncoder().encode(e),n=Array.from(t,e=>String.fromCodePoint(e)).join(``);return btoa(n)}:e=>Buffer.from(e).toString(`base64`),R=typeof Buffer>`u`||!z(`base64url`)?e=>L(e).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replaceAll(/=+$/g,``):e=>Buffer.from(e).toString(`base64url`);function z(e){try{return typeof Buffer.from(`test`).toString(e)==`string`}catch{return!1}}function Re(e){let{deprecated:t,since:n,until:r,proposed:i}=e,a=`[@faker-js/faker]: ${t} is deprecated`;n&&(a+=` since v${n}`),r&&(a+=` and will be removed in v${r}`),i&&(a+=`. Please use ${i} instead`),console.warn(`${a}.`)}var ze=class extends S{avatar(){return this.faker.helpers.arrayElement([this.personPortrait,this.avatarGitHub])()}avatarGitHub(){return`https://avatars.githubusercontent.com/u/${this.faker.number.int(1e8)}`}personPortrait(e={}){let{size:t=512}=e,{sex:n=this.faker.person.sexType()}=e;return n===`generic`&&(n=this.faker.person.sexType()),`https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/${n}/${t}/${this.faker.number.int({min:0,max:99})}.jpg`}url(e={}){let{width:t=this.faker.number.int({min:1,max:3999}),height:n=this.faker.number.int({min:1,max:3999})}=e;return this.faker.helpers.arrayElement([({width:e,height:t})=>this.urlPicsumPhotos({width:e,height:t,grayscale:!1,blur:0})])({width:t,height:n})}urlLoremFlickr(e={}){Re({deprecated:`faker.image.urlLoremFlickr()`,proposed:`faker.image.url()`,since:`10.1.0`,until:`11.0.0`});let{width:t=this.faker.number.int({min:1,max:3999}),height:n=this.faker.number.int({min:1,max:3999}),category:r}=e;return`https://loremflickr.com/${t}/${n}${r==null?``:`/${r}`}?lock=${this.faker.number.int()}`}urlPicsumPhotos(e={}){let{width:t=this.faker.number.int({min:1,max:3999}),height:n=this.faker.number.int({min:1,max:3999}),grayscale:r=this.faker.datatype.boolean(),blur:i=this.faker.number.int({max:10})}=e,a=`https://picsum.photos/seed/${this.faker.string.alphanumeric({length:{min:5,max:10}})}/${t}/${n}`,o=typeof i==`number`&&i>=1&&i<=10;return(r||o)&&(a+=`?`,r&&(a+=`grayscale`),r&&o&&(a+=`&`),o&&(a+=`blur=${i}`)),a}dataUri(e={}){let{width:t=this.faker.number.int({min:1,max:3999}),height:n=this.faker.number.int({min:1,max:3999}),color:r=this.faker.color.rgb(),type:i=this.faker.helpers.arrayElement([`svg-uri`,`svg-base64`])}=e,a=`<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" baseProfile=\"full\" width=\"${t}\" height=\"${n}\"><rect width=\"100%\" height=\"100%\" fill=\"${r}\"/><text x=\"${t/2}\" y=\"${n/2}\" font-size=\"20\" alignment-baseline=\"middle\" text-anchor=\"middle\" fill=\"white\">${t}x${n}</text></svg>`;return i===`svg-uri`?`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(a)}`:`data:image/svg+xml;base64,${L(a)}`}};const Be=Object.fromEntries([[`А`,`A`],[`а`,`a`],[`Б`,`B`],[`б`,`b`],[`В`,`V`],[`в`,`v`],[`Г`,`G`],[`г`,`g`],[`Д`,`D`],[`д`,`d`],[`ъе`,`ye`],[`Ъе`,`Ye`],[`ъЕ`,`yE`],[`ЪЕ`,`YE`],[`Е`,`E`],[`е`,`e`],[`Ё`,`Yo`],[`ё`,`yo`],[`Ж`,`Zh`],[`ж`,`zh`],[`З`,`Z`],[`з`,`z`],[`И`,`I`],[`и`,`i`],[`ый`,`iy`],[`Ый`,`Iy`],[`ЫЙ`,`IY`],[`ыЙ`,`iY`],[`Й`,`Y`],[`й`,`y`],[`К`,`K`],[`к`,`k`],[`Л`,`L`],[`л`,`l`],[`М`,`M`],[`м`,`m`],[`Н`,`N`],[`н`,`n`],[`О`,`O`],[`о`,`o`],[`П`,`P`],[`п`,`p`],[`Р`,`R`],[`р`,`r`],[`С`,`S`],[`с`,`s`],[`Т`,`T`],[`т`,`t`],[`У`,`U`],[`у`,`u`],[`Ф`,`F`],[`ф`,`f`],[`Х`,`Kh`],[`х`,`kh`],[`Ц`,`Ts`],[`ц`,`ts`],[`Ч`,`Ch`],[`ч`,`ch`],[`Ш`,`Sh`],[`ш`,`sh`],[`Щ`,`Sch`],[`щ`,`sch`],[`Ъ`,``],[`ъ`,``],[`Ы`,`Y`],[`ы`,`y`],[`Ь`,``],[`ь`,``],[`Э`,`E`],[`э`,`e`],[`Ю`,`Yu`],[`ю`,`yu`],[`Я`,`Ya`],[`я`,`ya`]]),Ve=Object.fromEntries([[`α`,`a`],[`β`,`v`],[`γ`,`g`],[`δ`,`d`],[`ε`,`e`],[`ζ`,`z`],[`η`,`i`],[`θ`,`th`],[`ι`,`i`],[`κ`,`k`],[`λ`,`l`],[`μ`,`m`],[`ν`,`n`],[`ξ`,`ks`],[`ο`,`o`],[`π`,`p`],[`ρ`,`r`],[`σ`,`s`],[`τ`,`t`],[`υ`,`y`],[`φ`,`f`],[`χ`,`x`],[`ψ`,`ps`],[`ω`,`o`],[`ά`,`a`],[`έ`,`e`],[`ί`,`i`],[`ό`,`o`],[`ύ`,`y`],[`ή`,`i`],[`ώ`,`o`],[`ς`,`s`],[`ϊ`,`i`],[`ΰ`,`y`],[`ϋ`,`y`],[`ΐ`,`i`],[`Α`,`A`],[`Β`,`B`],[`Γ`,`G`],[`Δ`,`D`],[`Ε`,`E`],[`Ζ`,`Z`],[`Η`,`I`],[`Θ`,`TH`],[`Ι`,`I`],[`Κ`,`K`],[`Λ`,`L`],[`Μ`,`M`],[`Ν`,`N`],[`Ξ`,`KS`],[`Ο`,`O`],[`Π`,`P`],[`Ρ`,`R`],[`Σ`,`S`],[`Τ`,`T`],[`Υ`,`Y`],[`Φ`,`F`],[`Χ`,`X`],[`Ψ`,`PS`],[`Ω`,`O`],[`Ά`,`A`],[`Έ`,`E`],[`Ί`,`I`],[`Ό`,`O`],[`Ύ`,`Y`],[`Ή`,`I`],[`Ώ`,`O`],[`Ϊ`,`I`],[`Ϋ`,`Y`]]),He=Object.fromEntries([[`ء`,`e`],[`آ`,`a`],[`أ`,`a`],[`ؤ`,`w`],[`إ`,`i`],[`ئ`,`y`],[`ا`,`a`],[`ب`,`b`],[`ة`,`t`],[`ت`,`t`],[`ث`,`th`],[`ج`,`j`],[`ح`,`h`],[`خ`,`kh`],[`د`,`d`],[`ذ`,`dh`],[`ر`,`r`],[`ز`,`z`],[`س`,`s`],[`ش`,`sh`],[`ص`,`s`],[`ض`,`d`],[`ط`,`t`],[`ظ`,`z`],[`ع`,`e`],[`غ`,`gh`],[`ـ`,`_`],[`ف`,`f`],[`ق`,`q`],[`ك`,`k`],[`ل`,`l`],[`م`,`m`],[`ن`,`n`],[`ه`,`h`],[`و`,`w`],[`ى`,`a`],[`ي`,`y`],[`َ`,`a`],[`ُ`,`u`],[`ِ`,`i`]]),Ue=Object.fromEntries([[`ա`,`a`],[`Ա`,`A`],[`բ`,`b`],[`Բ`,`B`],[`գ`,`g`],[`Գ`,`G`],[`դ`,`d`],[`Դ`,`D`],[`ե`,`ye`],[`Ե`,`Ye`],[`զ`,`z`],[`Զ`,`Z`],[`է`,`e`],[`Է`,`E`],[`ը`,`y`],[`Ը`,`Y`],[`թ`,`t`],[`Թ`,`T`],[`ժ`,`zh`],[`Ժ`,`Zh`],[`ի`,`i`],[`Ի`,`I`],[`լ`,`l`],[`Լ`,`L`],[`խ`,`kh`],[`Խ`,`Kh`],[`ծ`,`ts`],[`Ծ`,`Ts`],[`կ`,`k`],[`Կ`,`K`],[`հ`,`h`],[`Հ`,`H`],[`ձ`,`dz`],[`Ձ`,`Dz`],[`ղ`,`gh`],[`Ղ`,`Gh`],[`ճ`,`tch`],[`Ճ`,`Tch`],[`մ`,`m`],[`Մ`,`M`],[`յ`,`y`],[`Յ`,`Y`],[`ն`,`n`],[`Ն`,`N`],[`շ`,`sh`],[`Շ`,`Sh`],[`ո`,`vo`],[`Ո`,`Vo`],[`չ`,`ch`],[`Չ`,`Ch`],[`պ`,`p`],[`Պ`,`P`],[`ջ`,`j`],[`Ջ`,`J`],[`ռ`,`r`],[`Ռ`,`R`],[`ս`,`s`],[`Ս`,`S`],[`վ`,`v`],[`Վ`,`V`],[`տ`,`t`],[`Տ`,`T`],[`ր`,`r`],[`Ր`,`R`],[`ց`,`c`],[`Ց`,`C`],[`ու`,`u`],[`ՈՒ`,`U`],[`Ու`,`U`],[`փ`,`p`],[`Փ`,`P`],[`ք`,`q`],[`Ք`,`Q`],[`օ`,`o`],[`Օ`,`O`],[`ֆ`,`f`],[`Ֆ`,`F`],[`և`,`yev`]]),We=Object.fromEntries([[`چ`,`ch`],[`ک`,`k`],[`گ`,`g`],[`پ`,`p`],[`ژ`,`zh`],[`ی`,`y`]]),Ge=Object.fromEntries([[`א`,`a`],[`ב`,`b`],[`ג`,`g`],[`ד`,`d`],[`ה`,`h`],[`ו`,`v`],[`ז`,`z`],[`ח`,`ch`],[`ט`,`t`],[`י`,`y`],[`כ`,`k`],[`ך`,`kh`],[`ל`,`l`],[`ם`,`m`],[`מ`,`m`],[`ן`,`n`],[`נ`,`n`],[`ס`,`s`],[`ע`,`a`],[`פ`,`f`],[`ף`,`ph`],[`צ`,`ts`],[`ץ`,`ts`],[`ק`,`k`],[`ר`,`r`],[`ש`,`sh`],[`ת`,`t`],[`ו`,`v`]]),B={...Be,...Ve,...He,...We,...Ue,...Ge};let Ke=function(e){return e.Any=`any`,e.Loopback=`loopback`,e.PrivateA=`private-a`,e.PrivateB=`private-b`,e.PrivateC=`private-c`,e.TestNet1=`test-net-1`,e.TestNet2=`test-net-2`,e.TestNet3=`test-net-3`,e.LinkLocal=`link-local`,e.Multicast=`multicast`,e}({});const qe={any:`0.0.0.0/0`,loopback:`127.0.0.0/8`,\"private-a\":`10.0.0.0/8`,\"private-b\":`172.16.0.0/12`,\"private-c\":`192.168.0.0/16`,\"test-net-1\":`192.0.2.0/24`,\"test-net-2\":`198.51.100.0/24`,\"test-net-3\":`203.0.113.0/24`,\"link-local\":`169.254.0.0/16`,multicast:`224.0.0.0/4`};function V(e){return/^[a-z][a-z-]*[a-z]$/i.exec(e)!==null}function H(e,t){let n=e.helpers.slugify(t);if(V(n))return n;let r=e.helpers.slugify(e.lorem.word());return V(r)?r:e.string.alpha({casing:`lower`,length:e.number.int({min:4,max:8})})}var Je=class extends S{email(e={}){let{firstName:t,lastName:n,provider:r=this.faker.helpers.arrayElement(this.faker.definitions.internet.free_email),allowSpecialCharacters:i=!1}=e,a=this.username({firstName:t,lastName:n});if(a=a.replaceAll(/[^A-Za-z0-9._+-]+/g,``),a=a.substring(0,50),i){let e=[...`._-`],t=[...\".!#$%&'*+-/=?^_`{|}~\"];a=a.replace(this.faker.helpers.arrayElement(e),this.faker.helpers.arrayElement(t))}return a=a.replaceAll(/\\.{2,}/g,`.`),a=a.replace(/^\\./,``),a=a.replace(/\\.$/,``),`${a}@${r}`}exampleEmail(e={}){let{firstName:t,lastName:n,allowSpecialCharacters:r=!1}=e,i=this.faker.helpers.arrayElement(this.faker.definitions.internet.example_email);return this.email({firstName:t,lastName:n,provider:i,allowSpecialCharacters:r})}username(e={}){let{firstName:t=this.faker.person.firstName(),lastName:n=this.faker.person.lastName(),lastName:r}=e,i=this.faker.helpers.arrayElement([`.`,`_`]),a=this.faker.number.int(99),o=[()=>`${t}${i}${n}${a}`,()=>`${t}${i}${n}`];r||o.push(()=>`${t}${a}`);let s=this.faker.helpers.arrayElement(o)();return s=s.normalize(`NFKD`).replaceAll(/[\\u0300-\\u036F]/g,``),s=[...s].map(e=>{if(B[e])return B[e];let t=e.codePointAt(0)??NaN;return t<128?e:t.toString(36)}).join(``),s=s.replaceAll(`'`,``),s=s.replaceAll(` `,``),s}displayName(e={}){let{firstName:t=this.faker.person.firstName(),lastName:n=this.faker.person.lastName()}=e,r=this.faker.helpers.arrayElement([`.`,`_`]),i=this.faker.number.int(99),a=this.faker.helpers.arrayElement([()=>`${t}${i}`,()=>`${t}${r}${n}`,()=>`${t}${r}${n}${i}`])();return a=a.replaceAll(`'`,``),a=a.replaceAll(` `,``),a}protocol(){return this.faker.helpers.arrayElement([`http`,`https`])}httpMethod(){return this.faker.helpers.arrayElement([`GET`,`POST`,`PUT`,`DELETE`,`PATCH`])}httpStatusCode(e={}){let{types:t=Object.keys(this.faker.definitions.internet.http_status_code)}=e,n=this.faker.helpers.arrayElement(t);return this.faker.helpers.arrayElement(this.faker.definitions.internet.http_status_code[n])}url(e={}){let{appendSlash:t=this.faker.datatype.boolean(),protocol:n=`https`}=e;return`${n}://${this.domainName()}${t?`/`:``}`}domainName(){return`${this.domainWord()}.${this.domainSuffix()}`}domainSuffix(){return this.faker.helpers.arrayElement(this.faker.definitions.internet.domain_suffix)}domainWord(){return`${H(this.faker,this.faker.word.adjective())}-${H(this.faker,this.faker.word.noun())}`.toLowerCase()}ip(){return this.faker.datatype.boolean()?this.ipv4():this.ipv6()}ipv4(t={}){let{network:n=`any`,cidrBlock:r=qe[n]}=t;if(!/^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\/\\d{1,2}$/.test(r))throw new e(`Invalid CIDR block provided: ${r}. Must be in the format x.x.x.x/y.`);let[i,a]=r.split(`/`),o=Number.parseInt(a,10);if(o>32)throw new e(`Invalid CIDR block provided: ${r}. Prefix length must be between 0 and 32.`);let s=i.split(`.`).map(Number);if(s.some(e=>e>255))throw new e(`Invalid CIDR block provided: ${r}. Each octet must be between 0 and 255.`);if(o===32)return i;let c=4294967295>>>o,[l,u,d,f]=s,p=(l<<24|u<<16|d<<8|f)&~c|this.faker.number.int(c);return[p>>>24&255,p>>>16&255,p>>>8&255,p&255].join(`.`)}ipv6(){return Array.from({length:8},()=>this.faker.string.hexadecimal({length:4,casing:`lower`,prefix:``})).join(`:`)}port(){return this.faker.number.int({min:1,max:65535})}userAgent(){return this.faker.helpers.fake(this.faker.definitions.internet.user_agent_pattern)}mac(e={}){typeof e==`string`&&(e={separator:e});let{separator:t=`:`}=e,n,r=``;for([`:`,`-`,``].includes(t)||(t=`:`),n=0;n<12;n++)r+=this.faker.number.hex(15),n%2==1&&n!==11&&(r+=t);return r}password(e={}){let t=/[aeiouAEIOU]$/,n=/[bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]$/,{length:r=15,memorable:i=!1,pattern:a=/\\w/,prefix:o=``}=e,s=a,c=o;for(;c.length<r;){i&&(s=n.test(c)?t:n);let e=this.faker.number.int(94)+33,r=String.fromCodePoint(e);i&&(r=r.toLowerCase()),s.test(r)&&(c+=r)}return c}emoji(e={}){let{types:t=Object.keys(this.faker.definitions.internet.emoji)}=e,n=this.faker.helpers.arrayElement(t);return this.faker.helpers.arrayElement(this.faker.definitions.internet.emoji[n])}jwtAlgorithm(){return this.faker.helpers.arrayElement(this.faker.definitions.internet.jwt_algorithm)}jwt(e={}){let{refDate:t=this.faker.defaultRefDate()}=e,n=this.faker.date.recent({refDate:t}),{header:r={alg:this.jwtAlgorithm(),typ:`JWT`},payload:i={iat:Math.round(n.valueOf()/1e3),exp:Math.round(this.faker.date.soon({refDate:n}).valueOf()/1e3),nbf:Math.round(this.faker.date.anytime({refDate:t}).valueOf()/1e3),iss:this.faker.company.name(),sub:this.faker.string.uuid(),aud:this.faker.string.uuid(),jti:this.faker.string.uuid()}}=e;return`${R(JSON.stringify(r))}.${R(JSON.stringify(i))}.${this.faker.string.alphanumeric(64)}`}},U=class extends x{latitude(e={}){let{max:t=90,min:n=-90,precision:r=4}=e;return this.faker.number.float({min:n,max:t,fractionDigits:r})}longitude(e={}){let{max:t=180,min:n=-180,precision:r=4}=e;return this.faker.number.float({max:t,min:n,fractionDigits:r})}nearbyGPSCoordinate(e={}){let{origin:t,radius:n=10,isMetric:r=!1}=e;if(t==null)return[this.latitude(),this.longitude()];let i=this.faker.number.float({max:2*Math.PI,fractionDigits:5}),a=r?n:n*1.60934,o=this.faker.number.float({max:a,fractionDigits:3})*.995/(4e4/360),s=[t[0]+Math.sin(i)*o,t[1]+Math.cos(i)*o];return s[0]%=180,Math.abs(s[0])>90&&(s[0]=Math.sign(s[0])*180-s[0],s[1]+=180),s[1]=(s[1]%360+540)%360-180,[s[0],s[1]]}},Ye=class extends U{faker;constructor(e){super(e),this.faker=e}zipCode(t={}){typeof t==`string`&&(t={format:t});let{state:n}=t;if(n!=null){let t=this.faker.definitions.location.postcode_by_state[n];if(t==null)throw new e(`No zip code definition found for state \"${n}\"`);return this.faker.helpers.fake(t)}let{format:r=this.faker.definitions.location.postcode}=t;return typeof r==`string`&&(r=[r]),r=this.faker.helpers.arrayElement(r),this.faker.helpers.replaceSymbols(r)}city(){return this.faker.helpers.fake(this.faker.definitions.location.city_pattern)}buildingNumber(){return this.faker.helpers.arrayElement(this.faker.definitions.location.building_number).replaceAll(/#+/g,e=>this.faker.string.numeric({length:e.length,allowLeadingZeros:!1}))}street(){return this.faker.helpers.fake(this.faker.definitions.location.street_pattern)}streetAddress(e={}){typeof e==`boolean`&&(e={useFullAddress:e});let{useFullAddress:t}=e,n=this.faker.definitions.location.street_address[t?`full`:`normal`];return this.faker.helpers.fake(n)}postalAddress(){return this.faker.helpers.fake(this.faker.definitions.location.postal_address)}secondaryAddress(){return this.faker.helpers.fake(this.faker.definitions.location.secondary_address).replaceAll(/#+/g,e=>this.faker.string.numeric({length:e.length,allowLeadingZeros:!1}))}county(){return this.faker.helpers.arrayElement(this.faker.definitions.location.county)}country(){return this.faker.helpers.arrayElement(this.faker.definitions.location.country)}continent(){return this.faker.helpers.arrayElement(this.faker.definitions.location.continent)}countryCode(e={}){typeof e==`string`&&(e={variant:e});let{variant:t=`alpha-2`}=e,n=(()=>{switch(t){case`numeric`:return`numeric`;case`alpha-3`:return`alpha3`;case`alpha-2`:return`alpha2`}})();return this.faker.helpers.arrayElement(this.faker.definitions.location.country_code)[n]}state(e={}){let{abbreviated:t=!1}=e,n=t?this.faker.definitions.location.state_abbr:this.faker.definitions.location.state;return this.faker.helpers.arrayElement(n)}direction(e={}){let{abbreviated:t=!1}=e,n=this.faker.definitions.location.direction,r=t?[...n.cardinal_abbr,...n.ordinal_abbr]:[...n.cardinal,...n.ordinal];return this.faker.helpers.arrayElement(r)}cardinalDirection(e={}){let{abbreviated:t=!1}=e,n=this.faker.definitions.location.direction,r=t?n.cardinal_abbr:n.cardinal;return this.faker.helpers.arrayElement(r)}ordinalDirection(e={}){let{abbreviated:t=!1}=e,n=this.faker.definitions.location.direction,r=t?n.ordinal_abbr:n.ordinal;return this.faker.helpers.arrayElement(r)}timeZone(){return this.faker.helpers.arrayElement(this.faker.definitions.location.time_zone)}language(){return this.faker.helpers.arrayElement(this.faker.definitions.location.language)}};function Xe(e,t,n=e=>e){let r=Object.create(null);for(let i of e){let e=t(i);r[e]===void 0&&(r[e]=[]),r[e].push(n(i))}return r}const W={fail:()=>{throw new e(`No words found that match the given length.`)},closest:(e,t)=>{let n=Xe(e,e=>e.length),r=Object.keys(n).map(Number),i=Math.max(...r.filter(e=>e<t.min)),a=Math.min(...r.filter(e=>e>t.max)),o=Math.min(t.min-i,a-t.max);return e.filter(e=>e.length===t.min-o||e.length===t.max+o)},shortest:e=>{let t=Math.min(...e.map(e=>e.length));return e.filter(e=>e.length===t)},longest:e=>{let t=Math.max(...e.map(e=>e.length));return e.filter(e=>e.length===t)},\"any-length\":e=>[...e]};function G(e){let{wordList:t,length:n,strategy:r=`fail`}=e;if(n!=null){let e=typeof n==`number`?e=>e.length===n:e=>e.length>=n.min&&e.length<=n.max,i=t.filter(e);return i.length>0?i:typeof n==`number`?W[r](t,{min:n,max:n}):W[r](t,n)}else if(r===`shortest`||r===`longest`)return W[r](t);return[...t]}var Ze=class extends S{word(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.lorem.word}))}words(e=3){return this.faker.helpers.multiple(()=>this.word(),{count:e}).join(` `)}sentence(e={min:3,max:10}){let t=this.words(e);return`${t.charAt(0).toUpperCase()+t.substring(1)}.`}slug(e=3){let t=this.words(e);return this.faker.helpers.slugify(t)}sentences(e={min:2,max:6},t=` `){return this.faker.helpers.multiple(()=>this.sentence(),{count:e}).join(t)}paragraph(e=3){return this.sentences(e)}paragraphs(e=3,t=`\n`){return this.faker.helpers.multiple(()=>this.paragraph(),{count:e}).join(t)}text(){let e=this.faker.helpers.arrayElement([`sentence`,`sentences`,`paragraph`,`paragraphs`,`lines`]);return this[e]()}lines(e={min:1,max:5}){return this.sentences(e,`\n`)}},Qe=class extends S{album(){return this.faker.helpers.arrayElement(this.faker.definitions.music.album)}artist(){return this.faker.helpers.arrayElement(this.faker.definitions.music.artist)}genre(){return this.faker.helpers.arrayElement(this.faker.definitions.music.genre)}songName(){return this.faker.helpers.arrayElement(this.faker.definitions.music.song_name)}};let K=function(e){return e.Female=`female`,e.Generic=`generic`,e.Male=`male`,e}({});function q(e,t=e.person.sexType(),n){let{generic:r,female:i,male:a}=n;if(t===`generic`)return r??e.helpers.arrayElement([i,a])??[];let o=t===`female`?i:a;return o==null?r??[]:r==null?o:e.helpers.weightedArrayElement([{weight:3*Math.sqrt(o.length),value:o},{weight:Math.sqrt(r.length),value:r}])}var $e=class extends S{firstName(e){return this.faker.helpers.arrayElement(q(this.faker,e,this.faker.definitions.person.first_name))}lastName(e){let t=this.faker.definitions.raw.person?.last_name_pattern;if(t!=null){let n=this.faker.helpers.weightedArrayElement(q(this.faker,e,t));return this.faker.helpers.fake(n)}return this.faker.helpers.arrayElement(q(this.faker,e,this.faker.definitions.person.last_name))}middleName(e){return this.faker.helpers.arrayElement(q(this.faker,e,this.faker.definitions.person.middle_name))}fullName(e={}){let{sex:t=this.faker.helpers.arrayElement([`female`,`male`]),firstName:n=this.firstName(t),lastName:r=this.lastName(t)}=e,i=this.faker.helpers.weightedArrayElement(this.faker.definitions.person.name);return this.faker.helpers.mustache(i,{\"person.prefix\":()=>this.prefix(t),\"person.firstName\":()=>n,\"person.middleName\":()=>this.middleName(t),\"person.lastName\":()=>r,\"person.suffix\":()=>this.suffix()})}gender(){return this.faker.helpers.arrayElement(this.faker.definitions.person.gender)}sex(){return this.faker.helpers.arrayElement(this.faker.definitions.person.sex)}sexType(e={}){let{includeGeneric:t=!1}=e;return t?this.faker.helpers.enumValue(K):this.faker.helpers.arrayElement([`female`,`male`])}bio(){return this.faker.helpers.fake(this.faker.definitions.person.bio_pattern)}prefix(e){return this.faker.helpers.arrayElement(q(this.faker,e,this.faker.definitions.person.prefix))}suffix(){return this.faker.helpers.arrayElement(this.faker.definitions.person.suffix)}jobTitle(){return this.faker.helpers.fake(this.faker.definitions.person.job_title_pattern)}jobDescriptor(){return this.faker.helpers.arrayElement(this.faker.definitions.person.job_descriptor)}jobArea(){return this.faker.helpers.arrayElement(this.faker.definitions.person.job_area)}jobType(){return this.faker.helpers.arrayElement(this.faker.definitions.person.job_type)}zodiacSign(){return this.faker.helpers.arrayElement(this.faker.definitions.person.western_zodiac_sign)}},et=class extends S{number(e={}){let{style:t=`human`}=e,n=this.faker.definitions.phone_number.format[t];if(!n)throw Error(`No definitions for ${t} in this locale`);let r=this.faker.helpers.arrayElement(n);return F(this.faker,r)}imei(){return this.faker.helpers.replaceCreditCardSymbols(`##-######-######-L`,`#`)}},tt=class extends S{chemicalElement(){return this.faker.helpers.arrayElement(this.faker.definitions.science.chemical_element)}unit(){return this.faker.helpers.arrayElement(this.faker.definitions.science.unit)}};const nt=[`video`,`audio`,`image`,`text`,`application`],rt=[`application/pdf`,`audio/mpeg`,`audio/wav`,`image/png`,`image/jpeg`,`image/gif`,`video/mp4`,`video/mpeg`,`text/html`],it=[`en`,`wl`,`ww`],J={index:`o`,slot:`s`,mac:`x`,pci:`p`},at=[`SUN`,`MON`,`TUE`,`WED`,`THU`,`FRI`,`SAT`];var ot=class extends S{fileName(e={}){let{extensionCount:t=1}=e,n=this.faker.word.words().toLowerCase().replaceAll(/\\W/g,`_`),r=this.faker.helpers.multiple(()=>this.fileExt(),{count:t}).join(`.`);return r.length===0?n:`${n}.${r}`}commonFileName(e){return`${this.fileName({extensionCount:0})}.${e||this.commonFileExt()}`}mimeType(){let e=Object.keys(this.faker.definitions.system.mime_type);return this.faker.helpers.arrayElement(e)}commonFileType(){return this.faker.helpers.arrayElement(nt)}commonFileExt(){return this.fileExt(this.faker.helpers.arrayElement(rt))}fileType(){let e=this.faker.definitions.system.mime_type,t=new Set(Object.keys(e).map(e=>e.split(`/`,1)[0]));return this.faker.helpers.arrayElement([...t])}fileExt(t){let n=this.faker.definitions.system.mime_type;if(typeof t==`string`){let r=n[t];if(r==null)throw new e(`MIME type ${t} is not supported.`);return this.faker.helpers.arrayElement(r.extensions)}let r=new Set(Object.values(n).flatMap(({extensions:e})=>e));return this.faker.helpers.arrayElement([...r])}directoryPath(){let e=this.faker.definitions.system.directory_path;return this.faker.helpers.arrayElement(e)}filePath(){return`${this.directoryPath()}/${this.fileName()}`}semver(){return[this.faker.number.int(9),this.faker.number.int(20),this.faker.number.int(20)].join(`.`)}networkInterface(e={}){let{interfaceType:t=this.faker.helpers.arrayElement(it),interfaceSchema:n=this.faker.helpers.objectKey(J)}=e,r,i=``;switch(n){case`index`:r=this.faker.string.numeric();break;case`slot`:r=`${this.faker.string.numeric()}${this.faker.helpers.maybe(()=>`f${this.faker.string.numeric()}`)??``}${this.faker.helpers.maybe(()=>`d${this.faker.string.numeric()}`)??``}`;break;case`mac`:r=this.faker.internet.mac(``);break;case`pci`:i=this.faker.helpers.maybe(()=>`P${this.faker.string.numeric()}`)??``,r=`${this.faker.string.numeric()}s${this.faker.string.numeric()}${this.faker.helpers.maybe(()=>`f${this.faker.string.numeric()}`)??``}${this.faker.helpers.maybe(()=>`d${this.faker.string.numeric()}`)??``}`;break}return`${i}${t}${J[n]}${r}`}cron(e={}){let{includeYear:t=!1,includeNonStandard:n=!1}=e,r=[this.faker.number.int(59),`*`],i=[this.faker.number.int(23),`*`],a=[this.faker.number.int({min:1,max:31}),`*`,`?`],o=[this.faker.number.int({min:1,max:12}),`*`],s=[this.faker.number.int(6),this.faker.helpers.arrayElement(at),`*`,`?`],c=[this.faker.number.int({min:1970,max:2099}),`*`],l=this.faker.helpers.arrayElement(r),u=this.faker.helpers.arrayElement(i),d=this.faker.helpers.arrayElement(a),f=this.faker.helpers.arrayElement(o),p=this.faker.helpers.arrayElement(s),m=this.faker.helpers.arrayElement(c),h=`${l} ${u} ${d} ${f} ${p}`;return t&&(h+=` ${m}`),!n||this.faker.datatype.boolean()?h:this.faker.helpers.arrayElement([`@annually`,`@daily`,`@hourly`,`@monthly`,`@reboot`,`@weekly`,`@yearly`])}};const st=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],ct={A:1,B:2,C:3,D:4,E:5,F:6,G:7,H:8,J:1,K:2,L:3,M:4,N:5,P:7,R:9,S:2,T:3,U:4,V:5,W:6,X:7,Y:8,Z:9};function lt(e){let t=0;for(let[n,r]of e.split(``).entries()){let e=ct[r]??Number(r);t+=e*st[n]}return t%11==10?`X`:String(t%11)}var ut=class extends S{vehicle(){return`${this.manufacturer()} ${this.model()}`}manufacturer(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.manufacturer)}model(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.model)}type(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.type)}fuel(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.fuel)}vin(){let e=[`o`,`i`,`q`,`O`,`I`,`Q`],t=`${this.faker.string.alphanumeric({length:10,casing:`upper`,exclude:e})}${this.faker.string.alpha({length:1,casing:`upper`,exclude:e})}${this.faker.string.alphanumeric({length:1,casing:`upper`,exclude:e})}${this.faker.string.numeric({length:5,allowLeadingZeros:!0})}`;return`${t.slice(0,8)}${lt(t)}${t.slice(9)}`}color(){return this.faker.color.human()}vrm(){return`${this.faker.string.alpha({length:2,casing:`upper`})}${this.faker.string.numeric({length:2,allowLeadingZeros:!0})}${this.faker.string.alpha({length:3,casing:`upper`})}`}bicycle(){return this.faker.helpers.arrayElement(this.faker.definitions.vehicle.bicycle_type)}},dt=class extends S{adjective(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.adjective}))}adverb(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.adverb}))}conjunction(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.conjunction}))}interjection(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.interjection}))}noun(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.noun}))}preposition(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.preposition}))}verb(e={}){return typeof e==`number`&&(e={length:e}),this.faker.helpers.arrayElement(G({...e,wordList:this.faker.definitions.word.verb}))}sample(t={}){let n=this.faker.helpers.shuffle([this.adjective,this.adverb,this.conjunction,this.interjection,this.noun,this.preposition,this.verb]);for(let e of n)try{return e(t)}catch{continue}throw new e(`No matching word data available for the current locale`)}words(e={}){typeof e==`number`&&(e={count:e});let{count:t={min:1,max:3}}=e;return this.faker.helpers.multiple(()=>this.sample(),{count:t}).join(` `)}},ft=class extends x{boolean(e={}){typeof e==`number`&&(e={probability:e});let{probability:t=.5}=e;return t<=0?!1:t>=1||this.faker.number.float()<t}},pt=class extends x{int(t={}){typeof t==`number`&&(t={max:t});let{min:n=0,max:r=2**53-1,multipleOf:i=1,distributor:a=b()}=t;if(!Number.isSafeInteger(i))throw new e(`multipleOf should be an integer.`);if(i<=0)throw new e(`multipleOf should be greater than 0.`);let o=Math.ceil(n/i),s=Math.floor(r/i);if(o===s)return o*i;if(s<o)throw r>=n?new e(`No suitable integer value between ${n} and ${r} found.`):new e(`Max ${r} should be greater than min ${n}.`);let c=a(this.faker.fakerCore.randomizer),l=s-o+1;return Math.floor(c*l+o)*i}float(t={}){typeof t==`number`&&(t={max:t});let{min:n=0,max:r=1,fractionDigits:i,multipleOf:a,multipleOf:o=i==null?void 0:10**-i,distributor:s=b()}=t;if(r<n)throw new e(`Max ${r} should be greater than min ${n}.`);if(i!=null){if(a!=null)throw new e(`multipleOf and fractionDigits cannot be set at the same time.`);if(!Number.isSafeInteger(i))throw new e(`fractionDigits should be an integer.`);if(i<0)throw new e(`fractionDigits should be greater than or equal to 0.`)}if(o!=null){if(o<=0)throw new e(`multipleOf should be greater than 0.`);let t=Math.log10(o),i=o<1&&Number.isSafeInteger(t)?10**-t:1/o;return this.int({min:n*i,max:r*i,distributor:s})/i}return s(this.faker.fakerCore.randomizer)*(r-n)+n}binary(e={}){typeof e==`number`&&(e={max:e});let{min:t=0,max:n=1}=e;return this.int({max:n,min:t}).toString(2)}octal(e={}){typeof e==`number`&&(e={max:e});let{min:t=0,max:n=7}=e;return this.int({max:n,min:t}).toString(8)}hex(e={}){typeof e==`number`&&(e={max:e});let{min:t=0,max:n=15}=e;return this.int({max:n,min:t}).toString(16)}bigInt(t={}){(typeof t==`bigint`||typeof t==`number`||typeof t==`string`||typeof t==`boolean`)&&(t={max:t});let n=BigInt(t.min??0),r=BigInt(t.max??n+BigInt(999999999999999));if(r<n)throw new e(`Max ${r} should be larger than min ${n}.`);let i=BigInt(t.multipleOf??1);if(i<=BigInt(0))throw new e(`multipleOf should be greater than 0.`);let a=n/i+(n%i>0n?1n:0n),o=r/i-(r%i<0n?1n:0n);if(a===o)return a*i;if(o<a)throw new e(`No suitable bigint value between ${n} and ${r} found.`);let s=o-a+1n;return(a+BigInt(this.faker.string.numeric({length:s.toString(10).length,allowLeadingZeros:!0}))%s)*i}romanNumeral(t={}){let n=3999;typeof t==`number`&&(t={max:t});let{min:r=1,max:i=n}=t;if(r<1)throw new e(`Min value ${r} should be 1 or greater.`);if(i>n)throw new e(`Max value ${i} should be ${n} or less.`);let a=this.int({min:r,max:i}),o=[[`M`,1e3],[`CM`,900],[`D`,500],[`CD`,400],[`C`,100],[`XC`,90],[`L`,50],[`XL`,40],[`X`,10],[`IX`,9],[`V`,5],[`IV`,4],[`I`,1]],s=``;for(let[e,t]of o)s+=e.repeat(Math.floor(a/t)),a%=t;return s}};const Y=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`;function mt(e){let t=e.valueOf(),n=``;for(let e=10;e>0;e--){let e=t%32;n=Y[e]+n,t=(t-e)/32}return n}function ht(e){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replaceAll(`x`,()=>e.number.hex({min:0,max:15})).replaceAll(`y`,()=>e.number.hex({min:8,max:11}))}function gt(e,t){let n=t.valueOf(),r=Math.max(n,0).toString(16).padStart(12,`0`).slice(-12);return`${[r.substring(0,8),r.substring(8)].join(`-`)}-${`7xxx-yxxx-xxxxxxxxxxxx`.replaceAll(`x`,()=>e.number.hex({min:0,max:15})).replaceAll(`y`,()=>e.number.hex({min:8,max:11}))}`}const X=2**48-1,Z=[...`ABCDEFGHIJKLMNOPQRSTUVWXYZ`],Q=[...`abcdefghijklmnopqrstuvwxyz`],_t=[...`0123456789`];var vt=class extends x{fromCharacters(t,n=1){if(n=this.faker.helpers.rangeToNumber(n),n<=0)return``;if(typeof t==`string`&&(t=[...t]),t.length===0)throw new e(`Unable to generate string: No characters to select from.`);return this.faker.helpers.multiple(()=>this.faker.helpers.arrayElement(t),{count:n}).join(``)}alpha(e={}){typeof e==`number`&&(e={length:e});let t=this.faker.helpers.rangeToNumber(e.length??1);if(t<=0)return``;let{casing:n=`mixed`}=e,{exclude:r=[]}=e;typeof r==`string`&&(r=[...r]);let i;switch(n){case`upper`:i=[...Z];break;case`lower`:i=[...Q];break;case`mixed`:i=[...Q,...Z];break}return i=i.filter(e=>!r.includes(e)),this.fromCharacters(i,t)}alphanumeric(e={}){typeof e==`number`&&(e={length:e});let t=this.faker.helpers.rangeToNumber(e.length??1);if(t<=0)return``;let{casing:n=`mixed`}=e,{exclude:r=[]}=e;typeof r==`string`&&(r=[...r]);let i=[..._t];switch(n){case`upper`:i.push(...Z);break;case`lower`:i.push(...Q);break;case`mixed`:i.push(...Q,...Z);break}return i=i.filter(e=>!r.includes(e)),this.fromCharacters(i,t)}binary(e={}){let{prefix:t=`0b`}=e,n=t;return n+=this.fromCharacters([`0`,`1`],e.length??1),n}octal(e={}){let{prefix:t=`0o`}=e,n=t;return n+=this.fromCharacters([`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`],e.length??1),n}hexadecimal(e={}){let{casing:t=`mixed`,prefix:n=`0x`}=e,r=this.faker.helpers.rangeToNumber(e.length??1);if(r<=0)return n;let i=this.fromCharacters([`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`a`,`b`,`c`,`d`,`e`,`f`,`A`,`B`,`C`,`D`,`E`,`F`],r);return t===`upper`?i=i.toUpperCase():t===`lower`&&(i=i.toLowerCase()),`${n}${i}`}numeric(t={}){typeof t==`number`&&(t={length:t});let n=this.faker.helpers.rangeToNumber(t.length??1);if(n<=0)return``;let{allowLeadingZeros:r=!0}=t,{exclude:i=[]}=t;typeof i==`string`&&(i=[...i]);let a=_t.filter(e=>!i.includes(e));if(a.length===0||a.length===1&&!r&&a[0]===`0`)throw new e(`Unable to generate numeric string, because all possible digits are excluded.`);let o=``;return!r&&!i.includes(`0`)&&(o+=this.faker.helpers.arrayElement(a.filter(e=>e!==`0`))),o+=this.fromCharacters(a,n-o.length),o}sample(e=10){e=this.faker.helpers.rangeToNumber(e);let t={min:33,max:125},n=``;for(;n.length<e;)n+=String.fromCodePoint(this.faker.number.int(t));return n}uuid(e={}){let{version:t=4,refDate:n=this.faker.defaultRefDate()}=e;switch(t){case 7:return gt(this.faker,k(n));default:return ht(this.faker)}}ulid(t={}){let{refDate:n=this.faker.defaultRefDate()}=t,r=k(n);if(r.valueOf()<0||r.valueOf()>X)throw new e(`Unable to generate ULID: the refDate must be between ${new Date(0).toISOString()} and ${new Date(X).toISOString()}, but was ${r.toISOString()}.`);return mt(r)+this.fromCharacters(Y,16)}nanoid(e=21){if(e=this.faker.helpers.rangeToNumber(e),e<=0)return``;let t=[{value:()=>this.alphanumeric(1),weight:62},{value:()=>this.faker.helpers.arrayElement([`_`,`-`]),weight:2}],n=``;for(;n.length<e;){let e=this.faker.helpers.weightedArrayElement(t);n+=e()}return n}symbol(e=1){return this.fromCharacters(`!\"#$%&'()*+,-./:;<=>?@[\\\\]^_\\`{|}~`.split(``),e)}};const yt=()=>new Date;function bt(e){return(e.config.defaultRefDate??yt)()}function xt(e,t=()=>new Date){typeof t==`function`?e.config.defaultRefDate=t:e.config.defaultRefDate=()=>new Date(t)}var $=class{fakerCore;get defaultRefDate(){return()=>bt(this.fakerCore)}setDefaultRefDate(e=()=>new Date){xt(this.fakerCore,e)}datatype=new ft(this);date=new A(this);helpers=new I(this);location=new U(this);number=new pt(this);string=new vt(this);constructor(e){this.fakerCore=te(e)}seed(e=v()){return this.fakerCore.randomizer.seed(e),e}};const St=new $;var Ct=class extends ${airline=new ce(this);animal=new le(this);book=new ue(this);color=new pe(this);commerce=new ge(this);company=new _e(this);database=new ve(this);date=new ye(this);finance=new Ce(this);food=new Te(this);git=new Ee(this);hacker=new De(this);helpers=new Le(this);image=new ze(this);internet=new Je(this);location=new Ye(this);lorem=new Ze(this);music=new Qe(this);person=new $e(this);phone=new et(this);science=new tt(this);system=new ot(this);vehicle=new ut(this);word=new dt(this);get rawDefinitions(){return this.fakerCore.locale.raw}get definitions(){return this.fakerCore.locale}constructor(t){super(t);let{locale:n}=t;if(Array.isArray(n)&&n.length===0)throw new e(`The locale option must contain at least one locale definition.`)}getMetadata(){return this.fakerCore.locale.raw.metadata??{}}};const wt={space:`Academy Color Encoding System (ACES),Adobe RGB,Adobe Wide Gamut RGB,British Standard Colour (BS),CIE 1931 XYZ,CIELAB,CIELUV,CIEUVW,CMY,CMYK,DCI-P3,Display-P3,Federal Standard 595C,HKS,HSL,HSLA,HSLuv,HSV,HWB,LCh,LMS,Munsell Color System,Natural Color System (NSC),Pantone Matching System (PMS),ProPhoto RGB Color Space,RAL,RG,RGBA,RGK,Rec. 2020,Rec. 2100,Rec. 601,Rec. 709,Uniform Color Spaces (UCSs),YDbDr,YIQ,YPbPr,sRGB,sYCC,scRGB,xvYCC`.split(`,`)},Tt={collation:[`ascii_bin`,`ascii_general_ci`,`cp1250_bin`,`cp1250_general_ci`,`utf8_bin`,`utf8_general_ci`,`utf8_unicode_ci`],engine:[`ARCHIVE`,`BLACKHOLE`,`CSV`,`InnoDB`,`MEMORY`,`MyISAM`],type:[`bigint`,`binary`,`bit`,`blob`,`boolean`,`date`,`datetime`,`decimal`,`double`,`enum`,`float`,`geometry`,`int`,`mediumint`,`point`,`real`,`serial`,`set`,`smallint`,`text`,`time`,`timestamp`,`tinyint`,`varchar`]};var Et=`Africa/Abidjan.Africa/Accra.Africa/Addis_Ababa.Africa/Algiers.Africa/Asmara.Africa/Bamako.Africa/Bangui.Africa/Banjul.Africa/Bissau.Africa/Blantyre.Africa/Brazzaville.Africa/Bujumbura.Africa/Cairo.Africa/Casablanca.Africa/Ceuta.Africa/Conakry.Africa/Dakar.Africa/Dar_es_Salaam.Africa/Djibouti.Africa/Douala.Africa/El_Aaiun.Africa/Freetown.Africa/Gaborone.Africa/Harare.Africa/Johannesburg.Africa/Juba.Africa/Kampala.Africa/Khartoum.Africa/Kigali.Africa/Kinshasa.Africa/Lagos.Africa/Libreville.Africa/Lome.Africa/Luanda.Africa/Lubumbashi.Africa/Lusaka.Africa/Malabo.Africa/Maputo.Africa/Maseru.Africa/Mbabane.Africa/Mogadishu.Africa/Monrovia.Africa/Nairobi.Africa/Ndjamena.Africa/Niamey.Africa/Nouakchott.Africa/Ouagadougou.Africa/Porto-Novo.Africa/Sao_Tome.Africa/Tripoli.Africa/Tunis.Africa/Windhoek.America/Adak.America/Anchorage.America/Anguilla.America/Antigua.America/Araguaina.America/Argentina/Buenos_Aires.America/Argentina/Catamarca.America/Argentina/Cordoba.America/Argentina/Jujuy.America/Argentina/La_Rioja.America/Argentina/Mendoza.America/Argentina/Rio_Gallegos.America/Argentina/Salta.America/Argentina/San_Juan.America/Argentina/San_Luis.America/Argentina/Tucuman.America/Argentina/Ushuaia.America/Aruba.America/Asuncion.America/Atikokan.America/Bahia.America/Bahia_Banderas.America/Barbados.America/Belem.America/Belize.America/Blanc-Sablon.America/Boa_Vista.America/Bogota.America/Boise.America/Cambridge_Bay.America/Campo_Grande.America/Cancun.America/Caracas.America/Cayenne.America/Cayman.America/Chicago.America/Chihuahua.America/Ciudad_Juarez.America/Costa_Rica.America/Creston.America/Cuiaba.America/Curacao.America/Danmarkshavn.America/Dawson.America/Dawson_Creek.America/Denver.America/Detroit.America/Dominica.America/Edmonton.America/Eirunepe.America/El_Salvador.America/Fort_Nelson.America/Fortaleza.America/Glace_Bay.America/Goose_Bay.America/Grand_Turk.America/Grenada.America/Guadeloupe.America/Guatemala.America/Guayaquil.America/Guyana.America/Halifax.America/Havana.America/Hermosillo.America/Indiana/Indianapolis.America/Indiana/Knox.America/Indiana/Marengo.America/Indiana/Petersburg.America/Indiana/Tell_City.America/Indiana/Vevay.America/Indiana/Vincennes.America/Indiana/Winamac.America/Inuvik.America/Iqaluit.America/Jamaica.America/Juneau.America/Kentucky/Louisville.America/Kentucky/Monticello.America/Kralendijk.America/La_Paz.America/Lima.America/Los_Angeles.America/Lower_Princes.America/Maceio.America/Managua.America/Manaus.America/Marigot.America/Martinique.America/Matamoros.America/Mazatlan.America/Menominee.America/Merida.America/Metlakatla.America/Mexico_City.America/Miquelon.America/Moncton.America/Monterrey.America/Montevideo.America/Montserrat.America/Nassau.America/New_York.America/Nome.America/Noronha.America/North_Dakota/Beulah.America/North_Dakota/Center.America/North_Dakota/New_Salem.America/Nuuk.America/Ojinaga.America/Panama.America/Paramaribo.America/Phoenix.America/Port-au-Prince.America/Port_of_Spain.America/Porto_Velho.America/Puerto_Rico.America/Punta_Arenas.America/Rankin_Inlet.America/Recife.America/Regina.America/Resolute.America/Rio_Branco.America/Santarem.America/Santiago.America/Santo_Domingo.America/Sao_Paulo.America/Scoresbysund.America/Sitka.America/St_Barthelemy.America/St_Johns.America/St_Kitts.America/St_Lucia.America/St_Thomas.America/St_Vincent.America/Swift_Current.America/Tegucigalpa.America/Thule.America/Tijuana.America/Toronto.America/Tortola.America/Vancouver.America/Whitehorse.America/Winnipeg.America/Yakutat.America/Yellowknife.Antarctica/Casey.Antarctica/Davis.Antarctica/DumontDUrville.Antarctica/Macquarie.Antarctica/Mawson.Antarctica/McMurdo.Antarctica/Palmer.Antarctica/Rothera.Antarctica/Syowa.Antarctica/Troll.Antarctica/Vostok.Arctic/Longyearbyen.Asia/Aden.Asia/Almaty.Asia/Amman.Asia/Anadyr.Asia/Aqtau.Asia/Aqtobe.Asia/Ashgabat.Asia/Atyrau.Asia/Baghdad.Asia/Bahrain.Asia/Baku.Asia/Bangkok.Asia/Barnaul.Asia/Beirut.Asia/Bishkek.Asia/Brunei.Asia/Chita.Asia/Choibalsan.Asia/Colombo.Asia/Damascus.Asia/Dhaka.Asia/Dili.Asia/Dubai.Asia/Dushanbe.Asia/Famagusta.Asia/Gaza.Asia/Hebron.Asia/Ho_Chi_Minh.Asia/Hong_Kong.Asia/Hovd.Asia/Irkutsk.Asia/Jakarta.Asia/Jayapura.Asia/Jerusalem.Asia/Kabul.Asia/Kamchatka.Asia/Karachi.Asia/Kathmandu.Asia/Khandyga.Asia/Kolkata.Asia/Krasnoyarsk.Asia/Kuala_Lumpur.Asia/Kuching.Asia/Kuwait.Asia/Macau.Asia/Magadan.Asia/Makassar.Asia/Manila.Asia/Muscat.Asia/Nicosia.Asia/Novokuznetsk.Asia/Novosibirsk.Asia/Omsk.Asia/Oral.Asia/Phnom_Penh.Asia/Pontianak.Asia/Pyongyang.Asia/Qatar.Asia/Qostanay.Asia/Qyzylorda.Asia/Riyadh.Asia/Sakhalin.Asia/Samarkand.Asia/Seoul.Asia/Shanghai.Asia/Singapore.Asia/Srednekolymsk.Asia/Taipei.Asia/Tashkent.Asia/Tbilisi.Asia/Tehran.Asia/Thimphu.Asia/Tokyo.Asia/Tomsk.Asia/Ulaanbaatar.Asia/Urumqi.Asia/Ust-Nera.Asia/Vientiane.Asia/Vladivostok.Asia/Yakutsk.Asia/Yangon.Asia/Yekaterinburg.Asia/Yerevan.Atlantic/Azores.Atlantic/Bermuda.Atlantic/Canary.Atlantic/Cape_Verde.Atlantic/Faroe.Atlantic/Madeira.Atlantic/Reykjavik.Atlantic/South_Georgia.Atlantic/St_Helena.Atlantic/Stanley.Australia/Adelaide.Australia/Brisbane.Australia/Broken_Hill.Australia/Darwin.Australia/Eucla.Australia/Hobart.Australia/Lindeman.Australia/Lord_Howe.Australia/Melbourne.Australia/Perth.Australia/Sydney.Europe/Amsterdam.Europe/Andorra.Europe/Astrakhan.Europe/Athens.Europe/Belgrade.Europe/Berlin.Europe/Bratislava.Europe/Brussels.Europe/Bucharest.Europe/Budapest.Europe/Busingen.Europe/Chisinau.Europe/Copenhagen.Europe/Dublin.Europe/Gibraltar.Europe/Guernsey.Europe/Helsinki.Europe/Isle_of_Man.Europe/Istanbul.Europe/Jersey.Europe/Kaliningrad.Europe/Kirov.Europe/Kyiv.Europe/Lisbon.Europe/Ljubljana.Europe/London.Europe/Luxembourg.Europe/Madrid.Europe/Malta.Europe/Mariehamn.Europe/Minsk.Europe/Monaco.Europe/Moscow.Europe/Oslo.Europe/Paris.Europe/Podgorica.Europe/Prague.Europe/Riga.Europe/Rome.Europe/Samara.Europe/San_Marino.Europe/Sarajevo.Europe/Saratov.Europe/Simferopol.Europe/Skopje.Europe/Sofia.Europe/Stockholm.Europe/Tallinn.Europe/Tirane.Europe/Ulyanovsk.Europe/Vaduz.Europe/Vatican.Europe/Vienna.Europe/Vilnius.Europe/Volgograd.Europe/Warsaw.Europe/Zagreb.Europe/Zurich.Indian/Antananarivo.Indian/Chagos.Indian/Christmas.Indian/Cocos.Indian/Comoro.Indian/Kerguelen.Indian/Mahe.Indian/Maldives.Indian/Mauritius.Indian/Mayotte.Indian/Reunion.Pacific/Apia.Pacific/Auckland.Pacific/Bougainville.Pacific/Chatham.Pacific/Chuuk.Pacific/Easter.Pacific/Efate.Pacific/Fakaofo.Pacific/Fiji.Pacific/Funafuti.Pacific/Galapagos.Pacific/Gambier.Pacific/Guadalcanal.Pacific/Guam.Pacific/Honolulu.Pacific/Kanton.Pacific/Kiritimati.Pacific/Kosrae.Pacific/Kwajalein.Pacific/Majuro.Pacific/Marquesas.Pacific/Midway.Pacific/Nauru.Pacific/Niue.Pacific/Norfolk.Pacific/Noumea.Pacific/Pago_Pago.Pacific/Palau.Pacific/Pitcairn.Pacific/Pohnpei.Pacific/Port_Moresby.Pacific/Rarotonga.Pacific/Saipan.Pacific/Tahiti.Pacific/Tarawa.Pacific/Tongatapu.Pacific/Wake.Pacific/Wallis`.split(`.`);const Dt={color:wt,database:Tt,date:{time_zone:Et},finance:{federal_reserve_routing_symbol:`0110.0111.0112.0113.0114.0115.0116.0117.0118.0119.0210.0211.0212.0213.0214.0215.0216.0219.0220.0223.0260.0280.0310.0311.0312.0313.0319.0360.0410.0412.0420.0421.0422.0423.0430.0432.0433.0434.0440.0441.0442.0510.0514.0515.0519.0520.0521.0522.0530.0531.0532.0539.0540.0550.0560.0570.0610.0611.0612.0613.0620.0621.0622.0630.0631.0632.0640.0641.0642.0650.0651.0652.0653.0654.0655.0660.0670.0710.0711.0712.0719.0720.0724.0730.0739.0740.0749.0750.0759.0810.0812.0813.0815.0819.0820.0829.0830.0839.0840.0841.0842.0843.0863.0865.0910.0911.0912.0913.0914.0915.0918.0919.0920.0921.0929.0960.1010.1011.1012.1019.1020.1021.1022.1023.1030.1031.1039.1040.1041.1049.1070.1110.1111.1113.1119.1120.1122.1123.1130.1131.1140.1149.1163.1210.1211.1212.1213.1214.1220.1221.1222.1223.1224.1230.1231.1232.1233.1240.1241.1242.1243.1250.1251.1252`.split(`.`)},hacker:{abbreviation:`ADP.AGP.AI.API.ASCII.CLI.COM.CSS.DNS.DRAM.EXE.FTP.GB.HDD.HEX.HTTP.IB.IP.JBOD.JSON.OCR.PCI.PNG.RAM.RSS.SAS.SCSI.SDD.SMS.SMTP.SQL.SSD.SSL.TCP.THX.TLS.UDP.USB.UTF8.VGA.XML.XSS`.split(`.`)},internet:{emoji:{smiley:`☠️.☹️.☺️.❣️.❤️.❤️🔥.❤️🩹.👁️🗨️.👹.👺.👻.👽.👾.👿.💀.💋.💌.💓.💔.💕.💖.💗.💘.💙.💚.💛.💜.💝.💞.💟.💢.💣.💤.💥.💦.💨.💩.💫.💬.💭.💯.🕳️.🖤.🗨️.🗯️.😀.😁.😂.😃.😄.😅.😆.😇.😈.😉.😊.😋.😌.😍.😎.😏.😐.😑.😒.😓.😔.😕.😖.😗.😘.😙.😚.😛.😜.😝.😞.😟.😠.😡.😢.😣.😤.😥.😦.😧.😨.😩.😪.😫.😬.😭.😮.😮💨.😯.😰.😱.😲.😳.😴.😵.😵💫.😶.😶🌫️.😷.😸.😹.😺.😻.😼.😽.😾.😿.🙀.🙁.🙂.🙃.🙄.🙈.🙉.🙊.🤍.🤎.🤐.🤑.🤒.🤓.🤔.🤕.🤖.🤗.🤠.🤡.🤢.🤣.🤤.🤥.🤧.🤨.🤩.🤪.🤫.🤬.🤭.🤮.🤯.🥰.🥱.🥲.🥳.🥴.🥵.🥶.🥸.🥺.🧐.🧡`.split(`.`),body:`☝🏻.☝🏼.☝🏽.☝🏾.☝🏿.☝️.✊.✊🏻.✊🏼.✊🏽.✊🏾.✊🏿.✋.✋🏻.✋🏼.✋🏽.✋🏾.✋🏿.✌🏻.✌🏼.✌🏽.✌🏾.✌🏿.✌️.✍🏻.✍🏼.✍🏽.✍🏾.✍🏿.✍️.👀.👁️.👂.👂🏻.👂🏼.👂🏽.👂🏾.👂🏿.👃.👃🏻.👃🏼.👃🏽.👃🏾.👃🏿.👄.👅.👆.👆🏻.👆🏼.👆🏽.👆🏾.👆🏿.👇.👇🏻.👇🏼.👇🏽.👇🏾.👇🏿.👈.👈🏻.👈🏼.👈🏽.👈🏾.👈🏿.👉.👉🏻.👉🏼.👉🏽.👉🏾.👉🏿.👊.👊🏻.👊🏼.👊🏽.👊🏾.👊🏿.👋.👋🏻.👋🏼.👋🏽.👋🏾.👋🏿.👌.👌🏻.👌🏼.👌🏽.👌🏾.👌🏿.👍.👍🏻.👍🏼.👍🏽.👍🏾.👍🏿.👎.👎🏻.👎🏼.👎🏽.👎🏾.👎🏿.👏.👏🏻.👏🏼.👏🏽.👏🏾.👏🏿.👐.👐🏻.👐🏼.👐🏽.👐🏾.👐🏿.💅.💅🏻.💅🏼.💅🏽.💅🏾.💅🏿.💪.💪🏻.💪🏼.💪🏽.💪🏾.💪🏿.🖐🏻.🖐🏼.🖐🏽.🖐🏾.🖐🏿.🖐️.🖕.🖕🏻.🖕🏼.🖕🏽.🖕🏾.🖕🏿.🖖.🖖🏻.🖖🏼.🖖🏽.🖖🏾.🖖🏿.🙌.🙌🏻.🙌🏼.🙌🏽.🙌🏾.🙌🏿.🙏.🙏🏻.🙏🏼.🙏🏽.🙏🏾.🙏🏿.🤌.🤌🏻.🤌🏼.🤌🏽.🤌🏾.🤌🏿.🤏.🤏🏻.🤏🏼.🤏🏽.🤏🏾.🤏🏿.🤘.🤘🏻.🤘🏼.🤘🏽.🤘🏾.🤘🏿.🤙.🤙🏻.🤙🏼.🤙🏽.🤙🏾.🤙🏿.🤚.🤚🏻.🤚🏼.🤚🏽.🤚🏾.🤚🏿.🤛.🤛🏻.🤛🏼.🤛🏽.🤛🏾.🤛🏿.🤜.🤜🏻.🤜🏼.🤜🏽.🤜🏾.🤜🏿.🤝.🤞.🤞🏻.🤞🏼.🤞🏽.🤞🏾.🤞🏿.🤟.🤟🏻.🤟🏼.🤟🏽.🤟🏾.🤟🏿.🤲.🤲🏻.🤲🏼.🤲🏽.🤲🏾.🤲🏿.🤳.🤳🏻.🤳🏼.🤳🏽.🤳🏾.🤳🏿.🦴.🦵.🦵🏻.🦵🏼.🦵🏽.🦵🏾.🦵🏿.🦶.🦶🏻.🦶🏼.🦶🏽.🦶🏾.🦶🏿.🦷.🦻.🦻🏻.🦻🏼.🦻🏽.🦻🏾.🦻🏿.🦾.🦿.🧠.🫀.🫁`.split(`.`),person:`🎅.🎅🏻.🎅🏼.🎅🏽.🎅🏾.🎅🏿.👦.👦🏻.👦🏼.👦🏽.👦🏾.👦🏿.👧.👧🏻.👧🏼.👧🏽.👧🏾.👧🏿.👨.👨⚕️.👨⚖️.👨✈️.👨🌾.👨🍳.👨🍼.👨🎓.👨🎤.👨🎨.👨🏫.👨🏭.👨💻.👨💼.👨🔧.👨🔬.👨🚀.👨🚒.👨🦰.👨🦱.👨🦲.👨🦳.👨🏻.👨🏻⚕️.👨🏻⚖️.👨🏻✈️.👨🏻🌾.👨🏻🍳.👨🏻🍼.👨🏻🎓.👨🏻🎤.👨🏻🎨.👨🏻🏫.👨🏻🏭.👨🏻💻.👨🏻💼.👨🏻🔧.👨🏻🔬.👨🏻🚀.👨🏻🚒.👨🏻🦰.👨🏻🦱.👨🏻🦲.👨🏻🦳.👨🏼.👨🏼⚕️.👨🏼⚖️.👨🏼✈️.👨🏼🌾.👨🏼🍳.👨🏼🍼.👨🏼🎓.👨🏼🎤.👨🏼🎨.👨🏼🏫.👨🏼🏭.👨🏼💻.👨🏼💼.👨🏼🔧.👨🏼🔬.👨🏼🚀.👨🏼🚒.👨🏼🦰.👨🏼🦱.👨🏼🦲.👨🏼🦳.👨🏽.👨🏽⚕️.👨🏽⚖️.👨🏽✈️.👨🏽🌾.👨🏽🍳.👨🏽🍼.👨🏽🎓.👨🏽🎤.👨🏽🎨.👨🏽🏫.👨🏽🏭.👨🏽💻.👨🏽💼.👨🏽🔧.👨🏽🔬.👨🏽🚀.👨🏽🚒.👨🏽🦰.👨🏽🦱.👨🏽🦲.👨🏽🦳.👨🏾.👨🏾⚕️.👨🏾⚖️.👨🏾✈️.👨🏾🌾.👨🏾🍳.👨🏾🍼.👨🏾🎓.👨🏾🎤.👨🏾🎨.👨🏾🏫.👨🏾🏭.👨🏾💻.👨🏾💼.👨🏾🔧.👨🏾🔬.👨🏾🚀.👨🏾🚒.👨🏾🦰.👨🏾🦱.👨🏾🦲.👨🏾🦳.👨🏿.👨🏿⚕️.👨🏿⚖️.👨🏿✈️.👨🏿🌾.👨🏿🍳.👨🏿🍼.👨🏿🎓.👨🏿🎤.👨🏿🎨.👨🏿🏫.👨🏿🏭.👨🏿💻.👨🏿💼.👨🏿🔧.👨🏿🔬.👨🏿🚀.👨🏿🚒.👨🏿🦰.👨🏿🦱.👨🏿🦲.👨🏿🦳.👩.👩⚕️.👩⚖️.👩✈️.👩🌾.👩🍳.👩🍼.👩🎓.👩🎤.👩🎨.👩🏫.👩🏭.👩💻.👩💼.👩🔧.👩🔬.👩🚀.👩🚒.👩🦰.👩🦱.👩🦲.👩🦳.👩🏻.👩🏻⚕️.👩🏻⚖️.👩🏻✈️.👩🏻🌾.👩🏻🍳.👩🏻🍼.👩🏻🎓.👩🏻🎤.👩🏻🎨.👩🏻🏫.👩🏻🏭.👩🏻💻.👩🏻💼.👩🏻🔧.👩🏻🔬.👩🏻🚀.👩🏻🚒.👩🏻🦰.👩🏻🦱.👩🏻🦲.👩🏻🦳.👩🏼.👩🏼⚕️.👩🏼⚖️.👩🏼✈️.👩🏼🌾.👩🏼🍳.👩🏼🍼.👩🏼🎓.👩🏼🎤.👩🏼🎨.👩🏼🏫.👩🏼🏭.👩🏼💻.👩🏼💼.👩🏼🔧.👩🏼🔬.👩🏼🚀.👩🏼🚒.👩🏼🦰.👩🏼🦱.👩🏼🦲.👩🏼🦳.👩🏽.👩🏽⚕️.👩🏽⚖️.👩🏽✈️.👩🏽🌾.👩🏽🍳.👩🏽🍼.👩🏽🎓.👩🏽🎤.👩🏽🎨.👩🏽🏫.👩🏽🏭.👩🏽💻.👩🏽💼.👩🏽🔧.👩🏽🔬.👩🏽🚀.👩🏽🚒.👩🏽🦰.👩🏽🦱.👩🏽🦲.👩🏽🦳.👩🏾.👩🏾⚕️.👩🏾⚖️.👩🏾✈️.👩🏾🌾.👩🏾🍳.👩🏾🍼.👩🏾🎓.👩🏾🎤.👩🏾🎨.👩🏾🏫.👩🏾🏭.👩🏾💻.👩🏾💼.👩🏾🔧.👩🏾🔬.👩🏾🚀.👩🏾🚒.👩🏾🦰.👩🏾🦱.👩🏾🦲.👩🏾🦳.👩🏿.👩🏿⚕️.👩🏿⚖️.👩🏿✈️.👩🏿🌾.👩🏿🍳.👩🏿🍼.👩🏿🎓.👩🏿🎤.👩🏿🎨.👩🏿🏫.👩🏿🏭.👩🏿💻.👩🏿💼.👩🏿🔧.👩🏿🔬.👩🏿🚀.👩🏿🚒.👩🏿🦰.👩🏿🦱.👩🏿🦲.👩🏿🦳.👮.👮♀️.👮♂️.👮🏻.👮🏻♀️.👮🏻♂️.👮🏼.👮🏼♀️.👮🏼♂️.👮🏽.👮🏽♀️.👮🏽♂️.👮🏾.👮🏾♀️.👮🏾♂️.👮🏿.👮🏿♀️.👮🏿♂️.👰.👰♀️.👰♂️.👰🏻.👰🏻♀️.👰🏻♂️.👰🏼.👰🏼♀️.👰🏼♂️.👰🏽.👰🏽♀️.👰🏽♂️.👰🏾.👰🏾♀️.👰🏾♂️.👰🏿.👰🏿♀️.👰🏿♂️.👱.👱♀️.👱♂️.👱🏻.👱🏻♀️.👱🏻♂️.👱🏼.👱🏼♀️.👱🏼♂️.👱🏽.👱🏽♀️.👱🏽♂️.👱🏾.👱🏾♀️.👱🏾♂️.👱🏿.👱🏿♀️.👱🏿♂️.👲.👲🏻.👲🏼.👲🏽.👲🏾.👲🏿.👳.👳♀️.👳♂️.👳🏻.👳🏻♀️.👳🏻♂️.👳🏼.👳🏼♀️.👳🏼♂️.👳🏽.👳🏽♀️.👳🏽♂️.👳🏾.👳🏾♀️.👳🏾♂️.👳🏿.👳🏿♀️.👳🏿♂️.👴.👴🏻.👴🏼.👴🏽.👴🏾.👴🏿.👵.👵🏻.👵🏼.👵🏽.👵🏾.👵🏿.👶.👶🏻.👶🏼.👶🏽.👶🏾.👶🏿.👷.👷♀️.👷♂️.👷🏻.👷🏻♀️.👷🏻♂️.👷🏼.👷🏼♀️.👷🏼♂️.👷🏽.👷🏽♀️.👷🏽♂️.👷🏾.👷🏾♀️.👷🏾♂️.👷🏿.👷🏿♀️.👷🏿♂️.👸.👸🏻.👸🏼.👸🏽.👸🏾.👸🏿.👼.👼🏻.👼🏼.👼🏽.👼🏾.👼🏿.💁.💁♀️.💁♂️.💁🏻.💁🏻♀️.💁🏻♂️.💁🏼.💁🏼♀️.💁🏼♂️.💁🏽.💁🏽♀️.💁🏽♂️.💁🏾.💁🏾♀️.💁🏾♂️.💁🏿.💁🏿♀️.💁🏿♂️.💂.💂♀️.💂♂️.💂🏻.💂🏻♀️.💂🏻♂️.💂🏼.💂🏼♀️.💂🏼♂️.💂🏽.💂🏽♀️.💂🏽♂️.💂🏾.💂🏾♀️.💂🏾♂️.💂🏿.💂🏿♀️.💂🏿♂️.💆.💆♀️.💆♂️.💆🏻.💆🏻♀️.💆🏻♂️.💆🏼.💆🏼♀️.💆🏼♂️.💆🏽.💆🏽♀️.💆🏽♂️.💆🏾.💆🏾♀️.💆🏾♂️.💆🏿.💆🏿♀️.💆🏿♂️.💇.💇🏻.💇🏼.💇🏽.🕵🏻.🕵🏻♀️.🕵🏻♂️.🕵🏼.🕵🏼♀️.🕵🏼♂️.🕵🏽.🕵🏽♀️.🕵🏽♂️.🕵🏾.🕵🏾♀️.🕵🏾♂️.🕵🏿.🕵🏿♀️.🕵🏿♂️.🕵️.🕵️♀️.🕵️♂️.🙅.🙅♀️.🙅♂️.🙅🏻.🙅🏻♀️.🙅🏻♂️.🙅🏼.🙅🏼♀️.🙅🏼♂️.🙅🏽.🙅🏽♀️.🙅🏽♂️.🙅🏾.🙅🏾♀️.🙅🏾♂️.🙅🏿.🙅🏿♀️.🙅🏿♂️.🙆.🙆♀️.🙆♂️.🙆🏻.🙆🏻♀️.🙆🏻♂️.🙆🏼.🙆🏼♀️.🙆🏼♂️.🙆🏽.🙆🏽♀️.🙆🏽♂️.🙆🏾.🙆🏾♀️.🙆🏾♂️.🙆🏿.🙆🏿♀️.🙆🏿♂️.🙇.🙇♀️.🙇♂️.🙇🏻.🙇🏻♀️.🙇🏻♂️.🙇🏼.🙇🏼♀️.🙇🏼♂️.🙇🏽.🙇🏽♀️.🙇🏽♂️.🙇🏾.🙇🏾♀️.🙇🏾♂️.🙇🏿.🙇🏿♀️.🙇🏿♂️.🙋.🙋♀️.🙋♂️.🙋🏻.🙋🏻♀️.🙋🏻♂️.🙋🏼.🙋🏼♀️.🙋🏼♂️.🙋🏽.🙋🏽♀️.🙋🏽♂️.🙋🏾.🙋🏾♀️.🙋🏾♂️.🙋🏿.🙋🏿♀️.🙋🏿♂️.🙍.🙍♀️.🙍♂️.🙍🏻.🙍🏻♀️.🙍🏻♂️.🙍🏼.🙍🏼♀️.🙍🏼♂️.🙍🏽.🙍🏽♀️.🙍🏽♂️.🙍🏾.🙍🏾♀️.🙍🏾♂️.🙍🏿.🙍🏿♀️.🙍🏿♂️.🙎.🙎♀️.🙎♂️.🙎🏻.🙎🏻♀️.🙎🏻♂️.🙎🏼.🙎🏼♀️.🙎🏼♂️.🙎🏽.🙎🏽♀️.🙎🏽♂️.🙎🏾.🙎🏾♀️.🙎🏾♂️.🙎🏿.🙎🏿♀️.🙎🏿♂️.🤦.🤦♀️.🤦♂️.🤦🏻.🤦🏻♀️.🤦🏻♂️.🤦🏼.🤦🏼♀️.🤦🏼♂️.🤦🏽.🤦🏽♀️.🤦🏽♂️.🤦🏾.🤦🏾♀️.🤦🏾♂️.🤦🏿.🤦🏿♀️.🤦🏿♂️.🤰.🤰🏻.🤰🏼.🤰🏽.🤰🏾.🤰🏿.🤱.🤱🏻.🤱🏼.🤱🏽.🤱🏾.🤱🏿.🤴.🤴🏻.🤴🏼.🤴🏽.🤴🏾.🤴🏿.🤵.🤵♀️.🤵♂️.🤵🏻.🤵🏻♀️.🤵🏻♂️.🤵🏼.🤵🏼♀️.🤵🏼♂️.🤵🏽.🤵🏽♀️.🤵🏽♂️.🤵🏾.🤵🏾♀️.🤵🏾♂️.🤵🏿.🤵🏿♀️.🤵🏿♂️.🤶.🤶🏻.🤶🏼.🤶🏽.🤶🏾.🤶🏿.🤷.🤷♀️.🤷♂️.🤷🏻.🤷🏻♀️.🤷🏻♂️.🤷🏼.🤷🏼♀️.🤷🏼♂️.🤷🏽.🤷🏽♀️.🤷🏽♂️.🤷🏾.🤷🏾♀️.🤷🏾♂️.🤷🏿.🤷🏿♀️.🤷🏿♂️.🥷.🥷🏻.🥷🏼.🥷🏽.🥷🏾.🥷🏿.🦸.🦸♀️.🦸♂️.🦸🏻.🦸🏻♀️.🦸🏻♂️.🦸🏼.🦸🏼♀️.🦸🏼♂️.🦸🏽.🦸🏽♀️.🦸🏽♂️.🦸🏾.🦸🏾♀️.🦸🏾♂️.🦸🏿.🦸🏿♀️.🦸🏿♂️.🦹.🦹♀️.🦹♂️.🦹🏻.🦹🏻♀️.🦹🏻♂️.🦹🏼.🦹🏼♀️.🦹🏼♂️.🦹🏽.🦹🏽♀️.🦹🏽♂️.🦹🏾.🦹🏾♀️.🦹🏾♂️.🦹🏿.🦹🏿♀️.🦹🏿♂️.🧏.🧏♀️.🧏♂️.🧏🏻.🧏🏻♀️.🧏🏻♂️.🧏🏼.🧏🏼♀️.🧏🏼♂️.🧏🏽.🧏🏽♀️.🧏🏽♂️.🧏🏾.🧏🏾♀️.🧏🏾♂️.🧏🏿.🧏🏿♀️.🧏🏿♂️.🧑.🧑⚕️.🧑⚖️.🧑✈️.🧑🌾.🧑🍳.🧑🍼.🧑🎄.🧑🎓.🧑🎤.🧑🎨.🧑🏫.🧑🏭.🧑💻.🧑💼.🧑🔧.🧑🔬.🧑🚀.🧑🚒.🧑🦰.🧑🦱.🧑🦲.🧑🦳.🧑🏻.🧑🏻⚕️.🧑🏻⚖️.🧑🏻✈️.🧑🏻🌾.🧑🏻🍳.🧑🏻🍼.🧑🏻🎄.🧑🏻🎓.🧑🏻🎤.🧑🏻🎨.🧑🏻🏫.🧑🏻🏭.🧑🏻💻.🧑🏻💼.🧑🏻🔧.🧑🏻🔬.🧑🏻🚀.🧑🏻🚒.🧑🏻🦰.🧑🏻🦱.🧑🏻🦲.🧑🏻🦳.🧑🏼.🧑🏼⚕️.🧑🏼⚖️.🧑🏼✈️.🧑🏼🌾.🧑🏼🍳.🧑🏼🍼.🧑🏼🎄.🧑🏼🎓.🧑🏼🎤.🧑🏼🎨.🧑🏼🏫.🧑🏼🏭.🧑🏼💻.🧑🏼💼.🧑🏼🔧.🧑🏼🔬.🧑🏼🚀.🧑🏼🚒.🧑🏼🦰.🧑🏼🦱.🧑🏼🦲.🧑🏼🦳.🧑🏽.🧑🏽⚕️.🧑🏽⚖️.🧑🏽✈️.🧑🏽🌾.🧑🏽🍳.🧑🏽🍼.🧑🏽🎄.🧑🏽🎓.🧑🏽🎤.🧑🏽🎨.🧑🏽🏫.🧑🏽🏭.🧑🏽💻.🧑🏽💼.🧑🏽🔧.🧑🏽🔬.🧑🏽🚀.🧑🏽🚒.🧑🏽🦰.🧑🏽🦱.🧑🏽🦲.🧑🏽🦳.🧑🏾.🧑🏾⚕️.🧑🏾⚖️.🧑🏾✈️.🧑🏾🌾.🧑🏾🍳.🧑🏾🍼.🧑🏾🎄.🧑🏾🎓.🧑🏾🎤.🧑🏾🎨.🧑🏾🏫.🧑🏾🏭.🧑🏾💻.🧑🏾💼.🧑🏾🔧.🧑🏾🔬.🧑🏾🚀.🧑🏾🚒.🧑🏾🦰.🧑🏾🦱.🧑🏾🦲.🧑🏾🦳.🧑🏿.🧑🏿⚕️.🧑🏿⚖️.🧑🏿✈️.🧑🏿🌾.🧑🏿🍳.🧑🏿🍼.🧑🏿🎄.🧑🏿🎓.🧑🏿🎤.🧑🏿🎨.🧑🏿🏫.🧑🏿🏭.🧑🏿💻.🧑🏿💼.🧑🏿🔧.🧑🏿🔬.🧑🏿🚀.🧑🏿🚒.🧑🏿🦰.🧑🏿🦱.🧑🏿🦲.🧑🏿🦳.🧒.🧒🏻.🧒🏼.🧒🏽.🧒🏾.🧒🏿.🧓.🧓🏻.🧓🏼.🧓🏽.🧓🏾.🧓🏿.🧔.🧔♀️.🧔♂️.🧔🏻.🧔🏻♀️.🧔🏻♂️.🧔🏼.🧔🏼♀️.🧔🏼♂️.🧔🏽.🧔🏽♀️.🧔🏽♂️.🧔🏾.🧔🏾♀️.🧔🏾♂️.🧔🏿.🧔🏿♀️.🧔🏿♂️.🧕.🧕🏻.🧕🏼.🧕🏽.🧕🏾.🧕🏿.🧙.🧙♀️.🧙♂️.🧙🏻.🧙🏻♀️.🧙🏻♂️.🧙🏼.🧙🏼♀️.🧙🏼♂️.🧙🏽.🧙🏽♀️.🧙🏽♂️.🧙🏾.🧙🏾♀️.🧙🏾♂️.🧙🏿.🧙🏿♀️.🧙🏿♂️.🧚.🧚♀️.🧚♂️.🧚🏻.🧚🏻♀️.🧚🏻♂️.🧚🏼.🧚🏼♀️.🧚🏼♂️.🧚🏽.🧚🏽♀️.🧚🏽♂️.🧚🏾.🧚🏾♀️.🧚🏾♂️.🧚🏿.🧚🏿♀️.🧚🏿♂️.🧛.🧛♀️.🧛♂️.🧛🏻.🧛🏻♀️.🧛🏻♂️.🧛🏼.🧛🏼♀️.🧛🏼♂️.🧛🏽.🧛🏽♀️.🧛🏽♂️.🧛🏾.🧛🏾♀️.🧛🏾♂️.🧛🏿.🧛🏿♀️.🧛🏿♂️.🧜.🧜♀️.🧜♂️.🧜🏻.🧜🏻♀️.🧜🏻♂️.🧜🏼.🧜🏼♀️.🧜🏼♂️.🧜🏽.🧜🏽♀️.🧜🏽♂️.🧜🏾.🧜🏾♀️.🧜🏾♂️.🧜🏿.🧜🏿♀️.🧜🏿♂️.🧝.🧝♀️.🧝♂️.🧝🏻.🧝🏻♀️.🧝🏻♂️.🧝🏼.🧝🏼♀️.🧝🏼♂️.🧝🏽.🧝🏽♀️.🧝🏽♂️.🧝🏾.🧝🏾♀️.🧝🏾♂️.🧝🏿.🧝🏿♀️.🧝🏿♂️.🧞.🧞♀️.🧞♂️.🧟.🧟♀️.🧟♂️`.split(`.`),nature:`☘️.🌱.🌲.🌳.🌴.🌵.🌷.🌸.🌹.🌺.🌻.🌼.🌾.🌿.🍀.🍁.🍂.🍃.🏵️.🐀.🐁.🐂.🐃.🐄.🐅.🐆.🐇.🐈.🐈⬛.🐉.🐊.🐋.🐌.🐍.🐎.🐏.🐐.🐑.🐒.🐓.🐔.🐕.🐕🦺.🐖.🐗.🐘.🐙.🐚.🐛.🐜.🐝.🐞.🐟.🐠.🐡.🐢.🐣.🐤.🐥.🐦.🐧.🐨.🐩.🐪.🐫.🐬.🐭.🐮.🐯.🐰.🐱.🐲.🐳.🐴.🐵.🐶.🐷.🐸.🐹.🐺.🐻.🐻❄️.🐼.🐽.🐾.🐿️.💐.💮.🕊️.🕷️.🕸️.🥀.🦁.🦂.🦃.🦄.🦅.🦆.🦇.🦈.🦉.🦊.🦋.🦌.🦍.🦎.🦏.🦒.🦓.🦔.🦕.🦖.🦗.🦘.🦙.🦚.🦛.🦜.🦝.🦟.🦠.🦡.🦢.🦣.🦤.🦥.🦦.🦧.🦨.🦩.🦫.🦬.🦭.🦮.🪰.🪱.🪲.🪳.🪴.🪶`.split(`.`),food:`☕.🌭.🌮.🌯.🌰.🌶️.🌽.🍄.🍅.🍆.🍇.🍈.🍉.🍊.🍋.🍌.🍍.🍎.🍏.🍐.🍑.🍒.🍓.🍔.🍕.🍖.🍗.🍘.🍙.🍚.🍛.🍜.🍝.🍞.🍟.🍠.🍡.🍢.🍣.🍤.🍥.🍦.🍧.🍨.🍩.🍪.🍫.🍬.🍭.🍮.🍯.🍰.🍱.🍲.🍳.🍴.🍵.🍶.🍷.🍸.🍹.🍺.🍻.🍼.🍽️.🍾.🍿.🎂.🏺.🔪.🥂.🥃.🥄.🥐.🥑.🥒.🥓.🥔.🥕.🥖.🥗.🥘.🥙.🥚.🥛.🥜.🥝.🥞.🥟.🥠.🥡.🥢.🥣.🥤.🥥.🥦.🥧.🥨.🥩.🥪.🥫.🥬.🥭.🥮.🥯.🦀.🦐.🦑.🦞.🦪.🧀.🧁.🧂.🧃.🧄.🧅.🧆.🧇.🧈.🧉.🧊.🧋.🫐.🫑.🫒.🫓.🫔.🫕.🫖`.split(`.`),travel:`⌚.⌛.⏰.⏱️.⏲️.⏳.☀️.☁️.☂️.☃️.☄️.☔.♨️.⚓.⚡.⛄.⛅.⛈️.⛩️.⛪.⛰️.⛱️.⛲.⛴️.⛵.⛺.⛽.✈️.❄️.⭐.🌀.🌁.🌂.🌃.🌄.🌅.🌆.🌇.🌈.🌉.🌊.🌋.🌌.🌍.🌎.🌏.🌐.🌑.🌒.🌓.🌔.🌕.🌖.🌗.🌘.🌙.🌚.🌛.🌜.🌝.🌞.🌟.🌠.🌡️.🌤️.🌥️.🌦️.🌧️.🌨️.🌩️.🌪️.🌫️.🌬️.🎠.🎡.🎢.🎪.🏍️.🏎️.🏔️.🏕️.🏖️.🏗️.🏘️.🏙️.🏚️.🏛️.🏜️.🏝️.🏞️.🏟️.🏠.🏡.🏢.🏣.🏤.🏥.🏦.🏨.🏩.🏪.🏫.🏬.🏭.🏯.🏰.💈.💒.💧.💺.🔥.🕋.🕌.🕍.🕐.🕑.🕒.🕓.🕔.🕕.🕖.🕗.🕘.🕙.🕚.🕛.🕜.🕝.🕞.🕟.🕠.🕡.🕢.🕣.🕤.🕥.🕦.🕧.🕰️.🗺️.🗻.🗼.🗽.🗾.🚀.🚁.🚂.🚃.🚄.🚅.🚆.🚇.🚈.🚉.🚊.🚋.🚌.🚍.🚎.🚏.🚐.🚑.🚒.🚓.🚔.🚕.🚖.🚗.🚘.🚙.🚚.🚛.🚜.🚝.🚞.🚟.🚠.🚡.🚢.🚤.🚥.🚦.🚧.🚨.🚲.🛎️.🛑.🛕.🛖.🛢️.🛣️.🛤️.🛥️.🛩️.🛫.🛬.🛰️.🛳️.🛴.🛵.🛶.🛸.🛹.🛺.🛻.🛼.🦼.🦽.🧭.🧱.🧳.🪂.🪐.🪨.🪵`.split(`.`),activity:`♟️.♠️.♣️.♥️.♦️.⚽.⚾.⛳.⛸️.✨.🀄.🃏.🎀.🎁.🎃.🎄.🎆.🎇.🎈.🎉.🎊.🎋.🎍.🎎.🎏.🎐.🎑.🎖️.🎗️.🎟️.🎣.🎨.🎫.🎭.🎮.🎯.🎰.🎱.🎲.🎳.🎴.🎽.🎾.🎿.🏀.🏅.🏆.🏈.🏉.🏏.🏐.🏑.🏒.🏓.🏸.🔮.🕹️.🖼️.🛷.🤿.🥅.🥇.🥈.🥉.🥊.🥋.🥌.🥍.🥎.🥏.🧧.🧨.🧩.🧵.🧶.🧸.🧿.🪀.🪁.🪄.🪅.🪆.🪡.🪢`.split(`.`),object:`⌨️.☎️.⚒️.⚔️.⚖️.⚗️.⚙️.⚰️.⚱️.⛏️.⛑️.⛓️.✂️.✉️.✏️.✒️.🎒.🎓.🎙️.🎚️.🎛️.🎞️.🎤.🎥.🎧.🎩.🎬.🎵.🎶.🎷.🎸.🎹.🎺.🎻.🎼.🏮.🏷️.🏹.👑.👒.👓.👔.👕.👖.👗.👘.👙.👚.👛.👜.👝.👞.👟.👠.👡.👢.💄.💉.💊.💍.💎.💡.💰.💳.💴.💵.💶.💷.💸.💹.💻.💼.💽.💾.💿.📀.📁.📂.📃.📄.📅.📆.📇.📈.📉.📊.📋.📌.📍.📎.📏.📐.📑.📒.📓.📔.📕.📖.📗.📘.📙.📚.📜.📝.📞.📟.📠.📡.📢.📣.📤.📥.📦.📧.📨.📩.📪.📫.📬.📭.📮.📯.📰.📱.📲.📷.📸.📹.📺.📻.📼.📽️.📿.🔇.🔈.🔉.🔊.🔋.🔌.🔍.🔎.🔏.🔐.🔑.🔒.🔓.🔔.🔕.🔖.🔗.🔦.🔧.🔨.🔩.🔫.🔬.🔭.🕯️.🕶️.🖇️.🖊️.🖋️.🖌️.🖍️.🖥️.🖨️.🖱️.🖲️.🗂️.🗃️.🗄️.🗑️.🗒️.🗓️.🗜️.🗝️.🗞️.🗡️.🗳️.🗿.🚪.🚬.🚽.🚿.🛁.🛋️.🛍️.🛏️.🛒.🛗.🛠️.🛡️.🥁.🥻.🥼.🥽.🥾.🥿.🦯.🦺.🧢.🧣.🧤.🧥.🧦.🧪.🧫.🧬.🧮.🧯.🧰.🧲.🧴.🧷.🧹.🧺.🧻.🧼.🧽.🧾.🩰.🩱.🩲.🩳.🩴.🩸.🩹.🩺.🪃.🪑.🪒.🪓.🪔.🪕.🪖.🪗.🪘.🪙.🪚.🪛.🪜.🪝.🪞.🪟.🪠.🪣.🪤.🪥.🪦.🪧`.split(`.`),symbol:`#️⃣.*️⃣.0️⃣.1️⃣.2️⃣.3️⃣.4️⃣.5️⃣.6️⃣.7️⃣.8️⃣.9️⃣.©️.®️.‼️.⁉️.™️.ℹ️.↔️.↕️.↖️.↗️.↘️.↙️.↩️.↪️.⏏️.⏩.⏪.⏫.⏬.⏭️.⏮️.⏯️.⏸️.⏹️.⏺️.Ⓜ️.▪️.▫️.▶️.◀️.◻️.◼️.◽.◾.☑️.☢️.☣️.☦️.☪️.☮️.☯️.☸️.♀️.♂️.♈.♉.♊.♋.♌.♍.♎.♏.♐.♑.♒.♓.♻️.♾️.♿.⚕️.⚛️.⚜️.⚠️.⚧️.⚪.⚫.⛎.⛔.✅.✔️.✖️.✝️.✡️.✳️.✴️.❇️.❌.❎.❓.❔.❕.❗.➕.➖.➗.➡️.➰.➿.⤴️.⤵️.⬅️.⬆️.⬇️.⬛.⬜.⭕.〰️.〽️.㊗️.㊙️.🅰️.🅱️.🅾️.🅿️.🆎.🆑.🆒.🆓.🆔.🆕.🆖.🆗.🆘.🆙.🆚.🈁.🈂️.🈚.🈯.🈲.🈳.🈴.🈵.🈶.🈷️.🈸.🈹.🈺.🉐.🉑.🎦.🏧.💠.💱.💲.📛.📳.📴.📵.📶.🔀.🔁.🔂.🔃.🔄.🔅.🔆.🔘.🔙.🔚.🔛.🔜.🔝.🔞.🔟.🔠.🔡.🔢.🔣.🔤.🔯.🔰.🔱.🔲.🔳.🔴.🔵.🔶.🔷.🔸.🔹.🔺.🔻.🔼.🔽.🕉️.🕎.🚫.🚭.🚮.🚯.🚰.🚱.🚳.🚷.🚸.🚹.🚺.🚻.🚼.🚾.🛂.🛃.🛄.🛅.🛐.🟠.🟡.🟢.🟣.🟤.🟥.🟦.🟧.🟨.🟩.🟪.🟫`.split(`.`),flag:`🇦🇨.🇦🇩.🇦🇪.🇦🇫.🇦🇬.🇦🇮.🇦🇱.🇦🇲.🇦🇴.🇦🇶.🇦🇷.🇦🇸.🇦🇹.🇦🇺.🇦🇼.🇦🇽.🇦🇿.🇧🇦.🇧🇧.🇧🇩.🇧🇪.🇧🇫.🇧🇬.🇧🇭.🇧🇮.🇧🇯.🇧🇱.🇧🇲.🇧🇳.🇧🇴.🇧🇶.🇧🇷.🇧🇸.🇧🇹.🇧🇻.🇧🇼.🇧🇾.🇧🇿.🇨🇦.🇨🇨.🇨🇩.🇨🇫.🇨🇬.🇨🇭.🇨🇮.🇨🇰.🇨🇱.🇨🇲.🇨🇳.🇨🇴.🇨🇵.🇨🇷.🇨🇺.🇨🇻.🇨🇼.🇨🇽.🇨🇾.🇨🇿.🇩🇪.🇩🇬.🇩🇯.🇩🇰.🇩🇲.🇩🇴.🇩🇿.🇪🇦.🇪🇨.🇪🇪.🇪🇬.🇪🇭.🇪🇷.🇪🇸.🇪🇹.🇪🇺.🇫🇮.🇫🇯.🇫🇰.🇫🇲.🇫🇴.🇫🇷.🇬🇦.🇬🇧.🇬🇩.🇬🇪.🇬🇫.🇬🇬.🇬🇭.🇬🇮.🇬🇱.🇬🇲.🇬🇳.🇬🇵.🇬🇶.🇬🇷.🇬🇸.🇬🇹.🇬🇺.🇬🇼.🇬🇾.🇭🇰.🇭🇲.🇭🇳.🇭🇷.🇭🇹.🇭🇺.🇮🇨.🇮🇩.🇮🇪.🇮🇱.🇮🇲.🇮🇳.🇮🇴.🇮🇶.🇮🇷.🇮🇸.🇮🇹.🇯🇪.🇯🇲.🇯🇴.🇯🇵.🇰🇪.🇰🇬.🇰🇭.🇰🇮.🇰🇲.🇰🇳.🇰🇵.🇰🇷.🇰🇼.🇰🇾.🇰🇿.🇱🇦.🇱🇧.🇱🇨.🇱🇮.🇱🇰.🇱🇷.🇱🇸.🇱🇹.🇱🇺.🇱🇻.🇱🇾.🇲🇦.🇲🇨.🇲🇩.🇲🇪.🇲🇫.🇲🇬.🇲🇭.🇲🇰.🇲🇱.🇲🇲.🇲🇳.🇲🇴.🇲🇵.🇲🇶.🇲🇷.🇲🇸.🇲🇹.🇲🇺.🇲🇻.🇲🇼.🇲🇽.🇲🇾.🇲🇿.🇳🇦.🇳🇨.🇳🇪.🇳🇫.🇳🇬.🇳🇮.🇳🇱.🇳🇴.🇳🇵.🇳🇷.🇳🇺.🇳🇿.🇴🇲.🇵🇦.🇵🇪.🇵🇫.🇵🇬.🇵🇭.🇵🇰.🇵🇱.🇵🇲.🇵🇳.🇵🇷.🇵🇸.🇵🇹.🇵🇼.🇵🇾.🇶🇦.🇷🇪.🇷🇴.🇷🇸.🇷🇺.🇷🇼.🇸🇦.🇸🇧.🇸🇨.🇸🇩.🇸🇪.🇸🇬.🇸🇭.🇸🇮.🇸🇯.🇸🇰.🇸🇱.🇸🇲.🇸🇳.🇸🇴.🇸🇷.🇸🇸.🇸🇹.🇸🇻.🇸🇽.🇸🇾.🇸🇿.🇹🇦.🇹🇨.🇹🇩.🇹🇫.🇹🇬.🇹🇭.🇹🇯.🇹🇰.🇹🇱.🇹🇲.🇹🇳.🇹🇴.🇹🇷.🇹🇹.🇹🇻.🇹🇼.🇹🇿.🇺🇦.🇺🇬.🇺🇲.🇺🇳.🇺🇸.🇺🇾.🇺🇿.🇻🇦.🇻🇨.🇻🇪.🇻🇬.🇻🇮.🇻🇳.🇻🇺.🇼🇫.🇼🇸.🇽🇰.🇾🇪.🇾🇹.🇿🇦.🇿🇲.🇿🇼.🎌.🏁.🏳️.🏳️⚧️.🏳️🌈.🏴.🏴☠️.🚩`.split(`.`)},http_status_code:{informational:[100,101,102,103],success:[200,201,202,203,204,205,206,207,208,226],redirection:[300,301,302,303,304,305,306,307,308],clientError:[400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,425,426,428,429,431,451],serverError:[500,501,502,503,504,505,506,507,508,510,511]},jwt_algorithm:[`ES256`,`ES384`,`ES512`,`HS256`,`HS384`,`HS512`,`PS256`,`PS384`,`PS512`,`RS256`,`RS384`,`RS512`,`none`],user_agent_pattern:[`FakerBot/{{system.semver}}`,`Googlebot/2.1 (+http://www.google.com/bot.html)`,`Mozilla/5.0 (Linux; Android {{number.int({\"min\":5,\"max\":13})}}; {{helpers.arrayElement([\"SM-G998U\",\"SM-G998B\",\"SM-G998N\",\"SM-G998P\",\"SM-T800\"])}}) AppleWebKit/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}} (KHTML, like Gecko) Chrome/{{number.int({\"min\":55,\"max\":131})}}.{{system.semver}} Mobile Safari/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}`,`Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:{{number.int({\"min\":75, \"max\":133})}}.0) Gecko/20100101 Firefox/{{number.int({\"min\":75, \"max\":133})}}.0`,`Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}.{{number.int({\"min\":0,\"max\":99})}} (KHTML, like Gecko) Version/16.1 Safari/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}.{{number.int({\"min\":0,\"max\":99})}}`,`Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_15_7) AppleWebKit/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}.{{number.int({\"min\":0,\"max\":99})}} (KHTML, like Gecko) Chrome/{{number.int({\"min\":55,\"max\":131})}}.{{system.semver}} Safari/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}.{{number.int({\"min\":0,\"max\":99})}}`,`Mozilla/5.0 (Windows NT {{helpers.arrayElement([\"5.1\",\"5.2\",\"6.0\",\"6.1\",\"6.2\",\"6.3\",\"10.0\"])}}; Win64; x64) AppleWebKit/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}} (KHTML, like Gecko) Chrome/{{number.int({\"min\":55,\"max\":131})}}.{{system.semver}} Safari/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}} Edg/{{number.int({\"min\":110,\"max\":131})}}.{{system.semver}}`,`Mozilla/5.0 (X11; Linux x86_64; rv:{{number.int({\"min\":75,\"max\":133})}}.0) Gecko/20100101 Firefox/{{number.int({\"min\":75,\"max\":133})}}.0`,`Mozilla/5.0 (compatible; MSIE {{number.int({\"min\":6,\"max\":10})}}.0; Windows NT {{helpers.arrayElement([\"5.1\",\"5.2\",\"6.0\",\"6.1\",\"6.2\",\"6.3\",\"10.0\"])}}; Trident/{{number.int({\"min\":4,\"max\":7})}}.0)`,`Mozilla/5.0 (iPhone; CPU iPhone OS {{number.int({\"min\":10,\"max\":18})}}_{{number.int({\"min\":0,\"max\":4})}} like Mac OS X) AppleWebKit/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}.{{number.int({\"min\":0,\"max\":99})}} (KHTML, like Gecko) Version/{{number.int({\"min\":10,\"max\":18})}}_{{number.int({\"min\":0,\"max\":4})}} Mobile/15E148 Safari/{{number.int({\"min\":536,\"max\":605})}}.{{number.int({\"min\":0,\"max\":99})}}`]},location:{country_code:[{alpha2:`AD`,alpha3:`AND`,numeric:`020`},{alpha2:`AE`,alpha3:`ARE`,numeric:`784`},{alpha2:`AF`,alpha3:`AFG`,numeric:`004`},{alpha2:`AG`,alpha3:`ATG`,numeric:`028`},{alpha2:`AI`,alpha3:`AIA`,numeric:`660`},{alpha2:`AL`,alpha3:`ALB`,numeric:`008`},{alpha2:`AM`,alpha3:`ARM`,numeric:`051`},{alpha2:`AO`,alpha3:`AGO`,numeric:`024`},{alpha2:`AQ`,alpha3:`ATA`,numeric:`010`},{alpha2:`AR`,alpha3:`ARG`,numeric:`032`},{alpha2:`AS`,alpha3:`ASM`,numeric:`016`},{alpha2:`AT`,alpha3:`AUT`,numeric:`040`},{alpha2:`AU`,alpha3:`AUS`,numeric:`036`},{alpha2:`AW`,alpha3:`ABW`,numeric:`533`},{alpha2:`AX`,alpha3:`ALA`,numeric:`248`},{alpha2:`AZ`,alpha3:`AZE`,numeric:`031`},{alpha2:`BA`,alpha3:`BIH`,numeric:`070`},{alpha2:`BB`,alpha3:`BRB`,numeric:`052`},{alpha2:`BD`,alpha3:`BGD`,numeric:`050`},{alpha2:`BE`,alpha3:`BEL`,numeric:`056`},{alpha2:`BF`,alpha3:`BFA`,numeric:`854`},{alpha2:`BG`,alpha3:`BGR`,numeric:`100`},{alpha2:`BH`,alpha3:`BHR`,numeric:`048`},{alpha2:`BI`,alpha3:`BDI`,numeric:`108`},{alpha2:`BJ`,alpha3:`BEN`,numeric:`204`},{alpha2:`BL`,alpha3:`BLM`,numeric:`652`},{alpha2:`BM`,alpha3:`BMU`,numeric:`060`},{alpha2:`BN`,alpha3:`BRN`,numeric:`096`},{alpha2:`BO`,alpha3:`BOL`,numeric:`068`},{alpha2:`BQ`,alpha3:`BES`,numeric:`535`},{alpha2:`BR`,alpha3:`BRA`,numeric:`076`},{alpha2:`BS`,alpha3:`BHS`,numeric:`044`},{alpha2:`BT`,alpha3:`BTN`,numeric:`064`},{alpha2:`BV`,alpha3:`BVT`,numeric:`074`},{alpha2:`BW`,alpha3:`BWA`,numeric:`072`},{alpha2:`BY`,alpha3:`BLR`,numeric:`112`},{alpha2:`BZ`,alpha3:`BLZ`,numeric:`084`},{alpha2:`CA`,alpha3:`CAN`,numeric:`124`},{alpha2:`CC`,alpha3:`CCK`,numeric:`166`},{alpha2:`CD`,alpha3:`COD`,numeric:`180`},{alpha2:`CF`,alpha3:`CAF`,numeric:`140`},{alpha2:`CG`,alpha3:`COG`,numeric:`178`},{alpha2:`CH`,alpha3:`CHE`,numeric:`756`},{alpha2:`CI`,alpha3:`CIV`,numeric:`384`},{alpha2:`CK`,alpha3:`COK`,numeric:`184`},{alpha2:`CL`,alpha3:`CHL`,numeric:`152`},{alpha2:`CM`,alpha3:`CMR`,numeric:`120`},{alpha2:`CN`,alpha3:`CHN`,numeric:`156`},{alpha2:`CO`,alpha3:`COL`,numeric:`170`},{alpha2:`CR`,alpha3:`CRI`,numeric:`188`},{alpha2:`CU`,alpha3:`CUB`,numeric:`192`},{alpha2:`CV`,alpha3:`CPV`,numeric:`132`},{alpha2:`CW`,alpha3:`CUW`,numeric:`531`},{alpha2:`CX`,alpha3:`CXR`,numeric:`162`},{alpha2:`CY`,alpha3:`CYP`,numeric:`196`},{alpha2:`CZ`,alpha3:`CZE`,numeric:`203`},{alpha2:`DE`,alpha3:`DEU`,numeric:`276`},{alpha2:`DJ`,alpha3:`DJI`,numeric:`262`},{alpha2:`DK`,alpha3:`DNK`,numeric:`208`},{alpha2:`DM`,alpha3:`DMA`,numeric:`212`},{alpha2:`DO`,alpha3:`DOM`,numeric:`214`},{alpha2:`DZ`,alpha3:`DZA`,numeric:`012`},{alpha2:`EC`,alpha3:`ECU`,numeric:`218`},{alpha2:`EE`,alpha3:`EST`,numeric:`233`},{alpha2:`EG`,alpha3:`EGY`,numeric:`818`},{alpha2:`EH`,alpha3:`ESH`,numeric:`732`},{alpha2:`ER`,alpha3:`ERI`,numeric:`232`},{alpha2:`ES`,alpha3:`ESP`,numeric:`724`},{alpha2:`ET`,alpha3:`ETH`,numeric:`231`},{alpha2:`FI`,alpha3:`FIN`,numeric:`246`},{alpha2:`FJ`,alpha3:`FJI`,numeric:`242`},{alpha2:`FK`,alpha3:`FLK`,numeric:`238`},{alpha2:`FM`,alpha3:`FSM`,numeric:`583`},{alpha2:`FO`,alpha3:`FRO`,numeric:`234`},{alpha2:`FR`,alpha3:`FRA`,numeric:`250`},{alpha2:`GA`,alpha3:`GAB`,numeric:`266`},{alpha2:`GB`,alpha3:`GBR`,numeric:`826`},{alpha2:`GD`,alpha3:`GRD`,numeric:`308`},{alpha2:`GE`,alpha3:`GEO`,numeric:`268`},{alpha2:`GF`,alpha3:`GUF`,numeric:`254`},{alpha2:`GG`,alpha3:`GGY`,numeric:`831`},{alpha2:`GH`,alpha3:`GHA`,numeric:`288`},{alpha2:`GI`,alpha3:`GIB`,numeric:`292`},{alpha2:`GL`,alpha3:`GRL`,numeric:`304`},{alpha2:`GM`,alpha3:`GMB`,numeric:`270`},{alpha2:`GN`,alpha3:`GIN`,numeric:`324`},{alpha2:`GP`,alpha3:`GLP`,numeric:`312`},{alpha2:`GQ`,alpha3:`GNQ`,numeric:`226`},{alpha2:`GR`,alpha3:`GRC`,numeric:`300`},{alpha2:`GS`,alpha3:`SGS`,numeric:`239`},{alpha2:`GT`,alpha3:`GTM`,numeric:`320`},{alpha2:`GU`,alpha3:`GUM`,numeric:`316`},{alpha2:`GW`,alpha3:`GNB`,numeric:`624`},{alpha2:`GY`,alpha3:`GUY`,numeric:`328`},{alpha2:`HK`,alpha3:`HKG`,numeric:`344`},{alpha2:`HM`,alpha3:`HMD`,numeric:`334`},{alpha2:`HN`,alpha3:`HND`,numeric:`340`},{alpha2:`HR`,alpha3:`HRV`,numeric:`191`},{alpha2:`HT`,alpha3:`HTI`,numeric:`332`},{alpha2:`HU`,alpha3:`HUN`,numeric:`348`},{alpha2:`ID`,alpha3:`IDN`,numeric:`360`},{alpha2:`IE`,alpha3:`IRL`,numeric:`372`},{alpha2:`IL`,alpha3:`ISR`,numeric:`376`},{alpha2:`IM`,alpha3:`IMN`,numeric:`833`},{alpha2:`IN`,alpha3:`IND`,numeric:`356`},{alpha2:`IO`,alpha3:`IOT`,numeric:`086`},{alpha2:`IQ`,alpha3:`IRQ`,numeric:`368`},{alpha2:`IR`,alpha3:`IRN`,numeric:`364`},{alpha2:`IS`,alpha3:`ISL`,numeric:`352`},{alpha2:`IT`,alpha3:`ITA`,numeric:`380`},{alpha2:`JE`,alpha3:`JEY`,numeric:`832`},{alpha2:`JM`,alpha3:`JAM`,numeric:`388`},{alpha2:`JO`,alpha3:`JOR`,numeric:`400`},{alpha2:`JP`,alpha3:`JPN`,numeric:`392`},{alpha2:`KE`,alpha3:`KEN`,numeric:`404`},{alpha2:`KG`,alpha3:`KGZ`,numeric:`417`},{alpha2:`KH`,alpha3:`KHM`,numeric:`116`},{alpha2:`KI`,alpha3:`KIR`,numeric:`296`},{alpha2:`KM`,alpha3:`COM`,numeric:`174`},{alpha2:`KN`,alpha3:`KNA`,numeric:`659`},{alpha2:`KP`,alpha3:`PRK`,numeric:`408`},{alpha2:`KR`,alpha3:`KOR`,numeric:`410`},{alpha2:`KW`,alpha3:`KWT`,numeric:`414`},{alpha2:`KY`,alpha3:`CYM`,numeric:`136`},{alpha2:`KZ`,alpha3:`KAZ`,numeric:`398`},{alpha2:`LA`,alpha3:`LAO`,numeric:`418`},{alpha2:`LB`,alpha3:`LBN`,numeric:`422`},{alpha2:`LC`,alpha3:`LCA`,numeric:`662`},{alpha2:`LI`,alpha3:`LIE`,numeric:`438`},{alpha2:`LK`,alpha3:`LKA`,numeric:`144`},{alpha2:`LR`,alpha3:`LBR`,numeric:`430`},{alpha2:`LS`,alpha3:`LSO`,numeric:`426`},{alpha2:`LT`,alpha3:`LTU`,numeric:`440`},{alpha2:`LU`,alpha3:`LUX`,numeric:`442`},{alpha2:`LV`,alpha3:`LVA`,numeric:`428`},{alpha2:`LY`,alpha3:`LBY`,numeric:`434`},{alpha2:`MA`,alpha3:`MAR`,numeric:`504`},{alpha2:`MC`,alpha3:`MCO`,numeric:`492`},{alpha2:`MD`,alpha3:`MDA`,numeric:`498`},{alpha2:`ME`,alpha3:`MNE`,numeric:`499`},{alpha2:`MF`,alpha3:`MAF`,numeric:`663`},{alpha2:`MG`,alpha3:`MDG`,numeric:`450`},{alpha2:`MH`,alpha3:`MHL`,numeric:`584`},{alpha2:`MK`,alpha3:`MKD`,numeric:`807`},{alpha2:`ML`,alpha3:`MLI`,numeric:`466`},{alpha2:`MM`,alpha3:`MMR`,numeric:`104`},{alpha2:`MN`,alpha3:`MNG`,numeric:`496`},{alpha2:`MO`,alpha3:`MAC`,numeric:`446`},{alpha2:`MP`,alpha3:`MNP`,numeric:`580`},{alpha2:`MQ`,alpha3:`MTQ`,numeric:`474`},{alpha2:`MR`,alpha3:`MRT`,numeric:`478`},{alpha2:`MS`,alpha3:`MSR`,numeric:`500`},{alpha2:`MT`,alpha3:`MLT`,numeric:`470`},{alpha2:`MU`,alpha3:`MUS`,numeric:`480`},{alpha2:`MV`,alpha3:`MDV`,numeric:`462`},{alpha2:`MW`,alpha3:`MWI`,numeric:`454`},{alpha2:`MX`,alpha3:`MEX`,numeric:`484`},{alpha2:`MY`,alpha3:`MYS`,numeric:`458`},{alpha2:`MZ`,alpha3:`MOZ`,numeric:`508`},{alpha2:`NA`,alpha3:`NAM`,numeric:`516`},{alpha2:`NC`,alpha3:`NCL`,numeric:`540`},{alpha2:`NE`,alpha3:`NER`,numeric:`562`},{alpha2:`NF`,alpha3:`NFK`,numeric:`574`},{alpha2:`NG`,alpha3:`NGA`,numeric:`566`},{alpha2:`NI`,alpha3:`NIC`,numeric:`558`},{alpha2:`NL`,alpha3:`NLD`,numeric:`528`},{alpha2:`NO`,alpha3:`NOR`,numeric:`578`},{alpha2:`NP`,alpha3:`NPL`,numeric:`524`},{alpha2:`NR`,alpha3:`NRU`,numeric:`520`},{alpha2:`NU`,alpha3:`NIU`,numeric:`570`},{alpha2:`NZ`,alpha3:`NZL`,numeric:`554`},{alpha2:`OM`,alpha3:`OMN`,numeric:`512`},{alpha2:`PA`,alpha3:`PAN`,numeric:`591`},{alpha2:`PE`,alpha3:`PER`,numeric:`604`},{alpha2:`PF`,alpha3:`PYF`,numeric:`258`},{alpha2:`PG`,alpha3:`PNG`,numeric:`598`},{alpha2:`PH`,alpha3:`PHL`,numeric:`608`},{alpha2:`PK`,alpha3:`PAK`,numeric:`586`},{alpha2:`PL`,alpha3:`POL`,numeric:`616`},{alpha2:`PM`,alpha3:`SPM`,numeric:`666`},{alpha2:`PN`,alpha3:`PCN`,numeric:`612`},{alpha2:`PR`,alpha3:`PRI`,numeric:`630`},{alpha2:`PS`,alpha3:`PSE`,numeric:`275`},{alpha2:`PT`,alpha3:`PRT`,numeric:`620`},{alpha2:`PW`,alpha3:`PLW`,numeric:`585`},{alpha2:`PY`,alpha3:`PRY`,numeric:`600`},{alpha2:`QA`,alpha3:`QAT`,numeric:`634`},{alpha2:`RE`,alpha3:`REU`,numeric:`638`},{alpha2:`RO`,alpha3:`ROU`,numeric:`642`},{alpha2:`RS`,alpha3:`SRB`,numeric:`688`},{alpha2:`RU`,alpha3:`RUS`,numeric:`643`},{alpha2:`RW`,alpha3:`RWA`,numeric:`646`},{alpha2:`SA`,alpha3:`SAU`,numeric:`682`},{alpha2:`SB`,alpha3:`SLB`,numeric:`090`},{alpha2:`SC`,alpha3:`SYC`,numeric:`690`},{alpha2:`SD`,alpha3:`SDN`,numeric:`729`},{alpha2:`SE`,alpha3:`SWE`,numeric:`752`},{alpha2:`SG`,alpha3:`SGP`,numeric:`702`},{alpha2:`SH`,alpha3:`SHN`,numeric:`654`},{alpha2:`SI`,alpha3:`SVN`,numeric:`705`},{alpha2:`SJ`,alpha3:`SJM`,numeric:`744`},{alpha2:`SK`,alpha3:`SVK`,numeric:`703`},{alpha2:`SL`,alpha3:`SLE`,numeric:`694`},{alpha2:`SM`,alpha3:`SMR`,numeric:`674`},{alpha2:`SN`,alpha3:`SEN`,numeric:`686`},{alpha2:`SO`,alpha3:`SOM`,numeric:`706`},{alpha2:`SR`,alpha3:`SUR`,numeric:`740`},{alpha2:`SS`,alpha3:`SSD`,numeric:`728`},{alpha2:`ST`,alpha3:`STP`,numeric:`678`},{alpha2:`SV`,alpha3:`SLV`,numeric:`222`},{alpha2:`SX`,alpha3:`SXM`,numeric:`534`},{alpha2:`SY`,alpha3:`SYR`,numeric:`760`},{alpha2:`SZ`,alpha3:`SWZ`,numeric:`748`},{alpha2:`TC`,alpha3:`TCA`,numeric:`796`},{alpha2:`TD`,alpha3:`TCD`,numeric:`148`},{alpha2:`TF`,alpha3:`ATF`,numeric:`260`},{alpha2:`TG`,alpha3:`TGO`,numeric:`768`},{alpha2:`TH`,alpha3:`THA`,numeric:`764`},{alpha2:`TJ`,alpha3:`TJK`,numeric:`762`},{alpha2:`TK`,alpha3:`TKL`,numeric:`772`},{alpha2:`TL`,alpha3:`TLS`,numeric:`626`},{alpha2:`TM`,alpha3:`TKM`,numeric:`795`},{alpha2:`TN`,alpha3:`TUN`,numeric:`788`},{alpha2:`TO`,alpha3:`TON`,numeric:`776`},{alpha2:`TR`,alpha3:`TUR`,numeric:`792`},{alpha2:`TT`,alpha3:`TTO`,numeric:`780`},{alpha2:`TV`,alpha3:`TUV`,numeric:`798`},{alpha2:`TW`,alpha3:`TWN`,numeric:`158`},{alpha2:`TZ`,alpha3:`TZA`,numeric:`834`},{alpha2:`UA`,alpha3:`UKR`,numeric:`804`},{alpha2:`UG`,alpha3:`UGA`,numeric:`800`},{alpha2:`UM`,alpha3:`UMI`,numeric:`581`},{alpha2:`US`,alpha3:`USA`,numeric:`840`},{alpha2:`UY`,alpha3:`URY`,numeric:`858`},{alpha2:`UZ`,alpha3:`UZB`,numeric:`860`},{alpha2:`VA`,alpha3:`VAT`,numeric:`336`},{alpha2:`VC`,alpha3:`VCT`,numeric:`670`},{alpha2:`VE`,alpha3:`VEN`,numeric:`862`},{alpha2:`VG`,alpha3:`VGB`,numeric:`092`},{alpha2:`VI`,alpha3:`VIR`,numeric:`850`},{alpha2:`VN`,alpha3:`VNM`,numeric:`704`},{alpha2:`VU`,alpha3:`VUT`,numeric:`548`},{alpha2:`WF`,alpha3:`WLF`,numeric:`876`},{alpha2:`WS`,alpha3:`WSM`,numeric:`882`},{alpha2:`YE`,alpha3:`YEM`,numeric:`887`},{alpha2:`YT`,alpha3:`MYT`,numeric:`175`},{alpha2:`ZA`,alpha3:`ZAF`,numeric:`710`},{alpha2:`ZM`,alpha3:`ZMB`,numeric:`894`},{alpha2:`ZW`,alpha3:`ZWE`,numeric:`716`}],time_zone:Et},metadata:{title:`Base`,code:`base`},system:{directory_path:`/Applications./Library./Network./System./Users./bin./boot./boot/defaults./dev./etc./etc/defaults./etc/mail./etc/namedb./etc/periodic./etc/ppp./home./home/user./home/user/dir./lib./lost+found./media./mnt./net./opt./opt/bin./opt/include./opt/lib./opt/sbin./opt/share./private./private/tmp./private/var./proc./rescue./root./sbin./selinux./srv./sys./tmp./usr./usr/X11R6./usr/bin./usr/include./usr/lib./usr/libdata./usr/libexec./usr/local/bin./usr/local/src./usr/obj./usr/ports./usr/sbin./usr/share./usr/src./var./var/log./var/mail./var/spool./var/tmp./var/yp`.split(`.`),mime_type:{\"application/epub+zip\":{extensions:[`epub`]},\"application/gzip\":{extensions:[`gz`]},\"application/java-archive\":{extensions:[`ear`,`jar`,`war`]},\"application/json\":{extensions:[`json`,`map`]},\"application/ld+json\":{extensions:[`jsonld`]},\"application/msword\":{extensions:[`doc`,`dot`]},\"application/octet-stream\":{extensions:[`bin`,`bpk`,`buffer`,`deb`,`deploy`,`dist`,`distz`,`dll`,`dmg`,`dms`,`dump`,`elc`,`exe`,`img`,`iso`,`lrf`,`mar`,`msi`,`msm`,`msp`,`pkg`,`so`]},\"application/ogg\":{extensions:[`ogx`]},\"application/pdf\":{extensions:[`pdf`]},\"application/rtf\":{extensions:[`rtf`]},\"application/vnd.amazon.ebook\":{extensions:[`azw`]},\"application/vnd.apple.installer+xml\":{extensions:[`mpkg`]},\"application/vnd.mozilla.xul+xml\":{extensions:[`xul`]},\"application/vnd.ms-excel\":{extensions:[`xla`,`xlc`,`xlm`,`xls`,`xlt`,`xlw`]},\"application/vnd.ms-fontobject\":{extensions:[`eot`]},\"application/vnd.ms-powerpoint\":{extensions:[`pot`,`pps`,`ppt`]},\"application/vnd.oasis.opendocument.presentation\":{extensions:[`odp`]},\"application/vnd.oasis.opendocument.spreadsheet\":{extensions:[`ods`]},\"application/vnd.oasis.opendocument.text\":{extensions:[`odt`]},\"application/vnd.openxmlformats-officedocument.presentationml.presentation\":{extensions:[`pptx`]},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":{extensions:[`xlsx`]},\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":{extensions:[`docx`]},\"application/vnd.rar\":{extensions:[`rar`]},\"application/vnd.visio\":{extensions:[`vsd`,`vss`,`vst`,`vsw`]},\"application/x-7z-compressed\":{extensions:[`7z`]},\"application/x-abiword\":{extensions:[`abw`]},\"application/x-bzip\":{extensions:[`bz`]},\"application/x-bzip2\":{extensions:[`boz`,`bz2`]},\"application/x-csh\":{extensions:[`csh`]},\"application/x-freearc\":{extensions:[`arc`]},\"application/x-httpd-php\":{extensions:[`php`]},\"application/x-sh\":{extensions:[`sh`]},\"application/x-tar\":{extensions:[`tar`]},\"application/xhtml+xml\":{extensions:[`xht`,`xhtml`]},\"application/xml\":{extensions:[`rng`,`xml`,`xsd`,`xsl`]},\"application/zip\":{extensions:[`zip`]},\"audio/3gpp\":{extensions:[`3gpp`]},\"audio/3gpp2\":{extensions:[`3g2`]},\"audio/aac\":{extensions:[`aac`]},\"audio/midi\":{extensions:[`kar`,`mid`,`midi`,`rmi`]},\"audio/mpeg\":{extensions:[`m2a`,`m3a`,`mp2`,`mp2a`,`mp3`,`mpga`]},\"audio/ogg\":{extensions:[`oga`,`ogg`,`opus`,`spx`]},\"audio/opus\":{extensions:[`opus`]},\"audio/wav\":{extensions:[`wav`]},\"audio/webm\":{extensions:[`weba`]},\"font/otf\":{extensions:[`otf`]},\"font/ttf\":{extensions:[`ttf`]},\"font/woff\":{extensions:[`woff`]},\"font/woff2\":{extensions:[`woff2`]},\"image/avif\":{extensions:[`avif`]},\"image/bmp\":{extensions:[`bmp`]},\"image/gif\":{extensions:[`gif`]},\"image/jpeg\":{extensions:[`jpe`,`jpeg`,`jpg`]},\"image/png\":{extensions:[`png`]},\"image/svg+xml\":{extensions:[`svg`,`svgz`]},\"image/tiff\":{extensions:[`tif`,`tiff`]},\"image/vnd.microsoft.icon\":{extensions:[`ico`]},\"image/webp\":{extensions:[`webp`]},\"text/calendar\":{extensions:[`ics`,`ifb`]},\"text/css\":{extensions:[`css`]},\"text/csv\":{extensions:[`csv`]},\"text/html\":{extensions:[`htm`,`html`,`shtml`]},\"text/javascript\":{extensions:[`js`,`mjs`]},\"text/plain\":{extensions:[`conf`,`def`,`in`,`ini`,`list`,`log`,`text`,`txt`]},\"video/3gpp\":{extensions:[`3gp`,`3gpp`]},\"video/3gpp2\":{extensions:[`3g2`]},\"video/mp2t\":{extensions:[`ts`]},\"video/mp4\":{extensions:[`mp4`,`mp4v`,`mpg4`]},\"video/mpeg\":{extensions:[`m1v`,`m2v`,`mpe`,`mpeg`,`mpg`]},\"video/ogg\":{extensions:[`ogv`]},\"video/webm\":{extensions:[`webm`]},\"video/x-msvideo\":{extensions:[`avi`]}}}};export{e as _,K as a,be as c,C as d,b as f,s as g,y as h,St as i,T as l,ee as m,Ct as n,Ke as o,te as p,$ as r,j as s,Dt as t,w as u};","const e={airline:{airline:[{name:`Aegean Airlines`,iataCode:`A3`},{name:`Aeroflot`,iataCode:`SU`},{name:`Aerolineas Argentinas`,iataCode:`AR`},{name:`Aeromexico`,iataCode:`AM`},{name:`Air Algerie`,iataCode:`AH`},{name:`Air Arabia`,iataCode:`G9`},{name:`Air Canada`,iataCode:`AC`},{name:`Air China`,iataCode:`CA`},{name:`Air Europa`,iataCode:`UX`},{name:`Air France`,iataCode:`AF`},{name:`Air India`,iataCode:`AI`},{name:`Air Mauritius`,iataCode:`MK`},{name:`Air New Zealand`,iataCode:`NZ`},{name:`Air Niugini`,iataCode:`PX`},{name:`Air Tahiti`,iataCode:`VT`},{name:`Air Tahiti Nui`,iataCode:`TN`},{name:`Air Transat`,iataCode:`TS`},{name:`AirAsia X`,iataCode:`D7`},{name:`AirAsia`,iataCode:`AK`},{name:`Aircalin`,iataCode:`SB`},{name:`Alaska Airlines`,iataCode:`AS`},{name:`Alitalia`,iataCode:`AZ`},{name:`All Nippon Airways`,iataCode:`NH`},{name:`Allegiant Air`,iataCode:`G4`},{name:`American Airlines`,iataCode:`AA`},{name:`Asiana Airlines`,iataCode:`OZ`},{name:`Avianca`,iataCode:`AV`},{name:`Azul Linhas Aereas Brasileiras`,iataCode:`AD`},{name:`Azur Air`,iataCode:`ZF`},{name:`Beijing Capital Airlines`,iataCode:`JD`},{name:`Boliviana de Aviacion`,iataCode:`OB`},{name:`British Airways`,iataCode:`BA`},{name:`Cathay Pacific`,iataCode:`CX`},{name:`Cebu Pacific Air`,iataCode:`5J`},{name:`China Airlines`,iataCode:`CI`},{name:`China Eastern Airlines`,iataCode:`MU`},{name:`China Southern Airlines`,iataCode:`CZ`},{name:`Condor`,iataCode:`DE`},{name:`Copa Airlines`,iataCode:`CM`},{name:`Delta Air Lines`,iataCode:`DL`},{name:`Easyfly`,iataCode:`VE`},{name:`EasyJet`,iataCode:`U2`},{name:`EcoJet`,iataCode:`8J`},{name:`Egyptair`,iataCode:`MS`},{name:`El Al`,iataCode:`LY`},{name:`Emirates Airlines`,iataCode:`EK`},{name:`Ethiopian Airlines`,iataCode:`ET`},{name:`Etihad Airways`,iataCode:`EY`},{name:`EVA Air`,iataCode:`BR`},{name:`Fiji Airways`,iataCode:`FJ`},{name:`Finnair`,iataCode:`AY`},{name:`Flybondi`,iataCode:`FO`},{name:`Flydubai`,iataCode:`FZ`},{name:`FlySafair`,iataCode:`FA`},{name:`Frontier Airlines`,iataCode:`F9`},{name:`Garuda Indonesia`,iataCode:`GA`},{name:`Go First`,iataCode:`G8`},{name:`Gol Linhas Aereas Inteligentes`,iataCode:`G3`},{name:`Hainan Airlines`,iataCode:`HU`},{name:`Hawaiian Airlines`,iataCode:`HA`},{name:`IndiGo Airlines`,iataCode:`6E`},{name:`Japan Airlines`,iataCode:`JL`},{name:`Jeju Air`,iataCode:`7C`},{name:`Jet2`,iataCode:`LS`},{name:`JetBlue Airways`,iataCode:`B6`},{name:`JetSMART`,iataCode:`JA`},{name:`Juneyao Airlines`,iataCode:`HO`},{name:`Kenya Airways`,iataCode:`KQ`},{name:`KLM Royal Dutch Airlines`,iataCode:`KL`},{name:`Korean Air`,iataCode:`KE`},{name:`Kulula.com`,iataCode:`MN`},{name:`LATAM Airlines`,iataCode:`LA`},{name:`Lion Air`,iataCode:`JT`},{name:`LOT Polish Airlines`,iataCode:`LO`},{name:`Lufthansa`,iataCode:`LH`},{name:`Libyan Airlines`,iataCode:`LN`},{name:`Linea Aerea Amaszonas`,iataCode:`Z8`},{name:`Malaysia Airlines`,iataCode:`MH`},{name:`Nordwind Airlines`,iataCode:`N4`},{name:`Norwegian Air Shuttle`,iataCode:`DY`},{name:`Oman Air`,iataCode:`WY`},{name:`Pakistan International Airlines`,iataCode:`PK`},{name:`Pegasus Airlines`,iataCode:`PC`},{name:`Philippine Airlines`,iataCode:`PR`},{name:`Qantas Group`,iataCode:`QF`},{name:`Qatar Airways`,iataCode:`QR`},{name:`Republic Airways`,iataCode:`YX`},{name:`Royal Air Maroc`,iataCode:`AT`},{name:`Ryanair`,iataCode:`FR`},{name:`S7 Airlines`,iataCode:`S7`},{name:`SAS`,iataCode:`SK`},{name:`Satena`,iataCode:`9R`},{name:`Saudia`,iataCode:`SV`},{name:`Shandong Airlines`,iataCode:`SC`},{name:`Sichuan Airlines`,iataCode:`3U`},{name:`Singapore Airlines`,iataCode:`SQ`},{name:`Sky Airline`,iataCode:`H2`},{name:`SkyWest Airlines`,iataCode:`OO`},{name:`South African Airways`,iataCode:`SA`},{name:`Southwest Airlines`,iataCode:`WN`},{name:`SpiceJet`,iataCode:`SG`},{name:`Spirit Airlines`,iataCode:`NK`},{name:`Spring Airlines`,iataCode:`9C`},{name:`SriLankan Airlines`,iataCode:`UL`},{name:`Star Peru`,iataCode:`2I`},{name:`Sun Country Airlines`,iataCode:`SY`},{name:`SunExpress`,iataCode:`XQ`},{name:`TAP Air Portugal`,iataCode:`TP`},{name:`Thai AirAsia`,iataCode:`FD`},{name:`Thai Airways`,iataCode:`TG`},{name:`TUI Airways`,iataCode:`BY`},{name:`Tunisair`,iataCode:`TU`},{name:`Turkish Airlines`,iataCode:`TK`},{name:`Ukraine International`,iataCode:`PS`},{name:`United Airlines`,iataCode:`UA`},{name:`Ural Airlines`,iataCode:`U6`},{name:`VietJet Air`,iataCode:`VJ`},{name:`Vietnam Airlines`,iataCode:`VN`},{name:`Virgin Atlantic Airways`,iataCode:`VS`},{name:`Virgin Australia`,iataCode:`VA`},{name:`VivaAerobus`,iataCode:`VB`},{name:`VOEPASS Linhas Aereas`,iataCode:`2Z`},{name:`Volaris`,iataCode:`Y4`},{name:`WestJet`,iataCode:`WS`},{name:`Wingo`,iataCode:`P5`},{name:`Wizz Air`,iataCode:`W6`}],airplane:[{name:`Aerospatiale/BAC Concorde`,iataTypeCode:`SSC`},{name:`Airbus A300`,iataTypeCode:`AB3`},{name:`Airbus A310`,iataTypeCode:`310`},{name:`Airbus A310-200`,iataTypeCode:`312`},{name:`Airbus A310-300`,iataTypeCode:`313`},{name:`Airbus A318`,iataTypeCode:`318`},{name:`Airbus A319`,iataTypeCode:`319`},{name:`Airbus A319neo`,iataTypeCode:`31N`},{name:`Airbus A320`,iataTypeCode:`320`},{name:`Airbus A320neo`,iataTypeCode:`32N`},{name:`Airbus A321`,iataTypeCode:`321`},{name:`Airbus A321neo`,iataTypeCode:`32Q`},{name:`Airbus A330`,iataTypeCode:`330`},{name:`Airbus A330-200`,iataTypeCode:`332`},{name:`Airbus A330-300`,iataTypeCode:`333`},{name:`Airbus A330-800neo`,iataTypeCode:`338`},{name:`Airbus A330-900neo`,iataTypeCode:`339`},{name:`Airbus A340`,iataTypeCode:`340`},{name:`Airbus A340-200`,iataTypeCode:`342`},{name:`Airbus A340-300`,iataTypeCode:`343`},{name:`Airbus A340-500`,iataTypeCode:`345`},{name:`Airbus A340-600`,iataTypeCode:`346`},{name:`Airbus A350`,iataTypeCode:`350`},{name:`Airbus A350-900`,iataTypeCode:`359`},{name:`Airbus A350-1000`,iataTypeCode:`351`},{name:`Airbus A380`,iataTypeCode:`380`},{name:`Airbus A380-800`,iataTypeCode:`388`},{name:`Antonov An-12`,iataTypeCode:`ANF`},{name:`Antonov An-24`,iataTypeCode:`AN4`},{name:`Antonov An-26`,iataTypeCode:`A26`},{name:`Antonov An-28`,iataTypeCode:`A28`},{name:`Antonov An-30`,iataTypeCode:`A30`},{name:`Antonov An-32`,iataTypeCode:`A32`},{name:`Antonov An-72`,iataTypeCode:`AN7`},{name:`Antonov An-124 Ruslan`,iataTypeCode:`A4F`},{name:`Antonov An-140`,iataTypeCode:`A40`},{name:`Antonov An-148`,iataTypeCode:`A81`},{name:`Antonov An-158`,iataTypeCode:`A58`},{name:`Antonov An-225 Mriya`,iataTypeCode:`A5F`},{name:`Boeing 707`,iataTypeCode:`703`},{name:`Boeing 717`,iataTypeCode:`717`},{name:`Boeing 720B`,iataTypeCode:`B72`},{name:`Boeing 727`,iataTypeCode:`727`},{name:`Boeing 727-100`,iataTypeCode:`721`},{name:`Boeing 727-200`,iataTypeCode:`722`},{name:`Boeing 737 MAX 7`,iataTypeCode:`7M7`},{name:`Boeing 737 MAX 8`,iataTypeCode:`7M8`},{name:`Boeing 737 MAX 9`,iataTypeCode:`7M9`},{name:`Boeing 737 MAX 10`,iataTypeCode:`7MJ`},{name:`Boeing 737`,iataTypeCode:`737`},{name:`Boeing 737-100`,iataTypeCode:`731`},{name:`Boeing 737-200`,iataTypeCode:`732`},{name:`Boeing 737-300`,iataTypeCode:`733`},{name:`Boeing 737-400`,iataTypeCode:`734`},{name:`Boeing 737-500`,iataTypeCode:`735`},{name:`Boeing 737-600`,iataTypeCode:`736`},{name:`Boeing 737-700`,iataTypeCode:`73G`},{name:`Boeing 737-800`,iataTypeCode:`738`},{name:`Boeing 737-900`,iataTypeCode:`739`},{name:`Boeing 747`,iataTypeCode:`747`},{name:`Boeing 747-100`,iataTypeCode:`741`},{name:`Boeing 747-200`,iataTypeCode:`742`},{name:`Boeing 747-300`,iataTypeCode:`743`},{name:`Boeing 747-400`,iataTypeCode:`744`},{name:`Boeing 747-400D`,iataTypeCode:`74J`},{name:`Boeing 747-8`,iataTypeCode:`748`},{name:`Boeing 747SP`,iataTypeCode:`74L`},{name:`Boeing 747SR`,iataTypeCode:`74R`},{name:`Boeing 757`,iataTypeCode:`757`},{name:`Boeing 757-200`,iataTypeCode:`752`},{name:`Boeing 757-300`,iataTypeCode:`753`},{name:`Boeing 767`,iataTypeCode:`767`},{name:`Boeing 767-200`,iataTypeCode:`762`},{name:`Boeing 767-300`,iataTypeCode:`763`},{name:`Boeing 767-400`,iataTypeCode:`764`},{name:`Boeing 777`,iataTypeCode:`777`},{name:`Boeing 777-200`,iataTypeCode:`772`},{name:`Boeing 777-200LR`,iataTypeCode:`77L`},{name:`Boeing 777-300`,iataTypeCode:`773`},{name:`Boeing 777-300ER`,iataTypeCode:`77W`},{name:`Boeing 787`,iataTypeCode:`787`},{name:`Boeing 787-8`,iataTypeCode:`788`},{name:`Boeing 787-9`,iataTypeCode:`789`},{name:`Boeing 787-10`,iataTypeCode:`781`},{name:`Canadair Challenger`,iataTypeCode:`CCJ`},{name:`Canadair CL-44`,iataTypeCode:`CL4`},{name:`Canadair Regional Jet 100`,iataTypeCode:`CR1`},{name:`Canadair Regional Jet 200`,iataTypeCode:`CR2`},{name:`Canadair Regional Jet 700`,iataTypeCode:`CR7`},{name:`Canadair Regional Jet 705`,iataTypeCode:`CRA`},{name:`Canadair Regional Jet 900`,iataTypeCode:`CR9`},{name:`Canadair Regional Jet 1000`,iataTypeCode:`CRK`},{name:`De Havilland Canada DHC-2 Beaver`,iataTypeCode:`DHP`},{name:`De Havilland Canada DHC-2 Turbo-Beaver`,iataTypeCode:`DHR`},{name:`De Havilland Canada DHC-3 Otter`,iataTypeCode:`DHL`},{name:`De Havilland Canada DHC-4 Caribou`,iataTypeCode:`DHC`},{name:`De Havilland Canada DHC-6 Twin Otter`,iataTypeCode:`DHT`},{name:`De Havilland Canada DHC-7 Dash 7`,iataTypeCode:`DH7`},{name:`De Havilland Canada DHC-8-100 Dash 8 / 8Q`,iataTypeCode:`DH1`},{name:`De Havilland Canada DHC-8-200 Dash 8 / 8Q`,iataTypeCode:`DH2`},{name:`De Havilland Canada DHC-8-300 Dash 8 / 8Q`,iataTypeCode:`DH3`},{name:`De Havilland Canada DHC-8-400 Dash 8Q`,iataTypeCode:`DH4`},{name:`De Havilland DH.104 Dove`,iataTypeCode:`DHD`},{name:`De Havilland DH.114 Heron`,iataTypeCode:`DHH`},{name:`Douglas DC-3`,iataTypeCode:`D3F`},{name:`Douglas DC-6`,iataTypeCode:`D6F`},{name:`Douglas DC-8-50`,iataTypeCode:`D8T`},{name:`Douglas DC-8-62`,iataTypeCode:`D8L`},{name:`Douglas DC-8-72`,iataTypeCode:`D8Q`},{name:`Douglas DC-9-10`,iataTypeCode:`D91`},{name:`Douglas DC-9-20`,iataTypeCode:`D92`},{name:`Douglas DC-9-30`,iataTypeCode:`D93`},{name:`Douglas DC-9-40`,iataTypeCode:`D94`},{name:`Douglas DC-9-50`,iataTypeCode:`D95`},{name:`Douglas DC-10`,iataTypeCode:`D10`},{name:`Douglas DC-10-10`,iataTypeCode:`D1X`},{name:`Douglas DC-10-30`,iataTypeCode:`D1Y`},{name:`Embraer 170`,iataTypeCode:`E70`},{name:`Embraer 175`,iataTypeCode:`E75`},{name:`Embraer 190`,iataTypeCode:`E90`},{name:`Embraer 195`,iataTypeCode:`E95`},{name:`Embraer E190-E2`,iataTypeCode:`290`},{name:`Embraer E195-E2`,iataTypeCode:`295`},{name:`Embraer EMB.110 Bandeirante`,iataTypeCode:`EMB`},{name:`Embraer EMB.120 Brasilia`,iataTypeCode:`EM2`},{name:`Embraer Legacy 600`,iataTypeCode:`ER3`},{name:`Embraer Phenom 100`,iataTypeCode:`EP1`},{name:`Embraer Phenom 300`,iataTypeCode:`EP3`},{name:`Embraer RJ135`,iataTypeCode:`ER3`},{name:`Embraer RJ140`,iataTypeCode:`ERD`},{name:`Embraer RJ145 Amazon`,iataTypeCode:`ER4`},{name:`Ilyushin IL18`,iataTypeCode:`IL8`},{name:`Ilyushin IL62`,iataTypeCode:`IL6`},{name:`Ilyushin IL76`,iataTypeCode:`IL7`},{name:`Ilyushin IL86`,iataTypeCode:`ILW`},{name:`Ilyushin IL96-300`,iataTypeCode:`I93`},{name:`Ilyushin IL114`,iataTypeCode:`I14`},{name:`Lockheed L-182 / 282 / 382 (L-100) Hercules`,iataTypeCode:`LOH`},{name:`Lockheed L-188 Electra`,iataTypeCode:`LOE`},{name:`Lockheed L-1011 Tristar`,iataTypeCode:`L10`},{name:`Lockheed L-1049 Super Constellation`,iataTypeCode:`L49`},{name:`McDonnell Douglas MD11`,iataTypeCode:`M11`},{name:`McDonnell Douglas MD80`,iataTypeCode:`M80`},{name:`McDonnell Douglas MD81`,iataTypeCode:`M81`},{name:`McDonnell Douglas MD82`,iataTypeCode:`M82`},{name:`McDonnell Douglas MD83`,iataTypeCode:`M83`},{name:`McDonnell Douglas MD87`,iataTypeCode:`M87`},{name:`McDonnell Douglas MD88`,iataTypeCode:`M88`},{name:`McDonnell Douglas MD90`,iataTypeCode:`M90`},{name:`Sukhoi Superjet 100-95`,iataTypeCode:`SU9`},{name:`Tupolev Tu-134`,iataTypeCode:`TU3`},{name:`Tupolev Tu-154`,iataTypeCode:`TU5`},{name:`Tupolev Tu-204`,iataTypeCode:`T20`},{name:`Yakovlev Yak-40`,iataTypeCode:`YK4`},{name:`Yakovlev Yak-42`,iataTypeCode:`YK2`}],airport:[{name:`Adelaide International Airport`,iataCode:`ADL`},{name:`Adolfo Suarez Madrid-Barajas Airport`,iataCode:`MAD`},{name:`Aeroparque Jorge Newbery Airport`,iataCode:`AEP`},{name:`Afonso Pena International Airport`,iataCode:`CWB`},{name:`Alfonso Bonilla Aragon International Airport`,iataCode:`CLO`},{name:`Amsterdam Airport Schiphol`,iataCode:`AMS`},{name:`Arturo Merino Benitez International Airport`,iataCode:`SCL`},{name:`Auckland International Airport`,iataCode:`AKL`},{name:`Beijing Capital International Airport`,iataCode:`PEK`},{name:`Belem Val de Cans International Airport`,iataCode:`BEL`},{name:`Belo Horizonte Tancredo Neves International Airport`,iataCode:`CNF`},{name:`Berlin-Tegel Airport`,iataCode:`TXL`},{name:`Bole International Airport`,iataCode:`ADD`},{name:`Brasilia-Presidente Juscelino Kubitschek International Airport`,iataCode:`BSB`},{name:`Brisbane International Airport`,iataCode:`BNE`},{name:`Brussels Airport`,iataCode:`BRU`},{name:`Cairns Airport`,iataCode:`CNS`},{name:`Cairo International Airport`,iataCode:`CAI`},{name:`Canberra Airport`,iataCode:`CBR`},{name:`Capetown International Airport`,iataCode:`CPT`},{name:`Charles de Gaulle International Airport`,iataCode:`CDG`},{name:`Charlotte Douglas International Airport`,iataCode:`CLT`},{name:`Chengdu Shuangliu International Airport`,iataCode:`CTU`},{name:`Chhatrapati Shivaji International Airport`,iataCode:`BOM`},{name:`Chicago O'Hare International Airport`,iataCode:`ORD`},{name:`Chongqing Jiangbei International Airport`,iataCode:`CKG`},{name:`Christchurch International Airport`,iataCode:`CHC`},{name:`Copenhagen Kastrup Airport`,iataCode:`CPH`},{name:`Dallas Fort Worth International Airport`,iataCode:`DFW`},{name:`Daniel K. Inouye International Airport`,iataCode:`HNL`},{name:`Denver International Airport`,iataCode:`DEN`},{name:`Don Mueang International Airport`,iataCode:`DMK`},{name:`Dubai International Airport`,iataCode:`DXB`},{name:`Dublin Airport`,iataCode:`DUB`},{name:`Dusseldorf Airport`,iataCode:`DUS`},{name:`El Dorado International Airport`,iataCode:`BOG`},{name:`Eleftherios Venizelos International Airport`,iataCode:`ATH`},{name:`Faa'a International Airport`,iataCode:`PPT`},{name:`Fort Lauderdale Hollywood International Airport`,iataCode:`FLL`},{name:`Fortaleza Pinto Martins International Airport`,iataCode:`FOR`},{name:`Frankfurt am Main Airport`,iataCode:`FRA`},{name:`George Bush Intercontinental Houston Airport`,iataCode:`IAH`},{name:`Gold Coast Airport`,iataCode:`OOL`},{name:`Guarulhos - Governador Andre Franco Montoro International Airport`,iataCode:`GRU`},{name:`Hartsfield-Jackson Atlanta International Airport`,iataCode:`ATL`},{name:`Helsinki Vantaa Airport`,iataCode:`HEL`},{name:`Hobart International Airport`,iataCode:`HBA`},{name:`Hong Kong International Airport`,iataCode:`HKG`},{name:`Houari Boumediene Airport`,iataCode:`ALG`},{name:`Hurgada International Airport`,iataCode:`HRG`},{name:`Incheon International Airport`,iataCode:`ICN`},{name:`Indira Gandhi International Airport`,iataCode:`DEL`},{name:`Istanbul Airport`,iataCode:`IST`},{name:`Jacksons International Airport`,iataCode:`POM`},{name:`Jeju International Airport`,iataCode:`CJU`},{name:`John F Kennedy International Airport`,iataCode:`JFK`},{name:`Jorge Chavez International Airport`,iataCode:`LIM`},{name:`Jose Maria Cordova International Airport`,iataCode:`MDE`},{name:`Josep Tarradellas Barcelona-El Prat Airport`,iataCode:`BCN`},{name:`Kahului Airport`,iataCode:`OGG`},{name:`King Abdulaziz International Airport`,iataCode:`JED`},{name:`Kuala Lumpur International Airport`,iataCode:`KUL`},{name:`Kunming Changshui International Airport`,iataCode:`KMG`},{name:`La Tontouta International Airport`,iataCode:`NOU`},{name:`Leonardo da Vinci-Fiumicino Airport`,iataCode:`FCO`},{name:`London Heathrow Airport`,iataCode:`LHR`},{name:`Los Angeles International Airport`,iataCode:`LAX`},{name:`McCarran International Airport`,iataCode:`LAS`},{name:`Melbourne International Airport`,iataCode:`MEL`},{name:`Mexico City International Airport`,iataCode:`MEX`},{name:`Miami International Airport`,iataCode:`MIA`},{name:`Ministro Pistarini International Airport`,iataCode:`EZE`},{name:`Minneapolis-St Paul International/Wold-Chamberlain Airport`,iataCode:`MSP`},{name:`Mohammed V International Airport`,iataCode:`CMN`},{name:`Moscow Domodedovo Airport`,iataCode:`DME`},{name:`Munich Airport`,iataCode:`MUC`},{name:`Murtala Muhammed International Airport`,iataCode:`LOS`},{name:`Nadi International Airport`,iataCode:`NAN`},{name:`Nairobi Jomo Kenyatta International Airport`,iataCode:`NBO`},{name:`Narita International Airport`,iataCode:`NRT`},{name:`Newark Liberty International Airport`,iataCode:`EWR`},{name:`Ninoy Aquino International Airport`,iataCode:`MNL`},{name:`Noumea Magenta Airport`,iataCode:`GEA`},{name:`O. R. Tambo International Airport`,iataCode:`JNB`},{name:`Orlando International Airport`,iataCode:`MCO`},{name:`Oslo Lufthavn`,iataCode:`OSL`},{name:`Perth Airport`,iataCode:`PER`},{name:`Phoenix Sky Harbor International Airport`,iataCode:`PHX`},{name:`Recife Guararapes-Gilberto Freyre International Airport`,iataCode:`REC`},{name:`Rio de Janeiro Galeao International Airport`,iataCode:`GIG`},{name:`Salgado Filho International Airport`,iataCode:`POA`},{name:`Salvador Deputado Luis Eduardo Magalhaes International Airport`,iataCode:`SSA`},{name:`San Francisco International Airport`,iataCode:`SFO`},{name:`Santos Dumont Airport`,iataCode:`SDU`},{name:`Sao Paulo-Congonhas Airport`,iataCode:`CGH`},{name:`Seattle Tacoma International Airport`,iataCode:`SEA`},{name:`Shanghai Hongqiao International Airport`,iataCode:`SHA`},{name:`Shanghai Pudong International Airport`,iataCode:`PVG`},{name:`Shenzhen Bao'an International Airport`,iataCode:`SZX`},{name:`Sheremetyevo International Airport`,iataCode:`SVO`},{name:`Singapore Changi Airport`,iataCode:`SIN`},{name:`Soekarno-Hatta International Airport`,iataCode:`CGK`},{name:`Stockholm-Arlanda Airport\"`,iataCode:`ARN`},{name:`Suvarnabhumi Airport`,iataCode:`BKK`},{name:`Sydney Kingsford Smith International Airport`,iataCode:`SYD`},{name:`Taiwan Taoyuan International Airport`,iataCode:`TPE`},{name:`Tan Son Nhat International Airport`,iataCode:`SGN`},{name:`Tokyo Haneda International Airport`,iataCode:`HND`},{name:`Toronto Pearson International Airport`,iataCode:`YYZ`},{name:`Tunis Carthage International Airport`,iataCode:`TUN`},{name:`Vancouver International Airport`,iataCode:`YVR`},{name:`Vienna International Airport`,iataCode:`VIE`},{name:`Viracopos International Airport`,iataCode:`VCP`},{name:`Vnukovo International Airport`,iataCode:`VKO`},{name:`Wellington International Airport`,iataCode:`WLG`},{name:`Xi'an Xianyang International Airport`,iataCode:`XIY`},{name:`Zhukovsky International Airport`,iataCode:`ZIA`},{name:`Zurich Airport`,iataCode:`ZRH`}]},animal:{bear:[`American black bear`,`Asian black bear`,`Brown bear`,`Giant panda`,`Polar bear`,`Sloth bear`,`Spectacled bear`,`Sun bear`],bird:`Abert's Towhee.Acadian Flycatcher.Acorn Woodpecker.Alder Flycatcher.Aleutian Tern.Allen's Hummingbird.Altamira Oriole.American Avocet.American Bittern.American Black Duck.American Coot.American Crow.American Dipper.American Golden-Plover.American Goldfinch.American Kestrel.American Oystercatcher.American Pipit.American Redstart.American Robin.American Tree Sparrow.American White Pelican.American Wigeon.American Woodcock.Ancient Murrelet.Anhinga.Anna's Hummingbird.Antillean Nighthawk.Antillean Palm Swift.Aplomado Falcon.Arctic Loon.Arctic Tern.Arctic Warbler.Ash-throated Flycatcher.Ashy Storm-Petrel.Asian Brown Flycatcher.Atlantic Puffin.Audubon's Oriole.Audubon's Shearwater.Aztec Thrush.Azure Gallinule.Bachman's Sparrow.Bachman's Warbler.Bahama Mockingbird.Bahama Swallow.Bahama Woodstar.Baikal Teal.Baird's Sandpiper.Baird's Sparrow.Bald Eagle.Baltimore Oriole.Bananaquit.Band-rumped Storm-Petrel.Band-tailed Gull.Band-tailed Pigeon.Bank Swallow.Bar-tailed Godwit.Barn Owl.Barn Swallow.Barnacle Goose.Barred Owl.Barrow's Goldeneye.Bay-breasted Warbler.Bean Goose.Bell's Vireo.Belted Kingfisher.Bendire's Thrasher.Berylline Hummingbird.Bewick's Wren.Bicknell's Thrush.Black Catbird.Black Guillemot.Black Noddy.Black Oystercatcher.Black Phoebe.Black Rail.Black Rosy-Finch.Black Scoter.Black Skimmer.Black Storm-Petrel.Black Swift.Black Tern.Black Turnstone.Black Vulture.Black-and-white Warbler.Black-backed Wagtail.Black-backed Woodpecker.Black-bellied Plover.Black-bellied Whistling-Duck.Black-billed Cuckoo.Black-billed Magpie.Black-browed Albatross.Black-capped Chickadee.Black-capped Gnatcatcher.Black-capped Petrel.Black-capped Vireo.Black-chinned Hummingbird.Black-chinned Sparrow.Black-crowned Night-Heron.Black-faced Grassquit.Black-footed Albatross.Black-headed Grosbeak.Black-headed Gull.Black-legged Kittiwake.Black-necked Stilt.Black-tailed Gnatcatcher.Black-tailed Godwit.Black-tailed Gull.Black-throated Blue Warbler.Black-throated Gray Warbler.Black-throated Green Warbler.Black-throated Sparrow.Black-vented Oriole.Black-vented Shearwater.Black-whiskered Vireo.Black-winged Stilt.Blackburnian Warbler.Blackpoll Warbler.Blue Bunting.Blue Grosbeak.Blue Grouse.Blue Jay.Blue Mockingbird.Blue-footed Booby.Blue-gray Gnatcatcher.Blue-headed Vireo.Blue-throated Hummingbird.Blue-winged Teal.Blue-winged Warbler.Bluethroat.Boat-tailed Grackle.Bobolink.Bohemian Waxwing.Bonaparte's Gull.Boreal Chickadee.Boreal Owl.Botteri's Sparrow.Brambling.Brandt's Cormorant.Brant.Brewer's Blackbird.Brewer's Sparrow.Bridled Tern.Bridled Titmouse.Bristle-thighed Curlew.Broad-billed Hummingbird.Broad-billed Sandpiper.Broad-tailed Hummingbird.Broad-winged Hawk.Bronzed Cowbird.Brown Booby.Brown Creeper.Brown Jay.Brown Noddy.Brown Pelican.Brown Shrike.Brown Thrasher.Brown-capped Rosy-Finch.Brown-chested Martin.Brown-crested Flycatcher.Brown-headed Cowbird.Brown-headed Nuthatch.Budgerigar.Buff-bellied Hummingbird.Buff-breasted Flycatcher.Buff-breasted Sandpiper.Buff-collared Nightjar.Bufflehead.Buller's Shearwater.Bullock's Oriole.Bumblebee Hummingbird.Burrowing Owl.Bushtit.Cactus Wren.California Condor.California Gnatcatcher.California Gull.California Quail.California Thrasher.California Towhee.Calliope Hummingbird.Canada Goose.Canada Warbler.Canvasback.Canyon Towhee.Canyon Wren.Cape May Warbler.Caribbean Elaenia.Carolina Chickadee.Carolina Parakeet.Carolina Wren.Caspian Tern.Cassin's Auklet.Cassin's Finch.Cassin's Kingbird.Cassin's Sparrow.Cassin's Vireo.Cattle Egret.Cave Swallow.Cedar Waxwing.Cerulean Warbler.Chestnut-backed Chickadee.Chestnut-collared Longspur.Chestnut-sided Warbler.Chihuahuan Raven.Chimney Swift.Chinese Egret.Chipping Sparrow.Chuck-will's-widow.Chukar.Cinnamon Hummingbird.Cinnamon Teal.Citrine Wagtail.Clapper Rail.Clark's Grebe.Clark's Nutcracker.Clay-colored Robin.Clay-colored Sparrow.Cliff Swallow.Colima Warbler.Collared Forest-Falcon.Collared Plover.Common Black-Hawk.Common Chaffinch.Common Crane.Common Cuckoo.Common Eider.Common Goldeneye.Common Grackle.Common Greenshank.Common Ground-Dove.Common House-Martin.Common Loon.Common Merganser.Common Moorhen.Common Murre.Common Nighthawk.Common Pauraque.Common Pochard.Common Poorwill.Common Raven.Common Redpoll.Common Ringed Plover.Common Rosefinch.Common Sandpiper.Common Snipe.Common Swift.Common Tern.Common Yellowthroat.Connecticut Warbler.Cook's Petrel.Cooper's Hawk.Cordilleran Flycatcher.Corn Crake.Cory's Shearwater.Costa's Hummingbird.Couch's Kingbird.Crane Hawk.Craveri's Murrelet.Crescent-chested Warbler.Crested Auklet.Crested Caracara.Crested Myna.Crimson-collared Grosbeak.Crissal Thrasher.Cuban Martin.Curlew Sandpiper.Curve-billed Thrasher.Dark-eyed Junco.Dickcissel.Double-crested Cormorant.Double-striped Thick-knee.Dovekie.Downy Woodpecker.Dunlin.Dusky Flycatcher.Dusky Thrush.Dusky Warbler.Dusky-capped Flycatcher.Eared Grebe.Eared Trogon.Eastern Bluebird.Eastern Kingbird.Eastern Meadowlark.Eastern Phoebe.Eastern Screech-Owl.Eastern Towhee.Eastern Wood-Pewee.Elegant Tern.Elegant Trogon.Elf Owl.Emperor Goose.Eskimo Curlew.Eurasian Blackbird.Eurasian Bullfinch.Eurasian Collared-Dove.Eurasian Coot.Eurasian Curlew.Eurasian Dotterel.Eurasian Hobby.Eurasian Jackdaw.Eurasian Kestrel.Eurasian Oystercatcher.Eurasian Siskin.Eurasian Tree Sparrow.Eurasian Wigeon.Eurasian Woodcock.Eurasian Wryneck.European Golden-Plover.European Starling.European Storm-Petrel.European Turtle-Dove.Evening Grosbeak.Eyebrowed Thrush.Falcated Duck.Fan-tailed Warbler.Far Eastern Curlew.Ferruginous Hawk.Ferruginous Pygmy-Owl.Field Sparrow.Fieldfare.Fish Crow.Five-striped Sparrow.Flame-colored Tanager.Flammulated Owl.Flesh-footed Shearwater.Florida Scrub-Jay.Fork-tailed Flycatcher.Fork-tailed Storm-Petrel.Fork-tailed Swift.Forster's Tern.Fox Sparrow.Franklin's Gull.Fulvous Whistling-Duck.Gadwall.Gambel's Quail.Garganey.Gila Woodpecker.Gilded Flicker.Glaucous Gull.Glaucous-winged Gull.Glossy Ibis.Golden Eagle.Golden-cheeked Warbler.Golden-crowned Kinglet.Golden-crowned Sparrow.Golden-crowned Warbler.Golden-fronted Woodpecker.Golden-winged Warbler.Grace's Warbler.Grasshopper Sparrow.Gray Bunting.Gray Catbird.Gray Flycatcher.Gray Hawk.Gray Jay.Gray Kingbird.Gray Partridge.Gray Silky-flycatcher.Gray Vireo.Gray Wagtail.Gray-breasted Martin.Gray-cheeked Thrush.Gray-crowned Rosy-Finch.Gray-crowned Yellowthroat.Gray-headed Chickadee.Gray-spotted Flycatcher.Gray-tailed Tattler.Great Auk.Great Black-backed Gull.Great Blue Heron.Great Cormorant.Great Crested Flycatcher.Great Egret.Great Frigatebird.Great Gray Owl.Great Horned Owl.Great Kiskadee.Great Knot.Great Skua.Great Spotted Woodpecker.Great-tailed Grackle.Greater Flamingo.Greater Pewee.Greater Prairie-chicken.Greater Roadrunner.Greater Scaup.Greater Shearwater.Greater White-fronted Goose.Greater Yellowlegs.Green Heron.Green Jay.Green Kingfisher.Green Sandpiper.Green Violet-ear.Green-breasted Mango.Green-tailed Towhee.Green-winged Teal.Greenish Elaenia.Groove-billed Ani.Gull-billed Tern.Gyrfalcon.Hairy Woodpecker.Hammond's Flycatcher.Harlequin Duck.Harris's Hawk.Harris's Sparrow.Hawfinch.Heermann's Gull.Henslow's Sparrow.Hepatic Tanager.Herald Petrel.Hermit Thrush.Hermit Warbler.Herring Gull.Himalayan Snowcock.Hoary Redpoll.Hooded Merganser.Hooded Oriole.Hooded Warbler.Hook-billed Kite.Hoopoe.Horned Grebe.Horned Lark.Horned Puffin.House Finch.House Sparrow.House Wren.Hudsonian Godwit.Hutton's Vireo.Iceland Gull.Inca Dove.Indigo Bunting.Island Scrub-Jay.Ivory Gull.Ivory-billed Woodpecker.Jabiru.Jack Snipe.Jungle Nightjar.Juniper Titmouse.Kentucky Warbler.Key West Quail-Dove.Killdeer.King Eider.King Rail.Kirtland's Warbler.Kittlitz's Murrelet.La Sagra's Flycatcher.Labrador Duck.Ladder-backed Woodpecker.Lanceolated Warbler.Lapland Longspur.Large-billed Tern.Lark Bunting.Lark Sparrow.Laughing Gull.Lawrence's Goldfinch.Laysan Albatross.Lazuli Bunting.Le Conte's Sparrow.Le Conte's Thrasher.Leach's Storm-Petrel.Least Auklet.Least Bittern.Least Flycatcher.Least Grebe.Least Sandpiper.Least Storm-Petrel.Least Tern.Lesser Black-backed Gull.Lesser Frigatebird.Lesser Goldfinch.Lesser Nighthawk.Lesser Prairie-chicken.Lesser Scaup.Lesser White-fronted Goose.Lesser Yellowlegs.Lewis's Woodpecker.Limpkin.Lincoln's Sparrow.Little Blue Heron.Little Bunting.Little Curlew.Little Egret.Little Gull.Little Ringed Plover.Little Shearwater.Little Stint.Loggerhead Kingbird.Loggerhead Shrike.Long-billed Curlew.Long-billed Dowitcher.Long-billed Murrelet.Long-billed Thrasher.Long-eared Owl.Long-tailed Jaeger.Long-toed Stint.Louisiana Waterthrush.Lucifer Hummingbird.Lucy's Warbler.MacGillivray's Warbler.Magnificent Frigatebird.Magnificent Hummingbird.Magnolia Warbler.Mallard.Mangrove Cuckoo.Manx Shearwater.Marbled Godwit.Marbled Murrelet.Marsh Sandpiper.Marsh Wren.Masked Booby.Masked Duck.Masked Tityra.McCown's Longspur.McKay's Bunting.Merlin.Mew Gull.Mexican Chickadee.Mexican Jay.Middendorff's Grasshopper-Warbler.Mississippi Kite.Mongolian Plover.Monk Parakeet.Montezuma Quail.Mottled Duck.Mottled Owl.Mottled Petrel.Mountain Bluebird.Mountain Chickadee.Mountain Plover.Mountain Quail.Mourning Dove.Mourning Warbler.Mugimaki Flycatcher.Murphy's Petrel.Muscovy Duck.Mute Swan.Narcissus Flycatcher.Nashville Warbler.Nelson's Sharp-tailed Sparrow.Neotropic Cormorant.Northern Beardless-Tyrannulet.Northern Bobwhite.Northern Cardinal.Northern Flicker.Northern Fulmar.Northern Gannet.Northern Goshawk.Northern Harrier.Northern Hawk Owl.Northern Jacana.Northern Lapwing.Northern Mockingbird.Northern Parula.Northern Pintail.Northern Pygmy-Owl.Northern Rough-winged Swallow.Northern Saw-whet Owl.Northern Shoveler.Northern Shrike.Northern Waterthrush.Northern Wheatear.Northwestern Crow.Nuttall's Woodpecker.Nutting's Flycatcher.Oak Titmouse.Oldsquaw.Olive Sparrow.Olive Warbler.Olive-backed Pipit.Olive-sided Flycatcher.Orange-crowned Warbler.Orchard Oriole.Oriental Cuckoo.Oriental Greenfinch.Oriental Pratincole.Oriental Scops-Owl.Oriental Turtle-Dove.Osprey.Ovenbird.Pacific Golden-Plover.Pacific Loon.Pacific-slope Flycatcher.Paint-billed Crake.Painted Bunting.Painted Redstart.Pallas's Bunting.Palm Warbler.Parakeet Auklet.Parasitic Jaeger.Passenger Pigeon.Pechora Pipit.Pectoral Sandpiper.Pelagic Cormorant.Peregrine Falcon.Phainopepla.Philadelphia Vireo.Pied-billed Grebe.Pigeon Guillemot.Pileated Woodpecker.Pin-tailed Snipe.Pine Bunting.Pine Grosbeak.Pine Siskin.Pine Warbler.Pink-footed Goose.Pink-footed Shearwater.Pinyon Jay.Piping Plover.Plain Chachalaca.Plain-capped Starthroat.Plumbeous Vireo.Pomarine Jaeger.Prairie Falcon.Prairie Warbler.Prothonotary Warbler.Purple Finch.Purple Gallinule.Purple Martin.Purple Sandpiper.Pygmy Nuthatch.Pyrrhuloxia.Razorbill.Red Crossbill.Red Knot.Red Phalarope.Red-bellied Woodpecker.Red-billed Pigeon.Red-billed Tropicbird.Red-breasted Flycatcher.Red-breasted Merganser.Red-breasted Nuthatch.Red-breasted Sapsucker.Red-cockaded Woodpecker.Red-crowned Parrot.Red-eyed Vireo.Red-faced Cormorant.Red-faced Warbler.Red-flanked Bluetail.Red-footed Booby.Red-headed Woodpecker.Red-legged Kittiwake.Red-naped Sapsucker.Red-necked Grebe.Red-necked Phalarope.Red-necked Stint.Red-shouldered Hawk.Red-tailed Hawk.Red-tailed Tropicbird.Red-throated Loon.Red-throated Pipit.Red-whiskered Bulbul.Red-winged Blackbird.Reddish Egret.Redhead.Redwing.Reed Bunting.Rhinoceros Auklet.Ring-billed Gull.Ring-necked Duck.Ring-necked Pheasant.Ringed Kingfisher.Roadside Hawk.Rock Dove.Rock Ptarmigan.Rock Sandpiper.Rock Wren.Rose-breasted Grosbeak.Rose-throated Becard.Roseate Spoonbill.Roseate Tern.Ross's Goose.Ross's Gull.Rough-legged Hawk.Royal Tern.Ruby-crowned Kinglet.Ruby-throated Hummingbird.Ruddy Duck.Ruddy Ground-Dove.Ruddy Quail-Dove.Ruddy Turnstone.Ruff.Ruffed Grouse.Rufous Hummingbird.Rufous-backed Robin.Rufous-capped Warbler.Rufous-crowned Sparrow.Rufous-winged Sparrow.Rustic Bunting.Rusty Blackbird.Sabine's Gull.Sage Grouse.Sage Sparrow.Sage Thrasher.Saltmarsh Sharp-tailed Sparrow.Sanderling.Sandhill Crane.Sandwich Tern.Savannah Sparrow.Say's Phoebe.Scaled Quail.Scaly-naped Pigeon.Scarlet Ibis.Scarlet Tanager.Scissor-tailed Flycatcher.Scott's Oriole.Seaside Sparrow.Sedge Wren.Semipalmated Plover.Semipalmated Sandpiper.Sharp-shinned Hawk.Sharp-tailed Grouse.Sharp-tailed Sandpiper.Shiny Cowbird.Short-billed Dowitcher.Short-eared Owl.Short-tailed Albatross.Short-tailed Hawk.Short-tailed Shearwater.Shy Albatross.Siberian Accentor.Siberian Blue Robin.Siberian Flycatcher.Siberian Rubythroat.Sky Lark.Slate-throated Redstart.Slaty-backed Gull.Slender-billed Curlew.Smew.Smith's Longspur.Smooth-billed Ani.Snail Kite.Snow Bunting.Snow Goose.Snowy Egret.Snowy Owl.Snowy Plover.Solitary Sandpiper.Song Sparrow.Sooty Shearwater.Sooty Tern.Sora.South Polar Skua.Southern Martin.Spectacled Eider.Spoonbill Sandpiper.Spot-billed Duck.Spot-breasted Oriole.Spotted Dove.Spotted Owl.Spotted Rail.Spotted Redshank.Spotted Sandpiper.Spotted Towhee.Sprague's Pipit.Spruce Grouse.Stejneger's Petrel.Steller's Eider.Steller's Jay.Steller's Sea-Eagle.Stilt Sandpiper.Stonechat.Streak-backed Oriole.Streaked Shearwater.Strickland's Woodpecker.Stripe-headed Tanager.Sulphur-bellied Flycatcher.Summer Tanager.Surf Scoter.Surfbird.Swainson's Hawk.Swainson's Thrush.Swainson's Warbler.Swallow-tailed Kite.Swamp Sparrow.Tamaulipas Crow.Tawny-shouldered Blackbird.Temminck's Stint.Tennessee Warbler.Terek Sandpiper.Thayer's Gull.Thick-billed Kingbird.Thick-billed Murre.Thick-billed Parrot.Thick-billed Vireo.Three-toed Woodpecker.Townsend's Solitaire.Townsend's Warbler.Tree Pipit.Tree Swallow.Tricolored Blackbird.Tricolored Heron.Tropical Kingbird.Tropical Parula.Trumpeter Swan.Tufted Duck.Tufted Flycatcher.Tufted Puffin.Tufted Titmouse.Tundra Swan.Turkey Vulture.Upland Sandpiper.Varied Bunting.Varied Thrush.Variegated Flycatcher.Vaux's Swift.Veery.Verdin.Vermilion Flycatcher.Vesper Sparrow.Violet-crowned Hummingbird.Violet-green Swallow.Virginia Rail.Virginia's Warbler.Wandering Albatross.Wandering Tattler.Warbling Vireo.Wedge-rumped Storm-Petrel.Wedge-tailed Shearwater.Western Bluebird.Western Grebe.Western Gull.Western Kingbird.Western Meadowlark.Western Reef-Heron.Western Sandpiper.Western Screech-Owl.Western Scrub-Jay.Western Tanager.Western Wood-Pewee.Whimbrel.Whip-poor-will.Whiskered Auklet.Whiskered Screech-Owl.Whiskered Tern.White Ibis.White Wagtail.White-breasted Nuthatch.White-cheeked Pintail.White-chinned Petrel.White-collared Seedeater.White-collared Swift.White-crowned Pigeon.White-crowned Sparrow.White-eared Hummingbird.White-eyed Vireo.White-faced Ibis.White-faced Storm-Petrel.White-headed Woodpecker.White-rumped Sandpiper.White-tailed Eagle.White-tailed Hawk.White-tailed Kite.White-tailed Ptarmigan.White-tailed Tropicbird.White-throated Needletail.White-throated Robin.White-throated Sparrow.White-throated Swift.White-tipped Dove.White-winged Crossbill.White-winged Dove.White-winged Parakeet.White-winged Scoter.White-winged Tern.Whooper Swan.Whooping Crane.Wild Turkey.Willet.Williamson's Sapsucker.Willow Flycatcher.Willow Ptarmigan.Wilson's Phalarope.Wilson's Plover.Wilson's Storm-Petrel.Wilson's Warbler.Winter Wren.Wood Duck.Wood Sandpiper.Wood Stork.Wood Thrush.Wood Warbler.Worm-eating Warbler.Worthen's Sparrow.Wrentit.Xantus's Hummingbird.Xantus's Murrelet.Yellow Bittern.Yellow Grosbeak.Yellow Rail.Yellow Wagtail.Yellow Warbler.Yellow-bellied Flycatcher.Yellow-bellied Sapsucker.Yellow-billed Cuckoo.Yellow-billed Loon.Yellow-billed Magpie.Yellow-breasted Bunting.Yellow-breasted Chat.Yellow-crowned Night-Heron.Yellow-eyed Junco.Yellow-faced Grassquit.Yellow-footed Gull.Yellow-green Vireo.Yellow-headed Blackbird.Yellow-legged Gull.Yellow-nosed Albatross.Yellow-rumped Warbler.Yellow-throated Vireo.Yellow-throated Warbler.Yucatan Vireo.Zenaida Dove.Zone-tailed Hawk`.split(`.`),cat:`Abyssinian.American Bobtail.American Curl.American Shorthair.American Wirehair.Balinese.Bengal.Birman.Bombay.British Shorthair.Burmese.Chartreux.Chausie.Cornish Rex.Devon Rex.Donskoy.Egyptian Mau.Exotic Shorthair.Havana.Highlander.Himalayan.Japanese Bobtail.Korat.Kurilian Bobtail.LaPerm.Maine Coon.Manx.Minskin.Munchkin.Nebelung.Norwegian Forest Cat.Ocicat.Ojos Azules.Oriental.Persian.Peterbald.Pixiebob.Ragdoll.Russian Blue.Savannah.Scottish Fold.Selkirk Rex.Serengeti.Siamese.Siberian.Singapura.Snowshoe.Sokoke.Somali.Sphynx.Thai.Tonkinese.Toyger.Turkish Angora.Turkish Van`.split(`.`),cetacean:`Amazon River Dolphin.Arnoux's Beaked Whale.Atlantic Humpbacked Dolphin.Atlantic Spotted Dolphin.Atlantic White-Sided Dolphin.Australian Snubfin Dolphin.Australian humpback Dolphin.Blue Whale.Bottlenose Dolphin.Bryde’s whale.Burrunan Dolphin.Chilean Dolphin.Chinese River Dolphin.Chinese White Dolphin.Clymene Dolphin.Commerson’s Dolphin.Costero.Dusky Dolphin.False Killer Whale.Fin Whale.Fraser’s Dolphin.Ganges River Dolphin.Guiana Dolphin.Heaviside’s Dolphin.Hector’s Dolphin.Hourglass Dolphin.Humpback whale.Indo-Pacific Bottlenose Dolphin.Indo-Pacific Hump-backed Dolphin.Irrawaddy Dolphin.Killer Whale (Orca).La Plata Dolphin.Long-Beaked Common Dolphin.Long-finned Pilot Whale.Longman's Beaked Whale.Melon-headed Whale.Northern Rightwhale Dolphin.Omura’s whale.Pacific White-Sided Dolphin.Pantropical Spotted Dolphin.Peale’s Dolphin.Pygmy Killer Whale.Risso’s Dolphin.Rough-Toothed Dolphin.Sei Whale.Short-Beaked Common Dolphin.Short-finned Pilot Whale.Southern Bottlenose Whale.Southern Rightwhale Dolphin.Sperm Whale.Spinner Dolphin.Striped Dolphin.Tucuxi.White-Beaked Dolphin`.split(`.`),cow:`Aberdeen Angus.Abergele.Abigar.Abondance.Abyssinian Shorthorned Zebu.Aceh.Achham.Adamawa.Adaptaur.Afar.Africangus.Afrikaner.Agerolese.Alambadi.Alatau.Albanian.Albera.Alderney.Alentejana.Aleutian wild cattle.Aliad Dinka.Alistana-Sanabresa.Allmogekor.Alur.American.American Angus.American Beef Friesian.American Brown Swiss.American Milking Devon.American White Park.Amerifax.Amrit Mahal.Amsterdam Island cattle.Anatolian Black.Andalusian Black.Andalusian Blond.Andalusian Grey.Angeln.Angoni.Ankina.Ankole.Ankole-Watusi.Aracena.Arado.Argentine Criollo.Argentine Friesian.Armorican.Arouquesa.Arsi.Asturian Mountain.Asturian Valley.Aubrac.Aulie-Ata.Aure et Saint-Girons.Australian Braford.Australian Brangus.Australian Charbray.Australian Friesian Sahiwal.Australian Lowline.Australian Milking Zebu.Australian Shorthorn.Austrian Simmental.Austrian Yellow.Avileña-Negra Ibérica.Avétonou.Aweil Dinka.Ayrshire.Azaouak.Azebuado.Azerbaijan Zebu.Azores.Bachaur cattle.Baherie cattle.Bakosi cattle.Balancer.Baoule.Bargur cattle.Barrosã.Barzona.Bazadaise.Beef Freisian.Beefalo.Beefmaker.Beefmaster.Begayt.Belgian Blue.Belgian Red.Belgian Red Pied.Belgian White-and-Red.Belmont Red.Belted Galloway.Bernese.Berrenda cattle.Betizu.Bianca Modenese.Blaarkop.Black Angus.Black Baldy.Black Hereford.Blanca Cacereña.Blanco Orejinegro BON.Blonde d'Aquitaine.Blue Albion.Blue Grey.Bohuskulla.Bonsmara.Boran.Boškarin.Braford.Brahman.Brahmousin.Brangus.Braunvieh.Brava.Breed.British Friesian.British White.Brown Carpathian.Brown Caucasian.Brown Swiss.Bue Lingo.Burlina.Bushuyev.Butana cattle.Buša cattle.Cachena.Caldelana.Camargue.Campbell Island cattle.Canadian Speckle Park.Canadienne.Canaria.Canchim.Caracu.Carinthian Blondvieh.Carora.Charbray.Charolais.Chateaubriand.Chiangus.Chianina.Chillingham cattle.Chinese Black Pied.Cholistani.Coloursided White Back.Commercial.Corriente.Corsican cattle.Costeño con Cuernos.Crioulo Lageano.Cárdena Andaluza.Dajal.Dangi cattle.Danish Black-Pied.Danish Jersey.Danish Red.Deep Red cattle.Deoni.Devon.Dexter cattle.Dhanni.Doayo cattle.Doela.Drakensberger.Droughtmaster.Dulong'.Dutch Belted.Dutch Friesian.Dwarf Lulu.Dølafe.East Anatolian Red.Eastern Finncattle.Eastern Red Polled.Enderby Island cattle.English Longhorn.Ennstaler Bergscheck.Estonian Holstein.Estonian Native.Estonian Red cattle.Finncattle.Finnish Ayrshire.Finnish Holstein-Friesian.Fjäll.Fleckvieh.Florida Cracker cattle.Fogera.French Simmental.Fribourgeoise.Friesian Red and White.Fulani Sudanese.Fēng Cattle.Galician Blond.Galloway cattle.Gangatiri.Gaolao.Garvonesa.Gascon cattle.Gelbvieh.Georgian Mountain cattle.German Angus.German Black Pied Dairy.German Black Pied cattle.German Red Pied.Gir.Glan cattle.Gloucester.Gobra.Greek Shorthorn.Greek Steppe.Greyman cattle.Gudali.Guernsey cattle.Guzerá.Hallikar4.Hanwoo.Hariana cattle.Hartón del Valle.Harzer Rotvieh.Hays Converter.Heck cattle.Hereford.Herens.Highland cattle.Hinterwald.Holando-Argentino.Holstein Friesian cattle.Horro.Hungarian Grey.Huáng Cattle.Hybridmaster.Iberian cattle.Icelandic.Illawarra cattle.Improved Red and White.Indo-Brazilian.Irish Moiled.Israeli Holstein.Israeli Red.Istoben cattle.Istrian cattle.Jamaica Black.Jamaica Hope.Jamaica Red.Japanese Brown.Jarmelista.Javari cattle.Jersey cattle.Jutland cattle.Kabin Buri cattle.Kalmyk cattle.Kamphaeng Saen cattle.Kangayam.Kankrej.Karan Swiss.Kasaragod Dwarf cattle.Kathiawadi.Kazakh Whiteheaded.Kenana cattle.Kenkatha cattle.Kerry cattle.Kherigarh.Khillari cattle.Kholomogory.Korat Wagyu.Kostroma cattle.Krishna Valley cattle.Kurgan cattle.Kuri.La Reina cattle.Lakenvelder cattle.Lampurger.Latvian Blue.Latvian Brown.Latvian Danish Red.Lebedyn.Levantina.Limia cattle.Limousin.Limpurger.Lincoln Red.Lineback.Lithuanian Black-and-White.Lithuanian Light Grey.Lithuanian Red.Lithuanian White-Backed.Lohani cattle.Lourdais.Lucerna cattle.Luing.Madagascar Zebu.Madura.Maine-Anjou.Malnad Gidda.Malvi.Mandalong Special.Mantequera Leonesa.Maramureş Brown.Marchigiana.Maremmana.Marinhoa.Maronesa.Masai.Mashona.Menorquina.Mertolenga.Meuse-Rhine-Issel.Mewati.Milking Shorthorn.Minhota.Mirandesa.Mirkadim.Mocăniţă.Mollie.Monchina.Mongolian.Montbéliarde.Morucha.Murboden.Murnau-Werdenfels.Murray Grey.Muturu.N'Dama.Nagori.Negra Andaluza.Nelore.Nguni.Nimari.Normande.North Bengal Grey.Northern Finncattle.Northern Shorthorn.Norwegian Red.Ongole.Original Simmental.Pajuna.Palmera.Pantaneiro.Parda Alpina.Parthenaise.Pasiega.Pembroke.Philippine Native.Pie Rouge des Plaines.Piedmontese cattle.Pineywoods.Pinzgauer.Pirenaica.Podolac.Podolica.Polish Black-and-White.Polish Red.Poll Shorthorn.Polled Hereford.Polled Shorthorn.Ponwar.Preta.Pulikulam.Punganur.Pustertaler Sprinzen.Qinchaun.Queensland Miniature Boran.RX3.Ramo Grande.Randall.Raramuri Criollo.Rathi.Raya.Red Angus.Red Brangus.Red Chittagong.Red Fulani.Red Gorbatov.Red Holstein.Red Kandhari.Red Mingrelian.Red Poll.Red Polled Østland.Red Sindhi.Retinta.Riggit Galloway.Ringamåla.Rohjan.Romagnola.Romanian Bălţata.Romanian Steppe Gray.Romosinuano.Russian Black Pied.Rätisches Grauvieh.Sahiwal.Salers.Salorn.Sanga.Sanhe.Santa Cruz.Santa Gertrudis.Sayaguesa.Schwyz.Selembu.Senepol.Serbian Pied.Serbian Steppe.Sheko.Shetland.Shorthorn.Siboney de Cuba.Simbrah.Simford.Simmental.Siri.South Devon.Spanish Fighting Bull.Speckle Park.Square Meater.Sussex.Swedish Friesian.Swedish Polled.Swedish Red Pied.Swedish Red Polled.Swedish Red-and-White.Tabapuã.Tarentaise.Tasmanian Grey.Tauros.Telemark.Texas Longhorn.Texon.Thai Black.Thai Fighting Bull.Thai Friesian.Thai Milking Zebu.Tharparkar.Tswana.Tudanca.Tuli.Tulim.Turkish Grey Steppe.Tux-Zillertal.Tyrol Grey.Ukrainian Grey.Umblachery.Valdostana Castana.Valdostana Pezzata Nera.Valdostana Pezzata Rossa.Vaynol.Vechur8.Vestland Fjord.Vestland Red Polled.Vianesa.Volinian Beef.Vorderwald.Vosgienne.Väneko.Waguli.Wagyu.Wangus.Welsh Black.Western Finncattle.White Cáceres.White Fulani.White Lamphun.White Park.Whitebred Shorthorn.Xingjiang Brown.Yakutian.Yanbian.Yanhuang.Yurino.Zebu.Évolène cattle.Żubroń`.split(`.`),crocodilia:[`African Slender-snouted Crocodile`,`Alligator mississippiensis`,`American Crocodile`,`Australian Freshwater Crocodile`,`Black Caiman`,`Broad-snouted Caiman`,`Chinese Alligator`,`Cuban Crocodile`,`Cuvier’s Dwarf Caiman`,`Dwarf Crocodile`,`Gharial`,`Morelet’s Crocodile`,`Mugger Crocodile`,`New Guinea Freshwater Crocodile`,`Nile Crocodile`,`Orinoco Crocodile`,`Philippine Crocodile`,`Saltwater Crocodile`,`Schneider’s Smooth-fronted Caiman`,`Siamese Crocodile`,`Spectacled Caiman`,`Tomistoma`,`West African Crocodile`,`Yacare Caiman`],dog:`Affenpinscher.Afghan Hound.Aidi.Airedale Terrier.Akbash.Akita.Alano Español.Alapaha Blue Blood Bulldog.Alaskan Husky.Alaskan Klee Kai.Alaskan Malamute.Alopekis.Alpine Dachsbracke.American Bulldog.American Bully.American Cocker Spaniel.American English Coonhound.American Foxhound.American Hairless Terrier.American Pit Bull Terrier.American Staffordshire Terrier.American Water Spaniel.Andalusian Hound.Anglo-Français de Petite Vénerie.Appenzeller Sennenhund.Ariegeois.Armant.Armenian Gampr dog.Artois Hound.Australian Cattle Dog.Australian Kelpie.Australian Shepherd.Australian Stumpy Tail Cattle Dog.Australian Terrier.Austrian Black and Tan Hound.Austrian Pinscher.Azawakh.Bakharwal dog.Banjara Hound.Barbado da Terceira.Barbet.Basenji.Basque Shepherd Dog.Basset Artésien Normand.Basset Bleu de Gascogne.Basset Fauve de Bretagne.Basset Hound.Bavarian Mountain Hound.Beagle.Beagle-Harrier.Bearded Collie.Beauceron.Bedlington Terrier.Belgian Shepherd.Bergamasco Shepherd.Berger Picard.Bernese Mountain Dog.Bhotia.Bichon Frisé.Billy.Black Mouth Cur.Black Norwegian Elkhound.Black Russian Terrier.Black and Tan Coonhound.Bloodhound.Blue Lacy.Blue Picardy Spaniel.Bluetick Coonhound.Boerboel.Bohemian Shepherd.Bolognese.Border Collie.Border Terrier.Borzoi.Bosnian Coarse-haired Hound.Boston Terrier.Bouvier des Ardennes.Bouvier des Flandres.Boxer.Boykin Spaniel.Bracco Italiano.Braque Francais.Braque Saint-Germain.Braque d'Auvergne.Braque de l'Ariège.Braque du Bourbonnais.Briard.Briquet Griffon Vendéen.Brittany.Broholmer.Bruno Jura Hound.Brussels Griffon.Bucovina Shepherd Dog.Bull Arab.Bull Terrier.Bulldog.Bullmastiff.Bully Kutta.Burgos Pointer.Cairn Terrier.Campeiro Bulldog.Can de Chira.Canaan Dog.Canadian Eskimo Dog.Cane Corso.Cane Paratore.Cane di Oropa.Cantabrian Water Dog.Cardigan Welsh Corgi.Carea Castellano Manchego.Carolina Dog.Carpathian Shepherd Dog.Catahoula Leopard Dog.Catalan Sheepdog.Caucasian Shepherd Dog.Cavalier King Charles Spaniel.Central Asian Shepherd Dog.Cesky Fousek.Cesky Terrier.Chesapeake Bay Retriever.Chien Français Blanc et Noir.Chien Français Blanc et Orange.Chien Français Tricolore.Chihuahua.Chilean Terrier.Chinese Chongqing Dog.Chinese Crested Dog.Chinook.Chippiparai.Chongqing dog.Chortai.Chow Chow.Cimarrón Uruguayo.Cirneco dell'Etna.Clumber Spaniel.Colombian fino hound.Coton de Tulear.Cretan Hound.Croatian Sheepdog.Curly-Coated Retriever.Cursinu.Czechoslovakian Wolfdog.Cão Fila de São Miguel.Cão da Serra de Aires.Cão de Castro Laboreiro.Cão de Gado Transmontano.Dachshund.Dalmatian.Dandie Dinmont Terrier.Danish-Swedish Farmdog.Denmark Feist.Dingo.Doberman Pinscher.Dogo Argentino.Dogo Guatemalteco.Dogo Sardesco.Dogue Brasileiro.Dogue de Bordeaux.Drentse Patrijshond.Drever.Dunker.Dutch Shepherd.Dutch Smoushond.East European Shepherd.East Siberian Laika.English Cocker Spaniel.English Foxhound.English Mastiff.English Setter.English Shepherd.English Springer Spaniel.English Toy Terrier.Entlebucher Mountain Dog.Estonian Hound.Estrela Mountain Dog.Eurasier.Field Spaniel.Fila Brasileiro.Finnish Hound.Finnish Lapphund.Finnish Spitz.Flat-Coated Retriever.French Bulldog.French Spaniel.Galgo Español.Galician Shepherd Dog.Garafian Shepherd.Gascon Saintongeois.Georgian Shepherd.German Hound.German Longhaired Pointer.German Pinscher.German Roughhaired Pointer.German Shepherd Dog.German Shorthaired Pointer.German Spaniel.German Spitz.German Wirehaired Pointer.Giant Schnauzer.Glen of Imaal Terrier.Golden Retriever.Gordon Setter.Gończy Polski.Grand Anglo-Français Blanc et Noir.Grand Anglo-Français Blanc et Orange.Grand Anglo-Français Tricolore.Grand Basset Griffon Vendéen.Grand Bleu de Gascogne.Grand Griffon Vendéen.Great Dane.Greater Swiss Mountain Dog.Greek Harehound.Greek Shepherd.Greenland Dog.Greyhound.Griffon Bleu de Gascogne.Griffon Fauve de Bretagne.Griffon Nivernais.Gull Dong.Gull Terrier.Hamiltonstövare.Hanover Hound.Harrier.Havanese.Hierran Wolfdog.Hokkaido.Hovawart.Huntaway.Hygen Hound.Hällefors Elkhound.Ibizan Hound.Icelandic Sheepdog.Indian Spitz.Indian pariah dog.Irish Red and White Setter.Irish Setter.Irish Terrier.Irish Water Spaniel.Irish Wolfhound.Istrian Coarse-haired Hound.Istrian Shorthaired Hound.Italian Greyhound.Jack Russell Terrier.Jagdterrier.Japanese Chin.Japanese Spitz.Japanese Terrier.Jindo.Jonangi.Kai Ken.Kaikadi.Kangal Shepherd Dog.Kanni.Karakachan dog.Karelian Bear Dog.Kars.Karst Shepherd.Keeshond.Kerry Beagle.Kerry Blue Terrier.King Charles Spaniel.King Shepherd.Kintamani.Kishu.Kokoni.Kombai.Komondor.Kooikerhondje.Koolie.Koyun dog.Kromfohrländer.Kuchi.Kuvasz.Labrador Retriever.Lagotto Romagnolo.Lakeland Terrier.Lancashire Heeler.Landseer.Lapponian Herder.Large Münsterländer.Leonberger.Levriero Sardo.Lhasa Apso.Lithuanian Hound.Lupo Italiano.Löwchen.Mackenzie River Husky.Magyar agár.Mahratta Greyhound.Maltese.Manchester Terrier.Maremmano-Abruzzese Sheepdog.McNab dog.Miniature American Shepherd.Miniature Bull Terrier.Miniature Fox Terrier.Miniature Pinscher.Miniature Schnauzer.Molossus of Epirus.Montenegrin Mountain Hound.Mountain Cur.Mountain Feist.Mucuchies.Mudhol Hound.Mudi.Neapolitan Mastiff.New Guinea Singing Dog.New Zealand Heading Dog.Newfoundland.Norfolk Terrier.Norrbottenspets.Northern Inuit Dog.Norwegian Buhund.Norwegian Elkhound.Norwegian Lundehund.Norwich Terrier.Nova Scotia Duck Tolling Retriever.Old Croatian Sighthound.Old Danish Pointer.Old English Sheepdog.Old English Terrier.Olde English Bulldogge.Otterhound.Pachon Navarro.Paisley Terrier.Pampas Deerhound.Papillon.Parson Russell Terrier.Pastore della Lessinia e del Lagorai.Patagonian Sheepdog.Patterdale Terrier.Pekingese.Pembroke Welsh Corgi.Perro Majorero.Perro de Pastor Mallorquin.Perro de Presa Canario.Perro de Presa Mallorquin.Peruvian Inca Orchid.Petit Basset Griffon Vendéen.Petit Bleu de Gascogne.Phalène.Pharaoh Hound.Phu Quoc Ridgeback.Picardy Spaniel.Plott Hound.Plummer Terrier.Podenco Canario.Podenco Valenciano.Pointer.Poitevin.Polish Greyhound.Polish Hound.Polish Lowland Sheepdog.Polish Tatra Sheepdog.Pomeranian.Pont-Audemer Spaniel.Poodle.Porcelaine.Portuguese Podengo.Portuguese Pointer.Portuguese Water Dog.Posavac Hound.Pražský Krysařík.Pshdar Dog.Pudelpointer.Pug.Puli.Pumi.Pungsan Dog.Pyrenean Mastiff.Pyrenean Mountain Dog.Pyrenean Sheepdog.Rafeiro do Alentejo.Rajapalayam.Rampur Greyhound.Rat Terrier.Ratonero Bodeguero Andaluz.Ratonero Mallorquin.Ratonero Murciano de Huerta.Ratonero Valenciano.Redbone Coonhound.Rhodesian Ridgeback.Romanian Mioritic Shepherd Dog.Romanian Raven Shepherd Dog.Rottweiler.Rough Collie.Russian Spaniel.Russian Toy.Russo-European Laika.Saarloos Wolfdog.Sabueso Español.Saint Bernard.Saint Hubert Jura Hound.Saint-Usuge Spaniel.Saluki.Samoyed.Sapsali.Sarabi dog.Sardinian Shepherd Dog.Schapendoes.Schillerstövare.Schipperke.Schweizer Laufhund.Schweizerischer Niederlaufhund.Scottish Deerhound.Scottish Terrier.Sealyham Terrier.Segugio Italiano.Segugio Maremmano.Segugio dell'Appennino.Seppala Siberian Sleddog.Serbian Hound.Serbian Tricolour Hound.Serrano Bulldog.Shar Pei.Shetland Sheepdog.Shiba Inu.Shih Tzu.Shikoku.Shiloh Shepherd.Siberian Husky.Silken Windhound.Silky Terrier.Sinhala Hound.Skye Terrier.Sloughi.Slovakian Wirehaired Pointer.Slovenský Cuvac.Slovenský Kopov.Smalandstövare.Small Greek domestic dog.Small Münsterländer.Smooth Collie.Smooth Fox Terrier.Soft-Coated Wheaten Terrier.South Russian Ovcharka.Spanish Mastiff.Spanish Water Dog.Spinone Italiano.Sporting Lucas Terrier.Stabyhoun.Staffordshire Bull Terrier.Standard Schnauzer.Stephens Stock.Styrian Coarse-haired Hound.Sussex Spaniel.Swedish Elkhound.Swedish Lapphund.Swedish Vallhund.Swedish White Elkhound.Taigan.Taiwan Dog.Tamaskan Dog.Teddy Roosevelt Terrier.Telomian.Tenterfield Terrier.Terrier Brasileiro.Thai Bangkaew Dog.Thai Ridgeback.Tibetan Mastiff.Tibetan Spaniel.Tibetan Terrier.Tornjak.Tosa.Toy Fox Terrier.Toy Manchester Terrier.Transylvanian Hound.Treeing Cur.Treeing Feist.Treeing Tennessee Brindle.Treeing Walker Coonhound.Trigg Hound.Tyrolean Hound.Vikhan.Villano de Las Encartaciones.Villanuco de Las Encartaciones.Vizsla.Volpino Italiano.Weimaraner.Welsh Sheepdog.Welsh Springer Spaniel.Welsh Terrier.West Highland White Terrier.West Siberian Laika.Westphalian Dachsbracke.Wetterhoun.Whippet.White Shepherd.White Swiss Shepherd Dog.Wire Fox Terrier.Wirehaired Pointing Griffon.Wirehaired Vizsla.Xiasi Dog.Xoloitzcuintli.Yakutian Laika.Yorkshire Terrier.Šarplaninac`.split(`.`),fish:`Alaska pollock.Albacore.Amur catfish.Araucanian herring.Argentine hake.Asari.Asian swamp eel.Atlantic cod.Atlantic herring.Atlantic horse mackerel.Atlantic mackerel.Atlantic menhaden.Atlantic salmon.Bigeye scad.Bigeye tuna.Bighead carp.Black carp.Blood cockle.Blue swimming crab.Blue whiting.Bombay-duck.Bonga shad.California pilchard.Cape horse mackerel.Capelin.Catla.Channel catfish.Chilean jack mackerel.Chinese perch.Chinese softshell turtle.Chub mackerel.Chum salmon.Common carp.Crucian carp.Daggertooth pike conger.European anchovy.European pilchard.European sprat.Filipino Venus.Gazami crab.Goldstripe sardinella.Grass carp.Gulf menhaden.Haddock.Hilsa shad.Indian mackerel.Indian oil sardine.Iridescent shark.Japanese anchovy.Japanese cockle.Japanese common catfish.Japanese flying squid.Japanese jack mackerel.Japanese littleneck.Japanese pilchard.Jumbo flying squid.Kawakawa.Korean bullhead.Largehead hairtail.Longtail tuna.Madeiran sardinella.Mandarin fish.Milkfish.Mrigal carp.Narrow-barred Spanish mackerel.Nile perch.Nile tilapia.North Pacific hake.Northern snakehead.Pacific anchoveta.Pacific cod.Pacific herring.Pacific sand lance.Pacific sandlance.Pacific saury.Pacific thread herring.Peruvian anchoveta.Pink salmon.Pollock.Pond loach.Rainbow trout.Rohu.Round sardinella.Short mackerel.Silver carp.Silver cyprinid.Skipjack tuna.Southern African anchovy.Southern rough shrimp.Whiteleg shrimp.Wuchang bream.Yellow croaker.Yellowfin tuna.Yellowhead catfish.Yellowstripe scad`.split(`.`),horse:`Abaco Barb.Abtenauer.Abyssinian.Aegidienberger.Akhal-Teke.Albanian Horse.Altai Horse.Altèr Real.American Albino.American Cream Draft.American Indian Horse.American Paint Horse.American Quarter Horse.American Saddlebred.American Warmblood.Andalusian Horse.Andravida Horse.Anglo-Arabian.Anglo-Arabo-Sardo.Anglo-Kabarda.Appaloosa.AraAppaloosa.Arabian Horse.Ardennes Horse.Arenberg-Nordkirchen.Argentine Criollo.Asian wild Horse.Assateague Horse.Asturcón.Augeron.Australian Brumby.Australian Draught Horse.Australian Stock Horse.Austrian Warmblood.Auvergne Horse.Auxois.Azerbaijan Horse.Azteca Horse.Baise Horse.Bale.Balearic Horse.Balikun Horse.Baluchi Horse.Banker Horse.Barb Horse.Bardigiano.Bashkir Curly.Basque Mountain Horse.Bavarian Warmblood.Belgian Half-blood.Belgian Horse.Belgian Warmblood.Bhutia Horse.Black Forest Horse.Blazer Horse.Boerperd.Borana.Boulonnais Horse.Brabant.Brandenburger.Brazilian Sport Horse.Breton Horse.Brumby.Budyonny Horse.Burguete Horse.Burmese Horse.Byelorussian Harness Horse.Calabrese Horse.Camargue Horse.Camarillo White Horse.Campeiro.Campolina.Canadian Horse.Canadian Pacer.Carolina Marsh Tacky.Carthusian Horse.Caspian Horse.Castilian Horse.Castillonnais.Catria Horse.Cavallo Romano della Maremma Laziale.Cerbat Mustang.Chickasaw Horse.Chilean Corralero.Choctaw Horse.Cleveland Bay.Clydesdale Horse.Cob.Coldblood Trotter.Colonial Spanish Horse.Colorado Ranger.Comtois Horse.Corsican Horse.Costa Rican Saddle Horse.Cretan Horse.Criollo Horse.Croatian Coldblood.Cuban Criollo.Cumberland Island Horse.Curly Horse.Czech Warmblood.Daliboz.Danish Warmblood.Danube Delta Horse.Dole Gudbrandsdal.Don.Dongola Horse.Draft Trotter.Dutch Harness Horse.Dutch Heavy Draft.Dutch Warmblood.Dzungarian Horse.East Bulgarian.East Friesian Horse.Estonian Draft.Estonian Horse.Falabella.Faroese.Finnhorse.Fjord Horse.Fleuve.Florida Cracker Horse.Foutanké.Frederiksborg Horse.Freiberger.French Trotter.Friesian Cross.Friesian Horse.Friesian Sporthorse.Furioso-North Star.Galiceño.Galician Pony.Gelderland Horse.Georgian Grande Horse.German Warmblood.Giara Horse.Gidran.Groningen Horse.Gypsy Horse.Hackney Horse.Haflinger.Hanoverian Horse.Heck Horse.Heihe Horse.Henson Horse.Hequ Horse.Hirzai.Hispano-Bretón.Holsteiner Horse.Horro.Hungarian Warmblood.Icelandic Horse.Iomud.Irish Draught.Irish Sport Horse sometimes called Irish Hunter.Italian Heavy Draft.Italian Trotter.Jaca Navarra.Jeju Horse.Jutland Horse.Kabarda Horse.Kafa.Kaimanawa Horses.Kalmyk Horse.Karabair.Karabakh Horse.Karachai Horse.Karossier.Kathiawari.Kazakh Horse.Kentucky Mountain Saddle Horse.Kiger Mustang.Kinsky Horse.Kisber Felver.Kiso Horse.Kladruber.Knabstrupper.Konik.Kundudo.Kustanair.Kyrgyz Horse.Latvian Horse.Lipizzan.Lithuanian Heavy Draught.Lokai.Losino Horse.Lusitano.Lyngshest.M'Bayar.M'Par.Mallorquín.Malopolski.Mangalarga.Mangalarga Marchador.Maremmano.Marismeño Horse.Marsh Tacky.Marwari Horse.Mecklenburger.Menorquín.Messara Horse.Metis Trotter.Mezőhegyesi Sport Horse.Međimurje Horse.Miniature Horse.Misaki Horse.Missouri Fox Trotter.Monchina.Mongolian Horse.Mongolian Wild Horse.Monterufolino.Morab.Morgan Horse.Mountain Pleasure Horse.Moyle Horse.Murakoz Horse.Murgese.Mustang Horse.Mérens Horse.Namib Desert Horse.Nangchen Horse.National Show Horse.Nez Perce Horse.Nivernais Horse.Nokota Horse.Noma.Nonius Horse.Nooitgedachter.Nordlandshest.Noriker Horse.Norman Cob.North American Single-Footer Horse.North Swedish Horse.Norwegian Coldblood Trotter.Norwegian Fjord.Novokirghiz.Oberlander Horse.Ogaden.Oldenburg Horse.Orlov trotter.Ostfriesen.Paint.Pampa Horse.Paso Fino.Pentro Horse.Percheron.Persano Horse.Peruvian Paso.Pintabian.Pleven Horse.Poitevin Horse.Posavac Horse.Pottok.Pryor Mountain Mustang.Przewalski's Horse.Pura Raza Española.Purosangue Orientale.Qatgani.Quarab.Quarter Horse.Racking Horse.Retuerta Horse.Rhenish German Coldblood.Rhinelander Horse.Riwoche Horse.Rocky Mountain Horse.Romanian Sporthorse.Rottaler.Russian Don.Russian Heavy Draft.Russian Trotter.Saddlebred.Salerno Horse.Samolaco Horse.San Fratello Horse.Sarcidano Horse.Sardinian Anglo-Arab.Schleswig Coldblood.Schwarzwälder Kaltblut.Selale.Sella Italiano.Selle Français.Shagya Arabian.Shan Horse.Shire Horse.Siciliano Indigeno.Silesian Horse.Sokolsky Horse.Sorraia.South German Coldblood.Soviet Heavy Draft.Spanish Anglo-Arab.Spanish Barb.Spanish Jennet Horse.Spanish Mustang.Spanish Tarpan.Spanish-Norman Horse.Spiti Horse.Spotted Saddle Horse.Standardbred Horse.Suffolk Punch.Swedish Ardennes.Swedish Warmblood.Swedish coldblood trotter.Swiss Warmblood.Taishū Horse.Takhi.Tawleed.Tchernomor.Tennessee Walking Horse.Tersk Horse.Thoroughbred.Tiger Horse.Tinker Horse.Tolfetano.Tori Horse.Trait Du Nord.Trakehner.Tsushima.Tuigpaard.Ukrainian Riding Horse.Unmol Horse.Uzunyayla.Ventasso Horse.Virginia Highlander.Vlaamperd.Vladimir Heavy Draft.Vyatka.Waler.Waler Horse.Walkaloosa.Warlander.Warmblood.Welsh Cob.Westphalian Horse.Wielkopolski.Württemberger.Xilingol Horse.Yakutian Horse.Yili Horse.Yonaguni Horse.Zaniskari.Zhemaichu.Zweibrücker.Žemaitukas`.split(`.`),insect:`Acacia-ants.Acorn-plum gall.Aerial yellowjacket.Africanized honey bee.Allegheny mound ant.Almond stone wasp.Ant.Arboreal ant.Argentine ant.Asian paper wasp.Baldfaced hornet.Bee.Bigheaded ant.Black and yellow mud dauber.Black carpenter ant.Black imported fire ant.Blue horntail woodwasp.Blue orchard bee.Braconid wasp.Bumble bee.Carpenter ant.Carpenter wasp.Chalcid wasp.Cicada killer.Citrus blackfly parasitoid.Common paper wasp.Crazy ant.Cuckoo wasp.Cynipid gall wasp.Eastern Carpenter bee.Eastern yellowjacket.Elm sawfly.Encyrtid wasp.Erythrina gall wasp.Eulophid wasp.European hornet.European imported fire ant.False honey ant.Fire ant.Forest bachac.Forest yellowjacket.German yellowjacket.Ghost ant.Giant ichneumon wasp.Giant resin bee.Giant wood wasp.Golden northern bumble bee.Golden paper wasp.Gouty oak gall.Grass Carrying Wasp.Great black wasp.Great golden digger wasp.Hackberry nipple gall parasitoid.Honey bee.Horned oak gall.Horse guard wasp.Hunting wasp.Ichneumonid wasp.Keyhole wasp.Knopper gall.Large garden bumble bee.Large oak-apple gall.Leafcutting bee.Little fire ant.Little yellow ant.Long-horned bees.Long-legged ant.Macao paper wasp.Mallow bee.Marble gall.Mossyrose gall wasp.Mud-daubers.Multiflora rose seed chalcid.Oak apple gall wasp.Oak rough bulletgall wasp.Oak saucer gall.Oak shoot sawfly.Odorous house ant.Orange-tailed bumble bee.Orangetailed potter wasp.Oriental chestnut gall wasp.Paper wasp.Pavement ant.Pigeon tremex.Pip gall wasp.Prairie yellowjacket.Pteromalid wasp.Pyramid ant.Raspberry Horntail.Red ant.Red carpenter ant.Red harvester ant.Red imported fire ant.Red wasp.Red wood ant.Red-tailed wasp.Reddish carpenter ant.Rough harvester ant.Sawfly parasitic wasp.Scale parasitoid.Silky ant.Sirex woodwasp.Siricid woodwasp.Smaller yellow ant.Southeastern blueberry bee.Southern fire ant.Southern yellowjacket.Sphecid wasp.Stony gall.Sweat bee.Texas leafcutting ant.Tiphiid wasp.Torymid wasp.Tramp ant.Valentine ant.Velvet ant.Vespid wasp.Weevil parasitoid.Western harvester ant.Western paper wasp.Western thatching ant.Western yellowjacket.White-horned horntail.Willow shoot sawfly.Woodwasp.Wool sower gall maker.Yellow Crazy Ant.Yellow and black potter wasp.Yellow-horned horntail`.split(`.`),lion:[`Asiatic Lion`,`Barbary Lion`,`Cape lion`,`Masai Lion`,`Northeast Congo Lion`,`Transvaal lion`,`West African Lion`],pet_name:`Ace.Archie.Bailey.Bandit.Bella.Bentley.Bruno.Buddy.Charlie.Coco.Cookie.Cooper.Daisy.Dixie.Finn.Ginger.Gracie.Gus.Hank.Jack.Jax.Joey.Kobe.Leo.Lola.Louie.Lucy.Maggie.Max.Mia.Milo.Molly.Murphey.Nala.Nova.Ollie.Oreo.Rosie.Scout.Stella.Teddy.Tuffy`.split(`.`),rabbit:`American.American Chinchilla.American Fuzzy Lop.American Sable.Argente Brun.Belgian Hare.Beveren.Blanc de Hotot.Britannia Petite.Californian.Champagne D’Argent.Checkered Giant.Cinnamon.Crème D’Argent.Dutch.Dwarf Hotot.English Angora.English Lop.English Spot.Flemish Giant.Florida White.French Angora.French Lop.Giant Angora.Giant Chinchilla.Harlequin.Havana.Himalayan.Holland Lop.Jersey Wooly.Lilac.Lionhead.Mini Lop.Mini Rex.Mini Satin.Netherland Dwarf.New Zealand.Palomino.Polish.Rex.Rhinelander.Satin.Satin Angora.Silver.Silver Fox.Silver Marten.Standard Chinchilla.Tan.Thrianta`.split(`.`),rodent:`Abrocoma(Abrocoma schistacea(Aconaemys(Aconaemys porteri(African brush-tailed porcupine(Andean mountain cavy(Argentine tuco-tuco(Ashy chinchilla rat(Asiatic brush-tailed porcupine(Atherurus(Azara's agouti(Azara's tuco-tuco(Bahia porcupine(Bathyergus(Bathyergus janetta(Bathyergus suillus(Bennett's chinchilla rat(Bicolored-spined porcupine(Black agouti(Black dwarf porcupine(Black-rumped agouti(Black-tailed hairy dwarf porcupine(Bolivian chinchilla rat(Bolivian tuco-tuco(Bonetto's tuco-tuco(Brandt's yellow-toothed cavy(Brazilian guinea pig(Brazilian porcupine(Brazilian tuco-tuco(Bridge's degu(Brown hairy dwarf porcupine(Budin's chinchilla rat, A. budini(Cape porcupine(Catamarca tuco-tuco(Cavia(Central American agouti(Chacoan tuco-tuco(Chilean rock rat(Chinchilla(Coendou(Coiban agouti(Colburn's tuco-tuco(Collared tuco-tuco(Common degu(Common yellow-toothed cavy(Conover's tuco-tuco(Coruro(Crested agouti(Crested porcupine(Cryptomys(Cryptomys bocagei(Cryptomys damarensis(Cryptomys foxi(Cryptomys hottentotus(Cryptomys mechowi(Cryptomys ochraceocinereus(Cryptomys zechi(Ctenomys(Cuniculus(Cuscomys(Cuscomys ashanika(Dactylomys(Dactylomys boliviensis(Dactylomys dactylinus(Dactylomys peruanus(Dasyprocta(Domestic guinea pig(Emily's tuco-tuco(Erethizon(Famatina chinchilla rat(Frosted hairy dwarf porcupine(Fukomys(Fukomys amatus(Fukomys anselli(Fukomys bocagei(Fukomys damarensis(Fukomys darlingi(Fukomys foxi(Fukomys ilariae(Fukomys kafuensis(Fukomys mechowii(Fukomys micklemi(Fukomys occlusus(Fukomys ochraceocinereus(Fukomys whytei(Fukomys zechi(Furtive tuco-tuco(Galea(Georychus(Georychus capensis(Golden viscacha-rat(Goya tuco-tuco(Greater guinea pig(Green acouchi(Haig's tuco-tuco(Heliophobius(Heliophobius argenteocinereus(Heterocephalus(Heterocephalus glaber(Highland tuco-tuco(Hystrix(Indian porcupine(Isla Mocha degu(Kalinowski agouti(Kannabateomys(Kannabateomys amblyonyx(Lagidium(Lagostomus(Lewis' tuco-tuco(Long-tailed chinchilla(Long-tailed porcupine(Los Chalchaleros' viscacha-rat(Lowland paca(Magellanic tuco-tuco(Malayan porcupine(Maule tuco-tuco(Mendoza tuco-tuco(Mexican agouti(Mexican hairy dwarf porcupine(Microcavia(Montane guinea pig(Moon-toothed degu(Mottled tuco-tuco(Mountain degu(Mountain paca(Mountain viscacha-rat(Myoprocta(Natterer's tuco-tuco(North American porcupine(Northern viscacha(Octodon(Octodontomys(Octomys(Olallamys(Olallamys albicauda(Olallamys edax(Orinoco agouti(Paraguaian hairy dwarf porcupine(Pearson's tuco-tuco(Peruvian tuco-tuco(Philippine porcupine(Pipanacoctomys(Plains viscacha(Plains viscacha-rat(Porteous' tuco-tuco(Punta de Vacas chinchilla rat(Red acouchi(Red-rumped agouti(Reddish tuco-tuco(Rio Negro tuco-tuco(Robust tuco-tuco(Roosmalen's dwarf porcupine(Rothschild's porcupine(Ruatan Island agouti(Sage's rock rat(Salinoctomys(Salta tuco-tuco(San Luis tuco-tuco(Santa Catarina's guinea pig(Shiny guinea pig(Shipton's mountain cavy(Short-tailed chinchilla(Silky tuco-tuco(Social tuco-tuco(Southern mountain cavy(Southern tuco-tuco(Southern viscacha(Spalacopus(Spix's yellow-toothed cavy(Steinbach's tuco-tuco(Streaked dwarf porcupine(Strong tuco-tuco(Stump-tailed porcupine(Sumatran porcupine(Sunda porcupine(Talas tuco-tuco(Tawny tuco-tuco(Thick-spined porcupine(Tiny tuco-tuco(Trichys(Tucuman tuco-tuco(Tympanoctomys(Uspallata chinchilla rat(White-toothed tuco-tuco(Wolffsohn's viscacha`.split(`(`),snake:`Abaco Island boa.Aesculapian snake.African beaked snake.African puff adder.African rock python.African twig snake.African wolf snake.Amazon tree boa.Amazonian palm viper.American Vine Snake.American copperhead.Amethystine python.Anaconda.Andaman cat snake.Andaman cobra.Angolan python.Annulated sea snake.Arabian cobra.Arafura file snake.Arizona black rattlesnake.Arizona coral snake.Aruba rattlesnake.Asian Vine Snake, Whip Snake.Asian cobra.Asian keelback.Asian pipe snake.Asp.Asp viper.Assam keelback.Australian copperhead.Australian scrub python.Baird's rat snake.Baja California lyresnake.Ball Python.Ball python.Bamboo pitviper.Bamboo viper.Banded Flying Snake.Banded cat-eyed snake.Banded krait.Banded pitviper.Banded water cobra.Barbour's pit viper.Barred wolf snake.Beaked sea snake.Beauty rat snake.Beddome's cat snake.Beddome's coral snake.Bimini racer.Bird snake.Bismarck ringed python.Black headed python.Black krait.Black mamba.Black rat snake.Black snake.Black tree cobra.Black-banded trinket snake.Black-headed snake.Black-necked cobra.Black-necked spitting cobra.Black-speckled palm-pitviper.Black-striped keelback.Black-tailed horned pit viper.Blanding's tree snake.Blind snake.Blonde hognose snake.Blood python.Blue krait.Blunt-headed tree snake.Bluntnose viper.Boa.Boa constrictor.Bocourt's water snake.Boelen python.Boiga.Bolivian anaconda.Boomslang.Bornean pitviper.Borneo short-tailed python.Brahminy blind snake.Brazilian coral snake.Brazilian mud Viper.Brazilian smooth snake.Bredl's python.Brongersma's pitviper.Brown snake.Brown spotted pitviper.Brown tree snake.Brown water python.Brown white-lipped python.Buff striped keelback.Bull snake.Burmese keelback.Burmese krait.Burmese python.Burrowing cobra.Burrowing viper.Bush viper.Bushmaster.Buttermilk racer.Calabar python.California kingsnake.Canebrake.Cantil.Cantor's pitviper.Cape cobra.Cape coral snake.Cape gopher snake.Carpet viper.Cascabel.Caspian cobra.Cat snake.Cat-eyed night snake.Cat-eyed snake.Central American lyre snake.Central ranges taipan.Centralian carpet python.Ceylon krait.Chappell Island tiger snake.Checkered garter snake.Checkered keelback.Chicken snake.Chihuahuan ridge-nosed rattlesnake.Children's python.Chinese tree viper.Coachwhip snake.Coastal carpet python.Coastal taipan.Cobra.Collett's snake.Colorado desert sidewinder.Common adder.Common cobra.Common garter snake.Common ground snake.Common keelback.Common lancehead.Common tiger snake.Common worm snake.Congo snake.Congo water cobra.Copperhead.Coral snake.Corn snake.Coronado Island rattlesnake.Cottonmouth.Crossed viper.Crowned snake.Cuban boa.Cuban wood snake.Cyclades blunt-nosed viper.Dauan Island water python.De Schauensee's anaconda.Death Adder.Desert death adder.Desert kingsnake.Desert woma python.Diamond python.Dog-toothed cat snake.Down's tiger snake.Dubois's sea snake.Dumeril's boa.Durango rock rattlesnake.Dusky pigmy rattlesnake.Dusty hognose snake.Dwarf beaked snake.Dwarf boa.Dwarf pipe snake.Dwarf sand adder.Eastern brown snake.Eastern coral snake.Eastern diamondback rattlesnake.Eastern green mamba.Eastern hognose snake.Eastern lyre snake.Eastern mud snake.Eastern racer.Eastern tiger snake.Eastern water cobra.Eastern yellowbelly sad racer.Egg-eater.Egyptian asp.Egyptian cobra.Elegant pitviper.Emerald tree boa.Equatorial spitting cobra.European asp.European smooth snake.Eyelash palm-pitviper.Eyelash pit viper.Eyelash viper.False cobra.False horned viper.False water cobra.Fan-Si-Pan horned pitviper.Fea's viper.Fer-de-lance.Fierce snake.Fifty pacer.Fishing snake.Flat-nosed pitviper.Flinders python.Flying snake.Forest cobra.Forest flame snake.Forsten's cat snake.Fox snake, three species of Pantherophis.Gaboon viper.Garter snake.Giant Malagasy hognose snake.Godman's pit viper.Gold tree cobra.Gold-ringed cat snake.Golden tree snake.Grand Canyon rattlesnake.Grass snake.Gray cat snake.Great Basin rattlesnake.Great Lakes bush viper.Great Plains rat snake.Green anaconda.Green cat-eyed snake.Green mamba.Green palm viper.Green rat snake.Green snake.Green tree pit viper.Green tree python.Grey Lora.Grey-banded kingsnake.Ground snake.Guatemalan palm viper.Guatemalan tree viper.Habu.Habu pit viper.Hagen's pitviper.Hairy bush viper.Halmahera python.Hardwicke's sea snake.Harlequin coral snake.High Woods coral snake.Hill keelback.Himalayan keelback.Hogg Island boa.Hognose snake.Hognosed viper.Honduran palm viper.Hook Nosed Sea Snake.Hopi rattlesnake.Horned adder.Horned desert viper.Horned viper.Horseshoe pitviper.Hundred pacer.Hutton's tree viper.Ikaheka snake.Indian cobra.Indian flying snake.Indian krait.Indian python.Indian tree viper.Indigo snake.Indochinese spitting cobra.Indonesian water python.Inland carpet python.Inland taipan.Jamaican Tree Snake.Jamaican boa.Jan's hognose snake.Japanese forest rat snake.Japanese rat snake.Japanese striped snake.Javan spitting cobra.Jerdon's pitviper.Jumping viper.Jungle carpet python.Kanburian pit viper.Kaulback's lance-headed pitviper.Kayaudi dwarf reticulated python.Kaznakov's viper.Keelback.Kham Plateau pitviper.Khasi Hills keelback.King Island tiger snake.King brown.King cobra.King rat snake.King snake.Krait.Krefft's tiger snake.Lance-headed rattlesnake.Lancehead.Large shield snake.Large-eyed pitviper.Large-scaled tree viper.Leaf viper.Leaf-nosed viper.Lesser black krait.Levant viper.Long-nosed adder.Long-nosed tree snake.Long-nosed viper.Long-nosed whip snake.Long-tailed rattlesnake.Longnosed worm snake.Lora.Lyre snake.Machete savane.Macklot's python.Madagascar ground boa.Madagascar tree boa.Malabar rock pitviper.Malayan krait.Malayan long-glanded coral snake.Malayan pit viper.Malcolm's tree viper.Mamba.Mamushi.Manchurian Black Water Snake.Mandalay cobra.Mandarin rat snake.Mangrove pit viper.Mangrove snake.Mangshan pitviper.Many-banded krait.Many-banded tree snake.Many-horned adder.Many-spotted cat snake.Massasauga rattlesnake.McMahon's viper.Mexican black kingsnake.Mexican green rattlesnake.Mexican hognose snake.Mexican palm-pitviper.Mexican parrot snake.Mexican racer.Mexican vine snake.Mexican west coast rattlesnake.Midget faded rattlesnake.Milk snake.Moccasin snake.Modest keelback.Mojave desert sidewinder.Mojave rattlesnake.Mole viper.Mollucan python.Moluccan flying snake.Montpellier snake.Motuo bamboo pitviper.Mountain adder.Mozambique spitting cobra.Mud adder.Mud snake.Mussurana.Namaqua dwarf adder.Namib dwarf sand adder.Narrowhead Garter Snake.New Guinea carpet python.Nichell snake.Nicobar Island keelback.Nicobar bamboo pitviper.Night snake.Nightingale adder.Nilgiri keelback.Nitsche's bush viper.Nitsche's tree viper.North Philippine cobra.North eastern king snake.Northeastern hill krait.Northern black-tailed rattlesnake.Northern tree snake.Northern water snake.Northern white-lipped python.Northwestern carpet python.Nose-horned viper.Nubian spitting cobra.Oaxacan small-headed rattlesnake.Oenpelli python.Olive python.Olive sea snake.Orange-collared keelback.Ornate flying snake.Palestine viper.Pallas' viper.Palm viper.Papuan python.Paradise flying snake.Parrot snake.Patchnose snake.Paupan taipan.Pelagic sea snake.Peninsula tiger snake.Peringuey's adder.Perrotet's shieldtail snake.Persian rat snake.Philippine cobra.Philippine pitviper.Pine snake.Pipe snake.Pit viper.Pointed-scaled pit viper.Pope's tree viper.Portuguese viper.Prairie kingsnake.Puerto Rican boa.Puff adder.Pygmy python.Python.Queen snake.Racer.Raddysnake.Rainbow boa.Rat snake.Rattler.Rattlesnake.Red blood python.Red diamond rattlesnake.Red spitting cobra.Red-backed rat snake.Red-bellied black snake.Red-headed krait.Red-necked keelback.Red-tailed bamboo pitviper.Red-tailed boa.Red-tailed pipe snake.Reticulated python.Rhinoceros viper.Rhombic night adder.Ribbon snake.Rinkhals.Rinkhals cobra.River jack.Rosy boa.Rough green snake.Rough-scaled bush viper.Rough-scaled python.Rough-scaled tree viper.Royal python.Rubber boa.Rufous beaked snake.Rungwe tree viper.San Francisco garter snake.Sand adder.Sand boa.Savu python.Saw-scaled viper.Scarlet kingsnake.Schlegel's viper.Schultze's pitviper.Sea snake.Sedge viper.Selayer reticulated python.Sharp-nosed viper.Shield-nosed cobra.Shield-tailed snake.Siamese palm viper.Side-striped palm-pitviper.Sidewinder.Sikkim keelback.Sinai desert cobra.Sind krait.Small-eyed snake.Smooth green snake.Smooth snake.Snorkel viper.Snouted cobra.Sonoran sidewinder.South American hognose snake.South eastern corn snake.Southern Indonesian spitting cobra.Southern Pacific rattlesnake.Southern Philippine cobra.Southern black racer.Southern white-lipped python.Southwestern black spitting cobra.Southwestern blackhead snake.Southwestern carpet python.Southwestern speckled rattlesnake.Speckle-bellied keelback.Speckled kingsnake.Spectacled cobra.Spiny bush viper.Spitting cobra.Spotted python.Sri Lankan pit viper.Stejneger's bamboo pitviper.Stiletto snake.Stimson's python.Stoke's sea snake.Storm water cobra.Striped snake.Sumatran short-tailed python.Sumatran tree viper.Sunbeam snake.Taipan.Taiwan cobra.Tan racer.Tancitaran dusky rattlesnake.Tanimbar python.Tasmanian tiger snake.Tawny cat snake.Temple pit viper.Temple viper.Tentacled snake.Texas Coral Snake.Texas blind snake.Texas garter snake.Texas lyre snake.Texas night snake.Thai cobra.Three-lined ground snake.Tibetan bamboo pitviper.Tic polonga.Tiger pit viper.Tiger rattlesnake.Tiger snake.Tigre snake.Timber rattlesnake.Timor python.Titanboa.Tree boa.Tree snake.Tree viper.Trinket snake.Tropical rattlesnake.Twig snake.Twin Headed King Snake.Twin-Barred tree snake.Twin-spotted rat snake.Twin-spotted rattlesnake.Undulated pit viper.Uracoan rattlesnake.Ursini's viper.Urutu.Vine snake.Viper.Viper Adder.Vipera ammodytes.Wagler's pit viper.Wart snake.Water adder.Water moccasin.Water snake.West Indian racer.Western blind snake.Western carpet python.Western coral snake.Western diamondback rattlesnake.Western green mamba.Western ground snake.Western hog-nosed viper.Western mud snake.Western tiger snake.Western woma python.Wetar Island python.Whip snake.White-lipped keelback.White-lipped python.White-lipped tree viper.Wirot's pit viper.Wolf snake.Woma python.Worm snake.Wutu.Wynaad keelback.Yarara.Yellow anaconda.Yellow-banded sea snake.Yellow-bellied sea snake.Yellow-lined palm viper.Yellow-lipped sea snake.Yellow-striped rat snake.Yunnan keelback.Zebra snake.Zebra spitting cobra`.split(`.`),type:`bat.bear.bee.bird.butterfly.cat.cow.crocodile.deer.dog.dolphin.eagle.elephant.fish.flamingo.fox.frog.gecko.giraffe.gorilla.hamster.hippopotamus.horse.kangaroo.koala.lion.monkey.ostrich.panda.parrot.peacock.penguin.polar bear.rabbit.rhinoceros.sea lion.shark.snake.squirrel.tiger.turtle.whale.wolf.zebra`.split(`.`)},app:{author:[`{{person.name}}`,`{{company.name}}`],name:`Redhold.Treeflex.Trippledex.Kanlam.Bigtax.Daltfresh.Toughjoyfax.Mat Lam Tam.Otcom.Tres-Zap.Y-Solowarm.Tresom.Voltsillam.Biodex.Greenlam.Viva.Matsoft.Temp.Zoolab.Subin.Rank.Job.Stringtough.Tin.It.Home Ing.Zamit.Sonsing.Konklab.Alpha.Latlux.Voyatouch.Alphazap.Holdlamis.Zaam-Dox.Sub-Ex.Quo Lux.Bamity.Ventosanzap.Lotstring.Hatity.Tempsoft.Overhold.Fixflex.Konklux.Zontrax.Tampflex.Span.Namfix.Transcof.Stim.Fix San.Sonair.Stronghold.Fintone.Y-find.Opela.Lotlux.Ronstring.Zathin.Duobam.Keylex`.split(`.`),version:[`0.#.#`,`0.##`,`#.##`,`#.#`,`#.#.#`]},book:{author:`A.A. Milne,Agatha Christie,Alan Moore and Dave Gibbons,Albert Camus,Aldous Huxley,Alexander Pope,Alexandre Dumas,Alice Walker,Andrew Lang,Anne Frank,Anthony Burgess,Anthony Trollope,Antoine de Saint-Exupéry,Anton Chekhov,Anton Pavlovich Chekhov,Arthur Conan Doyle,Arthur Schopenhauer,Aylmer Maude,Ayn Rand,Beatrix Potter,Benjamin Disraeli,Benjamin Jowett,Bernard Shaw,Bertrand Russell,Bhagavanlal Indrajit,Boris Pasternak,Bram Stoker,Brian Evenson,C.E. Brock,C.S. Lewis,Carson McCallers,Charles Dickens,Charles E. Derbyshire,Charlotte Brontë,Charlotte Perkins Gilman,Chinua Achebe,Clifford R. Adams,Constance Garnett,Cormac McCarthy,D.H. Lawrence,Dan Brown,Daniel Defoe,Dante Alighieri,Dashiell Hammett,David Widger,David Wyllie,Dean Koontz,Don DeLillo,E.M. Forster,Edgar Allan Poe,Edgar Rice Burroughs,Elizabeth Cleghorn Gaskell,Elizabeth Von Arnim,Emily Brontë,Erich Remarque,Ernest Hemingway,Evelyn Waugh,F. Scott Fitzgerald,Ford Madox Ford,Frances Hodgson Burnett,Frank Herbert,Frank T. Merrill,Franz Kafka,Friedrich Wilhelm Nietzsche,Fyodor Dostoyevsky,G.K. Chesterton,Gabriel Garcia Marquez,Geoffrey Chaucer,George Eliot,George Grossmith,George Orwell,George R. R. Martin,George Saunders,Grady Ward,Graham Greene,Gustave Doré,Gustave Flaubert,Guy de Maupassant,Günter Grass,H.G. Wells,H.P. Lovecraft,Harper Lee,Harriet Beecher Stowe,Haruki Murakami,Henrik Ibsen,Henry David Thoreau,Henry Fielding,Henry James,Henry Miller,Henry Morley,Herman Melville,Hermann Broch,Homer,Honoré de Balzac,Ian McEwan,Isabel Florence Hapgood,Italo Calvino,J.D. Salinger,J.K. Rowling,J.M. Barrie,J.R.R. Tolkien,Jack Kerouac,Jack London,Jacob Grimm,Jacqueline Crooks,James Baldwin,James Dickey,James Ellroy,James Joyce,James Patterson,Jane Austen,Johann Wolfgang von Goethe,John Bunyan,John Camden Hotten,John Dos Passos,John Green,John Grisham,John Kennedy Toole,John Milton,John Ormsby,John Steinbeck,John Updike,Jonathan Franzen,Jonathan Swift,Joseph Conrad,Joseph Heller,José Rizal,Judy Blume,Jules Verne,Junot Diaz,Karl Marx,Kazuo Ishiguro,Ken Follett,Ken Kesey,Kenneth Grahame,Khaled Hosseini,Kingsley Amis,Kurt Vonnegut,L. Frank Baum,L.M. Montgomery,Laurence Sterne,Leo Tolstoy,Lewis Carroll,Louisa May Alcott,Louise Maude,Malcolm Lowry,Marcel Proust,Margaret Atwood,Margaret Mitchell,Marilynne Robinson,Mark Twain,Martin Amis,Mary Shelley,Michael Chabon,Miguel de Cervantes,Mikhail Bulgakov,Muriel Spark,Nancy Mitford,Nathanael West,Nathaniel Hawthorne,Neil Gaiman,Niccolo Machiavelli,Norman Mailer,Oscar Levy,Oscar Wilde,P.G. Wodehouse,Paulo Coelho,Peter Carey,Philip Pullman,Philip Roth,Plato,R.L. Stine,Rachel Kushner,Ralph Ellison,Ray Bradbury,Raymond Chandler,Richard Wagner,Richard Wright,Richard Yates,Roald Dahl,Robert Graves,Robert Louis Stevenson,Robert Penn Warren,Rudyard Kipling,Salman Rushdie,Samuel Beckett,Samuel Butler,Samuel Richardson,Saul Bellow,Shivaram Parashuram Bhide,Sir Arthur Conan Doyle,Sir Richard Francis Burton,Stendhal,Stephen Hawking,Stephen King,Sun Tzu,Suzanne Collins,T. Smollett,T.S. Eliot,Theodore Alois Buckley,Theodore Dreiser,Thomas Hardy,Thomas Love Peacock,Thomas Mann,Toni Morrison,Truman Capote,V.S. Naipaul,Vance Packard,Vatsyayana,Victor Hugo,Virgil,Virginia Woolf,Vladimir Nabokov,Voltaire,W.G. Sebald,W.K. Marriott,Walker Percy,Walt Whitman,Walter Scott,Wilhelm Grimm,Wilkie Collins,William Faulkner,William Gibson,William Golding,William Makepeace Thackeray,William Shakespeare,Zadie Smith`.split(`,`),format:[`Audiobook`,`Ebook`,`Hardcover`,`Paperback`],genre:[`Adventure`,`Biography`,`Business`,`Children's Literature`,`Classic`,`Comedy`,`Comic`,`Detective`,`Drama`,`Fantasy`,`Graphic Novel`,`Historical Fiction`,`Horror`,`Memoir`,`Mystery`,`Mythology`,`Philosophy`,`Poetry`,`Psychology`,`Religion`,`Romance`,`Science Fiction`,`Thriller`,`Western`,`Young Adult`],publisher:`Academic Press(Ace Books(Addison-Wesley(Adis International(Airiti Press(Allen Ltd(Andrews McMeel Publishing(Anova Books(Anvil Press Poetry(Applewood Books(Apress(Athabasca University Press(Atheneum Books(Atheneum Publishers(Atlantic Books(Atlas Press(BBC Books(Ballantine Books(Banner of Truth Trust(Bantam Books(Bantam Spectra(Barrie & Jenkins(Basic Books(Belknap Press(Bella Books(Bellevue Literary Press(Berg Publishers(Berkley Books(Bison Books(Black Dog Publishing(Black Library(Black Sparrow Books(Blackie and Son Limited(Blackstaff Press(Blackwell Publishing(Bloodaxe Books(Bloomsbury Publishing Plc(Blue Ribbon Books(Book League of America(Book Works(Booktrope(Borgo Press(Bowes & Bowes(Boydell & Brewer(Breslov Research Institute(Brill(Brimstone Press(Broadview Press(Burns & Oates(Butterworth-Heinemann(Caister Academic Press(Cambridge University Press(Candlewick Press(Canongate Books(Carcanet Press(Carlton Books(Carlton Publishing Group(Carnegie Mellon University Press(Casemate Publishers(Cengage Learning(Central European University Press(Chambers Harrap(Charles Scribner's Sons(Chatto and Windus(Chick Publications(Chronicle Books(Churchill Livingstone(Cisco Press(City Lights Publishers(Cloverdale Corporation(D. Appleton & Company(D. Reidel(DAW Books(Da Capo Press(Daedalus Publishing(Dalkey Archive Press(Darakwon Press(David & Charles(Dedalus Books(Del Rey Books(E. P. Dutton(ECW Press(Earthscan(Edupedia Publications(Eel Pie Publishing(Eerdmans Publishing(Ellora's Cave(Elsevier(Emerald Group Publishing(Etruscan Press(FabJob(Faber and Faber(Fairview Press(Farrar, Straus & Giroux(Fearless Books(Felony & Mayhem Press(Firebrand Books(Flame Tree Publishing(Focal Press(G-Unit Books(G. P. Putnam's Sons(Gaspereau Press(Gay Men's Press(Gefen Publishing House(George H. Doran Company(George Newnes(George Routledge & Sons(Godwit Press(Golden Cockerel Press(HMSO(Hachette Book Group USA(Hackett Publishing Company(Hamish Hamilton(Happy House(Harcourt Assessment(Harcourt Trade Publishers(Harlequin Enterprises Ltd(Harper & Brothers(Harper & Row(HarperCollins(HarperPrism(HarperTrophy(Harry N. Abrams, Inc.(Harvard University Press(Harvest House(Harvill Press at Random House(Hawthorne Books(Hay House(Haynes Manuals(Heyday Books(Hodder & Stoughton(Hodder Headline(Hogarth Press(Holland Park Press(Holt McDougal(Horizon Scientific Press(Ian Allan Publishing(Ignatius Press(Imperial War Museum(Indiana University Press(J. M. Dent(Jaico Publishing House(Jarrolds Publishing(John Blake Publishing(Karadi Tales(Kensington Books(Kessinger Publishing(Kodansha(Kogan Page(Koren Publishers Jerusalem(Ladybird Books(Leaf Books(Leafwood Publishers(Left Book Club(Legend Books(Lethe Press(Libertas Academica(Liberty Fund(Library of America(Lion Hudson(Macmillan Publishers(Mainstream Publishing(Manchester University Press(Mandrake Press(Mandrake of Oxford(Manning Publications(Manor House Publishing(Mapin Publishing(Marion Boyars Publishers(Mark Batty Publisher(Marshall Cavendish(Marshall Pickering(Martinus Nijhoff Publishers(Mascot Books(Matthias Media(McClelland and Stewart(McFarland & Company(McGraw Hill Financial(McGraw-Hill Education(Medknow Publications(Naiad Press(Nauka(NavPress(New Directions Publishing(New English Library(New Holland Publishers(New Village Press(Newnes(No Starch Press(Nonesuch Press(O'Reilly Media(Oberon Books(Open Court Publishing Company(Open University Press(Orchard Books(Orion Books(Packt Publishing(Palgrave Macmillan(Pan Books(Pantheon Books at Random House(Papadakis Publisher(Parachute Publishing(Parragon(Pathfinder Press(Paulist Press(Pavilion Books(Peace Hill Press(Pecan Grove Press(Pen and Sword Books(Penguin Books(Random House(Reed Elsevier(Reed Publishing(SAGE Publications(Salt Publishing(Sams Publishing(Schocken Books(Scholastic Press(Seagull Books(Secker & Warburg(Shambhala Publications(Shire Books(Shoemaker & Hoard Publishers(Shuter & Shooter Publishers(Sidgwick & Jackson(Signet Books(Simon & Schuster(St. Martin's Press(T & T Clark(Tachyon Publications(Tammi(Target Books(Tarpaulin Sky Press(Tartarus Press(Tate Publishing & Enterprises(Taunton Press(Taylor & Francis(Ten Speed Press(UCL Press(Unfinished Monument Press(United States Government Publishing Office(University of Akron Press(University of Alaska Press(University of California Press(University of Chicago Press(University of Michigan Press(University of Minnesota Press(University of Nebraska Press(Velazquez Press(Verso Books(Victor Gollancz Ltd(Viking Press(Vintage Books(Vintage Books at Random House(Virago Press(Virgin Publishing(Voyager Books(Zed Books(Ziff Davis Media(Zondervan`.split(`(`),series:`A Song of Ice and Fire.Anna Karenina.Colonel Race.Discworld.Dune.Harry Potter.Hercule Poirot.His Dark Materials.Jane Austen Murder Mysteries.Little Women.Outlander.Percy Jackson.Sherlock Holmes.The Arc of a Scythe.The Bartimaeus Trilogy.The Border Trilogy.The Chronicles of Narnia.The Dark Tower.The Dresden Files.The Eighth Life.The Foundation Series.The Hitchhiker's Guide to the Galaxy.The Hunger Games.The Infinity Cycle.The Inheritance Cycle.The Lord of the Rings.The Maze Runner.The Prison Healer.The Red Rising Saga.The Southern Reach.The Wheel of Time.Thursday Next Series.Twilight.War and Peace`.split(`.`),title:`1984(20,000 Leagues Under the Sea(A Bend in the River(A Brief History of Time(A Clockwork Orange(A Confederacy of Dunces(A Doll's House(A Handful of Dust(A Modest Proposal(A Passage to India(A Portrait of the Artist as a Young Man(A Room with a View(A Study in Scarlet(A Tale of Two Cities(A Wrinkle in Time(Absalom, Absalom!(Adventures of Huckleberry Finn(Alice's Adventures in Wonderland(All Quiet on the Western Front(All the King's Men(American Pastoral(An American Tragedy(And Then There Were None(Animal Farm(Anna Karenina(Anne of Green Gables(Are You There God? It's Me, Margaret(As I Lay Dying(Atlas Shrugged(Atonement(Austerlitz(Beloved(Beyond Good and Evil(Bible(Bleak House(Blood Meridian(Brave New World(Brideshead Revisited(Candide(Carmilla(Catch-22(Charlie and the Chocolate Factory(Charlotte's Web(Clarissa(Cranford(Crime and Punishment(Dao De Jing: A Minimalist Translation(David Copperfield(Deliverance(Don Quixote(Dora(Dr. Zhivago(Dracula(Dubliners(Dune(East of Eden(Emma(Fahrenheit 451(Faust(For Whom the Bell Tolls(Frankenstein(Freakonomics(Go Tell It on the Mountain(Gone with the Wind(Great Expectations(Grimms' Fairy Tales(Gulliver's Travels(Hamlet(Harry Potter and the Sorcerer's Stone(Heart of Darkness(Herzog(His Dark Materials(Hitting the line(Housekeeping(I, Claudius(If on a Winter's Night a Traveler(In Cold Blood(In Search of Lost Time(Invisible Man(It(Jane Eyre(Josefine Mutzenbacher(Jude the Obscure(L.A. Confidential(Leaves of Grass(Les Miserables(Life of Pi(Little Women(Lolita(Long Walk to Freedom(Lord Jim(Lord of the Flies(Lucky Jim(Madame Bovary(Malone Dies(Meditations(Men Without Women(Metamorphosis(Middlemarch(Midnight's Children(Moby Dick(Money(Mrs. Dalloway(My Bondage and My Freedom(My Life(Native Son(Neuromancer(Never Let Me Go(Nightmare Abbey(Nineteen Eighty Four(Nostromo(Notes from the Underground(Of Mice and Men(Oliver Twist(On the Duty of Civil Disobedience(On the Road(One Flew Over the Cuckoo's Nest(One Hundred Years of Solitude(One Thousand and One Nights(Oscar and Lucinda(Pale Fire(Paradise Lost(Peter Pan(Portnoy's Complaint(Pride and Prejudice(Rabbit, Run(Republic(Revolutionary Road(Robinson Crusoe(Romeo and Juliet(Ruth Fielding in Alaska(Scoop(Second Treatise of Government(Slaughterhouse Five(Stories of Anton Chekhov(Sybil(Tess of the d'Urbervilles(The Adventures of Augie March(The Adventures of Huckleberry Finn(The Adventures of Sherlock Holmes(The Adventures of Tom Sawyer(The Aeneid(The Alchemist(The Ambassadors(The Art of War(The Big Sleep(The Black Sheep(The Blue Castle(The Brief Wondrous Life of Oscar Wao(The Brothers Karamazov(The Call of the Wild(The Canterbury Tales(The Catcher in the Rye(The Color Purple(The Complete Works of Edgar Allen Poe(The Corrections(The Count of Monte Cristo(The Day of the Locust(The Diary of a Nobody(The Diary of a Young Girl(The Divine Comedy(The Enchanted April(The Fountainhead(The Golden Bowl(The Golden Notebook(The Good Soldier(The Grapes of Wrath(The Great Gatsby(The Handmaid's Tale(The Heart is a Lonely Hunter(The Heart of the Matter(The Hobbit(The Hound of the Baskervilles(The Idiot(The Iliad(The King in Yellow(The Kite Runner(The Lion, the Witch, and the Wardrobe(The Little Prince(The Lord of the Rings(The Magic Mountain(The Maltese Falcon(The Master and Margarita(The Moviegoer(The Naked and the Dead(The Odyssey(The Old Man and the Sea(The Pickwick Papers(The Picture of Dorian Gray(The Pilgrim's Progress(The Pillars of the Earth(The Plague(The Portrait of a Lady(The Prime of Miss Jean Brodie(The Prince(The Problems of Philosophy(The Prophet(The Pursuit of Love(The Rainbow(The Red and the Black(The Remains of the Day(The Republic(The Scarlet Letter(The Sleepwalkers(The Sound and the Fury(The Stand(The Strange Case of Dr. Jekyll and Mr. Hyde(The Stranger(The Sun Also Rises(The Thirty-Nine Steps(The Three Musketeers(The Time Machine(The Tin Drum(The Trial(The War of the Worlds(The Waste Land(The Way We Live Now(The Wind in the Willows(The Woman in White(The Wonderful Wizard of Oz(The Works of Edgar Allan Poe(The Yellow Wallpaper(Things Fall Apart(Tinker, Tailor, Soldier, Spy(To Kill a Mockingbird(To the Lighthouse(Tom Jones(Treasure Island(Tristram Shandy(Tropic of Cancer(U.S.A. Trilogy(Ulysses(Uncle Tom's Cabin(Under the Volcano(Underworld(Vanity Fair(Walden(War and Peace(Watchmen(Winnie-the-Pooh(Wuthering Heights`.split(`(`)},cell_phone:{formats:[`###-###-####`,`(###) ###-####`,`1-###-###-####`,`###.###.####`]},color:{human:`azure.black.blue.cyan.fuchsia.gold.green.grey.indigo.ivory.lavender.lime.magenta.maroon.mint green.olive.orange.orchid.pink.plum.purple.red.salmon.silver.sky blue.tan.teal.turquoise.violet.white.yellow`.split(`.`)},commerce:{department:[`Automotive`,`Baby`,`Beauty`,`Books`,`Clothing`,`Computers`,`Electronics`,`Games`,`Garden`,`Grocery`,`Health`,`Home`,`Industrial`,`Jewelry`,`Kids`,`Movies`,`Music`,`Outdoors`,`Shoes`,`Sports`,`Tools`,`Toys`],product_description:[`Discover the {{animal.type}}-like agility of our {{commerce.product}}, perfect for {{word.adjective}} users`,`Discover the {{word.adjective}} new {{commerce.product}} with an exciting mix of {{commerce.productMaterial}} ingredients`,`Ergonomic {{commerce.product}} made with {{commerce.productMaterial}} for all-day {{word.adjective}} support`,`Experience the {{color.human}} brilliance of our {{commerce.product}}, perfect for {{word.adjective}} environments`,`Featuring {{science.chemical_element.name}}-enhanced technology, our {{commerce.product}} offers unparalleled {{word.adjective}} performance`,`Innovative {{commerce.product}} featuring {{word.adjective}} technology and {{commerce.productMaterial}} construction`,`Introducing the {{location.country}}-inspired {{commerce.product}}, blending {{word.adjective}} style with local craftsmanship`,`New {{color.human}} {{commerce.product}} with ergonomic design for {{word.adjective}} comfort`,`New {{commerce.product}} model with {{number.int({\"min\": 1, \"max\": 100})}} GB RAM, {{number.int({\"min\": 1, \"max\": 1000})}} GB storage, and {{word.adjective}} features`,`Our {{animal.type}}-friendly {{commerce.product}} ensures {{word.adjective}} comfort for your pets`,`Our {{food.adjective}}-inspired {{commerce.product}} brings a taste of luxury to your {{word.adjective}} lifestyle`,`Professional-grade {{commerce.product}} perfect for {{word.adjective}} training and recreational use`,`Savor the {{food.adjective}} essence in our {{commerce.product}}, designed for {{word.adjective}} culinary adventures`,`Stylish {{commerce.product}} designed to make you stand out with {{word.adjective}} looks`,`The sleek and {{word.adjective}} {{commerce.product}} comes with {{color.human}} LED lighting for smart functionality`,`The {{color.human}} {{commerce.product}} combines {{location.country}} aesthetics with {{science.chemical_element.name}}-based durability`,`The {{company.catchPhrase}} {{commerce.product}} offers reliable performance and {{word.adjective}} design`,`The {{person.firstName}} {{commerce.product}} is the latest in a series of {{word.adjective}} products from {{company.name}}`,`{{commerce.productAdjective}} {{commerce.product}} designed with {{commerce.productMaterial}} for {{word.adjective}} performance`,`{{company.name}}'s most advanced {{commerce.product}} technology increases {{word.adjective}} capabilities`],product_name:{adjective:`Awesome.Bespoke.Electronic.Elegant.Ergonomic.Fantastic.Fresh.Frozen.Generic.Gorgeous.Handcrafted.Handmade.Incredible.Intelligent.Licensed.Luxurious.Modern.Oriental.Practical.Recycled.Refined.Rustic.Sleek.Small.Soft.Tasty.Unbranded`.split(`.`),material:[`Aluminum`,`Bamboo`,`Bronze`,`Ceramic`,`Concrete`,`Cotton`,`Gold`,`Granite`,`Marble`,`Metal`,`Plastic`,`Rubber`,`Silk`,`Steel`,`Wooden`],product:[`Bacon`,`Ball`,`Bike`,`Car`,`Chair`,`Cheese`,`Chicken`,`Chips`,`Computer`,`Fish`,`Gloves`,`Hat`,`Keyboard`,`Mouse`,`Pants`,`Pizza`,`Salad`,`Sausages`,`Shirt`,`Shoes`,`Soap`,`Table`,`Towels`,`Tuna`],pattern:[`{{commerce.productAdjective}} {{commerce.productMaterial}} {{commerce.product}}`]}},company:{adjective:`AI-driven.Adaptive.Advanced.Automated.Balanced.Business-focused.Centralized.Compatible.Configurable.Cross-platform.Customer-focused.Customizable.Decentralized.Devolved.Digitized.Distributed.Diverse.Enhanced.Ergonomic.Exclusive.Expanded.Extended.Face to face.Focused.Front-line.Fully-configurable.Fundamental.Future-proofed.Grass-roots.Horizontal.Immersive.Implemented.Innovative.Integrated.Intuitive.Managed.Monitored.Multi-tiered.Networked.Open-architected.Open-source.Operative.Optimized.Optional.Organic.Organized.Persevering.Persistent.Phased.Polarised.Proactive.Profit-focused.Profound.Programmable.Progressive.Public-key.Quality-focused.Reactive.Realigned.Reduced.Reverse-engineered.Robust.Seamless.Secured.Self-enabling.Sharable.Smart.Stand-alone.Streamlined.Sustainable.Synchronised.Team-oriented.Total.Triple-buffered.Universal.Upgradable.User-centric.User-friendly.Versatile.Virtual.Visionary`.split(`.`),buzz_adjective:`24/7.AI-driven.B2B.B2C.back-end.best-of-breed.bleeding-edge.collaborative.compelling.cross-media.cross-platform.customized.cutting-edge.decentralized.distributed.dynamic.efficient.end-to-end.enterprise.extensible.frictionless.front-end.generative.global.granular.holistic.immersive.impactful.innovative.integrated.interactive.intuitive.killer.leading-edge.magnetic.mission-critical.next-generation.one-to-one.open-source.out-of-the-box.plug-and-play.proactive.quantum.real-time.revolutionary.rich.robust.scalable.seamless.smart.sticky.strategic.sustainable.synergistic.transparent.turn-key.ubiquitous.user-centric.value-added.vertical.viral.virtual.visionary.world-class`.split(`.`),buzz_noun:`AI.ROI.applications.architectures.blockchains.channels.communities.content.convergence.deliverables.e-commerce.experiences.functionalities.infrastructures.initiatives.interfaces.large language models.lifetime value.markets.methodologies.metrics.mindshare.models.networks.niches.paradigms.partnerships.platforms.relationships.schemas.smart contracts.solutions.supply-chains.synergies.systems.technologies.users.web services`.split(`.`),buzz_verb:`aggregate.architect.benchmark.brand.collaborate.cultivate.deliver.deploy.disintermediate.drive.embrace.empower.enable.engage.engineer.enhance.evolve.expedite.exploit.extend.facilitate.gamify.generate.grow.harness.implement.incentivize.incubate.innovate.integrate.iterate.leverage.maximize.mesh.monetize.optimize.orchestrate.productize.redefine.reinvent.repurpose.revolutionize.scale.seize.simplify.strategize.streamline.syndicate.synthesize.target.transform.transition.unleash.utilize.visualize.whiteboard`.split(`.`),descriptor:`24 hour.24/7.AI-powered.actuating.analyzing.asymmetric.asynchronous.attitude-oriented.bifurcated.bottom-line.clear-thinking.client-driven.client-server.cloud-native.coherent.cohesive.composite.content-based.context-sensitive.contextually-based.data-driven.dedicated.demand-driven.directional.discrete.disintermediate.dynamic.eco-centric.empowering.encompassing.executive.explicit.exuding.fault-tolerant.fresh-thinking.full-range.global.heuristic.high-level.holistic.homogeneous.human-resource.hybrid.immersive.impactful.incremental.intangible.interactive.intermediate.leading edge.local.logistical.maximized.methodical.mission-critical.mobile.modular.motivating.national.needs-based.neutral.next generation.optimal.optimizing.radical.real-time.reciprocal.regional.resilient.responsive.scalable.secondary.stable.static.sustainable.system-worthy.systematic.systemic.tangible.tertiary.transitional.uniform.user-facing.value-added.well-modulated.zero administration.zero defect.zero tolerance.zero trust`.split(`.`),legal_entity_type:[`Group`,`Inc`,`LLC`,`and Sons`],name_pattern:[`{{person.lastName}} - {{person.lastName}}`,`{{person.lastName}} {{company.legal_entity_type}}`,`{{person.lastName}}, {{person.lastName}} and {{person.lastName}}`],noun:`ability.access.adapter.algorithm.alliance.analyzer.application.approach.architecture.archive.array.artificial intelligence.attitude.benchmark.budgetary management.capability.capacity.challenge.circuit.collaboration.complexity.concept.conglomeration.contingency.core.customer loyalty.data-warehouse.database.definition.emulation.encoding.encryption.firmware.flexibility.focus group.forecast.frame.framework.function.functionalities.generative AI.hardware.help-desk.hierarchy.hub.implementation.infrastructure.initiative.installation.instruction set.interface.internet solution.intranet.knowledge base.knowledge user.leverage.local area network.matrices.matrix.methodology.microservice.middleware.migration.model.moderator.monitoring.moratorium.neural-net.open architecture.orchestration.paradigm.parallelism.policy.portal.pricing structure.process improvement.product.productivity.project.projection.protocol.service-desk.software.solution.standardization.strategy.structure.success.support.synergy.system engine.task-force.throughput.time-frame.toolset.utilisation.website.workforce`.split(`.`)},database:{column:[`avatar`,`category`,`comment`,`createdAt`,`email`,`group`,`id`,`name`,`password`,`phone`,`status`,`title`,`token`,`updatedAt`]},date:{month:{wide:[`April`,`August`,`December`,`February`,`January`,`July`,`June`,`March`,`May`,`November`,`October`,`September`],abbr:[`Apr`,`Aug`,`Dec`,`Feb`,`Jan`,`Jul`,`Jun`,`Mar`,`May`,`Nov`,`Oct`,`Sep`]},weekday:{wide:[`Friday`,`Monday`,`Saturday`,`Sunday`,`Thursday`,`Tuesday`,`Wednesday`],abbr:[`Fri`,`Mon`,`Sat`,`Sun`,`Thu`,`Tue`,`Wed`]}},finance:{account_type:[`Auto Loan`,`Checking`,`Credit Card`,`Home Loan`,`Investment`,`Money Market`,`Personal Loan`,`Savings`],credit_card:{american_express:[`34##-######-####L`,`37##-######-####L`],diners_club:[`30[0-5]#-######-###L`,`36##-######-###L`],discover:[`6011-####-####-###L`,`65##-####-####-###L`],jcb:[`3528-####-####-###L`,`3529-####-####-###L`,`35[3-8]#-####-####-###L`],mastercard:[`2[221-720]-####-####-###L`,`5[1-5]##-####-####-###L`],visa:[`4###########L`,`4###-####-####-###L`]},currency:[{name:`UAE Dirham`,code:`AED`,symbol:``,numericCode:`784`},{name:`Afghani`,code:`AFN`,symbol:`؋`,numericCode:`971`},{name:`Lek`,code:`ALL`,symbol:`Lek`,numericCode:`008`},{name:`Armenian Dram`,code:`AMD`,symbol:``,numericCode:`051`},{name:`Netherlands Antillian Guilder`,code:`ANG`,symbol:`ƒ`,numericCode:`532`},{name:`Kwanza`,code:`AOA`,symbol:``,numericCode:`973`},{name:`Argentine Peso`,code:`ARS`,symbol:`$`,numericCode:`032`},{name:`Australian Dollar`,code:`AUD`,symbol:`$`,numericCode:`036`},{name:`Aruban Guilder`,code:`AWG`,symbol:`ƒ`,numericCode:`533`},{name:`Azerbaijanian Manat`,code:`AZN`,symbol:`ман`,numericCode:`944`},{name:`Convertible Marks`,code:`BAM`,symbol:`KM`,numericCode:`977`},{name:`Barbados Dollar`,code:`BBD`,symbol:`$`,numericCode:`052`},{name:`Taka`,code:`BDT`,symbol:``,numericCode:`050`},{name:`Bulgarian Lev`,code:`BGN`,symbol:`лв`,numericCode:`975`},{name:`Bahraini Dinar`,code:`BHD`,symbol:``,numericCode:`048`},{name:`Burundi Franc`,code:`BIF`,symbol:``,numericCode:`108`},{name:`Bermudian Dollar (customarily known as Bermuda Dollar)`,code:`BMD`,symbol:`$`,numericCode:`060`},{name:`Brunei Dollar`,code:`BND`,symbol:`$`,numericCode:`096`},{name:`Boliviano boliviano`,code:`BOB`,symbol:`Bs`,numericCode:`068`},{name:`Brazilian Real`,code:`BRL`,symbol:`R$`,numericCode:`986`},{name:`Bahamian Dollar`,code:`BSD`,symbol:`$`,numericCode:`044`},{name:`Pula`,code:`BWP`,symbol:`P`,numericCode:`072`},{name:`Belarusian Ruble`,code:`BYN`,symbol:`Rbl`,numericCode:`933`},{name:`Belize Dollar`,code:`BZD`,symbol:`BZ$`,numericCode:`084`},{name:`Canadian Dollar`,code:`CAD`,symbol:`$`,numericCode:`124`},{name:`Congolese Franc`,code:`CDF`,symbol:``,numericCode:`976`},{name:`Swiss Franc`,code:`CHF`,symbol:`CHF`,numericCode:`756`},{name:`Chilean Peso`,code:`CLP`,symbol:`$`,numericCode:`152`},{name:`Yuan Renminbi`,code:`CNY`,symbol:`¥`,numericCode:`156`},{name:`Colombian Peso`,code:`COP`,symbol:`$`,numericCode:`170`},{name:`Costa Rican Colon`,code:`CRC`,symbol:`₡`,numericCode:`188`},{name:`Cuban Peso`,code:`CUP`,symbol:`₱`,numericCode:`192`},{name:`Cape Verde Escudo`,code:`CVE`,symbol:``,numericCode:`132`},{name:`Czech Koruna`,code:`CZK`,symbol:`Kč`,numericCode:`203`},{name:`Djibouti Franc`,code:`DJF`,symbol:``,numericCode:`262`},{name:`Danish Krone`,code:`DKK`,symbol:`kr`,numericCode:`208`},{name:`Dominican Peso`,code:`DOP`,symbol:`RD$`,numericCode:`214`},{name:`Algerian Dinar`,code:`DZD`,symbol:``,numericCode:`012`},{name:`Egyptian Pound`,code:`EGP`,symbol:`£`,numericCode:`818`},{name:`Nakfa`,code:`ERN`,symbol:``,numericCode:`232`},{name:`Ethiopian Birr`,code:`ETB`,symbol:``,numericCode:`230`},{name:`Euro`,code:`EUR`,symbol:`€`,numericCode:`978`},{name:`Fiji Dollar`,code:`FJD`,symbol:`$`,numericCode:`242`},{name:`Falkland Islands Pound`,code:`FKP`,symbol:`£`,numericCode:`238`},{name:`Pound Sterling`,code:`GBP`,symbol:`£`,numericCode:`826`},{name:`Lari`,code:`GEL`,symbol:``,numericCode:`981`},{name:`Cedi`,code:`GHS`,symbol:``,numericCode:`936`},{name:`Gibraltar Pound`,code:`GIP`,symbol:`£`,numericCode:`292`},{name:`Dalasi`,code:`GMD`,symbol:``,numericCode:`270`},{name:`Guinea Franc`,code:`GNF`,symbol:``,numericCode:`324`},{name:`Quetzal`,code:`GTQ`,symbol:`Q`,numericCode:`320`},{name:`Guyana Dollar`,code:`GYD`,symbol:`$`,numericCode:`328`},{name:`Hong Kong Dollar`,code:`HKD`,symbol:`$`,numericCode:`344`},{name:`Lempira`,code:`HNL`,symbol:`L`,numericCode:`340`},{name:`Gourde`,code:`HTG`,symbol:``,numericCode:`332`},{name:`Forint`,code:`HUF`,symbol:`Ft`,numericCode:`348`},{name:`Rupiah`,code:`IDR`,symbol:`Rp`,numericCode:`360`},{name:`New Israeli Sheqel`,code:`ILS`,symbol:`₪`,numericCode:`376`},{name:`Bhutanese Ngultrum`,code:`BTN`,symbol:`Nu`,numericCode:`064`},{name:`Indian Rupee`,code:`INR`,symbol:`₹`,numericCode:`356`},{name:`Iraqi Dinar`,code:`IQD`,symbol:``,numericCode:`368`},{name:`Iranian Rial`,code:`IRR`,symbol:`﷼`,numericCode:`364`},{name:`Iceland Krona`,code:`ISK`,symbol:`kr`,numericCode:`352`},{name:`Jamaican Dollar`,code:`JMD`,symbol:`J$`,numericCode:`388`},{name:`Jordanian Dinar`,code:`JOD`,symbol:``,numericCode:`400`},{name:`Yen`,code:`JPY`,symbol:`¥`,numericCode:`392`},{name:`Kenyan Shilling`,code:`KES`,symbol:``,numericCode:`404`},{name:`Som`,code:`KGS`,symbol:`лв`,numericCode:`417`},{name:`Riel`,code:`KHR`,symbol:`៛`,numericCode:`116`},{name:`Comoro Franc`,code:`KMF`,symbol:``,numericCode:`174`},{name:`North Korean Won`,code:`KPW`,symbol:`₩`,numericCode:`408`},{name:`Won`,code:`KRW`,symbol:`₩`,numericCode:`410`},{name:`Kuwaiti Dinar`,code:`KWD`,symbol:``,numericCode:`414`},{name:`Cayman Islands Dollar`,code:`KYD`,symbol:`$`,numericCode:`136`},{name:`Tenge`,code:`KZT`,symbol:`лв`,numericCode:`398`},{name:`Kip`,code:`LAK`,symbol:`₭`,numericCode:`418`},{name:`Lebanese Pound`,code:`LBP`,symbol:`£`,numericCode:`422`},{name:`Sri Lanka Rupee`,code:`LKR`,symbol:`₨`,numericCode:`144`},{name:`Liberian Dollar`,code:`LRD`,symbol:`$`,numericCode:`430`},{name:`Libyan Dinar`,code:`LYD`,symbol:``,numericCode:`434`},{name:`Moroccan Dirham`,code:`MAD`,symbol:``,numericCode:`504`},{name:`Moldovan Leu`,code:`MDL`,symbol:``,numericCode:`498`},{name:`Malagasy Ariary`,code:`MGA`,symbol:``,numericCode:`969`},{name:`Denar`,code:`MKD`,symbol:`ден`,numericCode:`807`},{name:`Kyat`,code:`MMK`,symbol:``,numericCode:`104`},{name:`Tugrik`,code:`MNT`,symbol:`₮`,numericCode:`496`},{name:`Pataca`,code:`MOP`,symbol:``,numericCode:`446`},{name:`Ouguiya`,code:`MRU`,symbol:``,numericCode:`929`},{name:`Mauritius Rupee`,code:`MUR`,symbol:`₨`,numericCode:`480`},{name:`Rufiyaa`,code:`MVR`,symbol:``,numericCode:`462`},{name:`Kwacha`,code:`MWK`,symbol:``,numericCode:`454`},{name:`Mexican Peso`,code:`MXN`,symbol:`$`,numericCode:`484`},{name:`Malaysian Ringgit`,code:`MYR`,symbol:`RM`,numericCode:`458`},{name:`Metical`,code:`MZN`,symbol:`MT`,numericCode:`943`},{name:`Naira`,code:`NGN`,symbol:`₦`,numericCode:`566`},{name:`Cordoba Oro`,code:`NIO`,symbol:`C$`,numericCode:`558`},{name:`Norwegian Krone`,code:`NOK`,symbol:`kr`,numericCode:`578`},{name:`Nepalese Rupee`,code:`NPR`,symbol:`₨`,numericCode:`524`},{name:`New Zealand Dollar`,code:`NZD`,symbol:`$`,numericCode:`554`},{name:`Rial Omani`,code:`OMR`,symbol:`﷼`,numericCode:`512`},{name:`Balboa`,code:`PAB`,symbol:`B/.`,numericCode:`590`},{name:`Nuevo Sol`,code:`PEN`,symbol:`S/.`,numericCode:`604`},{name:`Kina`,code:`PGK`,symbol:``,numericCode:`598`},{name:`Philippine Peso`,code:`PHP`,symbol:`Php`,numericCode:`608`},{name:`Pakistan Rupee`,code:`PKR`,symbol:`₨`,numericCode:`586`},{name:`Zloty`,code:`PLN`,symbol:`zł`,numericCode:`985`},{name:`Guarani`,code:`PYG`,symbol:`Gs`,numericCode:`600`},{name:`Qatari Rial`,code:`QAR`,symbol:`﷼`,numericCode:`634`},{name:`New Leu`,code:`RON`,symbol:`lei`,numericCode:`946`},{name:`Serbian Dinar`,code:`RSD`,symbol:`Дин.`,numericCode:`941`},{name:`Russian Ruble`,code:`RUB`,symbol:`руб`,numericCode:`643`},{name:`Rwanda Franc`,code:`RWF`,symbol:``,numericCode:`646`},{name:`Saudi Riyal`,code:`SAR`,symbol:`﷼`,numericCode:`682`},{name:`Solomon Islands Dollar`,code:`SBD`,symbol:`$`,numericCode:`090`},{name:`Seychelles Rupee`,code:`SCR`,symbol:`₨`,numericCode:`690`},{name:`Sudanese Pound`,code:`SDG`,symbol:``,numericCode:`938`},{name:`Swedish Krona`,code:`SEK`,symbol:`kr`,numericCode:`752`},{name:`Singapore Dollar`,code:`SGD`,symbol:`$`,numericCode:`702`},{name:`Saint Helena Pound`,code:`SHP`,symbol:`£`,numericCode:`654`},{name:`Leone`,code:`SLE`,symbol:``,numericCode:`925`},{name:`Somali Shilling`,code:`SOS`,symbol:`S`,numericCode:`706`},{name:`Surinam Dollar`,code:`SRD`,symbol:`$`,numericCode:`968`},{name:`South Sudanese pound`,code:`SSP`,symbol:``,numericCode:`728`},{name:`Dobra`,code:`STN`,symbol:`Db`,numericCode:`930`},{name:`Syrian Pound`,code:`SYP`,symbol:`£`,numericCode:`760`},{name:`Lilangeni`,code:`SZL`,symbol:``,numericCode:`748`},{name:`Baht`,code:`THB`,symbol:`฿`,numericCode:`764`},{name:`Somoni`,code:`TJS`,symbol:``,numericCode:`972`},{name:`Manat`,code:`TMT`,symbol:``,numericCode:`934`},{name:`Tunisian Dinar`,code:`TND`,symbol:``,numericCode:`788`},{name:`Pa'anga`,code:`TOP`,symbol:``,numericCode:`776`},{name:`Turkish Lira`,code:`TRY`,symbol:`₺`,numericCode:`949`},{name:`Trinidad and Tobago Dollar`,code:`TTD`,symbol:`TT$`,numericCode:`780`},{name:`New Taiwan Dollar`,code:`TWD`,symbol:`NT$`,numericCode:`901`},{name:`Tanzanian Shilling`,code:`TZS`,symbol:``,numericCode:`834`},{name:`Hryvnia`,code:`UAH`,symbol:`₴`,numericCode:`980`},{name:`Uganda Shilling`,code:`UGX`,symbol:``,numericCode:`800`},{name:`US Dollar`,code:`USD`,symbol:`$`,numericCode:`840`},{name:`Peso Uruguayo`,code:`UYU`,symbol:`$U`,numericCode:`858`},{name:`Uzbekistan Sum`,code:`UZS`,symbol:`лв`,numericCode:`860`},{name:`Venezuelan bolívar`,code:`VES`,symbol:`Bs`,numericCode:`928`},{name:`Dong`,code:`VND`,symbol:`₫`,numericCode:`704`},{name:`Vatu`,code:`VUV`,symbol:``,numericCode:`548`},{name:`Tala`,code:`WST`,symbol:``,numericCode:`882`},{name:`CFA Franc BEAC`,code:`XAF`,symbol:``,numericCode:`950`},{name:`East Caribbean Dollar`,code:`XCD`,symbol:`$`,numericCode:`951`},{name:`CFA Franc BCEAO`,code:`XOF`,symbol:``,numericCode:`952`},{name:`CFP Franc`,code:`XPF`,symbol:``,numericCode:`953`},{name:`Yemeni Rial`,code:`YER`,symbol:`﷼`,numericCode:`886`},{name:`Rand`,code:`ZAR`,symbol:`R`,numericCode:`710`},{name:`Lesotho Loti`,code:`LSL`,symbol:``,numericCode:`426`},{name:`Namibia Dollar`,code:`NAD`,symbol:`N$`,numericCode:`516`},{name:`Zambian Kwacha`,code:`ZMW`,symbol:`K`,numericCode:`967`},{name:`Zimbabwe Dollar`,code:`ZWL`,symbol:``,numericCode:`932`}],transaction_description_pattern:[`A {{finance.transactionType}} for {{finance.currencyCode}} {{finance.amount}} was made at {{company.name}} via card ending ****{{string.numeric(4)}} on account ***{{string.numeric(4)}}.`,`A {{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} occurred at {{company.name}} using a card ending in ****{{string.numeric(4)}} for account ***{{string.numeric(4)}}.`,`Payment of {{finance.currencyCode}} {{finance.amount}} for {{finance.transactionType}} at {{company.name}}, processed with card ending ****{{string.numeric(4)}} linked to account ***{{string.numeric(4)}}.`,`Transaction alert: {{finance.transactionType}} at {{company.name}} using card ending ****{{string.numeric(4)}} for an amount of {{finance.currencyCode}} {{finance.amount}} on account ***{{string.numeric(4)}}.`,`You made a {{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} at {{company.name}} using card ending in ****{{string.numeric(4)}} from account ***{{string.numeric(4)}}.`,`Your {{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} at {{company.name}} was successful. Charged via card ****{{string.numeric(4)}} to account ***{{string.numeric(4)}}.`,`{{finance.transactionType}} at {{company.name}} with a card ending in ****{{string.numeric(4)}} for {{finance.currencyCode}} {{finance.amount}} from account ***{{string.numeric(4)}}.`,`{{finance.transactionType}} confirmed at {{company.name}} for {{finance.currencyCode}} {{finance.amount}}, card ending in ****{{string.numeric(4)}} associated with account ***{{string.numeric(4)}}.`,`{{finance.transactionType}} of {{finance.currencyCode}} {{finance.amount}} at {{company.name}} charged to account ending in {{string.numeric(4)}} using card ending in ****{{string.numeric(4)}}.`,`{{finance.transactionType}} processed at {{company.name}} for {{finance.currencyCode}} {{finance.amount}}, using card ending ****{{string.numeric(4)}}. Account: ***{{string.numeric(4)}}.`,`{{finance.transactionType}} transaction at {{company.name}} using card ending with ****{{string.numeric(4)}} for {{finance.currencyCode}} {{finance.amount}} in account ***{{string.numeric(4)}}.`],transaction_type:[`deposit`,`invoice`,`payment`,`withdrawal`]},food:{adjective:[`bitter`,`creamy`,`crispy`,`crunchy`,`delicious`,`fluffy`,`fresh`,`golden`,`juicy`,`moist`,`rich`,`salty`,`savory`,`smoky`,`sour`,`spicy`,`sweet`,`tangy`,`tender`,`zesty`],description_pattern:[`A bright salad of {{food.adjective}} {{food.vegetable}} and {{food.fruit}}, finished with toasted {{food.ingredient}} and a {{food.spice}} vinaigrette.`,`A classic pie filled with delicious {{food.meat}} and {{food.adjective}} {{food.ingredient}}, baked in a {{food.adjective}} pastry crust and topped with a golden-brown lattice.`,`A comforting bowl of {{food.adjective}} {{food.ingredient}} and {{food.vegetable}}, slow-cooked until tender.`,`A delightful tart combining {{food.adjective}} {{food.vegetable}} and sweet {{food.fruit}}, set in a buttery pastry shell and finished with a hint of {{food.spice}}.`,`A heartwarming {{food.ethnic_category}} soup, featuring fresh {{food.ingredient}} and an aromatic blend of traditional spices.`,`A robust {{food.adjective}} stew featuring {{food.ethnic_category}} flavors, loaded with {{food.adjective}} meat, {{food.adjective}} vegetables, and a {{food.adjective}}, {{food.adjective}} broth.`,`A simple {{food.fruit}} pie. No fancy stuff. Just pie.`,`A slow-roasted {{animal.bird}} with a {{food.adjective}}, {{food.adjective}} exterior. Stuffed with {{food.fruit}} and covered in {{food.fruit}} sauce. Sides with {{food.vegetable}} puree and wild {{food.vegetable}}.`,`A special {{color.human}} {{food.ingredient}} from {{location.country}}. To support the strong flavor it is sided with a tablespoon of {{food.spice}}.`,`A succulent {{food.meat}} steak, encased in a {{food.adjective}} {{food.spice}} crust, served with a side of {{food.spice}} mashed {{food.vegetable}}.`,`A vibrant {{food.adjective}} grain bowl topped with {{food.vegetable}} and a tangy {{food.fruit}} dressing.`,`A {{food.adjective}} {{food.vegetable}} creation, seasoned with {{food.spice}} and {{food.spice}}, showcasing the best of plant-based cuisine.`,`An exquisite {{food.meat}} roast, infused with the essence of {{food.fruit}}, slow-roasted to bring out its natural flavors and served with a side of creamy {{food.vegetable}}`,`An exquisite {{food.vegetable}} dish, paired with {{food.ingredient}} and a hint of {{food.spice}}.`,`Baked {{food.ingredient}}-stuffed {{food.meat}}, seasoned with {{food.spice}} and {{food.adjective}} herbs, accompanied by roasted {{food.vegetable}} medley.`,`Charred {{food.vegetable}} with a smoky {{food.spice}} glaze, sided with pickled {{food.vegetable}}.`,`Crispy fried {{food.meat}} bites, seasoned with {{food.spice}} and served with a tangy {{food.fruit}} dipping sauce.`,`Crispy {{food.spice}}-dusted {{food.vegetable}} fritters, served with a cool {{food.ingredient}} dip.`,`Fresh mixed greens tossed with {{food.spice}}-rubbed {{food.meat}}, {{food.vegetable}}, and a light dressing.`,`Fresh {{food.ingredient}} with a pinch of {{food.spice}}, topped by a caramelized {{food.fruit}} with whipped cream`,`Grilled {{food.meat}} kebabs, marinated in {{food.ethnic_category}} spices and served with a fresh {{food.vegetable}} and {{food.fruit}} salad.`,`Hearty {{food.ingredient}} and {{food.meat}} stew, slow-cooked with {{food.spice}} and {{food.vegetable}} for a comforting, flavorful meal.`,`Hearty {{food.ingredient}} and {{food.vegetable}} curry, fragrant with {{food.spice}} and ladled over steamed rice.`,`Juicy {{food.meat}}, grilled to your liking and drizzled with a bold {{food.spice}} sauce, served alongside roasted {{food.vegetable}}.`,`Our {{food.adjective}} {{food.meat}}, slow-cooked to perfection, accompanied by steamed {{food.vegetable}} and a rich, savory gravy.`,`Roasted {{food.vegetable}} with {{food.spice}} and a drizzle of citrus, served over fluffy grains.`,`Savor the rich flavors of {{food.adjective}} {{food.vegetable}}, complemented by {{food.fruit}} and {{food.spice}}.`,`Slow-simmered {{food.adjective}} {{food.vegetable}} stew, fragrant with {{food.spice}} and finished with fresh herbs.`,`Stuffed {{food.vegetable}} baked with {{food.ingredient}} and {{food.spice}}.`,`Tender {{food.meat}} skewers, glazed with a sweet and tangy {{food.fruit}} sauce, served over a bed of fragrant jasmine rice.`,`Tenderly braised {{food.meat}} in a rich {{food.spice}} and {{food.vegetable}} sauce, served with a side of creamy {{food.vegetable}}.`,`Three {{food.ingredient}} with {{food.vegetable}}, {{food.vegetable}}, {{food.vegetable}}, {{food.vegetable}} and {{food.ingredient}}. With a side of baked {{food.fruit}}, and your choice of {{food.ingredient}} or {{food.ingredient}}.`,`{{number.int({\"min\":1, \"max\":99})}}-day aged {{food.meat}} steak, with choice of {{number.int({\"min\":2, \"max\":4})}} sides.`],dish:`California maki.Peking duck.Philadelphia maki.aglio e olio.aloo gobi.arepas.baba ganoush.baingan bharta.barbecue ribs.black bean tacos.bruschette with tomato.buddha bowl.bunny chow.caesar salad.caponata.caprese salad.cauliflower penne.cauliflower wings.chana masala.cheeseburger.chicken fajitas.chicken milanese.chicken parm.chicken wings.chilli con carne.dal makhani.dosa.ebiten maki.edamame.falafel wrap.fettuccine alfredo.fish and chips.french fries with sausages.french toast.gazpacho.hummus.jackfruit carnitas.katsu curry.kebab.lasagne.lentil bolognese.lentil shepherd's pie.linguine with clams.massaman curry.meatballs with sauce.minestrone.miso ramen.mujadara.mushroom bourguignon.mushroom risotto.pad thai tofu.palak tofu.pappardelle alla bolognese.pasta and beans.pasta carbonara.pasta with tomato and basil.peanut noodles.pho.pierogi.pizza.poke.pork belly buns.pork sausage roll.poutine.ratatouille.ribollita.ricotta stuffed ravioli.risotto with seafood.saag aloo.salmon nigiri.scotch eggs.seafood paella.shakshuka.som tam.souvlaki.stinky tofu.sushi.tabouleh.tacos.tempeh stir fry.teriyaki chicken donburi.tiramisù.tofu scramble.tom kha tofu.tuna sashimi.vegetable biryani.vegetable soup`.split(`.`),dish_pattern:[`{{food.adjective}} {{food.ethnic_category}} stew`,`{{food.adjective}} {{food.fruit}} and {{food.vegetable}} salad`,`{{food.adjective}} {{food.meat}} with {{food.vegetable}}`,`{{food.adjective}} {{food.vegetable}} and {{food.ingredient}} bowl`,`{{food.adjective}} {{food.vegetable}} curry`,`{{food.adjective}} {{food.vegetable}} with {{food.fruit}} glaze`,`{{food.ethnic_category}} {{food.ingredient}} soup`,`{{food.fruit}} and {{food.fruit}} tart`,`{{food.fruit}} pie`,`{{food.fruit}}-glazed {{food.meat}} skewers`,`{{food.fruit}}-glazed {{food.vegetable}} skewers`,`{{food.fruit}}-infused {{food.meat}} roast`,`{{food.ingredient}} and {{food.meat}} pie`,`{{food.ingredient}}-infused {{food.meat}}`,`{{food.meat}} steak`,`{{food.meat}} with {{food.fruit}} sauce`,`{{food.spice}}-crusted {{food.meat}}`,`{{food.spice}}-rubbed {{food.meat}} salad`,`{{food.spice}}-spiced {{food.vegetable}} bowl`,`{{food.vegetable}} and {{food.ingredient}} stew`,`{{food.vegetable}} salad`,`{{person.firstName}}'s special {{food.ingredient}}`],ethnic_category:`Ainu.Albanian.American.Andhra.Anglo-Indian.Arab.Argentine.Armenian.Assyrian.Awadhi.Azerbaijani.Balochi.Bangladeshi.Bashkir.Belarusian.Bengali.Berber.Brazilian.British.Buddhist.Bulgarian.Cajun.Cantonese.Caribbean.Chechen.Chinese.Chinese Islamic.Circassian.Crimean Tatar.Cypriot.Czech.Danish.Egyptian.English.Eritrean.Estonian.Ethiopian.Filipino.French.Georgian.German.Goan.Goan Catholic.Greek.Gujarati.Hyderabad.Indian.Indian Chinese.Indian Singaporean.Indonesian.Inuit.Irish.Italian.Italian-American.Jamaican.Japanese.Jewish - Israeli.Karnataka.Kazakh.Keralite.Korean.Kurdish.Laotian.Latvian.Lebanese.Lithuanian.Louisiana Creole.Maharashtrian.Malay.Malaysian Chinese.Malaysian Indian.Mangalorean.Mediterranean.Mennonite.Mexican.Mordovian.Mughal.Native American.Nepalese.New Mexican.Odia.Pakistani.Parsi.Pashtun.Pennsylvania Dutch.Peranakan.Persian.Peruvian.Polish.Portuguese.Punjabi.Québécois.Rajasthani.Romani.Romanian.Russian.Sami.Serbian.Sindhi.Slovak.Slovenian.Somali.South Indian.Soviet.Spanish.Sri Lankan.Taiwanese.Tamil.Tatar.Texan.Thai.Turkish.Udupi.Ukrainian.Vietnamese.Yamal.Zambian.Zanzibari`.split(`.`),fruit:`apple.apricot.aubergine.avocado.banana.berry.blackberry.blood orange.blueberry.bush tomato.butternut pumpkin.cantaloupe.cavalo.cherry.coconut.corella pear.cranberry.cumquat.currant.custard apple.date.dragonfruit.dried apricot.elderberry.feijoa.fig.fingerlime.goji berry.grape.grapefruit.guava.honeydew melon.incaberry.jarrahdale pumpkin.juniper berry.kiwi fruit.kiwiberry.lemon.lime.longan.loquat.lychee.mandarin.mango.mangosteen.melon.mulberry.nashi pear.nectarine.olive.orange.papaw.papaya.passionfruit.peach.pear.persimmon.pineapple.plum.pomegranate.prune.raspberry.rockmelon.starfruit.strawberry.sultana.tangelo.watermelon`.split(`.`),ingredient:`achacha.adzuki beans.agar.agave syrup.ajowan seed.albacore tuna.alfalfa.allspice.almond oil.almonds.amaranth.amchur.anchovies.aniseed.annatto seed.apple cider vinegar.apple juice.apple juice concentrate.apples.apricots.arborio rice.arrowroot.artichoke.arugula.asafoetida.asian greens.asian noodles.asparagus.aubergine.avocado.avocado oil.avocado spread.bacon.baking powder.baking soda.balsamic vinegar.bamboo shoots.banana.barberry.barley.barramundi.basil basmati rice.bay leaves.bean shoots.bean sprouts.beans.beef.beef stock.beetroot.berries.besan.black eyed beans.blackberries.blood oranges.blue cheese.blue eye trevalla.blue swimmer crab.blueberries.bocconcini.bok choy.bonito flakes.bonza.borlotti beans.bran.brazil nut.bread.brie.broccoli.broccolini.brown flour.brown mushrooms.brown rice.brown rice vinegar.brussels sprouts.buckwheat.buckwheat flour.buckwheat noodles.bulghur.bush tomato.butter.butter beans.buttermilk.butternut lettuce.butternut pumpkin.cabbage.cacao.cake.calamari.camellia tea oil.camembert.camomile.candle nut.cannellini beans.canola oil.cantaloupe.capers.capsicum.caraway seed.cardamom.carob carrot.carrot.cashews.cassia bark.cauliflower.cavalo.cayenne.celery.celery seed.cheddar.cherries.chestnut.chia seeds.chicken.chicken stock.chickory.chickpea.chilli pepper.chinese cabbage.chinese five spice.chives.choy sum.cinnamon.clams.cloves.cocoa powder.coconut.coconut oil.coconut water.coffee.common cultivated mushrooms.corella pear.coriander leaves.coriander seed.corn oil.corn syrup.corn tortilla.cornichons.cornmeal.cos lettuce.cottage cheese.cous cous.crabs.cranberry.cream.cream cheese.cucumber.cumin.cumquat.currants.curry leaves.curry powder.custard apples.dandelion.dark chocolate.dashi.dates.dill.dragonfruit.dried apricots.dried chinese broccoli.duck.edam.edamame.eggplant.eggs.elderberry.endive.english spinach.enoki mushrooms.extra virgin olive oil.farmed prawns.feijoa.fennel.fennel seeds.fenugreek.feta.figs.file powder.fingerlime.fish sauce.fish stock.flat mushrooms.flathead.flaxseed.flaxseed oil.flounder.flour.freekeh.french eschallots.fresh chillies.fromage blanc.fruit.galangal.garam masala.garlic.goat cheese.goat milk.goji berry.grape seed oil.grapefruit.grapes.green beans.green pepper.green tea.green tea noodles.greenwheat freekeh.gruyere.guava.gula melaka.haloumi.ham.haricot beans.harissa.hazelnut.hijiki.hiramasa kingfish.hokkien noodles.honey.honeydew melon.horseradish.hot smoked salmon.hummus.iceberg lettuce.incaberries.jarrahdale pumpkin.jasmine rice.jelly.jerusalem artichoke.jewfish.jicama.juniper berries.kale.kangaroo.kecap manis.kenchur.kidney beans.kidneys.kiwi berries.kiwi fruit.kohlrabi.kokam.kombu.koshihikari rice.kudzu.kumera.lamb.lavender flowers.leeks.lemon.lemongrass.lentils.lettuce.licorice.lime leaves.limes.liver.lobster.longan.loquats.lotus root.lychees.macadamia nut.macadamia oil.mace.mackerel.mahi mahi.mahlab.malt vinegar.mandarins.mango.mangosteens.maple syrup.margarine.marigold.marjoram.mastic.melon.milk.milk chocolate.mint.miso.molasses.monkfish.morwong.mountain bread.mozzarella.muesli.mulberries.mullet.mung beans.mussels.mustard.mustard seed.nashi pear.nasturtium.nectarines.nori.nutmeg.nutritional yeast.nuts.oat flour.oatmeal.oats.octopus.okra.olive oil.olives.omega spread.onion.oranges.oregano.oyster mushrooms.oyster sauce.oysters.pandanus leaves.papaw.papaya.paprik.parmesan cheese.parrotfish.parsley.parsnip.passionfruit.pasta.peaches.peanuts.pear.pear juice.pears.peas.pecan nut.pecorino.pepitas.peppercorns.peppermint.peppers.persimmon.pine nut.pineapple.pinto beans.pistachio nut.plums.polenta.pomegranate.poppy seed.porcini mushrooms.pork.potato flour.potatoes.provolone.prunes.pumpkin.pumpkin seed.purple carrot.purple rice.quark.quince.quinoa.radicchio.radish.raisin.raspberry.red cabbage.red lentils.red pepper.red wine.red wine vinegar.redfish.rhubarb.rice flour.rice noodles.rice paper.rice syrup.ricemilk.ricotta.rockmelon.rose water.rosemary.rye.rye bread.safflower oil.saffron.sage.sake.salmon.sardines.sausages.scallops.sea salt.semolina.sesame oil.sesame seeds.shark.shiitake mushrooms.silverbeet.slivered almonds.smoked trout.snapper.snowpea sprouts.snowpeas.soba.sour dough bread.soy.soy beans.soy flour.soy milk.soy sauce.soymilk.spearmint.spelt.spelt bread.spinach.spring onions.sprouts.squash.squid.star anise.star fruit.starfruit.stevia.strawberries.sugar.sultanas.sun-dried tomatoes.sunflower oil.sunflower seeds.sweet chilli sauce.sweet potato.swiss chard.swordfish.szechuan pepperberry.tabasco.tahini.taleggio cheese.tamari.tamarillo.tangelo.tapioca.tapioca flour.tarragon.tea.tea oil.tempeh.thyme.tinned.tofu.tom yum.tomatoes.trout.tuna.turkey.turmeric.turnips.unbleached flour.vanilla beans.vegetable oil.vegetable spaghetti.vegetable stock.vermicelli noodles.vinegar.wakame.walnut.warehou.wasabi.water.watercress.watermelon.wattleseed.wheat.wheatgrass juice.white bread.white flour.white rice.white wine.white wine vinegar.whiting wild rice.wholegrain bread.wholemeal.wholewheat flour.william pear.yeast.yellow papaw.yellowtail kingfish.yoghurt.yogurt.zucchini`.split(`.`),meat:[`beef`,`chicken`,`crocodile`,`duck`,`emu`,`goose`,`kangaroo`,`lamb`,`ostrich`,`pigeon`,`pork`,`quail`,`rabbit`,`salmon`,`turkey`,`venison`],spice:`achiote seed.ajwain seed.ajwan seed.allspice.amchoor.anise.anise star.aniseed.annatto seed.arrowroot.asafoetida.baharat.balti masala.balti stir fry mix.basil.bay leaves.bbq.caraway seed.cardamom.cassia.cayenne pepper.celery.chamomile.chervil.chilli.chilli pepper.chillies.china star.chives.cinnamon.cloves.colombo.coriander.cumin.curly leaf parsley.curry.dhansak.dill.fennel seed.fenugreek.fines herbes.five spice.french lavender.galangal.garam masala.garlic.german chamomile.ginger.green cardamom.herbes de provence.jalfrezi.jerk.kaffir leaves.korma.lavender.lemon grass.lemon pepper.lime leaves.liquorice root.mace.mango.marjoram.methi.mint.mustard.nutmeg.onion seed.orange zest.oregano.paprika.parsley.pepper.peppercorns.pimento.piri piri.poppy seed.pot marjoram.poudre de colombo.ras-el-hanout.rice paper.rogan josh.rose baie.rosemary.saffron.sage.sesame seed.spearmint.sumac.sweet basil.sweet laurel.tagine.tandoori masala.tarragon.thyme.tikka masala.turmeric.vanilla.zahtar`.split(`.`),vegetable:`artichoke.arugula.asian greens.asparagus.bean shoots.bean sprouts.beans.beetroot.bok choy.broccoli.broccolini.brussels sprouts.butternut lettuce.cabbage.capers.carob carrot.carrot.cauliflower.celery.chilli pepper.chinese cabbage.chives.cornichons.cos lettuce.cucumber.daikon.dried chinese broccoli.eggplant.endive.english spinach.french eschallots.fresh chillies.garlic.green beans.green pepper.hijiki.iceberg lettuce.jerusalem artichoke.jicama.kale.kohlrabi.leeks.lettuce.okra.onion.parsnip.peas.peppers.potatoes.pumpkin.purple carrot.radicchio.radish.red cabbage.red pepper.rhubarb.snowpea sprouts.spinach.squash.sun dried tomatoes.sweet potato.swiss chard.turnips.zucchini`.split(`.`)},hacker:{adjective:[`1080p`,`auxiliary`,`back-end`,`bluetooth`,`cross-platform`,`digital`,`haptic`,`mobile`,`multi-byte`,`neural`,`online`,`open-source`,`optical`,`primary`,`redundant`,`solid state`,`virtual`,`wireless`],ingverb:[`backing up`,`bypassing`,`calculating`,`compressing`,`connecting`,`copying`,`generating`,`hacking`,`indexing`,`navigating`,`overriding`,`parsing`,`programming`,`quantifying`,`synthesizing`,`transmitting`],noun:[`alarm`,`application`,`array`,`bandwidth`,`bus`,`capacitor`,`card`,`circuit`,`driver`,`feed`,`firewall`,`hard drive`,`interface`,`matrix`,`microchip`,`monitor`,`panel`,`pixel`,`port`,`program`,`protocol`,`sensor`,`system`,`transmitter`],phrase:[`I'll {{hacker.verb}} the {{hacker.adjective}} {{hacker.abbreviation}} {{hacker.noun}}, that should {{hacker.noun}} the {{hacker.abbreviation}} {{hacker.noun}}!`,`If we {{hacker.verb}} the {{hacker.noun}}, we can get to the {{hacker.abbreviation}} {{hacker.noun}} through the {{hacker.adjective}} {{hacker.abbreviation}} {{hacker.noun}}!`,`The {{hacker.abbreviation}} {{hacker.noun}} is down, {{hacker.verb}} the {{hacker.adjective}} {{hacker.noun}} so we can {{hacker.verb}} the {{hacker.abbreviation}} {{hacker.noun}}!`,`Try to {{hacker.verb}} the {{hacker.abbreviation}} {{hacker.noun}}, maybe it will {{hacker.verb}} the {{hacker.adjective}} {{hacker.noun}}!`,`Use the {{hacker.adjective}} {{hacker.abbreviation}} {{hacker.noun}}, then you can {{hacker.verb}} the {{hacker.adjective}} {{hacker.noun}}!`,`We need to {{hacker.verb}} the {{hacker.adjective}} {{hacker.abbreviation}} {{hacker.noun}}!`,`You can't {{hacker.verb}} the {{hacker.noun}} without {{hacker.ingverb}} the {{hacker.adjective}} {{hacker.abbreviation}} {{hacker.noun}}!`,`{{hacker.ingverb}} the {{hacker.noun}} won't do anything, we need to {{hacker.verb}} the {{hacker.adjective}} {{hacker.abbreviation}} {{hacker.noun}}!`],verb:[`back up`,`bypass`,`calculate`,`compress`,`connect`,`copy`,`generate`,`hack`,`index`,`input`,`navigate`,`override`,`parse`,`program`,`quantify`,`reboot`,`synthesize`,`transmit`]},internet:{domain_suffix:[`biz`,`com`,`info`,`name`,`net`,`org`],example_email:[`example.com`,`example.net`,`example.org`],free_email:[`gmail.com`,`hotmail.com`,`yahoo.com`]},location:{building_number:[`#####`,`####`,`###`],city_name:`Abilene,Akron,Alafaya,Alameda,Albany,Albuquerque,Alexandria,Alhambra,Aliso Viejo,Allen,Allentown,Aloha,Alpharetta,Altadena,Altamonte Springs,Altoona,Amarillo,Ames,Anaheim,Anchorage,Anderson,Ankeny,Ann Arbor,Annandale,Antelope,Antioch,Apex,Apopka,Apple Valley,Appleton,Arcadia,Arden-Arcade,Arecibo,Arlington,Arlington Heights,Arvada,Ashburn,Asheville,Aspen Hill,Atascocita,Athens-Clarke County,Atlanta,Attleboro,Auburn,Augusta-Richmond County,Aurora,Austin,Avondale,Azusa,Bakersfield,Baldwin Park,Baltimore,Barnstable Town,Bartlett,Baton Rouge,Battle Creek,Bayamon,Bayonne,Baytown,Beaumont,Beavercreek,Beaverton,Bedford,Bel Air South,Bell Gardens,Belleville,Bellevue,Bellflower,Bellingham,Bend,Bentonville,Berkeley,Berwyn,Bethesda,Bethlehem,Billings,Biloxi,Binghamton,Birmingham,Bismarck,Blacksburg,Blaine,Bloomington,Blue Springs,Boca Raton,Boise City,Bolingbrook,Bonita Springs,Bossier City,Boston,Bothell,Boulder,Bountiful,Bowie,Bowling Green,Boynton Beach,Bozeman,Bradenton,Brandon,Brentwood,Bridgeport,Bristol,Brockton,Broken Arrow,Brookhaven,Brookline,Brooklyn Park,Broomfield,Brownsville,Bryan,Buckeye,Buena Park,Buffalo,Buffalo Grove,Burbank,Burien,Burke,Burleson,Burlington,Burnsville,Caguas,Caldwell,Camarillo,Cambridge,Camden,Canton,Cape Coral,Carlsbad,Carmel,Carmichael,Carolina,Carrollton,Carson,Carson City,Cary,Casa Grande,Casas Adobes,Casper,Castle Rock,Castro Valley,Catalina Foothills,Cathedral City,Catonsville,Cedar Hill,Cedar Park,Cedar Rapids,Centennial,Centreville,Ceres,Cerritos,Champaign,Chandler,Chapel Hill,Charleston,Charlotte,Charlottesville,Chattanooga,Cheektowaga,Chesapeake,Chesterfield,Cheyenne,Chicago,Chico,Chicopee,Chino,Chino Hills,Chula Vista,Cicero,Cincinnati,Citrus Heights,Clarksville,Clearwater,Cleveland,Cleveland Heights,Clifton,Clovis,Coachella,Coconut Creek,Coeur d'Alene,College Station,Collierville,Colorado Springs,Colton,Columbia,Columbus,Commerce City,Compton,Concord,Conroe,Conway,Coon Rapids,Coral Gables,Coral Springs,Corona,Corpus Christi,Corvallis,Costa Mesa,Council Bluffs,Country Club,Covina,Cranston,Cupertino,Cutler Bay,Cuyahoga Falls,Cypress,Dale City,Dallas,Daly City,Danbury,Danville,Davenport,Davie,Davis,Dayton,Daytona Beach,DeKalb,DeSoto,Dearborn,Dearborn Heights,Decatur,Deerfield Beach,Delano,Delray Beach,Deltona,Denton,Denver,Des Moines,Des Plaines,Detroit,Diamond Bar,Doral,Dothan,Downers Grove,Downey,Draper,Dublin,Dubuque,Duluth,Dundalk,Dunwoody,Durham,Eagan,East Hartford,East Honolulu,East Lansing,East Los Angeles,East Orange,East Providence,Eastvale,Eau Claire,Eden Prairie,Edina,Edinburg,Edmond,El Cajon,El Centro,El Dorado Hills,El Monte,El Paso,Elgin,Elizabeth,Elk Grove,Elkhart,Ellicott City,Elmhurst,Elyria,Encinitas,Enid,Enterprise,Erie,Escondido,Euclid,Eugene,Euless,Evanston,Evansville,Everett,Fairfield,Fall River,Fargo,Farmington,Farmington Hills,Fayetteville,Federal Way,Findlay,Fishers,Flagstaff,Flint,Florence-Graham,Florin,Florissant,Flower Mound,Folsom,Fond du Lac,Fontana,Fort Collins,Fort Lauderdale,Fort Myers,Fort Pierce,Fort Smith,Fort Wayne,Fort Worth,Fountain Valley,Fountainebleau,Framingham,Franklin,Frederick,Freeport,Fremont,Fresno,Frisco,Fullerton,Gainesville,Gaithersburg,Galveston,Garden Grove,Gardena,Garland,Gary,Gastonia,Georgetown,Germantown,Gilbert,Gilroy,Glen Burnie,Glendale,Glendora,Glenview,Goodyear,Grand Forks,Grand Island,Grand Junction,Grand Prairie,Grand Rapids,Grapevine,Great Falls,Greeley,Green Bay,Greensboro,Greenville,Greenwood,Gresham,Guaynabo,Gulfport,Hacienda Heights,Hackensack,Haltom City,Hamilton,Hammond,Hampton,Hanford,Harlingen,Harrisburg,Harrisonburg,Hartford,Hattiesburg,Haverhill,Hawthorne,Hayward,Hemet,Hempstead,Henderson,Hendersonville,Hesperia,Hialeah,Hicksville,High Point,Highland,Highlands Ranch,Hillsboro,Hilo,Hoboken,Hoffman Estates,Hollywood,Homestead,Honolulu,Hoover,Houston,Huntersville,Huntington,Huntington Beach,Huntington Park,Huntsville,Hutchinson,Idaho Falls,Independence,Indianapolis,Indio,Inglewood,Iowa City,Irondequoit,Irvine,Irving,Jackson,Jacksonville,Janesville,Jefferson City,Jeffersonville,Jersey City,Johns Creek,Johnson City,Joliet,Jonesboro,Joplin,Jupiter,Jurupa Valley,Kalamazoo,Kannapolis,Kansas City,Kearny,Keller,Kendale Lakes,Kendall,Kenner,Kennewick,Kenosha,Kent,Kentwood,Kettering,Killeen,Kingsport,Kirkland,Kissimmee,Knoxville,Kokomo,La Crosse,La Habra,La Mesa,La Mirada,Lacey,Lafayette,Laguna Niguel,Lake Charles,Lake Elsinore,Lake Forest,Lake Havasu City,Lake Ridge,Lakeland,Lakeville,Lakewood,Lancaster,Lansing,Laredo,Largo,Las Cruces,Las Vegas,Lauderhill,Lawrence,Lawton,Layton,League City,Lee's Summit,Leesburg,Lehi,Lehigh Acres,Lenexa,Levittown,Lewisville,Lexington-Fayette,Lincoln,Linden,Little Rock,Littleton,Livermore,Livonia,Lodi,Logan,Lombard,Lompoc,Long Beach,Longmont,Longview,Lorain,Los Angeles,Louisville/Jefferson County,Loveland,Lowell,Lubbock,Lynchburg,Lynn,Lynwood,Macon-Bibb County,Madera,Madison,Malden,Manchester,Manhattan,Mansfield,Manteca,Maple Grove,Margate,Maricopa,Marietta,Marysville,Mayaguez,McAllen,McKinney,McLean,Medford,Melbourne,Memphis,Menifee,Mentor,Merced,Meriden,Meridian,Mesa,Mesquite,Metairie,Methuen Town,Miami,Miami Beach,Miami Gardens,Middletown,Midland,Midwest City,Milford,Millcreek,Milpitas,Milwaukee,Minneapolis,Minnetonka,Minot,Miramar,Mishawaka,Mission,Mission Viejo,Missoula,Missouri City,Mobile,Modesto,Moline,Monroe,Montebello,Monterey Park,Montgomery,Moore,Moreno Valley,Morgan Hill,Mount Pleasant,Mount Prospect,Mount Vernon,Mountain View,Muncie,Murfreesboro,Murray,Murrieta,Nampa,Napa,Naperville,Nashua,Nashville-Davidson,National City,New Bedford,New Braunfels,New Britain,New Brunswick,New Haven,New Orleans,New Rochelle,New York,Newark,Newport Beach,Newport News,Newton,Niagara Falls,Noblesville,Norfolk,Normal,Norman,North Bethesda,North Charleston,North Highlands,North Las Vegas,North Lauderdale,North Little Rock,North Miami,North Miami Beach,North Port,North Richland Hills,Norwalk,Novato,Novi,O'Fallon,Oak Lawn,Oak Park,Oakland,Oakland Park,Ocala,Oceanside,Odessa,Ogden,Oklahoma City,Olathe,Olympia,Omaha,Ontario,Orange,Orem,Orland Park,Orlando,Oro Valley,Oshkosh,Overland Park,Owensboro,Oxnard,Palatine,Palm Bay,Palm Beach Gardens,Palm Coast,Palm Desert,Palm Harbor,Palm Springs,Palmdale,Palo Alto,Paradise,Paramount,Parker,Parma,Pasadena,Pasco,Passaic,Paterson,Pawtucket,Peabody,Pearl City,Pearland,Pembroke Pines,Pensacola,Peoria,Perris,Perth Amboy,Petaluma,Pflugerville,Pharr,Philadelphia,Phoenix,Pico Rivera,Pine Bluff,Pine Hills,Pinellas Park,Pittsburg,Pittsburgh,Pittsfield,Placentia,Plainfield,Plano,Plantation,Pleasanton,Plymouth,Pocatello,Poinciana,Pomona,Pompano Beach,Ponce,Pontiac,Port Arthur,Port Charlotte,Port Orange,Port St. Lucie,Portage,Porterville,Portland,Portsmouth,Potomac,Poway,Providence,Provo,Pueblo,Quincy,Racine,Raleigh,Rancho Cordova,Rancho Cucamonga,Rancho Palos Verdes,Rancho Santa Margarita,Rapid City,Reading,Redding,Redlands,Redmond,Redondo Beach,Redwood City,Reno,Renton,Reston,Revere,Rialto,Richardson,Richland,Richmond,Rio Rancho,Riverside,Riverton,Riverview,Roanoke,Rochester,Rochester Hills,Rock Hill,Rockford,Rocklin,Rockville,Rockwall,Rocky Mount,Rogers,Rohnert Park,Rosemead,Roseville,Roswell,Round Rock,Rowland Heights,Rowlett,Royal Oak,Sacramento,Saginaw,Salem,Salina,Salinas,Salt Lake City,Sammamish,San Angelo,San Antonio,San Bernardino,San Bruno,San Buenaventura (Ventura),San Clemente,San Diego,San Francisco,San Jacinto,San Jose,San Juan,San Leandro,San Luis Obispo,San Marcos,San Mateo,San Rafael,San Ramon,San Tan Valley,Sandy,Sandy Springs,Sanford,Santa Ana,Santa Barbara,Santa Clara,Santa Clarita,Santa Cruz,Santa Fe,Santa Maria,Santa Monica,Santa Rosa,Santee,Sarasota,Savannah,Sayreville,Schaumburg,Schenectady,Scottsdale,Scranton,Seattle,Severn,Shawnee,Sheboygan,Shoreline,Shreveport,Sierra Vista,Silver Spring,Simi Valley,Sioux City,Sioux Falls,Skokie,Smyrna,Somerville,South Bend,South Gate,South Hill,South Jordan,South San Francisco,South Valley,South Whittier,Southaven,Southfield,Sparks,Spokane,Spokane Valley,Spring,Spring Hill,Spring Valley,Springdale,Springfield,St. Charles,St. Clair Shores,St. Cloud,St. George,St. Joseph,St. Louis,St. Louis Park,St. Paul,St. Peters,St. Petersburg,Stamford,State College,Sterling Heights,Stillwater,Stockton,Stratford,Strongsville,Suffolk,Sugar Land,Summerville,Sunnyvale,Sunrise,Sunrise Manor,Surprise,Syracuse,Tacoma,Tallahassee,Tamarac,Tamiami,Tampa,Taunton,Taylor,Taylorsville,Temecula,Tempe,Temple,Terre Haute,Texas City,The Hammocks,The Villages,The Woodlands,Thornton,Thousand Oaks,Tigard,Tinley Park,Titusville,Toledo,Toms River,Tonawanda,Topeka,Torrance,Town 'n' Country,Towson,Tracy,Trenton,Troy,Trujillo Alto,Tuckahoe,Tucson,Tulare,Tulsa,Turlock,Tuscaloosa,Tustin,Twin Falls,Tyler,Union City,University,Upland,Urbana,Urbandale,Utica,Vacaville,Valdosta,Vallejo,Vancouver,Victoria,Victorville,Vineland,Virginia Beach,Visalia,Vista,Waco,Waipahu,Waldorf,Walnut Creek,Waltham,Warner Robins,Warren,Warwick,Washington,Waterbury,Waterloo,Watsonville,Waukegan,Waukesha,Wauwatosa,Wellington,Wesley Chapel,West Allis,West Babylon,West Covina,West Des Moines,West Hartford,West Haven,West Jordan,West Lafayette,West New York,West Palm Beach,West Sacramento,West Seneca,West Valley City,Westfield,Westland,Westminster,Weston,Weymouth Town,Wheaton,White Plains,Whittier,Wichita,Wichita Falls,Wilmington,Wilson,Winston-Salem,Woodbury,Woodland,Worcester,Wylie,Wyoming,Yakima,Yonkers,Yorba Linda,York,Youngstown,Yuba City,Yucaipa,Yuma`.split(`,`),city_pattern:[`{{location.city_prefix}} {{person.firstName}}{{location.city_suffix}}`,`{{location.city_prefix}} {{person.firstName}}`,`{{person.firstName}}{{location.city_suffix}}`,`{{person.lastName}}{{location.city_suffix}}`,`{{location.city_name}}`],city_prefix:[`North`,`East`,`West`,`South`,`New`,`Lake`,`Port`,`Fort`],city_suffix:[`town`,`ton`,`land`,`ville`,`berg`,`burgh`,`boro`,`borough`,`bury`,`view`,`port`,`mouth`,`stad`,`stead`,`furt`,`chester`,`cester`,`fort`,`field`,`haven`,`side`,`shire`,`worth`],continent:[`Africa`,`Antarctica`,`Asia`,`Australia`,`Europe`,`North America`,`South America`],country:[`Afghanistan`,`Åland Islands`,`Albania`,`Algeria`,`American Samoa`,`Andorra`,`Angola`,`Anguilla`,`Antarctica`,`Antigua and Barbuda`,`Argentina`,`Armenia`,`Aruba`,`Australia`,`Austria`,`Azerbaijan`,`Bahamas`,`Bahrain`,`Bangladesh`,`Barbados`,`Belarus`,`Belgium`,`Belize`,`Benin`,`Bermuda`,`Bhutan`,`Bolivia`,`Bonaire, Sint Eustatius and Saba`,`Bosnia and Herzegovina`,`Botswana`,`Bouvet Island`,`Brazil`,`British Indian Ocean Territory (Chagos Archipelago)`,`Brunei Darussalam`,`Bulgaria`,`Burkina Faso`,`Burundi`,`Cambodia`,`Cameroon`,`Canada`,`Cape Verde`,`Cayman Islands`,`Central African Republic`,`Chad`,`Chile`,`China`,`Christmas Island`,`Cocos (Keeling) Islands`,`Colombia`,`Comoros`,`Congo`,`Cook Islands`,`Costa Rica`,`Côte d'Ivoire`,`Croatia`,`Cuba`,`Curaçao`,`Cyprus`,`Czechia`,`Democratic Republic of the Congo`,`Denmark`,`Djibouti`,`Dominica`,`Dominican Republic`,`Ecuador`,`Egypt`,`El Salvador`,`Equatorial Guinea`,`Eritrea`,`Estonia`,`Eswatini`,`Ethiopia`,`Faroe Islands`,`Falkland Islands (Malvinas)`,`Fiji`,`Finland`,`France`,`French Guiana`,`French Polynesia`,`French Southern Territories`,`Gabon`,`Gambia`,`Georgia`,`Germany`,`Ghana`,`Gibraltar`,`Greece`,`Greenland`,`Grenada`,`Guadeloupe`,`Guam`,`Guatemala`,`Guernsey`,`Guinea`,`Guinea-Bissau`,`Guyana`,`Haiti`,`Heard Island and McDonald Islands`,`Holy See (Vatican City State)`,`Honduras`,`Hong Kong`,`Hungary`,`Iceland`,`India`,`Indonesia`,`Iran`,`Iraq`,`Ireland`,`Isle of Man`,`Israel`,`Italy`,`Jamaica`,`Japan`,`Jersey`,`Jordan`,`Kazakhstan`,`Kenya`,`Kiribati`,`Democratic People's Republic of Korea`,`Republic of Korea`,`Kuwait`,`Kyrgyz Republic`,`Lao People's Democratic Republic`,`Latvia`,`Lebanon`,`Lesotho`,`Liberia`,`Libyan Arab Jamahiriya`,`Liechtenstein`,`Lithuania`,`Luxembourg`,`Macao`,`Madagascar`,`Malawi`,`Malaysia`,`Maldives`,`Mali`,`Malta`,`Marshall Islands`,`Martinique`,`Mauritania`,`Mauritius`,`Mayotte`,`Mexico`,`Micronesia`,`Moldova`,`Monaco`,`Mongolia`,`Montenegro`,`Montserrat`,`Morocco`,`Mozambique`,`Myanmar`,`Namibia`,`Nauru`,`Nepal`,`Netherlands`,`New Caledonia`,`New Zealand`,`Nicaragua`,`Niger`,`Nigeria`,`Niue`,`Norfolk Island`,`North Macedonia`,`Northern Mariana Islands`,`Norway`,`Oman`,`Pakistan`,`Palau`,`Palestine`,`Panama`,`Papua New Guinea`,`Paraguay`,`Peru`,`Philippines`,`Pitcairn Islands`,`Poland`,`Portugal`,`Puerto Rico`,`Qatar`,`Réunion`,`Romania`,`Russian Federation`,`Rwanda`,`Saint Barthélemy`,`Saint Helena`,`Saint Kitts and Nevis`,`Saint Lucia`,`Saint Martin`,`Saint Pierre and Miquelon`,`Saint Vincent and the Grenadines`,`Samoa`,`San Marino`,`Sao Tome and Principe`,`Saudi Arabia`,`Senegal`,`Serbia`,`Seychelles`,`Sierra Leone`,`Singapore`,`Sint Maarten`,`Slovakia`,`Slovenia`,`Solomon Islands`,`Somalia`,`South Africa`,`South Georgia and the South Sandwich Islands`,`South Sudan`,`Spain`,`Sri Lanka`,`Sudan`,`Suriname`,`Svalbard & Jan Mayen Islands`,`Sweden`,`Switzerland`,`Syrian Arab Republic`,`Taiwan`,`Tajikistan`,`Tanzania`,`Thailand`,`Timor-Leste`,`Togo`,`Tokelau`,`Tonga`,`Trinidad and Tobago`,`Tunisia`,`Turkey`,`Turkmenistan`,`Turks and Caicos Islands`,`Tuvalu`,`Uganda`,`Ukraine`,`United Arab Emirates`,`United Kingdom`,`United States of America`,`United States Minor Outlying Islands`,`Uruguay`,`Uzbekistan`,`Vanuatu`,`Venezuela`,`Vietnam`,`Virgin Islands, British`,`Virgin Islands, U.S.`,`Wallis and Futuna`,`Western Sahara`,`Yemen`,`Zambia`,`Zimbabwe`],county:`Adams County.Calhoun County.Carroll County.Clark County.Clay County.Crawford County.Douglas County.Fayette County.Franklin County.Grant County.Greene County.Hamilton County.Hancock County.Henry County.Jackson County.Jefferson County.Johnson County.Lake County.Lawrence County.Lee County.Lincoln County.Logan County.Madison County.Marion County.Marshall County.Monroe County.Montgomery County.Morgan County.Perry County.Pike County.Polk County.Scott County.Union County.Warren County.Washington County.Wayne County.Avon.Bedfordshire.Berkshire.Borders.Buckinghamshire.Cambridgeshire.Central.Cheshire.Cleveland.Clwyd.Cornwall.County Antrim.County Armagh.County Down.County Fermanagh.County Londonderry.County Tyrone.Cumbria.Derbyshire.Devon.Dorset.Dumfries and Galloway.Durham.Dyfed.East Sussex.Essex.Fife.Gloucestershire.Grampian.Greater Manchester.Gwent.Gwynedd County.Hampshire.Herefordshire.Hertfordshire.Highlands and Islands.Humberside.Isle of Wight.Kent.Lancashire.Leicestershire.Lincolnshire.Lothian.Merseyside.Mid Glamorgan.Norfolk.North Yorkshire.Northamptonshire.Northumberland.Nottinghamshire.Oxfordshire.Powys.Rutland.Shropshire.Somerset.South Glamorgan.South Yorkshire.Staffordshire.Strathclyde.Suffolk.Surrey.Tayside.Tyne and Wear.Warwickshire.West Glamorgan.West Midlands.West Sussex.West Yorkshire.Wiltshire.Worcestershire`.split(`.`),direction:{cardinal:[`North`,`East`,`South`,`West`],cardinal_abbr:[`N`,`E`,`S`,`W`],ordinal:[`Northeast`,`Northwest`,`Southeast`,`Southwest`],ordinal_abbr:[`NE`,`NW`,`SE`,`SW`]},language:[{name:`Afrikaans`,alpha2:`af`,alpha3:`afr`},{name:`Azerbaijani`,alpha2:`az`,alpha3:`aze`},{name:`Maldivian`,alpha2:`dv`,alpha3:`div`},{name:`Farsi/Persian`,alpha2:`fa`,alpha3:`fas`},{name:`Latvian`,alpha2:`lv`,alpha3:`lav`},{name:`Indonesian`,alpha2:`id`,alpha3:`ind`},{name:`Nepali`,alpha2:`ne`,alpha3:`nep`},{name:`Thai`,alpha2:`th`,alpha3:`tha`},{name:`Uzbek`,alpha2:`uz`,alpha3:`uzb`},{name:`Yoruba`,alpha2:`yo`,alpha3:`yor`},{name:`Pashto`,alpha2:`ps`,alpha3:`pus`},{name:`English`,alpha2:`en`,alpha3:`eng`},{name:`Urdu`,alpha2:`ur`,alpha3:`urd`},{name:`German`,alpha2:`de`,alpha3:`deu`},{name:`French`,alpha2:`fr`,alpha3:`fra`},{name:`Spanish`,alpha2:`es`,alpha3:`spa`},{name:`Italian`,alpha2:`it`,alpha3:`ita`},{name:`Dutch`,alpha2:`nl`,alpha3:`nld`},{name:`Russian`,alpha2:`ru`,alpha3:`rus`},{name:`Portuguese`,alpha2:`pt`,alpha3:`por`},{name:`Polish`,alpha2:`pl`,alpha3:`pol`},{name:`Arabic`,alpha2:`ar`,alpha3:`ara`},{name:`Japanese`,alpha2:`ja`,alpha3:`jpn`},{name:`Chinese`,alpha2:`zh`,alpha3:`zho`},{name:`Hindi`,alpha2:`hi`,alpha3:`hin`},{name:`Bengali`,alpha2:`bn`,alpha3:`ben`},{name:`Gujarati`,alpha2:`gu`,alpha3:`guj`},{name:`Tamil`,alpha2:`ta`,alpha3:`tam`},{name:`Telugu`,alpha2:`te`,alpha3:`tel`},{name:`Punjabi`,alpha2:`pa`,alpha3:`pan`},{name:`Vietnamese`,alpha2:`vi`,alpha3:`vie`},{name:`Korean`,alpha2:`ko`,alpha3:`kor`},{name:`Turkish`,alpha2:`tr`,alpha3:`tur`},{name:`Swedish`,alpha2:`sv`,alpha3:`swe`},{name:`Greek`,alpha2:`el`,alpha3:`ell`},{name:`Czech`,alpha2:`cs`,alpha3:`ces`},{name:`Hungarian`,alpha2:`hu`,alpha3:`hun`},{name:`Romanian`,alpha2:`ro`,alpha3:`ron`},{name:`Ukrainian`,alpha2:`uk`,alpha3:`ukr`},{name:`Norwegian`,alpha2:`no`,alpha3:`nor`},{name:`Serbian`,alpha2:`sr`,alpha3:`srp`},{name:`Croatian`,alpha2:`hr`,alpha3:`hrv`},{name:`Slovak`,alpha2:`sk`,alpha3:`slk`},{name:`Slovenian`,alpha2:`sl`,alpha3:`slv`},{name:`Icelandic`,alpha2:`is`,alpha3:`isl`},{name:`Finnish`,alpha2:`fi`,alpha3:`fin`},{name:`Danish`,alpha2:`da`,alpha3:`dan`},{name:`Swahili`,alpha2:`sw`,alpha3:`swa`},{name:`Bashkir`,alpha2:`ba`,alpha3:`bak`},{name:`Basque`,alpha2:`eu`,alpha3:`eus`},{name:`Catalan`,alpha2:`ca`,alpha3:`cat`},{name:`Galician`,alpha2:`gl`,alpha3:`glg`},{name:`Esperanto`,alpha2:`eo`,alpha3:`epo`},{name:`Fijian`,alpha2:`fj`,alpha3:`fij`},{name:`Malagasy`,alpha2:`mg`,alpha3:`mlg`},{name:`Maltese`,alpha2:`mt`,alpha3:`mlt`},{name:`Albanian`,alpha2:`sq`,alpha3:`sqi`},{name:`Armenian`,alpha2:`hy`,alpha3:`hye`},{name:`Georgian`,alpha2:`ka`,alpha3:`kat`},{name:`Macedonian`,alpha2:`mk`,alpha3:`mkd`},{name:`Kazakh`,alpha2:`kk`,alpha3:`kaz`},{name:`Haitian Creole`,alpha2:`ht`,alpha3:`hat`},{name:`Mongolian`,alpha2:`mn`,alpha3:`mon`},{name:`Kyrgyz`,alpha2:`ky`,alpha3:`kir`},{name:`Finnish`,alpha2:`fi`,alpha3:`fin`},{name:`Tagalog`,alpha2:`tl`,alpha3:`tgl`},{name:`Malay`,alpha2:`ms`,alpha3:`msa`},{name:`Tajik`,alpha2:`tg`,alpha3:`tgk`},{name:`Swati`,alpha2:`ss`,alpha3:`ssw`},{name:`Tatar`,alpha2:`tt`,alpha3:`tat`},{name:`Zulu`,alpha2:`zu`,alpha3:`zul`}],postal_address:[`{{location.streetAddress}}\n{{location.city}}\n{{location.state}}\n{{location.zipCode}}`,`{{location.secondaryAddress}}\n{{location.streetAddress}}\n{{location.city}}\n{{location.state}}\n{{location.zipCode}}`],postcode:[`#####`,`#####-####`],secondary_address:[`Apt. ###`,`Suite ###`],state:`Alabama.Alaska.Arizona.Arkansas.California.Colorado.Connecticut.Delaware.Florida.Georgia.Hawaii.Idaho.Illinois.Indiana.Iowa.Kansas.Kentucky.Louisiana.Maine.Maryland.Massachusetts.Michigan.Minnesota.Mississippi.Missouri.Montana.Nebraska.Nevada.New Hampshire.New Jersey.New Mexico.New York.North Carolina.North Dakota.Ohio.Oklahoma.Oregon.Pennsylvania.Rhode Island.South Carolina.South Dakota.Tennessee.Texas.Utah.Vermont.Virginia.Washington.West Virginia.Wisconsin.Wyoming`.split(`.`),state_abbr:`AL.AK.AZ.AR.CA.CO.CT.DE.FL.GA.HI.ID.IL.IN.IA.KS.KY.LA.ME.MD.MA.MI.MN.MS.MO.MT.NE.NV.NH.NJ.NM.NY.NC.ND.OH.OK.OR.PA.RI.SC.SD.TN.TX.UT.VT.VA.WA.WV.WI.WY`.split(`.`),street_address:{normal:`{{location.buildingNumber}} {{location.street}}`,full:`{{location.buildingNumber}} {{location.street}} {{location.secondaryAddress}}`},street_name:`10th Street.11th Street.12th Street.13th Street.14th Street.15th Street.16th Street.1st Avenue.1st Street.2nd Avenue.2nd Street.3rd Avenue.3rd Street.4th Avenue.4th Street.5th Avenue.5th Street.6th Avenue.6th Street.7th Avenue.7th Street.8th Avenue.8th Street.9th Street.A Street.Abbey Road.Adams Avenue.Adams Street.Airport Road.Albany Road.Albert Road.Albion Street.Alexandra Road.Alfred Street.Alma Street.Ash Close.Ash Grove.Ash Road.Ash Street.Aspen Close.Atlantic Avenue.Avenue Road.Back Lane.Baker Street.Balmoral Road.Barn Close.Barton Road.Bath Road.Bath Street.Bay Street.Beach Road.Bedford Road.Beech Close.Beech Drive.Beech Grove.Beech Road.Beechwood Avenue.Bell Lane.Belmont Road.Birch Avenue.Birch Close.Birch Grove.Birch Road.Blind Lane.Bluebell Close.Boundary Road.Bramble Close.Bramley Close.Bridge Road.Bridge Street.Broad Lane.Broad Street.Broadway.Broadway Avenue.Broadway Street.Brook Lane.Brook Road.Brook Street.Brookside.Buckingham Road.Cambridge Street.Canal Street.Castle Close.Castle Lane.Castle Road.Castle Street.Cavendish Road.Cedar Avenue.Cedar Close.Cedar Grove.Cedar Road.Cedar Street.Cemetery Road.Center Avenue.Center Road.Center Street.Central Avenue.Central Street.Chapel Close.Chapel Hill.Chapel Road.Chapel Street.Charles Street.Cherry Close.Cherry Street.Cherry Tree Close.Chester Road.Chestnut Close.Chestnut Drive.Chestnut Grove.Chestnut Street.Church Avenue.Church Close.Church Hill.Church Lane.Church Path.Church Road.Church Street.Church View.Church Walk.Claremont Road.Clarence Road.Clarence Street.Clarendon Road.Clark Street.Clay Lane.Cleveland Street.Cliff Road.Clifton Road.Clinton Street.College Avenue.College Street.Columbia Avenue.Commerce Street.Commercial Road.Commercial Street.Common Lane.Coronation Avenue.Coronation Road.County Line Road.County Road.Court Street.Cow Lane.Crescent Road.Cromwell Road.Cross Lane.Cross Street.Crown Street.Cumberland Street.Dale Street.Dark Lane.Davis Street.Depot Street.Derby Road.Derwent Close.Devonshire Road.Division Street.Douglas Road.Duke Street.E 10th Street.E 11th Street.E 12th Street.E 14th Street.E 1st Street.E 2nd Street.E 3rd Street.E 4th Avenue.E 4th Street.E 5th Street.E 6th Avenue.E 6th Street.E 7th Street.E 8th Street.E 9th Street.E Bridge Street.E Broad Street.E Broadway.E Broadway Street.E Cedar Street.E Center Street.E Central Avenue.E Church Street.E Elm Street.E Franklin Street.E Front Street.E Grand Avenue.E High Street.E Jackson Street.E Jefferson Street.E Main.E Main Street.E Maple Street.E Market Street.E North Street.E Oak Street.E Park Avenue.E Pine Street.E River Road.E South Street.E State Street.E Union Street.E Walnut Street.E Washington Avenue.E Washington Street.E Water Street.East Avenue.East Road.East Street.Edward Street.Elm Close.Elm Grove.Elm Road.Elm Street.Euclid Avenue.Fairfield Road.Farm Close.Ferry Road.Field Close.Field Lane.First Avenue.First Street.Fore Street.Forest Avenue.Forest Road.Fourth Avenue.Franklin Avenue.Franklin Road.Franklin Street.Front Street.Frontage Road.Garden Close.Garden Street.George Street.Gladstone Road.Glebe Close.Gloucester Road.Gordon Road.Gordon Street.Grand Avenue.Grange Avenue.Grange Close.Grange Road.Grant Street.Green Close.Green Lane.Green Street.Greenville Road.Greenway.Greenwood Road.Grove Lane.Grove Road.Grove Street.Hall Lane.Hall Street.Harrison Avenue.Harrison Street.Hawthorn Avenue.Hawthorn Close.Hazel Close.Hazel Grove.Heath Road.Heather Close.Henry Street.Heron Close.Hickory Street.High Road.High Street.Highfield Avenue.Highfield Close.Highfield Road.Highland Avenue.Hill Road.Hill Street.Hillside.Hillside Avenue.Hillside Close.Hillside Road.Holly Close.Honeysuckle Close.Howard Road.Howard Street.Jackson Avenue.Jackson Street.James Street.Jefferson Avenue.Jefferson Street.Johnson Street.Jubilee Close.Juniper Close.Kent Road.Kestrel Close.King Street.King's Road.Kingfisher Close.Kings Highway.Kingsway.Laburnum Grove.Lafayette Street.Lake Avenue.Lake Drive.Lake Road.Lake Street.Lancaster Road.Lansdowne Road.Larch Close.Laurel Close.Lawrence Street.Lee Street.Liberty Street.Lime Grove.Lincoln Avenue.Lincoln Highway.Lincoln Road.Lincoln Street.Locust Street.Lodge Close.Lodge Lane.London Road.Long Lane.Low Road.Madison Avenue.Madison Street.Main.Main Avenue.Main Road.Main Street.Main Street E.Main Street N.Main Street S.Main Street W.Manchester Road.Manor Close.Manor Drive.Manor Gardens.Manor Road.Manor Way.Maple Avenue.Maple Close.Maple Drive.Maple Road.Maple Street.Market Place.Market Square.Market Street.Marlborough Road.Marsh Lane.Martin Luther King Boulevard.Martin Luther King Drive.Martin Luther King Jr Boulevard.Mary Street.Mayfield Road.Meadow Close.Meadow Drive.Meadow Lane.Meadow View.Meadow Way.Memorial Drive.Middle Street.Mill Close.Mill Lane.Mill Road.Mill Street.Milton Road.Milton Street.Monroe Street.Moor Lane.Moss Lane.Mount Pleasant.Mount Street.Mulberry Street.N 1st Street.N 2nd Street.N 3rd Street.N 4th Street.N 5th Street.N 6th Street.N 7th Street.N 8th Street.N 9th Street.N Bridge Street.N Broad Street.N Broadway.N Broadway Street.N Cedar Street.N Center Street.N Central Avenue.N Chestnut Street.N Church Street.N College Street.N Court Street.N Division Street.N East Street.N Elm Street.N Franklin Street.N Front Street.N Harrison Street.N High Street.N Jackson Street.N Jefferson Street.N Lincoln Street.N Locust Street.N Main.N Main Avenue.N Main Street.N Maple Street.N Market Street.N Monroe Street.N Oak Street.N Park Street.N Pearl Street.N Pine Street.N Poplar Street.N Railroad Street.N State Street.N Union Street.N Walnut Street.N Washington Avenue.N Washington Street.N Water Street.Nelson Road.Nelson Street.New Lane.New Road.New Street.Newton Road.Nightingale Close.Norfolk Road.North Avenue.North Lane.North Road.North Street.Northfield Road.Oak Avenue.Oak Drive.Oak Lane.Oak Road.Oak Street.Oakfield Road.Oaklands.Old Lane.Old Military Road.Old Road.Old State Road.Orchard Drive.Orchard Lane.Orchard Road.Orchard Street.Oxford Road.Oxford Street.Park Avenue.Park Crescent.Park Drive.Park Lane.Park Place.Park Road.Park Street.Park View.Parkside.Pearl Street.Pennsylvania Avenue.Pine Close.Pine Grove.Pine Street.Pinfold Lane.Pleasant Street.Poplar Avenue.Poplar Close.Poplar Road.Poplar Street.Post Road.Pound Lane.Princes Street.Princess Street.Priory Close.Priory Road.Prospect Avenue.Prospect Place.Prospect Road.Prospect Street.Quarry Lane.Quarry Road.Queen's Road.Railroad Avenue.Railroad Street.Railway Street.Rectory Close.Rectory Lane.Richmond Close.Richmond Road.Ridge Road.River Road.River Street.Riverside.Riverside Avenue.Riverside Drive.Roman Road.Roman Way.Rowan Close.Russell Street.S 10th Street.S 14th Street.S 1st Avenue.S 1st Street.S 2nd Street.S 3rd Street.S 4th Street.S 5th Street.S 6th Street.S 7th Street.S 8th Street.S 9th Street.S Bridge Street.S Broad Street.S Broadway.S Broadway Street.S Center Street.S Central Avenue.S Chestnut Street.S Church Street.S College Street.S Division Street.S East Street.S Elm Street.S Franklin Street.S Front Street.S Grand Avenue.S High Street.S Jackson Street.S Jefferson Street.S Lincoln Street.S Main.S Main Avenue.S Main Street.S Maple Street.S Market Street.S Mill Street.S Monroe Street.S Oak Street.S Park Street.S Pine Street.S Railroad Street.S State Street.S Union Street.S Walnut Street.S Washington Avenue.S Washington Street.S Water Street.S West Street.Salisbury Road.Sandringham Road.Sandy Lane.School Close.School Lane.School Road.School Street.Second Avenue.Silver Street.Skyline Drive.Smith Street.Somerset Road.South Avenue.South Drive.South Road.South Street.South View.Spring Gardens.Spring Street.Springfield Close.Springfield Road.Spruce Street.St Andrew's Road.St Andrews Close.St George's Road.St John's Road.St Mary's Close.St Mary's Road.Stanley Road.Stanley Street.State Avenue.State Line Road.State Road.State Street.Station Road.Station Street.Stoney Lane.Sycamore Avenue.Sycamore Close.Sycamore Drive.Sycamore Street.Talbot Road.Tennyson Road.The Avenue.The Beeches.The Causeway.The Chase.The Coppice.The Copse.The Crescent.The Croft.The Dell.The Drive.The Fairway.The Glebe.The Grange.The Green.The Grove.The Hawthorns.The Lane.The Laurels.The Limes.The Maltings.The Meadows.The Mews.The Mount.The Oaks.The Orchard.The Oval.The Paddock.The Paddocks.The Poplars.The Ridgeway.The Ridings.The Rise.The Sidings.The Spinney.The Square.The Willows.The Woodlands.Third Avenue.Third Street.Tower Road.Trinity Road.Tudor Close.Union Avenue.Union Street.University Avenue.University Drive.Valley Road.Veterans Memorial Drive.Veterans Memorial Highway.Vicarage Close.Vicarage Lane.Vicarage Road.Victoria Place.Victoria Road.Victoria Street.Vine Street.W 10th Street.W 11th Street.W 12th Street.W 14th Street.W 1st Street.W 2nd Street.W 3rd Street.W 4th Avenue.W 4th Street.W 5th Street.W 6th Avenue.W 6th Street.W 7th Street.W 8th Street.W 9th Street.W Bridge Street.W Broad Street.W Broadway.W Broadway Avenue.W Broadway Street.W Center Street.W Central Avenue.W Chestnut Street.W Church Street.W Division Street.W Elm Street.W Franklin Street.W Front Street.W Grand Avenue.W High Street.W Jackson Street.W Jefferson Street.W Lake Street.W Main.W Main Street.W Maple Street.W Market Street.W Monroe Street.W North Street.W Oak Street.W Park Street.W Pine Street.W River Road.W South Street.W State Street.W Union Street.W Walnut Street.W Washington Avenue.W Washington Street.Walnut Close.Walnut Street.Warren Close.Warren Road.Washington Avenue.Washington Boulevard.Washington Road.Washington Street.Water Lane.Water Street.Waterloo Road.Waterside.Watery Lane.Waverley Road.Well Lane.Wellington Road.Wellington Street.West Avenue.West End.West Lane.West Road.West Street.West View.Western Avenue.Western Road.Westfield Road.Westgate.William Street.Willow Close.Willow Drive.Willow Grove.Willow Road.Willow Street.Windermere Road.Windmill Close.Windmill Lane.Windsor Avenue.Windsor Close.Windsor Drive.Wood Lane.Wood Street.Woodland Close.Woodland Road.Woodlands.Woodlands Avenue.Woodlands Close.Woodlands Road.Woodside.Woodside Road.Wren Close.Yew Tree Close.York Road.York Street`.split(`.`),street_pattern:[`{{person.firstName}} {{location.street_suffix}}`,`{{person.lastName}} {{location.street_suffix}}`,`{{location.street_name}}`],street_suffix:`Alley.Avenue.Branch.Bridge.Brook.Brooks.Burg.Burgs.Bypass.Camp.Canyon.Cape.Causeway.Center.Centers.Circle.Circles.Cliff.Cliffs.Club.Common.Corner.Corners.Course.Court.Courts.Cove.Coves.Creek.Crescent.Crest.Crossing.Crossroad.Curve.Dale.Dam.Divide.Drive.Drives.Estate.Estates.Expressway.Extension.Extensions.Fall.Falls.Ferry.Field.Fields.Flat.Flats.Ford.Fords.Forest.Forge.Forges.Fork.Forks.Fort.Freeway.Garden.Gardens.Gateway.Glen.Glens.Green.Greens.Grove.Groves.Harbor.Harbors.Haven.Heights.Highway.Hill.Hills.Hollow.Inlet.Island.Islands.Isle.Junction.Junctions.Key.Keys.Knoll.Knolls.Lake.Lakes.Land.Landing.Lane.Light.Lights.Loaf.Lock.Locks.Lodge.Loop.Mall.Manor.Manors.Meadow.Meadows.Mews.Mill.Mills.Mission.Motorway.Mount.Mountain.Mountains.Neck.Orchard.Oval.Overpass.Park.Parks.Parkway.Parkways.Pass.Passage.Path.Pike.Pine.Pines.Place.Plain.Plains.Plaza.Point.Points.Port.Ports.Prairie.Radial.Ramp.Ranch.Rapid.Rapids.Rest.Ridge.Ridges.River.Road.Roads.Route.Row.Rue.Run.Shoal.Shoals.Shore.Shores.Skyway.Spring.Springs.Spur.Spurs.Square.Squares.Station.Stravenue.Stream.Street.Streets.Summit.Terrace.Throughway.Trace.Track.Trafficway.Trail.Tunnel.Turnpike.Underpass.Union.Unions.Valley.Valleys.Via.Viaduct.View.Views.Village.Villages.Ville.Vista.Walk.Walks.Wall.Way.Ways.Well.Wells`.split(`.`)},lorem:{word:`a.ab.abbas.abduco.abeo.abscido.absconditus.absens.absorbeo.absque.abstergo.absum.abundans.abutor.accedo.accendo.acceptus.accommodo.accusamus.accusantium.accusator.acer.acerbitas.acervus.acidus.acies.acquiro.acsi.ad.adamo.adaugeo.addo.adduco.ademptio.adeo.adeptio.adfectus.adfero.adficio.adflicto.adhaero.adhuc.adicio.adimpleo.adinventitias.adipisci.adipiscor.adiuvo.administratio.admiratio.admitto.admoneo.admoveo.adnuo.adopto.adsidue.adstringo.adsuesco.adsum.adulatio.adulescens.aduro.advenio.adversus.advoco.aedificium.aeger.aegre.aegrotatio.aegrus.aeneus.aequitas.aequus.aer.aestas.aestivus.aestus.aetas.aeternus.ager.aggero.aggredior.agnitio.agnosco.ago.ait.aiunt.alias.alienus.alii.alioqui.aliqua.aliquam.aliquid.alius.allatus.alo.alter.altus.alveus.amaritudo.ambitus.ambulo.amet.amicitia.amiculum.amissio.amita.amitto.amo.amor.amoveo.amplexus.amplitudo.amplus.ancilla.angelus.angulus.angustus.animadverto.animi.animus.annus.anser.ante.antea.antepono.antiquus.aperiam.aperio.aperte.apostolus.apparatus.appello.appono.appositus.approbo.apto.aptus.apud.aqua.ara.aranea.arbitro.arbor.arbustum.arca.arceo.arcesso.architecto.arcus.argentum.argumentum.arguo.arma.armarium.aro.ars.articulus.artificiose.arto.arx.ascisco.ascit.asper.asperiores.aspernatur.aspicio.asporto.assentator.assumenda.astrum.at.atavus.ater.atque.atqui.atrocitas.atrox.attero.attollo.attonbitus.auctor.auctus.audacia.audax.audentia.audeo.audio.auditor.aufero.aureus.aurum.aut.autem.autus.auxilium.avaritia.avarus.aveho.averto.baiulus.balbus.barba.bardus.basium.beatae.beatus.bellicus.bellum.bene.beneficium.benevolentia.benigne.bestia.bibo.bis.blandior.blanditiis.bonus.bos.brevis.cado.caecus.caelestis.caelum.calamitas.calcar.calco.calculus.callide.campana.candidus.canis.canonicus.canto.capillus.capio.capitulus.capto.caput.carbo.carcer.careo.caries.cariosus.caritas.carmen.carpo.carus.casso.caste.casus.catena.caterva.cattus.cauda.causa.caute.caveo.cavus.cedo.celebrer.celer.celo.cena.cenaculum.ceno.censura.centum.cerno.cernuus.certe.certus.cervus.cetera.charisma.chirographum.cibo.cibus.cicuta.cilicium.cimentarius.ciminatio.cinis.circumvenio.cito.civis.civitas.clam.clamo.claro.clarus.claudeo.claustrum.clementia.clibanus.coadunatio.coaegresco.coepi.coerceo.cogito.cognatus.cognomen.cogo.cohaero.cohibeo.cohors.colligo.collum.colo.color.coma.combibo.comburo.comedo.comes.cometes.comis.comitatus.commemoro.comminor.commodi.commodo.communis.comparo.compello.complectus.compono.comprehendo.comptus.conatus.concedo.concido.conculco.condico.conduco.confero.confido.conforto.confugo.congregatio.conicio.coniecto.conitor.coniuratio.conor.conqueror.conscendo.consectetur.consequatur.consequuntur.conservo.considero.conspergo.constans.consuasor.contabesco.contego.contigo.contra.conturbo.conventus.convoco.copia.copiose.cornu.corona.corporis.corpus.correptius.corrigo.corroboro.corrumpo.corrupti.coruscus.cotidie.crapula.cras.crastinus.creator.creber.crebro.credo.creo.creptio.crepusculum.cresco.creta.cribro.crinis.cruciamentum.crudelis.cruentus.crur.crustulum.crux.cubicularis.cubitum.cubo.cui.cuius.culpa.culpo.cultellus.cultura.cum.cumque.cunabula.cunae.cunctatio.cupiditas.cupiditate.cupio.cuppedia.cupressus.cur.cura.curatio.curia.curiositas.curis.curo.curriculum.currus.cursim.curso.cursus.curto.curtus.curvo.custodia.damnatio.damno.dapifer.debeo.debilito.debitis.decens.decerno.decet.decimus.decipio.decor.decretum.decumbo.dedecor.dedico.deduco.defaeco.defendo.defero.defessus.defetiscor.deficio.defleo.defluo.defungo.degenero.degero.degusto.deinde.delectatio.delectus.delego.deleniti.deleo.delibero.delicate.delinquo.deludo.demens.demergo.demitto.demo.demonstro.demoror.demulceo.demum.denego.denique.dens.denuncio.denuo.deorsum.depereo.depono.depopulo.deporto.depraedor.deprecator.deprimo.depromo.depulso.deputo.derelinquo.derideo.deripio.deserunt.desidero.desino.desipio.desolo.desparatus.despecto.dicta.dignissimos.distinctio.dolor.dolore.dolorem.doloremque.dolores.doloribus.dolorum.ducimus.ea.eaque.earum.eius.eligendi.enim.eos.error.esse.est.et.eum.eveniet.ex.excepturi.exercitationem.expedita.explicabo.facere.facilis.fuga.fugiat.fugit.harum.hic.id.illo.illum.impedit.in.incidunt.infit.inflammatio.inventore.ipsa.ipsam.ipsum.iste.itaque.iure.iusto.labore.laboriosam.laborum.laudantium.libero.magnam.magni.maiores.maxime.minima.minus.modi.molestiae.molestias.mollitia.nam.natus.necessitatibus.nemo.neque.nesciunt.nihil.nisi.nobis.non.nostrum.nulla.numquam.occaecati.ocer.odio.odit.officia.officiis.omnis.optio.paens.pariatur.patior.patria.patrocinor.patruus.pauci.paulatim.pauper.pax.peccatus.pecco.pecto.pectus.pecus.peior.pel.perferendis.perspiciatis.placeat.porro.possimus.praesentium.provident.quae.quaerat.quam.quas.quasi.qui.quia.quibusdam.quidem.quis.quisquam.quo.quod.quos.ratione.recusandae.reiciendis.rem.repellat.repellendus.reprehenderit.repudiandae.rerum.saepe.sapiente.sed.sequi.similique.sint.sit.socius.sodalitas.sol.soleo.solio.solitudo.solium.sollers.sollicito.solum.solus.soluta.solutio.solvo.somniculosus.somnus.sonitus.sono.sophismata.sopor.sordeo.sortitus.spargo.speciosus.spectaculum.speculum.sperno.spero.spes.spiculum.spiritus.spoliatio.sponte.stabilis.statim.statua.stella.stillicidium.stipes.stips.sto.strenuus.strues.studio.stultus.suadeo.suasoria.sub.subito.subiungo.sublime.subnecto.subseco.substantia.subvenio.succedo.succurro.sufficio.suffoco.suffragium.suggero.sui.sulum.sum.summa.summisse.summopere.sumo.sumptus.sunt.supellex.super.suppellex.supplanto.suppono.supra.surculus.surgo.sursum.suscipio.suscipit.suspendo.sustineo.suus.synagoga.tabella.tabernus.tabesco.tabgo.tabula.taceo.tactus.taedium.talio.talis.talus.tam.tamdiu.tamen.tametsi.tamisium.tamquam.tandem.tantillus.tantum.tardus.tego.temeritas.temperantia.templum.tempora.tempore.temporibus.temptatio.tempus.tenax.tendo.teneo.tener.tenetur.tenuis.tenus.tepesco.tepidus.ter.terebro.teres.terga.tergeo.tergiversatio.tergo.tergum.termes.terminatio.tero.terra.terreo.territo.terror.tersus.tertius.testimonium.texo.textilis.textor.textus.thalassinus.theatrum.theca.thema.theologus.thermae.thesaurus.thesis.thorax.thymbra.thymum.tibi.timidus.timor.titulus.tolero.tollo.tondeo.tonsor.torqueo.torrens.tot.totam.totidem.toties.totus.tracto.trado.traho.trans.tredecim.tremo.trepide.tres.tribuo.tricesimus.triduana.tripudio.tristis.triumphus.trucido.truculenter.tubineus.tui.tum.tumultus.tunc.turba.turbo.turpis.tutamen.tutis.tyrannus.uberrime.ubi.ulciscor.ullam.ullus.ulterius.ultio.ultra.umbra.umerus.umquam.una.unde.undique.universe.unus.urbanus.urbs.uredo.usitas.usque.ustilo.ustulo.usus.ut.uter.uterque.utilis.utique.utor.utpote.utrimque.utroque.utrum.uxor.vaco.vacuus.vado.vae.valde.valens.valeo.valetudo.validus.vallum.vapulus.varietas.varius.vehemens.vel.velit.velociter.velum.velut.venia.veniam.venio.ventito.ventosus.ventus.venustas.ver.verbera.verbum.vere.verecundia.vereor.vergo.veritas.veritatis.vero.versus.verto.verumtamen.verus.vesco.vesica.vesper.vespillo.vester.vestigium.vestrum.vetus.via.vicinus.vicissitudo.victoria.victus.videlicet.video.viduo.vigilo.vigor.vilicus.vilis.vilitas.villa.vinco.vinculum.vindico.vinitor.vinum.vir.virga.virgo.viridis.viriliter.virtus.vis.viscus.vita.vitae.vitiosus.vitium.vito.vivo.vix.vobis.vociferor.voco.volaticus.volo.volubilis.voluntarius.volup.voluptas.voluptate.voluptatem.voluptates.voluptatibus.voluptatum.volutabrum.volva.vomer.vomica.vomito.vorago.vorax.voro.vos.votum.voveo.vox.vulariter.vulgaris.vulgivagus.vulgo.vulgus.vulnero.vulnus.vulpes.vulticulus.xiphias`.split(`.`)},metadata:{title:`English`,code:`en`,language:`en`,endonym:`English`,dir:`ltr`,script:`Latn`},music:{album:[`\"Awaken, My Love!\"`,`(What's The Story) Morning Glory?`,`- Tragedy +`,`13 Reasons Why (Season 3)`,`21st Century Breakdown`,`30 De Febrero`,`432 Hz Deep Healing`,`5-Star`,`528 Hz Meditation Music`,`54+1`,`8 Mile`,`808s & Heartbreak`,`9 To 5 And Odd Jobs`,`A Beautiful Lie`,`A Day At The Races`,`A Day Without Rain`,`A Fever You Can't Sweat Out`,`A Gangsta's Pain`,`A Gift & A Curse`,`A Hard Day's Night`,`A Head Full Of Dreams`,`A Kind Of Magic`,`A Million Ways To Murder`,`A Moment Apart`,`A Song For Every Moon`,`A Thousand Suns`,`A Winter Romance`,`ABBA`,`AI YoungBoy`,`AJ Tracey`,`Act One`,`After Hours`,`Agent Provocateur`,`All About You`,`All I Know So Far: Setlist`,`All Or Nothing`,`All Out`,`All Over The Place`,`All Stand Together`,`All The Lost Souls`,`All The Things I Never Said`,`All Things Must Pass`,`Alleen`,`Alright, Still`,`Alta Suciedad`,`America`,`American Heartbreak`,`American Teen`,`And Justice For None`,`Animal Songs`,`Another Friday Night`,`Anything Goes`,`Ao Vivo Em São Paulo`,`Ao Vivo No Ibirapuera`,`Apricot Princess`,`Aqui E Agora (Ao Vivo)`,`Arcane League Of Legends`,`Ardipithecus`,`Aretha Now`,`Around The Fur`,`Arrival`,`Artist 2.0`,`As She Pleases`,`Ascend`,`Ashlyn`,`Astro Lounge`,`At Night, Alone.`,`At. Long. Last. ASAP`,`Atlas`,`Audioslave`,`Aura`,`Austin`,`Awake`,`Away From The Sun`,`Ayayay!`,`Baby On Baby`,`Back For Everything`,`Back From The Edge`,`Back In Black`,`Back To Black`,`Back To The Game`,`Bad`,`Bahía Ducati`,`Baila`,`Barbie The Album`,`Battleground`,`Bayou Country`,`Bcos U Will Never B Free`,`Be`,`Be Here Now`,`Beautiful Mind`,`Beautiful Thugger Girls`,`Beautiful Trauma`,`Beauty And The Beast`,`Beggars Banquet`,`Being Funny In A Foreign Language`,`Berlin Lebt`,`Berry Is On Top`,`Best White Noise For Baby Sleep - Loopable With No Fade`,`Big Baby DRAM`,`Bigger, Better, Faster, More!`,`Billy Talent II`,`Black Star Elephant`,`Blackout`,`Blank Face LP`,`Bleach`,`Blizzard Of Ozz`,`Blonde`,`Blood Sugar Sex Magik`,`Bloom`,`Blowin' Your Mind!`,`Blu Celeste`,`Blue`,`Blue Banisters`,`Blue Hawaii`,`Blue Neighbourhood`,`Bluebird Days`,`Bobby Tarantino`,`Bobby Tarantino II`,`Bon Iver`,`Born Pink`,`Born To Run`,`Brand New Eyes`,`Break The Cycle`,`Breakfast In America`,`Breakthrough`,`Brett Young`,`Bridge Over Troubled Water`,`Bright: The Album`,`Brol`,`Buds`,`Buena Vista Social Club`,`Built On Glass`,`Bury Me At Makeout Creek`,`Busyhead`,`By The Way`,`CB6`,`CNCO`,`California Sunrise`,`Californication`,`Call Me Irresponsible`,`Calm`,`Camino Palmero`,`Camp`,`Caracal`,`Carbon Fiber Hits`,`Carnival`,`Carry On`,`Cartel De Santa`,`Certified Lover Boy`,`Chaaama`,`Chama Meu Nome`,`Chapter 1: Snake Oil`,`Chapter 2: Swamp Savant`,`Chapter One`,`Charlie's Angels`,`Cherry Bomb`,`Chief`,`Chocolate Factory`,`Chosen`,`Chris Brown`,`Christina Aguilera`,`Chromatica`,`Church`,`City Of Evil`,`Clandestino`,`Clouds`,`Coco`,`Collision Course`,`Colour Vision`,`Combat Rock`,`Come Around Sundown`,`Come Away With Me`,`Come Home The Kids Miss You`,`Come What(ever) May`,`Commando`,`Common Sense`,`Communion`,`Conditions`,`Confident`,`Confrontation`,`Control The Streets, Volume 2`,`Corinne Bailey Rae`,`Costello Music`,`Cottonwood`,`Covers, Vol. 2`,`Cozy Tapes Vol. 2: Too Cozy`,`Crash Talk`,`Crazy Love`,`Crazysexycool`,`Crowded House`,`Cruisin' With Junior H`,`Culture`,`Current Mood`,`DS2`,`Dale`,`Danger Days: The True Lives Of The Fabulous Killjoys`,`Dangerous Woman`,`Dangerous: The Double Album`,`Dark Horse`,`Day69`,`Daydream`,`De Fiesta`,`De Viaje`,`DeAnn`,`Death Race For Love`,`Delirium`,`Delta`,`Demidevil`,`Depression Cherry`,`Descendants`,`Desgenerados Mixtape`,`Destin`,`Destiny Fulfilled`,`Desvelado`,`Detroit 2`,`Dex Meets Dexter`,`Dharma`,`Die A Legend`,`Different World`,`Dig Your Roots`,`Digital Druglord`,`Dirt`,`Disclaimer I / II`,`Discovery`,`Disraeli Gears`,`Disumano`,`Dizzy Up The Girl`,`Don't Play That Song`,`Donda`,`Donde Quiero Estar`,`Doo-Wops & Hooligans`,`Down The Way`,`Dr. Feelgood`,`Dream Your Life Away`,`Dreaming Out Loud`,`Drip Harder`,`Drive`,`Drones`,`Dropped Outta College`,`Drowning`,`Dua Warna Cinta`,`Dulce Beat`,`Dusty In Memphis`,`Dutty Rock`,`Dying To Live`,`ENR`,`East Atlanta Love Letter`,`Editorial`,`Edna`,`El Abayarde`,`El Amor En Los Tiempos Del Perreo`,`El Camino`,`El Comienzo`,`El Dorado`,`El Karma`,`El Mal Querer`,`El Malo`,`El Trabajo Es La Suerte`,`El Viaje De Copperpot`,`Electric Ladyland`,`Emotion`,`En Tus Planes`,`Endless Summer Vacation`,`Enter The Wu-Tang (36 Chambers)`,`Equals (=)`,`Estrella`,`Euphoria`,`Europop`,`Evermore`,`Every Kingdom`,`Everyday Life`,`Evolve`,`Expectations`,`Face Yourself`,`Facelift`,`Fallin'`,`Fancy You`,`Fantasía`,`Favourite Worst Nightmare`,`Fear Of The Dark`,`Fearless`,`Feel Something`,`Feels Like Home`,`Femme Fatale`,`Ferxxocalipsis`,`Fifty Shades Darker`,`Fifty Shades Freed`,`Fifty Shades Of Grey`,`Final (Vol.1)`,`Finding Beauty In Negative Spaces`,`Fine Line`,`First Impressions Of Earth`,`First Steps`,`Five Seconds Flat`,`Folklore`,`For Emma, Forever Ago`,`Forajido EP 1`,`Forever`,`Forever Young`,`Formula Of Love: O+T=<3`,`Free 6lack`,`Freudian`,`Frozen II`,`Full Moon Fever`,`Funhouse`,`Funk Wav Bounces Vol.1`,`Future History`,`FutureSex/LoveSounds`,`Fuzzybrain`,`Gallery`,`Gangsta's Paradise`,`Gemini`,`Gemini Rights`,`Generationwhy`,`Get A Grip`,`Get Up`,`Gettin' Old`,`Girl`,`Gladiator`,`Glisten`,`Globalization`,`Gloria`,`Glory Days`,`God's Project`,`Gold Skies`,`Golden`,`Good Evening`,`Good Thing`,`Goodbye Yellow Brick Road`,`Gossip Columns`,`Got Your Six`,`Graceland`,`Graduation`,`Grand Champ`,`Grandson, Vol. 1`,`Green River`,`Guerra`,`Ha*Ash Primera Fila - Hecho Realidad`,`Haiz`,`Hamilton`,`Happy Endings`,`Harry Styles`,`Hasta La Raíz`,`Hatful Of Hollow`,`Head In The Clouds`,`Heard It In A Past Life`,`Heart Shaped World`,`Heartbeat City`,`Heartbreak On A Full Moon / Cuffing Season - 12 Days Of Christmas`,`Heaven Or Hell`,`Heaven knows`,`Hellbilly Deluxe`,`Hellboy`,`Help!`,`Her Loss`,`Here Comes The Cowboy`,`Hey World`,`High School Musical`,`High Tide In The Snake's Nest`,`Historias De Un Capricornio`,`Hndrxx`,`Hombres G (Devuélveme A Mi Chica)`,`Homerun`,`Homework`,`Hot Fuss`,`Hot Pink`,`Hot Sauce / Hello Future`,`Hot Space`,`Hotel Diablo`,`Houses Of The Holy`,`How Big, How Blue, How Beautiful`,`How I'm Feeling`,`How To Be Human`,`How To Save A Life`,`How To: Friend, Love, Freefall`,`Hozier`,`Human`,`Huncho Jack, Jack Huncho`,`Hunter Hayes`,`Hysteria`,`I Am...Sasha Fierce`,`I Can't Handle Change`,`I Met You When I Was 18. (The Playlist)`,`I Never Liked You`,`I Never Loved A Man The Way I Love You`,`I See You`,`I Think You Think Too Much Of Me`,`I Used To Know Her`,`I Used To Think I Could Fly`,`I'm Comin' Over`,`Ich & Keine Maske`,`If You Can Believe Your Eyes & Ears`,`Il Ballo Della Vita`,`Ill Communication`,`Imagination & The Misfit Kid`,`Imagine`,`Immortalized`,`In A Perfect World...`,`In Colour`,`In My Own Words`,`In Rainbows`,`In Return`,`In The Lonely Hour`,`Infest`,`Innuendo`,`Inter Shibuya - La Mafia`,`Interstellar`,`Is This It`,`It Was Written`,`It's Not Me, It's You`,`It's Only Me`,`Ivory`,`JackBoys`,`Jamie`,`Jazz`,`Jibrail & Iblis`,`Jordi`,`Jordin Sparks`,`Jose`,`Just As I Am`,`Just Cause Y'all Waited 2`,`Just Like You`,`Justified`,`K-12 / After School`,`K.I.D.S.`,`K.O.`,`K.O.B. Live`,`KG0516`,`KOD`,`Kane Brown`,`Kid A`,`Kid Krow`,`Kids See Ghosts`,`Kids in Love`,`Kinks (You Really Got Me)`,`Know-It-All`,`Konvicted`,`Kring`,`LANY`,`LM5`,`La Criatura`,`La Flaca`,`La Melodia De La Calle`,`La Revolucion`,`Lady Lady`,`Lady Wood`,`Langit Mong Bughaw`,`Las Que No Iban A Salir`,`Last Day Of Summer`,`Last Year Was Complicated`,`Layers`,`Layover`,`Lazarus`,`Led Zeppelin`,`Left Of The Middle`,`Leftoverture`,`Legends Never Die`,`Let's Skip To The Wedding`,`Let's Talk About Love`,`Licensed To Ill`,`Life In Cartoon Motion`,`Life Thru A Lens`,`Lifelines`,`Like..?`,`Lil Big Pac`,`Lil Boat`,`Lil Boat 2`,`Lil Boat 3.5`,`Lil Kiwi`,`Lil Pump`,`Limon Y Sal`,`Listen Without Prejudice`,`Little Voice`,`Live On Red Barn Radio I & II`,`Lo Que Andábamos Buscando`,`Lofi Fruits Music 2021`,`London Calling`,`Los Campeones Del Pueblo`,`Los Extraterrestres`,`Los Favoritos 2`,`Lost`,`Lost In Love`,`Loud`,`Love Sick`,`Love Story`,`Love Stuff`,`Love Yourself: Tear`,`Lover`,`Luca Brasi 2: Gangsta Grillz`,`Lust For Life`,`Luv Is Rage`,`M!ssundaztood`,`Ma Fleur`,`Made In Lagos`,`Mafia Bidness`,`Magazines Or Novels`,`Mainstream Sellout`,`Majestic`,`Make It Big`,`Make Yourself`,`Making Mirrors`,`Mamma Mia! Here We Go Again`,`Man Of The Woods`,`Manic`,`Me And My Gang`,`Meduza`,`Meet The Orphans`,`Meet The Woo`,`Melim`,`Mellon Collie And The Infinite Sadness`,`Melly vs. Melvin`,`Memories...Do Not Open`,`Menagerie`,`Midnights`,`Minecraft - Volume Alpha`,`Minutes To Midnight`,`Mix Pa Llorar En Tu Cuarto`,`Modo Avión`,`Monkey Business`,`Mono.`,`Montana`,`Montevallo`,`Moosetape`,`Morning View`,`Motivan2`,`Moving Pictures`,`Mr. Davis`,`Mr. Misunderstood`,`Mulan`,`Mura Masa`,`Music From The Edge Of Heaven`,`Music Of The Sun`,`My House`,`My Kinda Party`,`My Krazy Life`,`My Liver Will Handle What My Heart Can't`,`My Moment`,`My Own Lane`,`My Turn`,`My Worlds`,`Na Praia (Ao Vivo)`,`Nakamura`,`Nation Of Two`,`Navegando`,`Need You Now`,`Neon Future III`,`Neotheater`,`Never Trust A Happy Song`,`New English`,`News Of The World`,`Nicole`,`Night & Day`,`Nimmerland`,`Nimrod`,`Nine Track Mind`,`No Angel`,`No Me Pidas Perdón`,`No More Drama`,`No Protection`,`No Strings Attached`,`No Time To Die`,`Nobody Is Listening`,`Non Stop Erotic Cabaret`,`Non-Fiction`,`Northsbest`,`Nostalgia`,`Nostalgia, Ultra`,`Notes On A Conditional Form`,`Now Or Never`,`O Embaixador (Ao Vivo)`,`O My Heart`,`OK Computer`,`Ocean`,`Ocean Avenue`,`Ocean Eyes`,`Odisea`,`Oh My My`,`Oh, What A Life`,`On The 6`,`One In A Million`,`One More Light`,`One Of These Nights`,`Open Up And Say...Ahh!`,`Ordinary Man`,`Origins`,`Out Of The Blue`,`Over It`,`OzuTochi`,`PTSD`,`Pa Las Baby's Y Belikeada`,`Pa Que Hablen`,`Pa' Luego Es Tarde`,`Pa' Otro La 'O`,`Pablo Honey`,`Pain Is Love`,`Pain Is Temporary`,`Painting Pictures`,`Palmen Aus Plastik 2`,`Para Mi Ex`,`Para Siempre`,`Partners In Crime`,`Pawn Shop`,`Pegasus / Neon Shark VS Pegasus`,`Pet Sounds`,`Piece By Piece`,`Pier Pressure`,`Pineapple Sunrise`,`Piseiro 2020 Ao Vivo`,`Planet Pit`,`Plans`,`Play Deep`,`Playa Saturno`,`Por Primera Vez`,`Por Vida`,`Positions`,`Post Human: Survival Horror`,`Poster Girl`,`Prazer, Eu Sou Ferrugem (Ao Vivo)`,`Pretty Girls Like Trap Music`,`Pretty. Odd.`,`Prince Royce`,`Prisma`,`Prometo`,`Providence`,`Puberty 2`,`Punisher`,`Purgatory`,`Purple Rain`,`Que Bendición`,`Queen Of The Clouds`,`Quiero Volver`,`R&G (Rhythm & Gangsta): The Masterpiece`,`Raise!`,`Ransom 2`,`Rapunzel`,`Rare`,`Re Mida`,`Ready To Die`,`Realer`,`Rebelde`,`Reclassified`,`Recovery`,`Recuerden Mi Estilo`,`Reggatta De Blanc`,`Regulate… G Funk Era`,`Reik`,`Reise, Reise`,`Relapse`,`Relaxing Piano Lullabies And Natural Sleep Aid For Baby Sleep Music`,`Religiously. The Album.`,`Replay`,`Results May Vary`,`Revenge`,`Revolve`,`Revolver`,`Ricky Martin`,`Rien 100 Rien`,`Ripcord`,`Rise And Fall, Rage And Grace`,`Rise Of An Empire`,`Robin Hood: Prince Of Thieves`,`Rock N Roll Jesus`,`Romance`,`Romances`,`Ronan`,`Royal Blood`,`Rumours`,`Sad Boyz 4 Life II`,`San Lucas`,`Santana World`,`Saturation III`,`Sauce Boyz`,`Savage Mode`,`Saxobeats`,`Scarlet`,`Schwarzes Herz`,`Seal The Deal & Let's Boogie`,`Section.80`,`Segundo Romance`,`Sehnsucht`,`Shake The Snow Globe`,`Shang-Chi And The Legend Of The Ten Rings: The Album`,`Sheer Heart Attack`,`Shiesty Season`,`Shock Value`,`Shoot For The Stars, Aim For The Moon`,`Signed Sealed And Delivered`,`Signos`,`Silent Alarm`,`Simplemente Gracias`,`Sin Bandera`,`Sing Me A Lullaby, My Sweet Temptation`,`Sinner`,`Sirio`,`Sit Still, Look Pretty`,`Skin`,`Slowhand`,`Smash`,`Smithereens`,`Snow Cougar`,`Social Cues`,`Some Girls`,`Song Hits From Holiday Inn`,`Songs For Dads`,`Songs For The Deaf`,`Songs For You, Truths For Me`,`Songs In The Key Of Life`,`Souled Out`,`Sounds Of Silence`,`Soy Como Quiero Ser`,`Speak Now`,`Speak Your Mind`,`Speakerboxxx/The Love Below`,`Spider-Man: Into The Spider-Verse`,`Split Decision`,`Square Up`,`SremmLife`,`Starboy`,`Stay +`,`Stay Dangerous`,`Staying At Tamara's`,`Steppenwolf`,`Stick Season`,`Still Bill`,`Straight Outta Compton`,`Strange Trails`,`Stronger`,`Suavemente`,`Sublime`,`Suck It and See`,`Sucker`,`Sueños`,`Sugar`,`Summer Forever`,`Summer,`,`Sunset Season`,`Sunshine On Leith`,`Surfer Rosa`,`Sweet Talker`,`SweetSexySavage`,`System Of A Down`,`TA13OO`,`Talk That Talk`,`Talking Heads: 77`,`Tangled Up`,`Tango In The Night`,`Taxi Driver`,`Taylor Swift`,`Tell Me It's Real`,`Ten`,`Ten Summoner's Tales`,`Terra Sem Cep (Ao Vivo)`,`Terral`,`Testing`,`Tha Carter III`,`Thank Me Later`,`That's Christmas To Me`,`The Academy`,`The Adventures Of Bobby Ray`,`The Album`,`The Andy Williams Christmas Album`,`The Aviary`,`The Balcony`,`The Battle Of Los Angeles`,`The Beatles (White Album)`,`The Beginning`,`The Better Life`,`The Big Day`,`The Book`,`The Breakfast Club`,`The Cars`,`The Colour And The Shape`,`The Death Of Peace Of Mind`,`The Diary Of Alicia Keys`,`The Documentary`,`The Emancipation Of Mimi`,`The Eminem Show`,`The End Of Everything`,`The Final Countdown`,`The Forever Story`,`The Foundation`,`The Goat`,`The Golden Child`,`The Good Parts`,`The Greatest Showman: Reimagined`,`The Green Trip`,`The Hardest Love`,`The Head And The Heart`,`The Human Condition`,`The Infamous`,`The Lady Killer`,`The Last Don II`,`The Lion King`,`The Lockdown Sessions`,`The London Sessions`,`The Lord Of The Rings: The Fellowship Of The Ring`,`The Lost Boy`,`The Magic Of Christmas / The Christmas Song`,`The Marshall Mathers LP`,`The Martin Garrix Collection`,`The Melodic Blue`,`The Mockingbird & The Crow`,`The Pains Of Growing`,`The Papercut Chronicles`,`The Perfect Luv Tape`,`The Pinkprint`,`The Predator`,`The Queen Is Dead`,`The ReVe Festival: Finale`,`The Rise And Fall Of Ziggy Stardust And The Spiders From Mars`,`The Rising Tied`,`The River`,`The Stone Roses`,`The Story Of Us`,`The Stranger`,`The Sufferer & The Witness`,`The Sun's Tirade`,`The Temptations Sing Smokey`,`The Time Of Our Lives`,`The Way It Is`,`The Wonderful World Of Sam Cooke`,`The Writing's On The Wall`,`The Young And The Hopeless`,`Therapy`,`Therapy Session`,`There Is More (Live)`,`There Is Nothing Left To Lose`,`These Things Happen`,`Third Eye Blind`,`This Is Me...Then`,`This Unruly Mess I've Made`,`Threat to Survival`,`Thrill Of The Chase`,`Time`,`Timelezz`,`To Let A Good Thing Die`,`To Pimp A Butterfly`,`Toast To Our Differences`,`Todos Os Cantos, Vol. 1 (Ao Vivo)`,`Too Hard`,`Torches X`,`Total Xanarchy`,`Toto IV`,`Toulouse Street`,`Tourist History`,`Toxicity`,`Tragic Kingdom`,`Tranquility Base Hotel & Casino`,`Traumazine`,`Traveler`,`Tres Hombres`,`Trip At Knight`,`Tron: Legacy`,`True Blue`,`True Colors`,`Trustfall`,`Tu Veneno Mortal`,`Tudo Em Paz`,`Ubuntu`,`Ugly Is Beautiful`,`Ultra 2021`,`Una Mattina`,`Unbroken`,`Uncovered`,`Under Pressure`,`Unsponsored Content`,`Unstoppable`,`Unwritten`,`Urban Flora`,`Urban Hymns`,`Use Your Illusion I`,`Veneer`,`Versions Of Me`,`Vibes`,`Vice Versa`,`Vices & Virtues`,`Victory`,`Vida`,`Viejo Marihuano`,`Visualízate`,`Walk Away`,`Walk Me Home...`,`Watch The Throne`,`Wave`,`We Broke The Rules`,`We Love You Tecca`,`We Love You Tecca 2`,`Weezer (Green Album)`,`Welcome To The Madhouse`,`Westlife`,`What A Time To Be Alive`,`What Do You Think About The Car?`,`What Is Love?`,`What Makes You Country`,`What Separates Me From You`,`What You See Is What You Get / What You See Ain't Always What You Get`,`When It's Dark Out`,`When We All Fall Asleep, Where Do We Go?`,`Where The Light Is`,`While The World Was Burning`,`White Pony`,`Whitney`,`Who Really Cares`,`Who You Are`,`Who's Next`,`Wide Open`,`Wilder Mind`,`Wildfire`,`Willy And The Poor Boys`,`Wings / You Never Walk Alone`,`Wish`,`Wish You Were Here`,`Without Warning`,`Wonder`,`X&Y`,`XOXO`,`Y Que Quede Claro`,`YBN: The Mixtape`,`Yo Creo`,`You Will Regret`,`Youngblood`,`Younger Now`,`Youth`],artist:[`$NOT`,`$uicideboy$`,`(G)I-DLE`,`*NSYNC`,`2 Chainz`,`21 Savage`,`6LACK`,`? & The Mysterians`,`A Boogie Wit da Hoodie`,`A Taste of Honey`,`A Tribe Called Quest`,`A-Ha`,`ABBA`,`AC/DC`,`AJ Tracey`,`ATEEZ`,`Ace of Base`,`Adele`,`Ado`,`Aerosmith`,`Agust D`,`Aitana`,`Al Dexter & his Troopers`,`Al Green`,`Al Jolson`,`Al Martino`,`Alan Jackson`,`Alannah Myles`,`Alec Benjamin`,`Alejandro Sanz`,`Alesso`,`Alfredo Olivas`,`Ali Gatie`,`Alice In Chains`,`Alina Baraz`,`All Time Low`,`All-4-One`,`All-American Rejects`,`Alok`,`America`,`American Quartet`,`Amii Stewart`,`Amitabh Bhattacharya`,`Ana Castela`,`Anderson .Paak`,`Andy Grammer`,`Angus & Julia Stone`,`Anirudh Ravichander`,`Anita Ward`,`Anitta`,`Anton Karas`,`Anuel AA`,`Arcade Fire`,`Archie Bell & The Drells`,`Archies`,`Aretha Franklin`,`Arizona Zervas`,`Armin van Buuren`,`Arthur Conley`,`Artie Shaw`,`Asake`,`Asees Kaur`,`Association`,`Atif Aslam`,`Audioslave`,`Aventura`,`Avril Lavigne`,`Aya Nakamura`,`B J Thomas`,`B.o.B`,`BLACKPINK`,`BONES`,`BROCKHAMPTON`,`BTS`,`Baby Keem`,`Bachman-Turner Overdrive`,`Backstreet Boys`,`Bad Bunny`,`Badshah`,`Bailey Zimmerman`,`Banda El Recodo`,`Barbra Streisand`,`Barry White`,`Bazzi`,`Bebe Rexha`,`Becky G`,`Becky Hill`,`Bee Gees`,`Ben Bernie`,`Ben Howard`,`Ben Selvin`,`Berlin`,`Bessie Smith`,`Bethel Music`,`Bette Midler`,`Beyonce`,`Bibi Blocksberg`,`Bibi und Tina`,`BigXthaPlug`,`Bill Doggett`,`Bill Haley & his Comets`,`Bill Withers`,`Billy Davis Jr`,`Billy Joel`,`Billy Paul`,`Billy Preston`,`Billy Swan`,`Birdy`,`Bizarrap`,`Blake Shelton`,`Blur`,`Bob Marley & The Wailers`,`Bob Seger`,`Bobby Darin`,`Bobby Lewis`,`Bobby McFerrin`,`Bobby Vinton`,`Boney M.`,`Bonez MC`,`Bonnie Tyler`,`Booba`,`Boston`,`BoyWithUke`,`Boyce Avenue`,`Bradley Cooper`,`Bread`,`Brent Faiyaz`,`Brett Young`,`Bring Me The Horizon`,`Britney Spears`,`Brooks & Dunn`,`Bruce Channel`,`Bruno & Marrone`,`Bryan Adams`,`Bryce Vine`,`Buddy Holly`,`Burna Boy`,`C. Tangana`,`CKay`,`CRO`,`Camilo`,`Capital Bra`,`Captain & Tennille`,`Cardi B`,`Carin Leon`,`Carlos Vives`,`Carly Simon`,`Carpenters`,`Cavetown`,`Celine Dion`,`Central Cee`,`Chaka Khan`,`Champs`,`Charlie Rich`,`Chayanne`,`Cheat Codes`,`Cher`,`Chic`,`Chicago`,`Chris Brown`,`Chris Isaak`,`Chris Young`,`Christina Aguilera`,`Christina Perri`,`Christopher Cross`,`Chuck Berry`,`Ciara`,`Cigarettes After Sex`,`Cliff Edwards (Ukelele Ike)`,`Cody Johnson`,`Colbie Caillat`,`Colby O'Donis`,`Cole Swindell`,`Coleman Hawkins`,`Contours`,`Coolio`,`Count Basie`,`Cris Mj`,`Culture Club`,`Cyndi Lauper`,`D-Block Europe`,`DAY6`,`DJ Khaled`,`DJ Luian`,`DJ Nelson`,`DMX`,`DNCE`,`DaVido`,`Dadju`,`Daft Punk`,`Dan + Shay`,`Daniel Powter`,`Danny Ocean`,`Darius Rucker`,`Dave`,`David Bowie`,`David Guetta`,`Daya`,`Dean Martin`,`Deee-Lite`,`Deep Purple`,`Deftones`,`Demi Lovato`,`Dennis Lloyd`,`Denzel Curry`,`Dermot Kennedy`,`Desiigner`,`Devo`,`Dewa 19`,`Dexys Midnight Runners`,`Diddy`,`Dido`,`Die drei !!!`,`Diego & Victor Hugo`,`Diljit Dosanjh`,`Dimitri Vegas & Like Mike`,`Dinah Shore`,`Dionne Warwick`,`Dire Straits`,`Disclosure`,`Dixie Cups`,`Doja Cat`,`Dolly Parton`,`Don Diablo`,`Don Henley`,`Don McLean`,`Don Omar`,`Donna Summer`,`Donovan`,`Dr. Dre`,`Drake`,`Dreamville`,`Dua Lipa`,`EMF`,`ENHYPEN`,`Earth, Wind & Fire`,`Ed Sheeran`,`Eddie Cantor`,`Eddie Cochran`,`Eddy Howard`,`Edgar Winter Group`,`Edwin Hawkins Singers`,`Edwin Starr`,`El Alfa`,`Eladio Carrion`,`Electric Light Orchestra`,`Elevation Worship`,`Ella Henderson`,`Ellie Goulding`,`Elton John`,`Elvis Presley`,`Empire of the Sun`,`En Vogue`,`Enrique Iglesias`,`Eslabon Armado`,`Ethel Waters`,`Etta James`,`Evanescence`,`Exile`,`Extreme`,`Faith Hill`,`Fall Out Boy`,`Fanny Brice`,`Farruko`,`Fats Domino`,`Fats Waller`,`Feid`,`Felix Jaehn`,`Fergie`,`Fetty Wap`,`Fiersa Besari`,`Fifth Harmony`,`Fine Young Cannibals`,`Five Finger Death Punch`,`Fleetwood Mac`,`Flo-Rida`,`Florence + The Machine`,`Flume`,`Foo Fighters`,`Foreigner`,`Foster The People`,`Four Aces`,`Frank Ocean`,`Frank Sinatra`,`Frankie Avalon`,`Frankie Valli`,`Fred Astaire`,`Freda Payne`,`Freddie Dredd`,`Freddy Fender`,`French Montana`,`Fuerza Regida`,`Fujii Kaze`,`Future`,`G-Eazy`,`Garfunkel and Oates`,`Gary Lewis & The Playboys`,`Gary Numan`,`Gene Autry`,`Gene Chandler`,`Gene Vincent`,`George Michael`,`George Strait`,`Gera MX`,`Ghost`,`Ghostemane`,`Gigi D'Agostino`,`Gladys Knight & The Pips`,`Glass Animals`,`Glee Cast`,`Gloria Gaynor`,`Godsmack`,`Gorillaz`,`Gotye`,`Grand Funk Railroad`,`Green Day`,`Grouplove`,`Grupo Firme`,`Grupo Marca Registrada`,`Gryffin`,`Gucci Mane`,`Guess Who`,`Gunna`,`Gusttavo Lima`,`Guy Mitchell`,`Gwen Stefani`,`Gzuz`,`H.E.R.`,`HARDY`,`Hailee Steinfeld`,`Halsey`,`Hans Zimmer`,`Harris Jayaraj`,`Harry Chapin`,`Harry James`,`Harry Nilsson`,`Harry Styles`,`Hayley Williams`,`Herb Alpert`,`Herman's Hermits`,`Hillsong UNITED`,`Hillsong Worship`,`Hollywood Undead`,`Honey Cone`,`Hoobastank`,`Hues Corporation`,`I Prevail`,`ITZY`,`IVE`,`Ice Cube`,`Ice Spice`,`Iggy Azalea`,`Imagine Dragons`,`Incubus`,`Internet Money`,`Isaac Hayes`,`J Geils Band`,`J. Cole`,`JAY-Z`,`JJ Lin`,`JP Saxe`,`JVKE`,`Jack Harlow`,`Jack Johnson`,`Jackie Wilson`,`Jacquees`,`James Arthur`,`James Brown`,`James TW`,`James Taylor`,`Jamie Foxx`,`Janet Jackson`,`Janis Joplin`,`Jason Aldean`,`Jason Mraz`,`Jay Chou`,`Jay Sean`,`Jay Wheeler`,`Jaymes Young`,`Jean Knight`,`Jeezy`,`Jennifer Lopez`,`Jennifer Warnes`,`Jeremih`,`Jeremy Zucker`,`Jerry Lee Lewis`,`Jerry Murad's Harmonicats`,`Jess Glynne`,`Jessie J`,`Jewel`,`Jimi Hendrix`,`Jimin`,`Jimmie Rodgers`,`Jimmy Dean`,`Jo Stafford`,`Joan Jett & The Blackhearts`,`Joao Gilberto`,`Joel Corry`,`John Fred & The Playboy Band`,`John Legend`,`John Mayer`,`John Williams`,`Johnnie Ray`,`Johnnie Taylor`,`Johnny Cash`,`Johnny Horton`,`Johnny Mathis`,`Johnny Mercer`,`Johnny Nash`,`Joji`,`Jon Bellion`,`Jonas Blue`,`Jonas Brothers`,`Joni James`,`Jorja Smith`,`Juan Gabriel`,`Juan Luis Guerra 4.40`,`Juanes`,`Juice Newton`,`Julia Michaels`,`Justin Bieber`,`Justin Quiles`,`KALEO`,`KAROL G`,`KAYTRANADA`,`KK`,`KSI`,`KYLE`,`Kacey Musgraves`,`Kane Brown`,`Kanye West`,`Karan Aujla`,`Kate Smith`,`Katy Perry`,`Kay Kyser`,`Ke$ha`,`Kehlani`,`Kelly Clarkson`,`Kenny Chesney`,`Kenny Loggins`,`Kenny Rogers`,`Kenshi Yonezu`,`Kenya Grace`,`Kevin Gates`,`Key Glock`,`Khalid`,`Kim Carnes`,`Kim Petras`,`Kimbra`,`Kina`,`King Gnu`,`Kings of Leon`,`Kingsmen`,`Kitty Kallen`,`Kodak Black`,`Kodaline`,`Kollegah`,`Kool & The Gang`,`Kungs`,`Kygo`,`Kylie Minogue`,`LE SSERAFIM`,`LISA`,`LMFAO`,`LUDMILLA`,`La Adictiva Banda San José de Mesillas`,`La Oreja de Van Gogh`,`Labrinth`,`Lady Antebellum`,`Lady GaGa`,`Lainey Wilson`,`Lana Del Rey`,`Latto`,`Lauryn Hill`,`Lauv`,`League of Legends`,`Lee Brice`,`Leon Bridges`,`Leona Lewis`,`Lesley Gore`,`Leslie Odom Jr.`,`Liam Payne`,`Lifehouse`,`Lil Baby`,`Lil Dicky`,`Lil Durk`,`Lil Mosey`,`Lil Nas X`,`Lil Pump`,`Lil Skies`,`Lil Tjay`,`Lil Uzi Vert`,`Lil Yachty`,`Lil' Kim`,`Lil' Wayne`,`Lin-Manuel Miranda`,`Linkin Park`,`Lionel Richie`,`Lipps Inc`,`Lisa Loeb`,`Little Peggy March`,`Little Richard`,`Lofi Fruits Music`,`Lord Huron`,`Los Del Rio`,`Los Dos Carnales`,`Los Lobos`,`Los Temerarios`,`Los Tigres Del Norte`,`Los Tucanes De Tijuana`,`Lou Reed`,`Loud Luxury`,`Louis Jordan`,`Louis Tomlinson`,`Love Unlimited`,`Lovin' Spoonful`,`Luan Santana`,`Luciano`,`Luis Miguel`,`Luis R Conriquez`,`Lulu`,`Lunay`,`Lupe Fiasco`,`M`,`MAX`,`MC Hammer`,`MC Ryan SP`,`MKTO`,`Mabel`,`Machine Gun Kelly`,`Madison Beer`,`Madonna`,`Mahalini`,`Major Lazer`,`Mambo Kingz`,`Maneskin`,`Marco Antonio Solís`,`Margaret Whiting`,`Maria Becerra`,`Mario`,`Mario Lanza`,`Mark Ronson`,`Maroon 5`,`Marshmello`,`Martin Garrix`,`Mary Ford`,`Mary J Blige`,`Mary J. Blige`,`Mary Wells`,`Matoma`,`Mau y Ricky`,`Meek Mill`,`Megadeth`,`Melanie`,`Melanie Martinez`,`Melendi`,`Men At Work`,`Metro Boomin`,`Michael Bublé`,`Michael Jackson`,`Michael McDonald`,`Michael Sembello`,`Miguel`,`Mike Posner`,`Miley Cyrus`,`Milky Chance`,`Minnie Riperton`,`Miracle Tones`,`Miranda Lambert`,`Mohit Chauhan`,`Mon Laferte`,`Moneybagg Yo`,`Monsta X`,`Mora`,`Morad`,`Morat`,`Mother Mother`,`Motley Crue`,`Ms. Lauryn Hill`,`Mumford & Sons`,`Muse`,`Mya`,`Myke Towers`,`NCT 127`,`NCT DREAM`,`NEFFEX`,`Nadin Amizah`,`Nancy Sinatra`,`Nat King Cole`,`Nate Smith`,`Natti Natasha`,`Nayer`,`Neil Diamond`,`Neil Sedaka`,`Nekfeu`,`Nelly`,`New Vaudeville Band`,`Next`,`Nickelback`,`Nicki Minaj`,`Nicki Nicole`,`Nicky Jam`,`Nina Simone`,`Ninho`,`Nipsey Hussle`,`Nirvana`,`Niska`,`No Doubt`,`Norah Jones`,`Normani`,`OMI`,`ONE OK ROCK`,`Oasis`,`Official HIGE DANdism`,`Offset`,`Old Dominion`,`Oliver Heldens`,`Olivia Rodrigo`,`Omah Lay`,`One Direction`,`Otis Redding`,`OutKast`,`Owl City`,`P Diddy`,`P!nk`,`PLK`,`PNL`,`Pamungkas`,`Passenger`,`Pat Boone`,`Patsy Cline`,`Patti LaBelle`,`Patti Page`,`Paul & Paula`,`Paul Revere & the Raiders`,`Paul Robeson`,`Paul Russell`,`Paul Whiteman`,`Paula Abdul`,`Peaches & Herb`,`Pearl Jam`,`Pee Wee Hunt`,`Pee Wee King`,`Pentatonix`,`Percy Faith`,`Percy Sledge`,`Peso Pluma`,`Peter Cetera`,`Peter Gabriel`,`Peter, Paul & Mary`,`Pharrell Williams`,`Pierce The Veil`,`Pineapple StormTv`,`Pink Floyd`,`Pink Sweat$`,`Piso 21`,`Pitbull`,`Plan B`,`Player`,`Polo G`,`Pop Smoke`,`Portugal. The Man`,`Pouya`,`Prince`,`Prince Royce`,`Pusha T`,`Quality Control`,`Queen`,`Quinn XCII`,`R. Kelly`,`RAF Camora`,`RAYE`,`REM`,`REO Speedwagon`,`Radiohead`,`Rag'n'Bone Man`,`Rage Against The Machine`,`Rahat Fateh Ali Khan`,`Rainbow Kitten Surprise`,`Rammstein`,`Rauw Alejandro`,`Ray Charles`,`Ray Parker Jr`,`Ray Stevens`,`Red Foley`,`Red Hot Chili Peppers`,`Red Velvet`,`Regard`,`Regina Belle`,`Reik`,`Rels B`,`Rema`,`Ricardo Arjona`,`Rich The Kid`,`Rick Astley`,`Rick Dees & his Cast of Idiots`,`Rick Ross`,`Rick Springfield`,`Ricky Martin`,`Ricky Nelson`,`Rihanna`,`Rita Ora`,`Ritchie Valens`,`Rizky Febian`,`Rob Thomas`,`Roberta Flack`,`Robin Schulz`,`Robin Thicke`,`Rod Stewart`,`Rod Wave`,`Roddy Ricch`,`Roger Miller`,`Romeo Santos`,`Rosemary Clooney`,`Roxette`,`Roy Acuff`,`Roy Orbison`,`Rudimental`,`Ruel`,`Ruth B.`,`Ryan Lewis`,`SCH`,`SEVENTEEN`,`SWV`,`Sabaton`,`Sabrina Carpenter`,`Sachet Tandon`,`Sachin-Jigar`,`Sade`,`Sam Cooke`,`Sam Feldt`,`Sam Hunt`,`Sam Smith`,`Sam The Sham & The Pharaohs`,`Sammy Davis Jr`,`Sammy Kaye`,`Santana`,`Sasha Alex Sloan`,`Savage Garden`,`Saweetie`,`Scorpions`,`Sean Kingston`,`Sean Paul`,`Sebastian Yatra`,`Sech`,`Seeb`,`Sezen Aksu`,`Sfera Ebbasta`,`Shaggy`,`Shania Twain`,`Shawn Mendes`,`Sheena Easton`,`Shinedown`,`Shubh`,`Sia`,`Sid Sriram`,`Sidhu Moose Wala`,`Silk`,`Silver Convention`,`Simon & Garfunkel`,`Sinead O'Connor`,`Sir Mix-a-Lot`,`Sister Sledge`,`Ski Mask The Slump God`,`Skillet`,`Skrillex`,`Sleeping At Last`,`Smokey Robinson`,`Snoop Dogg`,`Snow Patrol`,`Soda Stereo`,`Sonu Nigam`,`Sophie Ellis-Bextor`,`Spencer Davis Group`,`Spice Girls`,`Stan Getz`,`Starland Vocal Band`,`Stephen Sanchez`,`Steve Aoki`,`Steve Lacy`,`Steve Winwood`,`Stevie B`,`Sting`,`Stormzy`,`Strawberry Alarm Clock`,`Stray Kids`,`Stromae`,`Sublime`,`Sum 41`,`Summer Walker`,`Supertramp`,`Survivor`,`Swedish House Mafia`,`System Of A Down`,`T-Pain`,`T.I.`,`TAEYEON`,`TKKG`,`TLC`,`TOMORROW X TOGETHER`,`TOTO`,`TWICE`,`Tag Team`,`Tainy`,`Tammi Terrell`,`Tanishk Bagchi`,`Tate McRae`,`Taylor Swift`,`Tears For Fears`,`Tems`,`Tennessee Ernie Ford`,`Terence Trent D'Arby`,`Teresa Brewer`,`Terry Jacks`,`The Ames Brothers`,`The Animals`,`The B52s`,`The Bangles`,`The Beatles`,`The Black Eyed Peas`,`The Black Keys`,`The Box Tops`,`The Chainsmokers`,`The Chiffons`,`The Chordettes`,`The Clash`,`The Coasters`,`The Commodores`,`The Cowsills`,`The Cranberries`,`The Crew-Cuts`,`The Cure`,`The Detroit Spinners`,`The Diamonds`,`The Doobie Brothers`,`The Doors`,`The Drifters`,`The Emotions`,`The Eurythmics`,`The Fireballs`,`The Flamingos`,`The Foundations`,`The Four Seasons`,`The Fray`,`The Game`,`The Go Gos`,`The Goo Goo Dolls`,`The Head And The Heart`,`The Hollies`,`The Ink Spots`,`The Isley Brothers`,`The Jackson 5`,`The Kid LAROI`,`The Killers`,`The Kingston Trio`,`The Kooks`,`The Lemon Pipers`,`The Living Tombstone`,`The Lumineers`,`The Mamas & The Papas`,`The Marvelettes`,`The McCoys`,`The Mills Brothers`,`The Miracles`,`The Monkees`,`The Moody Blues`,`The National`,`The Neighbourhood`,`The Notorious B.I.G.`,`The O'Jays`,`The Offspring`,`The Osmonds`,`The Partridge Family`,`The Penguins`,`The Pet Shop Boys`,`The Platters`,`The Righteous Brothers`,`The Rolling Stones`,`The Ronettes`,`The Score`,`The Script`,`The Seekers`,`The Shangri-Las`,`The Smashing Pumpkins`,`The Staple Singers`,`The Strokes`,`The Supremes`,`The Temptations`,`The Turtles`,`The Vamps`,`The Verve`,`The Village People`,`The Weavers`,`The White Stripes`,`The Young Rascals`,`The Zombies`,`Thelma Houston`,`Thomas Rhett`,`Three Days Grace`,`Three Dog Night`,`Three Man Down`,`Timbaland`,`Timmy Trumpet`,`Toby Keith`,`Tom Jones`,`Tom Petty and the Heartbreakers`,`Tommy Dorsey`,`Tommy Edwards`,`Tommy James & the Shondells`,`Tone Loc`,`Toni Braxton`,`Topic`,`Tory Lanez`,`Tove Lo`,`Trevor Daniel`,`Trey Songz`,`Trippie Redd`,`Trueno`,`Tulsi Kumar`,`Tulus`,`Twenty One Pilots`,`Two Feet`,`Ty Dolla $ign`,`Tyga`,`Tyler Hubbard`,`U2`,`UB40`,`UZI`,`Ufo361`,`Upchurch`,`V`,`Vampire Weekend`,`Van McCoy`,`Van Morrison`,`Vance Joy`,`Vanessa Carlton`,`Vanessa Williams`,`Vera Lynn`,`Vernon Dalhart`,`Vicente Fernandez`,`Vishal-Shekhar`,`Volbeat`,`WILLOW`,`Wale`,`Wallows`,`Weezer`,`Wham!`,`Whitney Houston`,`Why Don't We`,`Wilbert Harrison`,`Wilson Phillips`,`Wiz Khalifa`,`Woody Guthrie`,`Wyclef Jean`,`XXXTENTACION`,`Xavi`,`YG`,`YNW Melly`,`YOASOBI`,`Yandel`,`Years & Years`,`Yeat`,`Yo Gotti`,`Young Dolph`,`Young Miko`,`Young Thug`,`YoungBoy Never Broke Again`,`Yung Gravy`,`Yuuri`,`Yuvan Shankar Raja`,`ZAYN`,`ZZ Top`,`Zac Brown Band`,`Zach Bryan`,`Zara Larsson`,`aespa`,`benny blanco`,`blink-182`,`d4vd`,`deadmau5`,`girl in red`,`gnash`,`iann dior`,`will.i.am`],genre:`Acid House.Acid Jazz.Acid Rock.Acoustic.Acoustic Blues.Afro-Pop.Afrobeat.Alt-Rock.Alternative.Ambient.American Trad Rock.Americana.Anime.Arena Rock.Art-Rock.Avant-Garde.Avant-Punk.Baladas y Boleros.Barbershop.Baroque.Bebop.Big Band.Black Metal.Blue Note.Bluegrass.Blues.Boogaloo.Bop.Bossa Nova.Bounce.Brazilian Funk.Breakbeat.Britpop.CCM.Cajun.Cantopop.Celtic.Celtic Folk.Chamber Music.Chant.Chanukah.Chicago Blues.Chicago House.Chicano.Children’s Music.Chill.Choral.Christian.Christmas.Classical.Club.College Rock.Conjunto.Cool Jazz.Country.Crunk.Dance.Dancehall.Death Metal.Deep House.Delta Blues.Detroit Techno.Dirty South.Disco.Disney.Dixieland.Doo-wop.Downtempo.Dream Pop.Drill.Drinking Songs.Drone.Drum'n'bass.Dub.Dubstep.EDM.Early Music.East Coast Rap.Easter.Easy Listening.Eclectic.Electric Blues.Electro.Electronic.Electronica.Emo.Enka.Environmental.Ethio-jazz.Experimental.Experimental Rock.Flamenco.Folk.Folk-Rock.Forro.French Pop.Funk.Fusion.Gangsta Rap.Garage.German Folk.German Pop.Glam Rock.Gospel.Goth.Grime.Grindcore.Groove.Grunge.Hair Metal.Halloween.Happy.Hard Bop.Hard Dance.Hard Rock.Hardcore.Hardcore Punk.Hardcore Rap.Hardstyle.Healing.Heavy Metal.High Classical.Hip Hop.Holiday.Honky Tonk.House.IDM.Impressionist.Indie.Industrial.Instrumental.J-Dance.J-Idol.J-Pop.J-Punk.J-Rock.J-Ska.J-Synth.Jackin House.Jam Bands.Japanese Pop.Jazz.Jungle.K-Pop.Karaoke.Kayokyoku.Kids.Kitsch.Klezmer.Krautrock.Latin.Latin Jazz.Latin Rap.Local.Lounge.Lullabies.MPB.Mainstream Jazz.Malay.Mandopop.March.Mariachi.Mawwal.Medieval.Meditation.Metal.Metalcore.Minimal Techno.Minimalism.Modern.Motown.Mugham.Musicals.Musique Concrète.Nature.Neo-Soul.Nerdcore.New Acoustic.New Age.New Mex.New Wave.No Wave.Noise.Nordic.Novelty.OPM.Oi!.Old School Rap.Opera.Orchestral.Original Score.Outlaw Country.Pagode.Party.Piano.Polka.Pop.Pop Film.Pop Latino.Post Dubstep.Power Pop.Praise & Worship.Progressive House.Progressive Rock.Proto-punk.Psych Rock.Psychedelic.Punk.Punk Rock.Qawwali.Quiet Storm.R&B.Ragtime.Rainy Day.Rap.Reggae.Reggaeton.Regional Mexicano.Relaxation.Renaissance.Retro.Rock.Rockabilly.Rocksteady.Romance.Romantic.Roots Reggae.Roots Rock.SKA.Sad.Salsa.Samba.Second Line.Sertanejo.Shaabi.Shoegaze.Sleep.Smooth Jazz.Soft Rock.Soul.Soundtrack.Southern Gospel.Southern Rock.Space Rock.Stage And Screen.Steampunk.Summer.Surf.Swamp Pop.Swing.Synth Pop.Tango.Techno.Teen Pop.Tejano.Tex-Mex.Thanksgiving.Traditional.Trance.Trip Hop.Tropical.Underground Rap.Urban.Urban Cowboy.West Coast Rap.Western Swing.World.Worldbeat.Zydeco`.split(`.`),song_name:[`(Everything I Do) I Do it For You`,`(Ghost) Riders in the Sky`,`(I Can't Get No) Satisfaction`,`(I've Got a Gal In) Kalamazoo`,`(I've Had) the Time of My Life`,`(It's No) Sin`,`(Just Like) Starting Over`,`(Let Me Be Your) Teddy Bear`,`(Put Another Nickel In) Music! Music! Music!`,`(Sexual) Healing`,`(Sittin' On) the Dock of the Bay`,`(They Long to Be) Close to You`,`(You Keep Me) Hangin' On`,`(You're My) Soul & Inspiration`,`(Your Love Keeps Lifting Me) Higher & Higher`,`12th Street Rag`,`1999`,`19th Nervous Breakdown`,`50 Ways to Leave Your Lover`,`9 to 5`,`96 Tears`,`A Boy Named Sue`,`A Hard Day's Night`,`A String of Pearls`,`A Thousand Miles`,`A Tree in the Meadow`,`A Whiter Shade of Pale`,`A Whole New World (Aladdin's Theme)`,`A Woman in Love`,`A-Tisket A-Tasket`,`ABC`,`Abracadabra`,`Ac-cent-tchu-ate the Positive`,`Addicted to Love`,`After You've Gone`,`Afternoon Delight`,`Again`,`Against All Odds (Take a Look At Me Now)`,`Ain't Misbehavin'`,`Ain't No Mountain High Enough`,`Ain't No Sunshine`,`Ain't That a Shame`,`Airplanes`,`All Along the Watchtower`,`All I Have to Do is Dream`,`All I Wanna Do`,`All My Lovin' (You're Never Gonna Get It)`,`All Night Long (All Night)`,`All Out of Love`,`All Shook Up`,`All You Need is Love`,`Alone`,`Alone Again (Naturally)`,`Always On My Mind`,`American Pie`,`American Woman`,`Angie`,`Another Brick in the Wall (part 2)`,`Another Day in Paradise`,`Another Night`,`Another One Bites the Dust`,`Apologize`,`April Showers`,`Aquarius/Let The Sunshine In`,`Are You Lonesome Tonight?`,`Arthur's Theme (Best That You Can Do)`,`As Time Goes By`,`At Last`,`At the Hop`,`Auf Wiederseh'n Sweetheart`,`Baby Baby`,`Baby Come Back`,`Baby Got Back`,`Baby Love`,`Baby One More Time`,`Bad Day`,`Bad Girls`,`Bad Moon Rising`,`Bad Romance`,`Bad, Bad Leroy Brown`,`Baker Street`,`Ball of Confusion (That's What the World is Today)`,`Ballad of the Green Berets`,`Ballerina`,`Band On the Run`,`Band of Gold`,`Battle of New Orleans`,`Be Bop a Lula`,`Be My Baby`,`Be My Love`,`Beat It`,`Beautiful Day`,`Beauty & the Beast`,`Because I Love You (The Postman Song)`,`Because You Loved Me`,`Because of You`,`Before The Next Teardrop Falls`,`Begin the Beguine`,`Behind Closed Doors`,`Being With You`,`Believe`,`Ben`,`Bennie & the Jets`,`Besame Mucho`,`Best of My Love`,`Bette Davis Eyes`,`Big Bad John`,`Big Girls Don't Cry`,`Billie Jean`,`Bitter Sweet Symphony`,`Black Or White`,`Black Velvet`,`Blaze of Glory`,`Bleeding Love`,`Blue Suede Shoes`,`Blue Tango`,`Blueberry Hill`,`Blurred Lines`,`Body & Soul`,`Bohemian Rhapsody`,`Boogie Oogie Oogie`,`Boogie Woogie Bugle Boy`,`Boom Boom Pow`,`Born in the USA`,`Born to Be Wild`,`Born to Run`,`Boulevard of Broken Dreams`,`Brand New Key`,`Brandy (You're A Fine Girl)`,`Breaking Up is Hard to Do`,`Breathe`,`Bridge Over Troubled Water`,`Brother Louie`,`Brother, Can You Spare a Dime?`,`Brown Eyed Girl`,`Brown Sugar`,`Build Me Up Buttercup`,`Burn`,`Buttons & Bows`,`Bye Bye Love`,`Bye Bye, Blackbird`,`Bye, Bye, Bye`,`Caldonia Boogie (What Makes Your Big Head So Hard)`,`California Dreamin'`,`California Girls`,`Call Me`,`Call Me Maybe`,`Can You Feel the Love Tonight`,`Can't Buy Me Love`,`Can't Get Enough of Your Love, Babe`,`Can't Help Falling in Love`,`Candle in the Wind '97`,`Candy Man`,`Car Wash`,`Careless Whisper`,`Cars`,`Cat's in the Cradle`,`Cathy's Clown`,`Celebration`,`Centerfold`,`Chain of Fools`,`Chances Are`,`Change the World`,`Chapel of Love`,`Chattanooga Choo Choo`,`Chattanoogie Shoe-Shine Boy`,`Check On It`,`Cheek to Cheek`,`Cherish`,`Cherry Pink & Apple Blossom White`,`Cold, Cold Heart`,`Colors of the Wind`,`Come On Eileen`,`Come On-a My House`,`Come Together`,`Coming Up`,`Cracklin' Rosie`,`Crazy`,`Crazy For You`,`Crazy Little Thing Called Love`,`Crazy in Love`,`Creep`,`Crimson & Clover`,`Crocodile Rock`,`Cry`,`Cry Like a Baby`,`Crying`,`Da Doo Ron Ron (When He Walked Me Home)`,`Dance to the Music`,`Dancing Queen`,`Dancing in the Dark`,`Dancing in the Street`,`Dardanella`,`Daydream Believer`,`December 1963 (Oh What a Night)`,`Delicado`,`Dilemma`,`Disco Duck`,`Disco Lady`,`Disturbia`,`Dizzy`,`Do That to Me One More Time`,`Do Wah Diddy Diddy`,`Do Ya Think I'm Sexy?`,`Do You Love Me?`,`Don't Be Cruel`,`Don't Fence Me In`,`Don't Go Breaking My Heart`,`Don't Leave Me This Way`,`Don't Let the Stars Get in Your Eyes`,`Don't Let the Sun Go Down On Me`,`Don't Speak`,`Don't Stop 'Til You Get Enough`,`Don't Worry Be Happy`,`Don't You (Forget About Me)`,`Don't You Want Me`,`Doo Wop (That Thing)`,`Down`,`Down Hearted Blues`,`Down Under`,`Downtown`,`Dreamlover`,`Dreams`,`Drop it Like It's Hot`,`Drops of Jupiter (Tell Me)`,`Duke of Earl`,`E.T.`,`Earth Angel`,`Ebony & Ivory`,`Eight Days a Week`,`Empire State Of Mind`,`End of the Road`,`Endless Love`,`Escape (The Pina Colada Song)`,`Eve of Destruction`,`Every Breath You Take`,`Every Little Thing She Does is Magic`,`Everybody Loves Somebody`,`Everybody Wants to Rule the World`,`Everyday People`,`Eye of the Tiger`,`Faith`,`Fallin'`,`Fame`,`Family Affair`,`Fantasy`,`Fast Car`,`Feel Good Inc`,`Feel Like Making Love`,`Fire & Rain`,`Firework`,`Flashdance. What a Feeling`,`Fly Robin Fly`,`Foolish Games`,`Footloose`,`For What It's Worth (Stop, Hey What's That Sound)`,`Fortunate Son`,`Frankenstein`,`Freak Me`,`Freebird`,`Frenesi`,`Funkytown`,`Gangsta's Paradise`,`Georgia On My Mind`,`Georgy Girl`,`Get Back`,`Get Down Tonight`,`Get Off of My Cloud`,`Ghostbusters`,`Gimme Some Lovin'`,`Girls Just Wanna Have Fun`,`Give Me Everything`,`Gives You Hell`,`Glamorous`,`Glory of Love`,`Go Your Own Way`,`God Bless America`,`God Bless the Child`,`Gold Digger`,`Gonna Make You Sweat (Everybody Dance Now)`,`Good Lovin'`,`Good Times`,`Good Vibrations`,`Goodbye Yellow Brick Road`,`Goodnight, Irene`,`Got to Give it Up`,`Grease`,`Great Balls of Fire`,`Greatest Love of All`,`Green Onions`,`Green River`,`Green Tambourine`,`Grenade`,`Groove is in the Heart`,`Groovin'`,`Gypsies, Tramps & Thieves`,`Hair`,`Hang On Sloopy`,`Hanging by a Moment`,`Hanky Panky`,`Happy Days Are Here Again`,`Happy Together`,`Harbour Lights`,`Hard to Say I'm Sorry`,`Harper Valley PTA`,`Have You Ever Really Loved a Woman?`,`He'll Have to Go`,`He's So Fine`,`He's a Rebel`,`Heart of Glass`,`Heart of Gold`,`Heartbreak Hotel`,`Hello Dolly`,`Hello, I Love You, Won't You Tell Me Your Name?`,`Help Me, Rhonda`,`Help!`,`Here Without You`,`Here in My Heart`,`Hero`,`Hey Baby`,`Hey Jude`,`Hey Paula`,`Hey There`,`Hey There Delilah`,`Hey Ya!`,`Higher Love`,`Hips don't lie`,`Hit the Road, Jack`,`Hold On`,`Hollaback Girl`,`Honey`,`Honky Tonk`,`Honky Tonk Woman`,`Horse With No Name`,`Hot Child In The City`,`Hot Stuff`,`Hotel California`,`Hound Dog`,`House of the Rising Sun`,`How Deep is Your Love?`,`How Do I Live?`,`How Do You Mend a Broken Heart`,`How High the Moon`,`How Much is That Doggy in the Window?`,`How Will I Know`,`How You Remind Me`,`How to Save a Life`,`Hungry Heart`,`Hurt So Good`,`I Believe I Can Fly`,`I Can Dream, Can't I?`,`I Can Help`,`I Can See Clearly Now`,`I Can't Get Next to You`,`I Can't Get Started`,`I Can't Go For That (No Can Do)`,`I Can't Help Myself (Sugar Pie, Honey Bunch)`,`I Can't Stop Loving You`,`I Don't Want to Miss a Thing`,`I Fall to Pieces`,`I Feel Fine`,`I Feel For You`,`I Feel Love`,`I Get Around`,`I Got You (I Feel Good)`,`I Got You Babe`,`I Gotta Feeling`,`I Heard it Through the Grapevine`,`I Honestly Love You`,`I Just Called to Say I Love You`,`I Just Wanna Be Your Everything`,`I Kissed A Girl`,`I Love Rock 'n' Roll`,`I Need You Now`,`I Only Have Eyes For You`,`I Shot the Sheriff`,`I Still Haven't Found What I'm Looking For`,`I Swear`,`I Think I Love You`,`I Walk the Line`,`I Wanna Dance With Somebody (Who Loves Me)`,`I Wanna Love You`,`I Want You Back`,`I Want to Hold Your Hand`,`I Want to Know What Love Is`,`I Went to Your Wedding`,`I Will Always Love You`,`I Will Follow Him`,`I Will Survive`,`I Write the Songs`,`I'll Be Missing You`,`I'll Be There`,`I'll Make Love to You`,`I'll Never Smile Again`,`I'll Take You There`,`I'll Walk Alone`,`I'll be seeing you`,`I'm Looking Over a Four Leaf Clover`,`I'm So Lonesome I Could Cry`,`I'm Sorry`,`I'm Walking Behind You`,`I'm Your Boogie Man`,`I'm Yours`,`I'm a Believer`,`I've Heard That Song Before`,`If (They Made Me a King)`,`If I Didn't Care`,`If You Don't Know Me By Now`,`If You Leave Me Now`,`Imagine`,`In Da Club`,`In the End`,`In the Ghetto`,`In the Mood`,`In the Summertime`,`In the Year 2525 (Exordium & Terminus)`,`Incense & Peppermints`,`Indian Reservation (The Lament Of The Cherokee Reservation Indian)`,`Instant Karma`,`Iris`,`Ironic`,`Irreplaceable`,`It Had to Be You`,`It's All in the Game`,`It's My Party`,`It's Now Or Never`,`It's Still Rock 'n' Roll to Me`,`It's Too Late`,`Jack & Diane`,`Jailhouse Rock`,`Jessie's Girl`,`Jive Talkin'`,`Johnny B Goode`,`Joy to the World`,`Judy in Disguise (With Glasses)`,`Jump`,`Jumpin' Jack Flash`,`Just Dance`,`Just My Imagination (Running Away With Me)`,`Just the Way You Are`,`Kansas City`,`Karma Chameleon`,`Keep On Loving You`,`Killing Me Softly With His Song`,`King of the Road`,`Kiss`,`Kiss & Say Goodbye`,`Kiss From a Rose`,`Kiss Me`,`Kiss On My List`,`Kiss You All Over`,`Knock On Wood`,`Knock Three Times`,`Kokomo`,`Kryptonite`,`Kung Fu Fighting`,`La Bamba`,`Lady`,`Lady Marmalade (Voulez-Vous Coucher Aver Moi Ce Soir?)`,`Last Train to Clarksville`,`Layla`,`Le Freak`,`Leader of the Pack`,`Lean On Me`,`Leaving, on a Jet Plane`,`Let Me Call You Sweetheart`,`Let Me Love You`,`Let it Be`,`Let it Snow! Let it Snow! Let it Snow!`,`Let's Dance`,`Let's Get it On`,`Let's Groove`,`Let's Hear it For the Boy`,`Let's Stay Together`,`Light My Fire`,`Lights`,`Like a Prayer`,`Like a Rolling Stone`,`Like a Virgin`,`Little Darlin'`,`Little Things Mean a Lot`,`Live & Let Die`,`Livin' La Vida Loca`,`Livin' On a Prayer`,`Living For the City`,`Locked Out Of Heaven`,`Lola`,`Lonely Boy`,`Long Cool Woman in a Black Dress`,`Long Tall Sally`,`Look Away`,`Lookin' Out My Back Door`,`Lose Yourself`,`Losing My Religion`,`Louie Louie`,`Love Child`,`Love Hangover`,`Love In This Club`,`Love Is Blue (L'Amour Est Bleu)`,`Love Letters in the Sand`,`Love Me Do`,`Love Me Tender`,`Love Shack`,`Love Theme From 'A Star is Born' (Evergreen)`,`Love Train`,`Love Will Keep Us Together`,`Love is a Many Splendoured Thing`,`Love to Love You Baby`,`Love's Theme`,`Loving You`,`Low`,`Macarena`,`Mack the Knife`,`Maggie May`,`Magic`,`Magic Carpet Ride`,`Make Love to Me`,`Make it With You`,`Makin' Whoopee`,`Mama Told Me Not to Come`,`Man in the Mirror`,`Manana (Is Soon Enough For Me)`,`Maneater`,`Maniac`,`Maybellene`,`Me & Bobby McGee`,`Me & Mrs Jones`,`Memories Are Made of This`,`Mercy Mercy Me (The Ecology)`,`Mickey`,`Midnight Train to Georgia`,`Minnie the Moocher`,`Miss You`,`Miss You Much`,`Mister Sandman`,`Mmmbop`,`Mona Lisa`,`Monday Monday`,`Money For Nothing`,`Mony Mony`,`Mood Indigo`,`Moonlight Cocktail`,`Moonlight Serenade`,`More Than Words`,`More Than a Feeling`,`Morning Train (Nine to Five)`,`Mr Big Stuff`,`Mr Brightside`,`Mr Tambourine Man`,`Mrs Brown You've Got a Lovely Daughter`,`Mrs Robinson`,`Mule Train`,`Music`,`My Blue Heaven`,`My Boyfriend's Back`,`My Eyes Adored You`,`My Girl`,`My Guy`,`My Heart Will Go On`,`My Life`,`My Love`,`My Man`,`My Prayer`,`My Sharona`,`My Sweet Lord`,`Na Na Hey Hey (Kiss Him Goodbye)`,`Nature Boy`,`Near You`,`Need You Now`,`Need You Tonight`,`Never Gonna Give You Up`,`Night & Day`,`Night Fever`,`Nights in White Satin`,`No One`,`No Scrubs`,`Nobody Does it Better`,`Nothin' on You`,`Nothing Compares 2 U`,`Nothing's Gonna Stop Us Now`,`Ode To Billie Joe`,`Oh Happy Day`,`Oh My Papa (O Mein Papa)`,`Oh, Pretty Woman`,`Ol' Man River`,`Ole Buttermilk Sky`,`On Bended Knee`,`On My Own`,`On the Atchison, Topeka & the Santa Fe`,`One`,`One Bad Apple`,`One More Try`,`One O'Clock Jump`,`One Sweet Day`,`One of These Nights`,`One of Us`,`Only The Lonely (Know The Way I Feel)`,`Only You (And You Alone)`,`Open Arms`,`Over There`,`Over the Rainbow`,`Paint it Black`,`Papa Don't Preach`,`Papa Was a Rolling Stone`,`Papa's Got a Brand New Bag`,`Paper Doll`,`Paper Planes`,`Paperback Writer`,`Party Rock Anthem`,`Peg o' My Heart`,`Peggy Sue`,`Pennies From Heaven`,`Penny Lane`,`People`,`People Got to Be Free`,`Personality`,`Philadelphia Freedom`,`Physical`,`Piano Man`,`Pick Up the Pieces`,`Pistol Packin' Mama`,`Play That Funky Music`,`Please Mr Postman`,`Poker Face`,`Pon De Replay`,`Pony Time`,`Pop Muzik`,`Prisoner of Love`,`Private Eyes`,`Promiscuous`,`Proud Mary`,`Purple Haze`,`Purple Rain`,`Puttin' on the Ritz`,`Que sera sera (Whatever will be will be)`,`Queen of Hearts`,`Rag Doll`,`Rag Mop`,`Rags to Riches`,`Raindrops Keep Falling On My Head`,`Rapture`,`Ray of Light`,`Reach Out (I'll Be There)`,`Red Red Wine`,`Rehab`,`Respect`,`Return to Sender`,`Reunited`,`Revolution`,`Rhapsody in Blue`,`Rhinestone Cowboy`,`Rich Girl`,`Riders On the Storm`,`Right Back Where We Started From`,`Ring My Bell`,`Ring of Fire`,`Rock Around the Clock`,`Rock With You`,`Rock Your Baby`,`Rock the Boat`,`Rock the Casbah`,`Roll Over Beethoven`,`Roll With It`,`Rolling In The Deep`,`Rosanna`,`Roses Are Red`,`Royals`,`Ruby Tuesday`,`Rudolph, the Red-Nosed Reindeer`,`Rum & Coca-Cola`,`Runaround Sue`,`Runaway`,`Running Scared`,`Rush Rush`,`Sailing`,`Save the Best For Last`,`Save the Last Dance For Me`,`Say It Right`,`Say My Name`,`Say Say Say`,`Say You, Say Me`,`School's Out`,`Seasons in the Sun`,`Secret Love`,`Sentimental Journey`,`Sexyback`,`Sh-Boom (Life Could Be a Dream)`,`Shadow Dancing`,`Shake Down`,`Shake You Down`,`She Drives Me Crazy`,`She Loves You`,`She's a Lady`,`Shining Star`,`Shop Around`,`Shout`,`Silly Love Songs`,`Since U Been Gone`,`Sing, Sing, Sing (With A Swing)`,`Singing The Blues`,`Single Ladies (Put A Ring On It)`,`Sir Duke`,`Sixteen Tons`,`Sledgehammer`,`Sleep Walk`,`Sleepy Lagoon`,`Slow Poke`,`Smells Like Teen Spirit`,`Smoke Gets in Your Eyes`,`Smoke On the Water`,`Smoke! Smoke! Smoke! (That Cigarette)`,`Smooth`,`So Much in Love`,`Soldier Boy`,`Some Enchanted Evening`,`Some of These Days`,`Somebody That I Used to Know`,`Somebody to Love`,`Someday`,`Somethin' Stupid`,`Something`,`Soul Man`,`Spanish Harlem`,`Spill the Wine`,`Spinning Wheel`,`Spirit in the Sky`,`St George & the Dragonette`,`St Louis Blues`,`Stagger Lee`,`Stairway to Heaven`,`Stand By Me`,`Stardust`,`Stars & Stripes Forever`,`Stay (I Missed You)`,`Stayin' Alive`,`Stop! in the Name of Love`,`Stormy Weather (Keeps Rainin' All the Time)`,`Straight Up`,`Strange Fruit`,`Stranger On the Shore`,`Strangers in the Night`,`Strawberry Fields Forever`,`Streets of Philadelphia`,`Stronger`,`Stuck On You`,`Sugar Shack`,`Sugar Sugar`,`Summer in the City`,`Summertime Blues`,`Sunday, Monday or Always`,`Sunshine Superman`,`Sunshine of Your Love`,`Superstar`,`Superstition`,`Surfin' USA`,`Suspicious Minds`,`Swanee`,`Sweet Caroline (Good Times Never Seemed So Good)`,`Sweet Child O' Mine`,`Sweet Dreams (Are Made of This)`,`Sweet Georgia Brown`,`Sweet Home Alabama`,`Sweet Soul Music`,`Swinging On a Star`,`T For Texas (Blue Yodel No 1)`,`TSOP (The Sound of Philadelphia)`,`Take Me Home, Country Roads`,`Take My Breath Away`,`Take On Me`,`Take The 'A' Train`,`Take a Bow`,`Tammy`,`Tangerine`,`Tears in Heaven`,`Tears of a Clown`,`Temperature`,`Tennessee Waltz`,`Tequila`,`Tha Crossroads`,`Thank You (Falettinme be Mice Elf Again)`,`That Lucky Old Sun (Just Rolls Around Heaven All Day)`,`That Old Black Magic`,`That'll Be the Day`,`That's Amore`,`That's What Friends Are For`,`That's the Way (I Like It)`,`That's the Way Love Goes`,`The Boy is Mine`,`The Boys of Summer`,`The Christmas Song (Chestnuts Roasting On An Open Fire)`,`The End of the World`,`The First Time Ever I Saw Your Face`,`The Girl From Ipanema`,`The Glow-Worm`,`The Great Pretender`,`The Gypsy`,`The Hustle`,`The Joker`,`The Last Dance`,`The Letter`,`The Loco-Motion`,`The Long & Winding Road`,`The Love You Save`,`The Morning After`,`The Power of Love`,`The Prisoner's Song`,`The Reason`,`The Rose`,`The Sign`,`The Song From Moulin Rouge (Where Is Your Heart)`,`The Sounds of Silence`,`The Streak`,`The Sweet Escape`,`The Thing`,`The Tide is High`,`The Tracks of My Tears`,`The Twist`,`The Wanderer`,`The Way We Were`,`The Way You Look Tonight`,`The Way You Move`,`Theme From 'A Summer Place'`,`Theme From 'Greatest American Hero' (Believe It Or Not)`,`Theme From 'Shaft'`,`There goes my baby`,`These Boots Are Made For Walking`,`Third Man Theme`,`This Diamond Ring`,`This Guy's in Love With You`,`This Land is Your Land`,`This Love`,`This Ole House`,`This Used to Be My Playground`,`Three Coins in the Fountain`,`Three Times a Lady`,`Thrift Shop`,`Thriller`,`Ticket to Ride`,`Tie a Yellow Ribbon 'round the Old Oak Tree`,`Tiger Rag`,`Tighten Up`,`Tik-Toc`,`Till I Waltz Again With You`,`Till The End of Time`,`Time After Time`,`Time of the Season`,`To Sir, with Love`,`Tom Dooley`,`Tonight's the Night (Gonna Be Alright)`,`Too Close`,`Too Young`,`Tossing & Turning`,`Total Eclipse of the Heart`,`Touch Me`,`Toxic`,`Travellin' Band`,`Travellin' Man`,`Truly Madly Deeply`,`Turn! Turn! Turn! (To Everything There is a Season)`,`Tutti Frutti`,`Twist & Shout`,`Two Hearts`,`U Can't Touch This`,`U Got it Bad`,`Umbrella`,`Un-Break My Heart`,`Unbelievable`,`Unchained Melody`,`Uncle Albert (Admiral Halsey)`,`Under the Boardwalk`,`Under the Bridge`,`Unforgettable`,`Up Around the Bend`,`Up Up & Away`,`Up Where We Belong`,`Upside Down`,`Use Somebody`,`Vaya Con Dios (may God Be With You)`,`Venus`,`Vision of Love`,`Viva La Vida`,`Vogue`,`Volare`,`Wabash Cannonball`,`Waiting For a Girl Like You`,`Wake Me Up Before You Go Go`,`Wake Up Little Susie`,`Walk Don't Run`,`Walk Like a Man`,`Walk Like an Egyptian`,`Walk On By`,`Walk On the Wild Side`,`Walk This Way`,`Wannabe`,`Want Ads`,`Wanted`,`War`,`Waterfalls`,`Wayward Wind`,`We Are Family`,`We Are Young`,`We Are the Champions`,`We Are the World`,`We Belong Together`,`We Built This City`,`We Can Work it Out`,`We Didn't Start the Fire`,`We Found Love`,`We Got The Beat`,`We Will Rock You`,`We've Only Just Begun`,`Weak`,`Wedding Bell Blues`,`West End Blues`,`West End Girls`,`What Goes Around Comes Around`,`What a Fool Believes`,`What'd I Say`,`What's Going On?`,`What's Love Got to Do With It?`,`Whatcha Say`,`Wheel of Fortune`,`When Doves Cry`,`When You Wish Upon a Star`,`When a Man Loves a Woman`,`Where Did Our Love Go`,`Where is the Love?`,`Whip It`,`Whispering`,`White Christmas`,`White Rabbit`,`Whole Lotta Love`,`Whole Lotta Shakin' Goin' On`,`Whoomp! (There it Is)`,`Why Do Fools Fall in Love?`,`Why Don't You Believe Me?`,`Wichita Lineman`,`Wicked Game`,`Wild Thing`,`Wild Wild West`,`Will It Go Round In Circles`,`Will You Love Me Tomorrow`,`Winchester Cathedral`,`Wind Beneath My Wings`,`Wipe Out`,`Wishing Well`,`With Or Without You`,`Without Me`,`Without You`,`Woman`,`Won't Get Fooled Again`,`Wooly Bully`,`Working My Way Back to You`,`YMCA`,`Yakety Yak`,`Yeah!`,`Yellow Rose of Texas`,`Yesterday`,`You Ain't Seen Nothin' Yet`,`You Always Hurt the One You Love`,`You Are the Sunshine of My Life`,`You Belong With Me`,`You Belong to Me`,`You Can't Hurry Love`,`You Don't Bring Me Flowers`,`You Don't Have to Be a Star (To Be in My Show)`,`You Light Up My Life`,`You Make Me Feel Brand New`,`You Make Me Feel Like Dancing`,`You Really Got Me`,`You Send Me`,`You Sexy Thing`,`You Were Meant for Me`,`You make Me Wanna`,`You'll Never Know`,`You're Beautiful`,`You're So Vain`,`You're Still the One`,`You're the One That I Want`,`You've Got a Friend`,`You've Lost That Lovin' Feelin'`,`Your Cheatin' Heart`,`Your Song`]},person:{bio_part:`activist.artist.author.blogger.business owner.coach.creator.designer.developer.dreamer.educator.engineer.entrepreneur.environmentalist.film lover.filmmaker.foodie.founder.friend.gamer.geek.grad.inventor.leader.model.musician.nerd.parent.patriot.person.philosopher.photographer.public speaker.scientist.singer.streamer.student.teacher.traveler.veteran.writer`.split(`.`),bio_pattern:[`{{person.bio_part}}`,`{{person.bio_part}}, {{person.bio_part}}`,`{{person.bio_part}}, {{person.bio_part}}, {{person.bio_part}}`,`{{person.bio_part}}, {{person.bio_part}}, {{person.bio_part}} {{internet.emoji}}`,`{{word.noun}} {{person.bio_supporter}}`,`{{word.noun}} {{person.bio_supporter}} {{internet.emoji}}`,`{{word.noun}} {{person.bio_supporter}}, {{person.bio_part}}`,`{{word.noun}} {{person.bio_supporter}}, {{person.bio_part}} {{internet.emoji}}`],bio_supporter:[`advocate`,`devotee`,`enthusiast`,`fan`,`junkie`,`lover`,`supporter`],first_name:{generic:`Addison.Adell.Adrien.Alejandrin.Alexie.Alexis.Alexys.Ali.Alva.Alvis.Amani.Amari.Angel.Ara.Arden.Ari.Ariel.Arlie.Armani.Asa.Ashton.Aubrey.Audie.August.Austyn.Avery.Baby.Bailey.Bell.Berry.Bethel.Blair.Brook.Brown.Burdette.Burnice.Cali.Carey.Carroll.Cary.Casey.Chandler.Charley.Chesley.Clair.Claudie.Clemmie.Cleo.Cordie.Coty.Cruz.Dakota.Dallas.Dannie.Darby.Darian.Dee.Dell.Delta.Demetris.Devan.Devon.Devyn.Dominique.Dorian.Dusty.Eden.Elisha.Emery.Emmanuelle.Emory.Estel.Florida.Floy.Francis.Frankie.Garnet.Garnett.Germaine.Golden.Guadalupe.Hadley.Harley.Hassie.Haven.Hazle.Hollis.Ira.Ivory.Jacky.Jaden.Jadyn.Jaeden.Jaiden.Jalyn.Jamey.Jamie.Jammie.Jan.Jaycee.Jaylan.Jaylin.Jayme.Jennings.Jensen.Jess.Jessie.Jessy.Joany.Jody.Johnnie.Jordan.Jordane.Jude.Jules.Justice.Kacey.Karson.Kasey.Kaya.Kayden.Kendall.Kennedy.Kenyatta.Kerry.Kris.Kristian.Lane.Larue.Lavern.Lavon.Layne.Lee.Lennie.Leone.Linnie.London.Lonie.Loren.Lou.Loy.Loyal.Lue.Lupe.Marion.Marley.Marlin.Maxie.Maximillia.Merl.Merle.Merlin.Merritt.Michale.Michel.Milan.Miller.Mina.Monroe.Monserrate.Montana.Morgan.Mossie.Mozell.Murl.Murphy.Myrl.Nakia.Nicola.Nikita.Nova.Ocie.Oda.Odie.Ollie.Oma.Onie.Orie.Ova.Paris.Pat.Paxton.Payton.Peyton.Pink.Presley.Providenci.Quinn.Raleigh.Reagan.Reese.Regan.Reilly.Rickie.Riley.River.Robbie.Robin.Roma.Romaine.Rowan.Royal.Ryann.Ryley.Sage.Sammie.Sammy.Schuyler.Shanon.Shayne.Shea.Sheridan.Sidney.Sincere.Skye.Skylar.Stevie.Sunny.Taylor.Teagan.Telly.Terry.Tommie.Torey.Toy.Tristin.Unique.Urban.Valentine.Van.Vernie.Zion`.split(`.`),female:`Aaliyah.Abagail.Abbey.Abbie.Abbigail.Abby.Abigail.Abigale.Abigayle.Ada.Adah.Adaline.Addie.Adela.Adele.Adelia.Adeline.Adella.Adelle.Adriana.Adrianna.Adrienne.Afton.Aglae.Agnes.Agustina.Aida.Aileen.Aimee.Aisha.Aiyana.Alaina.Alana.Alanis.Alanna.Alayna.Alba.Alberta.Albertha.Albina.Alda.Aleen.Alejandra.Alena.Alene.Alessandra.Alessia.Aletha.Alexa.Alexandra.Alexandrea.Alexandria.Alexandrine.Alexane.Alexanne.Alfreda.Alia.Alice.Alicia.Alisa.Alisha.Alison.Alivia.Aliya.Aliyah.Aliza.Alize.Allene.Allie.Allison.Ally.Alma.Alta.Althea.Alvena.Alvera.Alverta.Alvina.Alyce.Alycia.Alysa.Alysha.Alyson.Alyssa.Alysson.Amalia.Amanda.Amara.Amaya.Amber.Amelia.Amelie.Amely.America.Amie.Amina.Amira.Amiya.Amparo.Amy.Amya.Ana.Anabel.Anabelle.Anahi.Anais.Anastasia.Andrea.Andreane.Andreanne.Angela.Angelica.Angelina.Angeline.Angelita.Angie.Anika.Anissa.Anita.Aniya.Aniyah.Anjali.Ann.Anna.Annabel.Annabell.Annabelle.Annalise.Annamae.Annamarie.Anne.Annetta.Annette.Annie.Ansley.Antoinette.Antonetta.Antonette.Antonia.Antonietta.Antonina.Anya.April.Araceli.Aracely.Ardella.Ardith.Arely.Ariane.Arianna.Arielle.Arlene.Arvilla.Aryanna.Asha.Ashlee.Ashleigh.Ashley.Ashly.Ashlynn.Ashtyn.Asia.Assunta.Astrid.Athena.Aubree.Audra.Audreanne.Audrey.Augusta.Aurelia.Aurelie.Aurore.Autumn.Ava.Avis.Ayana.Ayla.Aylin.Bailee.Barbara.Baylee.Beatrice.Beaulah.Becky.Belinda.Bella.Belle.Berenice.Bernadette.Bernadine.Berneice.Bernice.Berniece.Bernita.Berta.Bertha.Beryl.Bessie.Beth.Bethany.Betsy.Bette.Bettie.Betty.Bettye.Beulah.Beverly.Bianka.Billie.Birdie.Blanca.Blanche.Bobbie.Bonita.Bonnie.Brandi.Brandy.Breana.Breanna.Breanne.Brenda.Brenna.Bria.Briana.Brianne.Bridget.Bridgette.Bridie.Brielle.Brigitte.Brionna.Brisa.Britney.Brittany.Brooke.Brooklyn.Bryana.Bulah.Caitlyn.Caleigh.Calista.Callie.Camila.Camilla.Camille.Camryn.Camylle.Candace.Candice.Candida.Cara.Carissa.Carla.Carlee.Carley.Carli.Carlie.Carlotta.Carmel.Carmela.Carmella.Carmen.Carol.Carolanne.Carole.Carolina.Caroline.Carolyn.Carolyne.Carrie.Casandra.Cassandra.Cassandre.Cassidy.Cassie.Catalina.Caterina.Catharine.Catherine.Cathrine.Cathryn.Cathy.Cayla.Cecelia.Cecile.Cecilia.Celestine.Celia.Celine.Chanel.Chanelle.Charity.Charlene.Charlotte.Chasity.Chaya.Chelsea.Chelsey.Chelsie.Cheryl.Cheyanne.Cheyenne.Chloe.Christa.Christelle.Christiana.Christie.Christina.Christine.Christy.Chyna.Ciara.Cielo.Cierra.Cindy.Citlalli.Claire.Clara.Clarabelle.Clare.Clarissa.Claudia.Claudine.Clementina.Clementine.Cleora.Cleta.Clotilde.Colleen.Concepcion.Connie.Constance.Consuelo.Cora.Coralie.Cordelia.Cordia.Corene.Corine.Corrine.Cortney.Courtney.Creola.Cristal.Cristina.Crystal.Crystel.Cydney.Cynthia.Dagmar.Dahlia.Daija.Daisha.Daisy.Damaris.Dana.Daniela.Daniella.Danielle.Danika.Danyka.Daphne.Daphnee.Daphney.Dariana.Darla.Darlene.Dasia.Dawn.Dayana.Dayna.Deanna.Debbie.Deborah.Debra.Deja.Dejah.Delaney.Delfina.Delia.Delilah.Della.Delores.Delpha.Delphia.Delphine.Dena.Denise.Desiree.Dessie.Destany.Destinee.Destiney.Destini.Destiny.Diamond.Diana.Diane.Dianna.Dianne.Dina.Dixie.Dolly.Dolores.Domenica.Donna.Dora.Dorcas.Doreen.Doris.Dorothea.Dorothy.Dorris.Dortha.Dorthy.Dovie.Dulce.Earlene.Earline.Earnestine.Easter.Ebba.Ebony.Eda.Edith.Edna.Edwina.Edyth.Edythe.Effie.Eileen.Elaina.Elaine.Elda.Eldora.Eleanor.Eleanora.Eleanore.Electa.Elena.Elenor.Elenora.Eleonore.Elfrieda.Eliane.Elinor.Elinore.Elisa.Elisabeth.Elise.Elissa.Eliza.Elizabeth.Ella.Ellen.Ellie.Elmira.Elna.Elnora.Elody.Eloisa.Eloise.Elouise.Elsa.Else.Elsie.Elta.Elva.Elvera.Elvie.Elvira.Elyse.Elyssa.Elza.Emelia.Emelie.Emely.Emerald.Emie.Emilia.Emilie.Emily.Emma.Emmalee.Emmie.Emmy.Ena.Enid.Enola.Era.Erica.Ericka.Erika.Erin.Erma.Erna.Ernestina.Ernestine.Eryn.Esmeralda.Esperanza.Essie.Esta.Estefania.Estell.Estella.Estelle.Esther.Estrella.Etha.Ethel.Ethelyn.Ethyl.Ettie.Eudora.Eugenia.Eula.Eulah.Eulalia.Euna.Eunice.Eva.Evalyn.Evangeline.Eve.Eveline.Evelyn.Evie.Fabiola.Fae.Faith.Fannie.Fanny.Fatima.Fay.Faye.Felicia.Felicita.Felicity.Felipa.Fern.Ferne.Filomena.Fiona.Flavie.Fleta.Flo.Flora.Florence.Florine.Flossie.Frances.Francesca.Francisca.Freda.Frederique.Freeda.Freida.Frida.Frieda.Gabriella.Gabrielle.Gail.Gayle.Genesis.Geneva.Genevieve.Genoveva.Georgette.Georgia.Georgiana.Georgianna.Geraldine.Gerda.Gertrude.Gia.Gilda.Gillian.Gina.Ginger.Giovanna.Gisselle.Gladyce.Gladys.Glenda.Glenna.Glennie.Gloria.Golda.Grace.Gracie.Graciela.Grayce.Gregoria.Greta.Gretchen.Gudrun.Gussie.Gwen.Gwendolyn.Hailee.Hailey.Hailie.Haleigh.Haley.Halie.Halle.Hallie.Hanna.Hannah.Harmony.Harriet.Hattie.Haylee.Hayley.Haylie.Hazel.Heather.Heaven.Heidi.Helen.Helena.Helene.Helga.Hellen.Heloise.Henrietta.Henriette.Hermina.Herminia.Herta.Hertha.Hester.Hettie.Hilda.Hildegard.Hillary.Hilma.Hollie.Holly.Hope.Hortense.Hulda.Icie.Ida.Idell.Idella.Ila.Ilene.Iliana.Ima.Imani.Imelda.Imogene.Ines.Inez.Irene.Iris.Irma.Isabel.Isabell.Isabella.Isabelle.Isobel.Itzel.Iva.Ivah.Ivy.Izabella.Jacey.Jacinthe.Jackeline.Jackie.Jacklyn.Jaclyn.Jacqueline.Jacquelyn.Jacynthe.Jada.Jade.Jaida.Jailyn.Jakayla.Jana.Janae.Jane.Janelle.Janessa.Janet.Janice.Janie.Janis.Janiya.Jannie.Jany.Jaquelin.Jaqueline.Jasmin.Jasmine.Jaunita.Jayda.Jayde.Jayne.Jazlyn.Jazmin.Jazmyn.Jazmyne.Jean.Jeanette.Jeanie.Jeanne.Jeannette.Jeannie.Jena.Jenifer.Jenna.Jennie.Jennifer.Jenny.Jennyfer.Jessica.Jessika.Jessyca.Jettie.Jewel.Jewell.Jill.Jillian.Jo.Joan.Joana.Joanie.Joann.Joanna.Joanne.Joannie.Joanny.Jocelyn.Jodi.Jodie.Joelle.Johanna.Jolie.Jordyn.Josefa.Josefina.Josephine.Josiane.Josianne.Josie.Joy.Joyce.Juana.Juanita.Judith.Judy.Julia.Juliana.Julianne.Julie.Juliet.June.Justina.Justine.Kaci.Kacie.Kaela.Kaelyn.Kaia.Kailee.Kailey.Kailyn.Kaitlin.Kaitlyn.Kaleigh.Kaley.Kali.Kallie.Kamille.Kamryn.Kara.Karelle.Karen.Kari.Kariane.Karianne.Karina.Karine.Karla.Karlee.Karley.Karli.Karlie.Karolann.Kasandra.Kassandra.Katarina.Kate.Katelin.Katelyn.Katelynn.Katharina.Katherine.Katheryn.Kathleen.Kathlyn.Kathryn.Kathryne.Kathy.Katie.Katlyn.Katlynn.Katrina.Katrine.Kattie.Kay.Kaycee.Kayla.Kaylah.Kaylee.Kayleigh.Kayley.Kayli.Kaylie.Kaylin.Keara.Keeley.Keely.Keira.Kelley.Kelli.Kellie.Kelly.Kelsi.Kelsie.Kendra.Kenna.Kennedi.Kenya.Kiana.Kianna.Kiara.Kiarra.Kiera.Kiley.Kim.Kimberly.Kira.Kirsten.Kirstin.Kitty.Krista.Kristen.Kristi.Kristie.Kristin.Kristina.Kristine.Kristy.Krystal.Krystel.Krystina.Kyla.Kylee.Kyleigh.Kylie.Kyra.Lacey.Lacy.Laila.Laisha.Lana.Laney.Larissa.Latoya.Laura.Laurel.Lauren.Lauretta.Lauriane.Laurianne.Laurie.Laurine.Laury.Lauryn.Lavada.Laverna.Laverne.Lavina.Lavinia.Lavonne.Layla.Lea.Leah.Leann.Leanna.Leanne.Leatha.Leda.Leigh.Leila.Leilani.Lela.Lelah.Lelia.Lempi.Lena.Lenna.Lenora.Lenore.Leola.Leona.Leonie.Leonor.Leonora.Leora.Lera.Lesley.Leslie.Lesly.Lessie.Leta.Letha.Leticia.Letitia.Lexi.Lexie.Lexus.Lia.Liana.Libbie.Libby.Lila.Lilian.Liliana.Liliane.Lilla.Lillian.Lilliana.Lillie.Lilly.Lily.Lilyan.Lina.Linda.Lindsay.Lindsey.Linnea.Lisa.Lisette.Litzy.Liza.Lizeth.Lizzie.Lois.Lola.Lolita.Loma.Lora.Loraine.Lorena.Lorene.Lorenza.Loretta.Lori.Lorine.Lorna.Lorraine.Lottie.Louisa.Louise.Lourdes.Louvenia.Loyce.Lucia.Lucie.Lucienne.Lucile.Lucille.Lucinda.Lucy.Ludie.Luella.Luisa.Lula.Lulu.Luna.Lura.Lurline.Luz.Lyda.Lydia.Lyla.Lynda.Lynette.Lynn.Lynne.Lyric.Lysanne.Mabel.Mabelle.Mable.Macey.Maci.Macie.Mackenzie.Macy.Madaline.Madalyn.Maddison.Madeline.Madelyn.Madelynn.Madge.Madie.Madilyn.Madisen.Madison.Madisyn.Madonna.Madyson.Mae.Maegan.Maeve.Mafalda.Magali.Magdalen.Magdalena.Maggie.Magnolia.Maia.Maida.Maiya.Makayla.Makenna.Makenzie.Malika.Malinda.Mallie.Mallory.Malvina.Mamie.Mandy.Manuela.Mara.Marcelina.Marcella.Marcelle.Marcia.Margaret.Margarete.Margarett.Margaretta.Margarette.Margarita.Marge.Margie.Margot.Margret.Marguerite.Maria.Mariah.Mariam.Marian.Mariana.Mariane.Marianna.Marianne.Maribel.Marie.Mariela.Marielle.Marietta.Marilie.Marilou.Marilyn.Marilyne.Marina.Marisa.Marisol.Maritza.Marjolaine.Marjorie.Marjory.Marlee.Marlen.Marlene.Marsha.Marta.Martha.Martina.Martine.Mary.Maryam.Maryann.Maryjane.Maryse.Mathilde.Matilda.Matilde.Mattie.Maud.Maude.Maudie.Maureen.Maurine.Mavis.Maxine.May.Maya.Maybell.Maybelle.Maye.Maymie.Mayra.Mazie.Mckayla.Mckenna.Mckenzie.Meagan.Meaghan.Meda.Megan.Megane.Meggie.Meghan.Melanie.Melany.Melba.Melinda.Melisa.Melissa.Mellie.Melody.Melvina.Melyna.Melyssa.Mercedes.Meredith.Mertie.Meta.Mia.Micaela.Michaela.Michele.Michelle.Mikayla.Mildred.Millie.Mindy.Minerva.Minnie.Miracle.Miranda.Mireille.Mireya.Miriam.Missouri.Misty.Mittie.Modesta.Mollie.Molly.Mona.Monica.Monique.Monserrat.Moriah.Mozelle.Muriel.Mya.Myah.Mylene.Myra.Myriam.Myrna.Myrtice.Myrtie.Myrtis.Myrtle.Nadia.Nadine.Nancy.Nannie.Naomi.Naomie.Natalia.Natalie.Natasha.Nayeli.Nedra.Neha.Nelda.Nella.Nelle.Nellie.Neoma.Nettie.Neva.Nia.Nichole.Nicole.Nicolette.Nikki.Nina.Noelia.Noemi.Noemie.Noemy.Nola.Nona.Nora.Norene.Norma.Novella.Nya.Nyah.Nyasia.Oceane.Octavia.Odessa.Ofelia.Ola.Oleta.Olga.Olive.Olivia.Ona.Opal.Ophelia.Ora.Orpha.Otilia.Ottilie.Ozella.Paige.Palma.Pam.Pamela.Pansy.Pascale.Patience.Patricia.Patsy.Patti.Pattie.Patty.Paula.Paulette.Pauline.Pearl.Pearlie.Pearline.Peggie.Peggy.Penelope.Penny.Petra.Phoebe.Phyllis.Pinkie.Piper.Polly.Precious.Princess.Priscilla.Prudence.Queen.Queenie.Rachael.Rachel.Rachelle.Rae.Raegan.Rafaela.Raina.Ramona.Randi.Raphaelle.Raquel.Raven.Reanna.Reba.Rebeca.Rebecca.Rebeka.Rebekah.Regina.Reina.Renee.Ressie.Reta.Retha.Retta.Reva.Reyna.Rhea.Rhianna.Rhiannon.Rhoda.Rhonda.Rita.Roberta.Robyn.Rochelle.Rocio.Rosa.Rosalee.Rosalia.Rosalie.Rosalind.Rosalinda.Rosalyn.Rosamond.Rosanna.Rosario.Rose.Rosella.Roselyn.Rosemarie.Rosemary.Rosetta.Rosie.Rosina.Roslyn.Rossie.Rowena.Roxane.Roxanne.Rozella.Rubie.Ruby.Rubye.Ruth.Ruthe.Ruthie.Rylee.Ryleigh.Sabina.Sabrina.Sabryna.Sadie.Sadye.Saige.Sallie.Sally.Salma.Samanta.Samantha.Samara.Sandra.Sandrine.Sandy.Santa.Santina.Sara.Sarah.Sarai.Sarina.Sasha.Savanah.Savanna.Savannah.Scarlett.Selena.Selina.Serena.Serenity.Shaina.Shakira.Shana.Shanel.Shanelle.Shania.Shanie.Shaniya.Shanna.Shannon.Shanny.Shany.Shari.Sharon.Shawna.Shaylee.Shayna.Sheila.Shelia.Shelley.Shelly.Sheri.Sherri.Sherry.Sheryl.Shirley.Shyann.Shyanne.Sibyl.Sienna.Sierra.Sigrid.Silvia.Simone.Sister.Skyla.Sofia.Soledad.Sonia.Sonja.Sonya.Sophia.Sophie.Stacey.Stacy.Stefanie.Stella.Stephania.Stephanie.Stephany.Sue.Summer.Susan.Susana.Susanna.Susie.Suzanne.Syble.Sydnee.Sydney.Sydni.Sydnie.Sylvia.Tabitha.Talia.Tamara.Tami.Tamia.Tammy.Tania.Tanya.Tara.Taryn.Tasha.Tatum.Tatyana.Taya.Teresa.Teri.Terri.Tess.Tessie.Thalia.Thea.Thelma.Theodora.Theresa.Therese.Theresia.Thora.Tia.Tiana.Tianna.Tiara.Tierra.Tiffany.Tina.Tomasa.Toni.Tonya.Tracey.Traci.Tracy.Tressa.Tressie.Treva.Tricia.Trinity.Trisha.Trudie.Trycia.Twila.Tyra.Una.Ursula.Vada.Valentina.Valerie.Vallie.Vanessa.Veda.Velda.Vella.Velma.Velva.Vena.Vera.Verda.Verdie.Vergie.Verla.Verlie.Verna.Vernice.Verona.Veronica.Vesta.Vicenta.Vicki.Vickie.Vicky.Victoria.Vida.Vilma.Vincenza.Viola.Violet.Violette.Virgie.Virginia.Virginie.Vita.Viva.Vivian.Viviane.Vivianne.Vivien.Vivienne.Wanda.Wava.Wendy.Whitney.Wilhelmine.Willa.Willow.Wilma.Winifred.Winnifred.Winona.Yadira.Yasmeen.Yasmin.Yasmine.Yazmin.Yesenia.Yessenia.Yolanda.Yoshiko.Yvette.Yvonne.Zaria.Zelda.Zella.Zelma.Zena.Zetta.Zita.Zoe.Zoey.Zoie.Zoila.Zola.Zora.Zula`.split(`.`),male:`Aaron.Abdiel.Abdul.Abdullah.Abe.Abel.Abelardo.Abner.Abraham.Adalberto.Adam.Adan.Adelbert.Aditya.Adolf.Adolfo.Adolph.Adolphus.Adonis.Adrain.Adrian.Adriel.Agustin.Ahmad.Ahmed.Aidan.Aiden.Akeem.Al.Alan.Albert.Alberto.Albin.Alden.Alec.Alejandro.Alek.Alessandro.Alex.Alexander.Alexandre.Alexandro.Alexzander.Alf.Alfonso.Alfonzo.Alford.Alfred.Alfredo.Allan.Allen.Alonzo.Alphonso.Alton.Alvah.Alvin.Ambrose.Americo.Amir.Amos.Anastacio.Anderson.Andre.Andres.Andrew.Andy.Angelo.Angus.Anibal.Ansel.Anthony.Antone.Antonio.Antwan.Antwon.Arch.Archibald.Archie.Aric.Arjun.Arlo.Armand.Armando.Arnaldo.Arne.Arno.Arnold.Arnoldo.Arnulfo.Aron.Art.Arthur.Arturo.Arvel.Arvid.Augustine.Augustus.Aurelio.Austen.Austin.Axel.Ayden.Barney.Baron.Barrett.Barry.Bart.Bartholome.Barton.Beau.Ben.Benedict.Benjamin.Bennett.Bennie.Benny.Benton.Bernard.Bernardo.Bernhard.Bernie.Bert.Bertram.Bertrand.Bill.Billy.Blaise.Blake.Blaze.Bo.Bob.Bobby.Boris.Boyd.Brad.Braden.Bradford.Bradley.Bradly.Brady.Braeden.Brain.Brando.Brandon.Brandt.Brandyn.Brannon.Branson.Brant.Braulio.Braxton.Brayan.Brendan.Brenden.Brendon.Brennan.Brennon.Brent.Bret.Brett.Brian.Brice.Brock.Broderick.Brody.Brooks.Bruce.Bryan.Bryant.Bryce.Brycen.Bryon.Buck.Bud.Buddy.Buford.Burley.Buster.Byron.Cade.Caden.Caesar.Cale.Caleb.Calvin.Camden.Cameron.Camren.Camron.Candelario.Candido.Carl.Carleton.Carlo.Carlos.Carlton.Carmelo.Carmine.Carson.Carter.Casimer.Casimir.Casper.Ceasar.Cecil.Cedric.Cedrick.Celestino.Cesar.Chad.Chadd.Chadrick.Chaim.Chance.Charles.Charlie.Chase.Chauncey.Chaz.Chester.Chet.Chris.Christ.Christian.Christop.Christophe.Christopher.Cicero.Clarence.Clark.Claud.Claude.Clay.Clayton.Clemens.Clement.Cletus.Cleve.Cleveland.Clifford.Clifton.Clint.Clinton.Clovis.Cloyd.Clyde.Coby.Cody.Colby.Cole.Coleman.Colin.Collin.Colt.Colten.Colton.Columbus.Conner.Connor.Conor.Conrad.Constantin.Cooper.Corbin.Cordell.Corey.Cornelius.Cornell.Cortez.Cory.Coy.Craig.Crawford.Cristian.Cristobal.Cristopher.Cullen.Curt.Curtis.Cyril.Cyrus.D'angelo.Dale.Dallin.Dalton.Dameon.Damian.Damien.Damion.Damon.Dan.Dandre.Dane.Dangelo.Danial.Daniel.Danny.Dante.Daren.Darien.Darin.Dario.Darion.Darius.Darnell.Daron.Darrel.Darrell.Darren.Darrick.Darrin.Darrion.Darron.Darryl.Darwin.Daryl.Dashawn.Dave.David.Davin.Davion.Davon.Davonte.Dawson.Dax.Dayne.Dayton.Dean.Deangelo.Declan.Dedric.Dedrick.Deion.Dejon.Dejuan.Delbert.Delmer.Demarco.Demarcus.Demario.Demetrius.Demond.Denis.Dennis.Deon.Deondre.Deontae.Deonte.Dereck.Derek.Derick.Deron.Derrick.Deshaun.Deshawn.Desmond.Destin.Devante.Deven.Devin.Devonte.Dewayne.Dewey.Dewitt.Dexter.Diego.Dillan.Dillon.Dimitri.Dino.Dion.Dock.Domenic.Domenick.Domenico.Domingo.Dominic.Dominick.Don.Donald.Donato.Donavon.Donnell.Donnie.Donny.Doug.Douglas.Doyle.Drake.Drew.Duane.Dudley.Duncan.Durward.Dustin.Dwayne.Dwight.Dylan.Earl.Earnest.Easton.Ed.Edd.Eddie.Edgar.Edgardo.Edison.Edmond.Edmund.Eduardo.Edward.Edwardo.Edwin.Efrain.Efren.Einar.Eino.Eladio.Elbert.Eldon.Eldred.Eldridge.Eleazar.Eli.Elian.Elias.Eliezer.Elijah.Eliseo.Elliot.Elliott.Ellis.Ellsworth.Elmer.Elmo.Elmore.Eloy.Elroy.Elton.Elvis.Elwin.Elwyn.Emanuel.Emerson.Emil.Emile.Emiliano.Emilio.Emmanuel.Emmet.Emmett.Emmitt.Enoch.Enos.Enrico.Enrique.Ephraim.Eriberto.Eric.Erich.Erick.Erik.Erling.Ernest.Ernesto.Ernie.Ervin.Erwin.Esteban.Estevan.Ethan.Eugene.Eusebio.Evan.Evans.Everardo.Everett.Everette.Evert.Ewald.Ewell.Ezekiel.Ezequiel.Ezra.Fabian.Faustino.Fausto.Favian.Federico.Felipe.Felix.Felton.Fermin.Fernando.Fidel.Filiberto.Finn.Flavio.Fletcher.Florencio.Florian.Floyd.Ford.Forest.Forrest.Foster.Francesco.Francisco.Franco.Frank.Franklin.Franz.Fred.Freddie.Freddy.Frederic.Frederick.Frederik.Fredrick.Fredy.Freeman.Friedrich.Fritz.Furman.Gabe.Gabriel.Gaetano.Gage.Gardner.Garett.Garfield.Garland.Garret.Garrett.Garrick.Garrison.Garry.Garth.Gary.Gaston.Gavin.Gene.General.Gennaro.Geo.Geoffrey.George.Geovanni.Geovanny.Geovany.Gerald.Gerard.Gerardo.Gerhard.German.Gerry.Gerson.Gianni.Gideon.Gilbert.Gilberto.Giles.Gino.Giovani.Giovanni.Giovanny.Giuseppe.Glen.Glenn.Godfrey.Gonzalo.Gordon.Grady.Graham.Grant.Granville.Grayson.Green.Greg.Gregg.Gregorio.Gregory.Greyson.Griffin.Grover.Guido.Guillermo.Guiseppe.Gunnar.Gunner.Gus.Gust.Gustave.Gustavo.Guy.Hal.Hank.Hans.Hardy.Harmon.Harold.Harrison.Harry.Harvey.Haskell.Hassan.Hayden.Heath.Heber.Hector.Helmer.Henderson.Henri.Henry.Herbert.Herman.Hermann.Herminio.Hershel.Hilario.Hilbert.Hillard.Hilton.Hipolito.Hiram.Hobart.Holden.Homer.Horace.Horacio.Hosea.Houston.Howard.Howell.Hoyt.Hubert.Hudson.Hugh.Hugo.Humberto.Hunter.Hyman.Ian.Ibrahim.Ignacio.Ignatius.Ike.Immanuel.Irvin.Irving.Irwin.Isaac.Isac.Isadore.Isai.Isaiah.Isaias.Isidro.Ismael.Isom.Israel.Issac.Ivan.Izaiah.Jabari.Jace.Jacinto.Jack.Jackson.Jacob.Jacques.Jadon.Jaime.Jairo.Jake.Jakob.Jaleel.Jalen.Jalon.Jamaal.Jamal.Jamar.Jamarcus.Jamel.James.Jameson.Jamil.Jamir.Jamison.Janick.Jaquan.Jared.Jaren.Jarod.Jaron.Jarred.Jarrell.Jarret.Jarrett.Jarrod.Jarvis.Jasen.Jason.Jasper.Javier.Javon.Javonte.Jay.Jayce.Jayden.Jaydon.Jaylen.Jaylon.Jayson.Jed.Jedediah.Jedidiah.Jeff.Jefferey.Jeffery.Jeffrey.Jeffry.Jerad.Jerald.Jeramie.Jeramy.Jerel.Jeremiah.Jeremie.Jeremy.Jermain.Jermaine.Jermey.Jerod.Jerome.Jeromy.Jerrell.Jerrod.Jerrold.Jerry.Jesse.Jesus.Jett.Jevon.Jim.Jimmie.Jimmy.Joaquin.Joe.Joel.Joesph.Joey.Johan.Johann.Johathan.John.Johnathan.Johnathon.Johnny.Johnpaul.Johnson.Jon.Jonas.Jonatan.Jonathan.Jonathon.Jordi.Jordon.Jordy.Jorge.Jose.Joseph.Josh.Joshua.Joshuah.Josiah.Josue.Jovan.Jovani.Jovanny.Jovany.Juan.Judah.Judd.Judge.Judson.Julian.Julien.Julio.Julius.Junior.Junius.Justen.Justin.Juston.Justus.Justyn.Juvenal.Juwan.Kade.Kaden.Kadin.Kale.Kaleb.Kameron.Kamren.Kamron.Kane.Kareem.Karl.Kavon.Keagan.Keanu.Keaton.Keegan.Keenan.Keith.Kellen.Kelton.Kelvin.Ken.Kendrick.Kenneth.Kennith.Kenny.Kent.Kenton.Kenyon.Keon.Keshaun.Keshawn.Keven.Kevin.Kevon.Keyon.Keyshawn.Khalid.Khalil.Kian.Kiel.Kieran.King.Kip.Kirk.Kobe.Koby.Kody.Kolby.Kole.Korbin.Korey.Kory.Kraig.Kristofer.Kristoffer.Kristopher.Kurt.Kurtis.Kyle.Kyler.Ladarius.Lafayette.Lamar.Lambert.Lamont.Lance.Landen.Laron.Larry.Laurence.Lawrence.Lawson.Lazaro.Leif.Leland.Lemuel.Lenny.Leo.Leon.Leonard.Leonardo.Leonel.Leopold.Leopoldo.Leroy.Lester.Levi.Lew.Lewis.Liam.Lincoln.Linwood.Lionel.Lisandro.Llewellyn.Lloyd.Logan.Lon.Lonnie.Lonny.Lonzo.Lorenz.Lorenzo.Louie.Louis.Lowell.Lucas.Luciano.Lucio.Lucious.Lucius.Ludwig.Luigi.Luis.Lukas.Luke.Luther.Lyle.Mac.Mack.Magnus.Major.Malachi.Malcolm.Manley.Manuel.Marc.Marcel.Marcelino.Marcellus.Marcelo.Marco.Marcos.Marcus.Mariano.Mario.Mark.Markus.Marlon.Marques.Marquis.Marquise.Marshall.Martin.Marty.Marvin.Mason.Mateo.Mathew.Mathias.Matt.Matteo.Matthew.Maurice.Mauricio.Maverick.Max.Maxime.Maximilian.Maximillian.Maximo.Maximus.Maxwell.Maynard.Mekhi.Melvin.Mervin.Micah.Michael.Micheal.Miguel.Mike.Mikel.Miles.Milford.Milo.Milton.Misael.Mitchel.Mitchell.Modesto.Mohamed.Mohammad.Mohammed.Moises.Monte.Monty.Morris.Mortimer.Morton.Mose.Moses.Moshe.Muhammad.Murray.Mustafa.Myles.Myron.Name.Napoleon.Narciso.Nash.Nasir.Nat.Nathan.Nathanael.Nathanial.Nathaniel.Nathen.Neal.Ned.Neil.Nels.Nelson.Nestor.Newell.Newton.Nicholas.Nicholaus.Nick.Nicklaus.Nickolas.Nico.Nicolas.Nigel.Nikko.Niko.Nikolas.Nils.Noah.Noble.Noe.Noel.Nolan.Norbert.Norberto.Norman.Norris.Norval.Norwood.Obie.Odell.Okey.Olaf.Ole.Olen.Olin.Oliver.Omar.Omari.Omer.Oral.Oran.Oren.Orin.Orion.Orland.Orlando.Orlo.Orrin.Orval.Orville.Osbaldo.Osborne.Oscar.Osvaldo.Oswald.Oswaldo.Otha.Otho.Otis.Ottis.Otto.Owen.Pablo.Paolo.Parker.Pasquale.Patrick.Paul.Pedro.Percival.Percy.Perry.Pete.Peter.Phil.Philip.Phillip.Pierce.Pierre.Pietro.Porter.Preston.Price.Prince.Quentin.Quincy.Quinten.Quinton.Rafael.Raheem.Rahsaan.Rahul.Ralph.Ramiro.Ramon.Randal.Randall.Randolph.Randy.Ransom.Raoul.Raphael.Rashad.Rashawn.Rasheed.Raul.Ray.Raymond.Raymundo.Reece.Reed.Reggie.Reginald.Reid.Reinhold.Remington.Rene.Reuben.Rex.Rey.Reyes.Reymundo.Reynold.Rhett.Ricardo.Richard.Richie.Richmond.Rick.Rickey.Ricky.Rico.Rigoberto.Robb.Robert.Roberto.Rocky.Rod.Roderick.Rodger.Rodney.Rodolfo.Rodrick.Rodrigo.Roel.Rogelio.Roger.Rogers.Roland.Rolando.Rollin.Roman.Ron.Ronald.Ronaldo.Ronnie.Ronny.Roosevelt.Rory.Roscoe.Rosendo.Ross.Rowland.Roy.Royce.Ruben.Rudolph.Rudy.Rufus.Rupert.Russ.Russel.Russell.Rusty.Ryan.Ryder.Rylan.Salvador.Salvatore.Sam.Samir.Samson.Samuel.Sanford.Santiago.Santino.Santos.Saul.Savion.Scot.Scott.Scottie.Scotty.Seamus.Sean.Sebastian.Sedrick.Selmer.Sergio.Seth.Shad.Shane.Shaun.Shawn.Sheldon.Shemar.Sherman.Sherwood.Sid.Sigmund.Sigurd.Silas.Sim.Simeon.Simon.Solon.Sonny.Spencer.Stan.Stanford.Stanley.Stanton.Stefan.Stephan.Stephen.Stephon.Sterling.Steve.Steven.Stewart.Stone.Stuart.Sven.Sylvan.Sylvester.Tad.Talon.Tanner.Tate.Taurean.Tavares.Ted.Terence.Terrance.Terrell.Terrence.Terrill.Tevin.Thad.Thaddeus.Theo.Theodore.Theron.Thomas.Thurman.Tillman.Tim.Timmothy.Timmy.Timothy.Tito.Titus.Tobin.Toby.Tod.Todd.Tom.Tomas.Tommy.Toney.Tony.Torrance.Torrey.Trace.Travis.Travon.Tre.Tremaine.Tremayne.Trent.Trenton.Trever.Trevion.Trevor.Trey.Tristian.Triston.Troy.Trystan.Turner.Tyler.Tyree.Tyreek.Tyrel.Tyrell.Tyrese.Tyrique.Tyrone.Tyshawn.Tyson.Ubaldo.Ulices.Ulises.Uriah.Uriel.Valentin.Vance.Vaughn.Vern.Verner.Vernon.Vicente.Victor.Vidal.Vince.Vincent.Vincenzo.Vinnie.Virgil.Vito.Vladimir.Wade.Waino.Waldo.Walker.Wallace.Walter.Walton.Ward.Warren.Watson.Waylon.Wayne.Webster.Weldon.Wellington.Wendell.Werner.Wesley.Westley.Weston.Wilber.Wilbert.Wilbur.Wilburn.Wiley.Wilford.Wilfred.Wilfredo.Wilfrid.Wilhelm.Will.Willard.William.Willie.Willis.Willy.Wilmer.Wilson.Wilton.Winfield.Winston.Wm.Woodrow.Wyatt.Wyman.Xander.Xavier.Xzavier.Zachariah.Zachary.Zachery.Zack.Zackary.Zackery.Zakary.Zander.Zane.Zechariah`.split(`.`)},gender:`Agender.Androgyne.Androgynous.Bigender.Cis female.Cis male.Cis man.Cis woman.Cis.Cisgender female.Cisgender male.Cisgender man.Cisgender woman.Cisgender.Demi-boy.Demi-girl.Demi-man.Demi-woman.Demiflux.Demigender.F2M.FTM.Female to male trans man.Female to male transgender man.Female to male transsexual man.Female to male.Gender fluid.Gender neutral.Gender nonconforming.Gender questioning.Gender variant.Genderflux.Genderqueer.Hermaphrodite.Intersex man.Intersex person.Intersex woman.Intersex.M2F.MTF.Male to female trans woman.Male to female transgender woman.Male to female transsexual woman.Male to female.Man.Multigender.Neither.Neutrois.Non-binary.Omnigender.Other.Pangender.Polygender.T* man.T* woman.Trans female.Trans male.Trans man.Trans person.Trans woman.Trans.Transsexual female.Transsexual male.Transsexual man.Transsexual person.Transsexual woman.Transsexual.Transgender female.Transgender person.Transmasculine.Trigender.Two* person.Two-spirit person.Two-spirit.Woman.Xenogender`.split(`.`),job_area:`Solutions.Program.Brand.Security.Research.Marketing.Directives.Implementation.Integration.Functionality.Response.Paradigm.Tactics.Identity.Markets.Group.Division.Applications.Optimization.Operations.Infrastructure.Intranet.Communications.Web.Branding.Quality.Assurance.Mobility.Accounts.Data.Creative.Configuration.Accountability.Interactions.Factors.Usability.Metrics`.split(`.`),job_descriptor:[`Lead`,`Senior`,`Direct`,`Corporate`,`Dynamic`,`Future`,`Product`,`National`,`Regional`,`District`,`Central`,`Global`,`Customer`,`Investor`,`International`,`Legacy`,`Forward`,`Internal`,`Human`,`Chief`,`Principal`],job_title_pattern:[`{{person.jobDescriptor}} {{person.jobArea}} {{person.jobType}}`],job_type:[`Supervisor`,`Associate`,`Executive`,`Liaison`,`Officer`,`Manager`,`Engineer`,`Specialist`,`Director`,`Coordinator`,`Administrator`,`Architect`,`Analyst`,`Designer`,`Planner`,`Orchestrator`,`Technician`,`Developer`,`Producer`,`Consultant`,`Assistant`,`Facilitator`,`Agent`,`Representative`,`Strategist`],last_name:{generic:`Abbott.Abernathy.Abshire.Adams.Altenwerth.Anderson.Ankunding.Armstrong.Auer.Aufderhar.Bahringer.Bailey.Balistreri.Barrows.Bartell.Bartoletti.Barton.Bashirian.Batz.Bauch.Baumbach.Bayer.Beahan.Beatty.Bechtelar.Becker.Bednar.Beer.Beier.Berge.Bergnaum.Bergstrom.Bernhard.Bernier.Bins.Blanda.Blick.Block.Bode.Boehm.Bogan.Bogisich.Borer.Bosco.Botsford.Boyer.Boyle.Bradtke.Brakus.Braun.Breitenberg.Brekke.Brown.Bruen.Buckridge.Carroll.Carter.Cartwright.Casper.Cassin.Champlin.Christiansen.Cole.Collier.Collins.Conn.Connelly.Conroy.Considine.Corkery.Cormier.Corwin.Cremin.Crist.Crona.Cronin.Crooks.Cruickshank.Cummerata.Cummings.D'Amore.Dach.Daniel.Dare.Daugherty.Davis.Deckow.Denesik.Dibbert.Dickens.Dicki.Dickinson.Dietrich.Donnelly.Dooley.Douglas.Doyle.DuBuque.Durgan.Ebert.Effertz.Emard.Emmerich.Erdman.Ernser.Fadel.Fahey.Farrell.Fay.Feeney.Feest.Feil.Ferry.Fisher.Flatley.Frami.Franecki.Franey.Friesen.Fritsch.Funk.Gerhold.Gerlach.Gibson.Gislason.Gleason.Gleichner.Glover.Goldner.Goodwin.Gorczany.Gottlieb.Goyette.Grady.Graham.Grant.Green.Greenfelder.Greenholt.Grimes.Gulgowski.Gusikowski.Gutkowski.Gutmann.Haag.Hackett.Hagenes.Hahn.Haley.Halvorson.Hamill.Hammes.Hand.Hane.Hansen.Harber.Harris.Hartmann.Harvey.Hauck.Hayes.Heaney.Heathcote.Hegmann.Heidenreich.Heller.Herman.Hermann.Hermiston.Herzog.Hessel.Hettinger.Hickle.Hilll.Hills.Hilpert.Hintz.Hirthe.Hodkiewicz.Hoeger.Homenick.Hoppe.Howe.Howell.Hudson.Huel.Huels.Hyatt.Jacobi.Jacobs.Jacobson.Jakubowski.Jaskolski.Jast.Jenkins.Jerde.Johns.Johnson.Johnston.Jones.Kassulke.Kautzer.Keebler.Keeling.Kemmer.Kerluke.Kertzmann.Kessler.Kiehn.Kihn.Kilback.King.Kirlin.Klein.Kling.Klocko.Koch.Koelpin.Koepp.Kohler.Konopelski.Koss.Kovacek.Kozey.Krajcik.Kreiger.Kris.Kshlerin.Kub.Kuhic.Kuhlman.Kuhn.Kulas.Kunde.Kunze.Kuphal.Kutch.Kuvalis.Labadie.Lakin.Lang.Langosh.Langworth.Larkin.Larson.Leannon.Lebsack.Ledner.Leffler.Legros.Lehner.Lemke.Lesch.Leuschke.Lind.Lindgren.Littel.Little.Lockman.Lowe.Lubowitz.Lueilwitz.Luettgen.Lynch.MacGyver.Macejkovic.Maggio.Mann.Mante.Marks.Marquardt.Marvin.Mayer.Mayert.McClure.McCullough.McDermott.McGlynn.McKenzie.McLaughlin.Medhurst.Mertz.Metz.Miller.Mills.Mitchell.Moen.Mohr.Monahan.Moore.Morar.Morissette.Mosciski.Mraz.Mueller.Muller.Murazik.Murphy.Murray.Nader.Nicolas.Nienow.Nikolaus.Nitzsche.Nolan.O'Connell.O'Conner.O'Hara.O'Keefe.O'Kon.O'Reilly.Oberbrunner.Okuneva.Olson.Ondricka.Orn.Ortiz.Osinski.Pacocha.Padberg.Pagac.Parisian.Parker.Paucek.Pfannerstill.Pfeffer.Pollich.Pouros.Powlowski.Predovic.Price.Prohaska.Prosacco.Purdy.Quigley.Quitzon.Rath.Ratke.Rau.Raynor.Reichel.Reichert.Reilly.Reinger.Rempel.Renner.Reynolds.Rice.Rippin.Ritchie.Robel.Roberts.Rodriguez.Rogahn.Rohan.Rolfson.Romaguera.Roob.Rosenbaum.Rowe.Ruecker.Runolfsdottir.Runolfsson.Runte.Russel.Rutherford.Ryan.Sanford.Satterfield.Sauer.Sawayn.Schaden.Schaefer.Schamberger.Schiller.Schimmel.Schinner.Schmeler.Schmidt.Schmitt.Schneider.Schoen.Schowalter.Schroeder.Schulist.Schultz.Schumm.Schuppe.Schuster.Senger.Shanahan.Shields.Simonis.Sipes.Skiles.Smith.Smitham.Spencer.Spinka.Sporer.Stamm.Stanton.Stark.Stehr.Steuber.Stiedemann.Stokes.Stoltenberg.Stracke.Streich.Stroman.Strosin.Swaniawski.Swift.Terry.Thiel.Thompson.Tillman.Torp.Torphy.Towne.Toy.Trantow.Tremblay.Treutel.Tromp.Turcotte.Turner.Ullrich.Upton.Vandervort.Veum.Volkman.Von.VonRueden.Waelchi.Walker.Walsh.Walter.Ward.Waters.Watsica.Weber.Wehner.Weimann.Weissnat.Welch.West.White.Wiegand.Wilderman.Wilkinson.Will.Williamson.Willms.Windler.Wintheiser.Wisoky.Wisozk.Witting.Wiza.Wolf.Wolff.Wuckert.Wunsch.Wyman.Yost.Yundt.Zboncak.Zemlak.Ziemann.Zieme.Zulauf`.split(`.`)},last_name_pattern:{generic:[{value:`{{person.last_name.generic}}`,weight:95},{value:`{{person.last_name.generic}}-{{person.last_name.generic}}`,weight:5}]},middle_name:{generic:`Addison.Angel.Arden.Arya.Ashton.August.Avery.Bailey.Bay.Blair.Blue.Bowie.Caylen.Dakota.Devine.Devon.Dior.Eden.Elein.Eyre.Finley.Flynn.France.Francis.Gray.Greer.Harley.Harper.Isa.Jaden.Jamie.Jazz.Jess.Jordan.Journey.Jude.Jules.Justice.Kai.Kendall.Kennedy.Lake.Lane.Lee.London.Lou.Love.Lucky.Lux.Marlowe.Medusa.Monroe.Morgan.Nova.Ocean.Phoenix.Quinn.Rain.Raye.Reagan.Rebel.Reese.Regan.Reign.Riley.River.Robin.Rowan.Royal.Sage.Saturn.Scout.Shiloh.Sky.Skylar.Skyler.Storm.Taylen.Taylor.Teagan.Winter.Zion.Zyair`.split(`.`),female:`Abigail.Adele.Alice.Alisha.Amber.Amelia.Amora.Anaïs.Anika.Anise.Annabel.Anne.Aphrodite.Aretha.Aster.Audrey.Bailee.Belle.Beth.Billie.Blanche.Bree.Brielle.Brienne.Brooke.Brooklyn.Caleen.Candice.Caprice.Carelyn.Celine.Cerise.Cia.Claire.Claudia.Clementine.Coral.Coraline.Dahlia.Dawn.Della.Demi.Denise.Diana.Ebony.Eleanor.Elizabeth.Ellen.Elodie.Eloise.Ember.Emma.Erin.Faith.Farrah.Fawn.Fayre.Fern.Frida.Genisis.Georgia.Grace.Gwen.Hazel.Helen.Hippolyta.Holly.Hope.Imani.Iowa.Ireland.Irene.Iris.Isla.Ivy.Jade.Jane.Jean.Jo.Joan.Jolie.Josie.Joy.Juliet.Juniper.Kali.Karma.Karsyn.Kat.Kate.Keva.Kylie.Lark.Layla.Leigh.Leona.Leslie.Lexi.Louise.Luna.Lynn.Lyric.Maddie.Mae.Marie.Matilda.Maude.Maybel.Meadow.Mercy.Michelle.Mirabel.Nalia.Naomi.Olive.Paige.Pearl.Penelope.Rae.Raven.Rose.Ruth.Rylie.Sasha.Serena.Sofia.Sophia.Sue.Suzanne.Sydney.Tempest.Tenley.Thea.Trinity.Valerie.Venus.Vera.Violet.Willow.Xena.Zaylee.Zoe`.split(`.`),male:`Ace.Aiden.Alex.Alexander.Ander.Anderson.Angelou.Anthony.Asher.Austin.Aziel.Bear.Beckham.Benjamin.Blaise.Blake.Buddy.Calvin.Cameron.Carter.Charles.Charlie.Christopher.Clyde.Cooper.Corey.Daniel.David.Denver.Drew.Dylan.Elijah.Elliott.Ellis.Emerson.Ethan.Ezra.Fletcher.Gabriel.Grayson.Gus.Hank.Harrison.Hayden.Hendrix.Henry.Houston.Hudson.Hugh.Isaac.Jack.Jackson.Jacob.Jakobe.James.Jaxon.Jaxtyn.Jayden.Jett.John.Joseph.Josiah.Julian.Julien.Kenji.Kobe.Kyle.Kylo.Lennon.Leo.Levi.Liam.Lincoln.Logan.Louis.Lucas.Luke.Mason.Mateo.Matthew.Maverick.Micah.Michael.Nico.Nixon.Noah.North.Oliver.Otis.Otto.Owen.Ozzy.Parker.Pax.Ray.Reeve.Rocky.Rory.Ryan.Sam.Samuel.Sawyer.Sebastian.Shawn.Sonny.Teddy.Theo.Theodore.Thomas.Truett.Walter.Warren.Watson.William.Wison.Wyatt.Ziggy`.split(`.`)},name:[{value:`{{person.firstName}} {{person.lastName}}`,weight:49},{value:`{{person.prefix}} {{person.firstName}} {{person.lastName}}`,weight:7},{value:`{{person.firstName}} {{person.lastName}} {{person.suffix}}`,weight:7},{value:`{{person.prefix}} {{person.firstName}} {{person.lastName}} {{person.suffix}}`,weight:1}],prefix:{generic:[`Dr.`],female:[`Miss`,`Mrs.`,`Ms.`],male:[`Mr.`]},sex:[`female`,`male`],suffix:[`Jr.`,`Sr.`,`I`,`II`,`III`,`IV`,`V`,`MD`,`DDS`,`PhD`,`DVM`],western_zodiac_sign:[`Aquarius`,`Pisces`,`Aries`,`Taurus`,`Gemini`,`Cancer`,`Leo`,`Virgo`,`Libra`,`Scorpio`,`Sagittarius`,`Capricorn`]},phone_number:{format:{human:[`!##-!##-####`,`!##-!##-#### x###`,`!##-!##-#### x####`,`!##-!##-#### x#####`,`!##.!##.####`,`!##.!##.#### x###`,`!##.!##.#### x####`,`!##.!##.#### x#####`,`(!##) !##-####`,`(!##) !##-#### x###`,`(!##) !##-#### x####`,`(!##) !##-#### x#####`,`1-!##-!##-####`,`1-!##-!##-#### x###`,`1-!##-!##-#### x####`,`1-!##-!##-#### x#####`],international:[`+1!##!######`],mobile:[`!##!######`],national:[`(!##) !##-####`]}},science:{chemical_element:[{symbol:`H`,name:`Hydrogen`,atomicNumber:1},{symbol:`He`,name:`Helium`,atomicNumber:2},{symbol:`Li`,name:`Lithium`,atomicNumber:3},{symbol:`Be`,name:`Beryllium`,atomicNumber:4},{symbol:`B`,name:`Boron`,atomicNumber:5},{symbol:`C`,name:`Carbon`,atomicNumber:6},{symbol:`N`,name:`Nitrogen`,atomicNumber:7},{symbol:`O`,name:`Oxygen`,atomicNumber:8},{symbol:`F`,name:`Fluorine`,atomicNumber:9},{symbol:`Ne`,name:`Neon`,atomicNumber:10},{symbol:`Na`,name:`Sodium`,atomicNumber:11},{symbol:`Mg`,name:`Magnesium`,atomicNumber:12},{symbol:`Al`,name:`Aluminium`,atomicNumber:13},{symbol:`Si`,name:`Silicon`,atomicNumber:14},{symbol:`P`,name:`Phosphorus`,atomicNumber:15},{symbol:`S`,name:`Sulfur`,atomicNumber:16},{symbol:`Cl`,name:`Chlorine`,atomicNumber:17},{symbol:`Ar`,name:`Argon`,atomicNumber:18},{symbol:`K`,name:`Potassium`,atomicNumber:19},{symbol:`Ca`,name:`Calcium`,atomicNumber:20},{symbol:`Sc`,name:`Scandium`,atomicNumber:21},{symbol:`Ti`,name:`Titanium`,atomicNumber:22},{symbol:`V`,name:`Vanadium`,atomicNumber:23},{symbol:`Cr`,name:`Chromium`,atomicNumber:24},{symbol:`Mn`,name:`Manganese`,atomicNumber:25},{symbol:`Fe`,name:`Iron`,atomicNumber:26},{symbol:`Co`,name:`Cobalt`,atomicNumber:27},{symbol:`Ni`,name:`Nickel`,atomicNumber:28},{symbol:`Cu`,name:`Copper`,atomicNumber:29},{symbol:`Zn`,name:`Zinc`,atomicNumber:30},{symbol:`Ga`,name:`Gallium`,atomicNumber:31},{symbol:`Ge`,name:`Germanium`,atomicNumber:32},{symbol:`As`,name:`Arsenic`,atomicNumber:33},{symbol:`Se`,name:`Selenium`,atomicNumber:34},{symbol:`Br`,name:`Bromine`,atomicNumber:35},{symbol:`Kr`,name:`Krypton`,atomicNumber:36},{symbol:`Rb`,name:`Rubidium`,atomicNumber:37},{symbol:`Sr`,name:`Strontium`,atomicNumber:38},{symbol:`Y`,name:`Yttrium`,atomicNumber:39},{symbol:`Zr`,name:`Zirconium`,atomicNumber:40},{symbol:`Nb`,name:`Niobium`,atomicNumber:41},{symbol:`Mo`,name:`Molybdenum`,atomicNumber:42},{symbol:`Tc`,name:`Technetium`,atomicNumber:43},{symbol:`Ru`,name:`Ruthenium`,atomicNumber:44},{symbol:`Rh`,name:`Rhodium`,atomicNumber:45},{symbol:`Pd`,name:`Palladium`,atomicNumber:46},{symbol:`Ag`,name:`Silver`,atomicNumber:47},{symbol:`Cd`,name:`Cadmium`,atomicNumber:48},{symbol:`In`,name:`Indium`,atomicNumber:49},{symbol:`Sn`,name:`Tin`,atomicNumber:50},{symbol:`Sb`,name:`Antimony`,atomicNumber:51},{symbol:`Te`,name:`Tellurium`,atomicNumber:52},{symbol:`I`,name:`Iodine`,atomicNumber:53},{symbol:`Xe`,name:`Xenon`,atomicNumber:54},{symbol:`Cs`,name:`Caesium`,atomicNumber:55},{symbol:`Ba`,name:`Barium`,atomicNumber:56},{symbol:`La`,name:`Lanthanum`,atomicNumber:57},{symbol:`Ce`,name:`Cerium`,atomicNumber:58},{symbol:`Pr`,name:`Praseodymium`,atomicNumber:59},{symbol:`Nd`,name:`Neodymium`,atomicNumber:60},{symbol:`Pm`,name:`Promethium`,atomicNumber:61},{symbol:`Sm`,name:`Samarium`,atomicNumber:62},{symbol:`Eu`,name:`Europium`,atomicNumber:63},{symbol:`Gd`,name:`Gadolinium`,atomicNumber:64},{symbol:`Tb`,name:`Terbium`,atomicNumber:65},{symbol:`Dy`,name:`Dysprosium`,atomicNumber:66},{symbol:`Ho`,name:`Holmium`,atomicNumber:67},{symbol:`Er`,name:`Erbium`,atomicNumber:68},{symbol:`Tm`,name:`Thulium`,atomicNumber:69},{symbol:`Yb`,name:`Ytterbium`,atomicNumber:70},{symbol:`Lu`,name:`Lutetium`,atomicNumber:71},{symbol:`Hf`,name:`Hafnium`,atomicNumber:72},{symbol:`Ta`,name:`Tantalum`,atomicNumber:73},{symbol:`W`,name:`Tungsten`,atomicNumber:74},{symbol:`Re`,name:`Rhenium`,atomicNumber:75},{symbol:`Os`,name:`Osmium`,atomicNumber:76},{symbol:`Ir`,name:`Iridium`,atomicNumber:77},{symbol:`Pt`,name:`Platinum`,atomicNumber:78},{symbol:`Au`,name:`Gold`,atomicNumber:79},{symbol:`Hg`,name:`Mercury`,atomicNumber:80},{symbol:`Tl`,name:`Thallium`,atomicNumber:81},{symbol:`Pb`,name:`Lead`,atomicNumber:82},{symbol:`Bi`,name:`Bismuth`,atomicNumber:83},{symbol:`Po`,name:`Polonium`,atomicNumber:84},{symbol:`At`,name:`Astatine`,atomicNumber:85},{symbol:`Rn`,name:`Radon`,atomicNumber:86},{symbol:`Fr`,name:`Francium`,atomicNumber:87},{symbol:`Ra`,name:`Radium`,atomicNumber:88},{symbol:`Ac`,name:`Actinium`,atomicNumber:89},{symbol:`Th`,name:`Thorium`,atomicNumber:90},{symbol:`Pa`,name:`Protactinium`,atomicNumber:91},{symbol:`U`,name:`Uranium`,atomicNumber:92},{symbol:`Np`,name:`Neptunium`,atomicNumber:93},{symbol:`Pu`,name:`Plutonium`,atomicNumber:94},{symbol:`Am`,name:`Americium`,atomicNumber:95},{symbol:`Cm`,name:`Curium`,atomicNumber:96},{symbol:`Bk`,name:`Berkelium`,atomicNumber:97},{symbol:`Cf`,name:`Californium`,atomicNumber:98},{symbol:`Es`,name:`Einsteinium`,atomicNumber:99},{symbol:`Fm`,name:`Fermium`,atomicNumber:100},{symbol:`Md`,name:`Mendelevium`,atomicNumber:101},{symbol:`No`,name:`Nobelium`,atomicNumber:102},{symbol:`Lr`,name:`Lawrencium`,atomicNumber:103},{symbol:`Rf`,name:`Rutherfordium`,atomicNumber:104},{symbol:`Db`,name:`Dubnium`,atomicNumber:105},{symbol:`Sg`,name:`Seaborgium`,atomicNumber:106},{symbol:`Bh`,name:`Bohrium`,atomicNumber:107},{symbol:`Hs`,name:`Hassium`,atomicNumber:108},{symbol:`Mt`,name:`Meitnerium`,atomicNumber:109},{symbol:`Ds`,name:`Darmstadtium`,atomicNumber:110},{symbol:`Rg`,name:`Roentgenium`,atomicNumber:111},{symbol:`Cn`,name:`Copernicium`,atomicNumber:112},{symbol:`Nh`,name:`Nihonium`,atomicNumber:113},{symbol:`Fl`,name:`Flerovium`,atomicNumber:114},{symbol:`Mc`,name:`Moscovium`,atomicNumber:115},{symbol:`Lv`,name:`Livermorium`,atomicNumber:116},{symbol:`Ts`,name:`Tennessine`,atomicNumber:117},{symbol:`Og`,name:`Oganesson`,atomicNumber:118}],unit:[{name:`meter`,symbol:`m`},{name:`second`,symbol:`s`},{name:`mole`,symbol:`mol`},{name:`ampere`,symbol:`A`},{name:`kelvin`,symbol:`K`},{name:`candela`,symbol:`cd`},{name:`kilogram`,symbol:`kg`},{name:`radian`,symbol:`rad`},{name:`hertz`,symbol:`Hz`},{name:`newton`,symbol:`N`},{name:`pascal`,symbol:`Pa`},{name:`joule`,symbol:`J`},{name:`watt`,symbol:`W`},{name:`coulomb`,symbol:`C`},{name:`volt`,symbol:`V`},{name:`ohm`,symbol:`Ω`},{name:`tesla`,symbol:`T`},{name:`degree Celsius`,symbol:`°C`},{name:`lumen`,symbol:`lm`},{name:`becquerel`,symbol:`Bq`},{name:`gray`,symbol:`Gy`},{name:`sievert`,symbol:`Sv`},{name:`steradian`,symbol:`sr`},{name:`farad`,symbol:`F`},{name:`siemens`,symbol:`S`},{name:`weber`,symbol:`Wb`},{name:`henry`,symbol:`H`},{name:`lux`,symbol:`lx`},{name:`katal`,symbol:`kat`}]},team:{creature:`ants.bats.bears.bees.birds.buffalo.cats.chickens.cattle.dogs.dolphins.ducks.elephants.fishes.foxes.frogs.geese.goats.horses.kangaroos.lions.monkeys.owls.oxen.penguins.people.pigs.rabbits.sheep.tigers.whales.wolves.zebras.banshees.crows.black cats.chimeras.ghosts.conspirators.dragons.dwarves.elves.enchanters.exorcists.sons.foes.giants.gnomes.goblins.gooses.griffins.lycanthropes.nemesis.ogres.oracles.prophets.sorcerors.spiders.spirits.vampires.warlocks.vixens.werewolves.witches.worshipers.zombies.druids`.split(`.`),name:[`{{location.state}} {{team.creature}}`]},vehicle:{bicycle_type:[`Adventure Road Bicycle`,`BMX Bicycle`,`City Bicycle`,`Cruiser Bicycle`,`Cyclocross Bicycle`,`Dual-Sport Bicycle`,`Fitness Bicycle`,`Flat-Foot Comfort Bicycle`,`Folding Bicycle`,`Hybrid Bicycle`,`Mountain Bicycle`,`Recumbent Bicycle`,`Road Bicycle`,`Tandem Bicycle`,`Touring Bicycle`,`Track/Fixed-Gear Bicycle`,`Triathlon/Time Trial Bicycle`,`Tricycle`],fuel:[`Diesel`,`Electric`,`Gasoline`,`Hybrid`],manufacturer:`Aston Martin.Audi.BMW.BYD.Bentley.Bugatti.Cadillac.Chevrolet.Chrysler.Citroën.Dodge.Ferrari.Fiat.Ford.Honda.Hyundai.Jaguar.Jeep.Kia.Lamborghini.Land Rover.MG.Mahindra & Mahindra.Maruti.Maserati.Mazda.Mercedes Benz.Mini.Mitsubishi.NIO.Nissan.Peugeot.Polestar.Porsche.Renault.Rivian.Rolls Royce.Skoda.Smart.Subaru.Suzuki.Tata.Tesla.Toyota.Vauxhall.Volkswagen.Volvo`.split(`.`),model:`1.2.911.A4.A8.ATS.Accord.Alpine.Altima.Aventador.Beetle.CTS.CX-9.Camaro.Camry.Challenger.Charger.Civic.Colorado.Corvette.Countach.Cruze.Durango.El Camino.Element.Escalade.Expedition.Explorer.F-150.Fiesta.Focus.Fortwo.Golf.Grand Caravan.Grand Cherokee.Impala.Jetta.Land Cruiser.LeBaron.Malibu.Model 3.Model S.Model T.Model X.Model Y.Murcielago.Mustang.PT Cruiser.Prius.Ranchero.Roadster.Sentra.Silverado.Spyder.Taurus.V90.Volt.Wrangler.XC90.XTS`.split(`.`),type:[`Cargo Van`,`Convertible`,`Coupe`,`Crew Cab Pickup`,`Extended Cab Pickup`,`Hatchback`,`Minivan`,`Passenger Van`,`SUV`,`Sedan`,`Wagon`]},word:{adjective:`abandoned.able.acceptable.acclaimed.accomplished.accurate.aching.acidic.actual.admired.adolescent.advanced.affectionate.afraid.aged.aggravating.aggressive.agile.agitated.agreeable.ajar.alarmed.alert.alienated.alive.all.altruistic.amazing.ambitious.ample.amused.angelic.anguished.animated.annual.another.antique.any.apprehensive.appropriate.apt.arid.artistic.ashamed.assured.astonishing.athletic.austere.authentic.authorized.avaricious.average.aware.awesome.awful.babyish.back.bad.baggy.bare.basic.beloved.beneficial.best.better.big.biodegradable.bitter.black.black-and-white.blank.blaring.bleak.blind.blond.blue.blushing.bogus.boiling.bony.boring.bossy.both.bouncy.bowed.brave.breakable.bright.brilliant.brisk.broken.brown.bruised.bulky.burdensome.burly.bustling.busy.buttery.buzzing.calculating.candid.carefree.careless.caring.cautious.cavernous.celebrated.charming.cheap.cheerful.chilly.chubby.circular.classic.clean.clear.clear-cut.close.closed.cloudy.clueless.clumsy.cluttered.coarse.colorful.colorless.colossal.comfortable.common.compassionate.competent.complete.complicated.concerned.concrete.confused.considerate.content.cool.cooperative.coordinated.corny.corrupt.courageous.courteous.crafty.crazy.creamy.creative.criminal.critical.crooked.crowded.cruel.crushing.cuddly.cultivated.cumbersome.curly.cute.damaged.damp.dapper.dark.darling.dazzling.dead.deadly.deafening.dearest.decent.decisive.deep.defenseless.defensive.deficient.definite.definitive.delectable.delicious.delirious.dense.dental.dependable.dependent.descriptive.deserted.determined.devoted.different.difficult.digital.diligent.dim.direct.dirty.discrete.disloyal.dismal.distant.distinct.distorted.doting.downright.drab.dramatic.dreary.dual.dull.dutiful.each.early.earnest.easy.ecstatic.edible.educated.elastic.elderly.electric.elegant.elementary.elliptical.eminent.emotional.empty.enchanted.enchanting.energetic.enlightened.enraged.entire.equatorial.essential.esteemed.ethical.everlasting.every.evil.exalted.excellent.excitable.excited.exhausted.exotic.expensive.experienced.expert.extra-large.extroverted.failing.faint.fair.fake.familiar.fantastic.far.far-flung.far-off.faraway.fat.fatal.fatherly.favorable.favorite.fearless.feline.filthy.fine.finished.firm.first.firsthand.fixed.flashy.flawed.flawless.flickering.flimsy.flowery.fluffy.flustered.focused.fond.foolhardy.foolish.forceful.formal.forsaken.fortunate.fragrant.frail.frank.free.french.frequent.friendly.frightened.frilly.frivolous.frizzy.front.frozen.frugal.fruitful.functional.funny.fussy.fuzzy.gaseous.general.gentle.genuine.gifted.gigantic.giving.glaring.glass.gleaming.glittering.gloomy.glorious.glossy.glum.golden.good.good-natured.gorgeous.graceful.gracious.grandiose.granular.grave.gray.great.greedy.grim.grimy.gripping.grizzled.grouchy.grounded.growing.grown.grubby.gruesome.grumpy.guilty.gullible.gummy.hairy.handsome.handy.happy.happy-go-lucky.hard-to-find.harmful.hasty.hateful.haunting.heartfelt.heavenly.heavy.hefty.helpful.helpless.hidden.hoarse.hollow.homely.honorable.honored.hopeful.hospitable.hot.huge.humble.humiliating.hungry.hurtful.husky.icy.ideal.idealistic.idolized.ignorant.ill.ill-fated.illiterate.illustrious.imaginary.imaginative.immaculate.immediate.immense.impartial.impassioned.impeccable.impish.impolite.important.impossible.impractical.impressionable.impressive.improbable.impure.inborn.incomparable.incomplete.inconsequential.indelible.indolent.inexperienced.infamous.infatuated.inferior.infinite.informal.innocent.insecure.insidious.insignificant.insistent.instructive.intelligent.intent.interesting.internal.international.intrepid.ironclad.irresponsible.jagged.jam-packed.jaunty.jealous.jittery.joyful.joyous.jubilant.judicious.juicy.jumbo.junior.juvenile.kaleidoscopic.key.knotty.knowledgeable.known.kooky.kosher.lanky.last.lasting.late.lavish.lawful.lazy.leading.lean.left.legal.light.lighthearted.likable.likely.limited.limp.limping.linear.lined.liquid.little.live.lively.livid.lone.lonely.long.long-term.lost.lovable.lovely.low.lucky.lumbering.lumpy.lustrous.mad.made-up.magnificent.majestic.major.male.mammoth.married.marvelous.massive.mature.meager.mealy.mean.measly.meaty.mediocre.medium.memorable.menacing.merry.messy.metallic.mild.milky.mindless.minor.minty.miserable.miserly.misguided.mixed.moist.monstrous.monthly.monumental.moral.motionless.muddy.muffled.multicolored.mundane.murky.mushy.musty.muted.mysterious.narrow.natural.naughty.nautical.near.neat.necessary.needy.negative.neglected.negligible.neighboring.nervous.new.next.nice.nifty.nimble.nippy.nocturnal.normal.noted.noteworthy.noxious.numb.nutritious.obedient.oblong.obvious.odd.oddball.official.oily.old.old-fashioned.only.optimal.optimistic.orange.orderly.ordinary.ornate.ornery.other.our.outgoing.outlandish.outlying.outrageous.outstanding.oval.overcooked.overdue.palatable.pale.paltry.parallel.parched.partial.passionate.pastel.peaceful.peppery.perfumed.perky.personal.pertinent.pessimistic.petty.phony.physical.pink.pitiful.plain.pleasant.pleased.pleasing.plump.pointed.pointless.polished.polite.political.poor.portly.posh.possible.potable.powerful.powerless.practical.precious.present.prestigious.pretty.pricey.prickly.primary.prime.private.probable.productive.profitable.profuse.proper.proud.prudent.punctual.puny.pure.purple.pushy.putrid.puzzled.qualified.quarrelsome.quarterly.queasy.querulous.questionable.quick.quick-witted.quiet.quintessential.quixotic.radiant.ragged.rapid.rare.raw.realistic.reasonable.recent.reckless.rectangular.red.reflecting.regal.regular.remarkable.remorseful.repentant.respectful.responsible.rewarding.rich.right.rigid.ripe.roasted.robust.rosy.rotating.rotten.rough.round.rowdy.royal.rubbery.ruddy.rundown.runny.rural.rusty.sad.salty.same.sandy.sarcastic.sardonic.scaly.scared.scary.scented.scientific.scornful.scratchy.second.second-hand.secondary.secret.self-assured.self-reliant.selfish.sentimental.separate.serene.serpentine.severe.shabby.shadowy.shady.shallow.shameful.shameless.shimmering.shiny.shocked.shoddy.short.short-term.showy.shrill.shy.sick.silent.silky.silver.similar.simple.simplistic.sinful.sizzling.skeletal.sleepy.slight.slimy.slow.slushy.small.smart.smoggy.smooth.smug.snappy.snarling.sneaky.sniveling.snoopy.sociable.soft.soggy.somber.some.sophisticated.sore.sorrowful.soulful.soupy.sour.spanish.sparkling.sparse.specific.speedy.spherical.spiffy.spirited.spiteful.splendid.spotless.square.squeaky.squiggly.stable.staid.stained.stale.standard.stark.steel.steep.sticky.stiff.stingy.stormy.straight.strange.strict.strident.striking.strong.stunning.stupendous.sturdy.stylish.subdued.submissive.substantial.subtle.suburban.sudden.sugary.sunny.super.superb.superficial.superior.supportive.sure-footed.surprised.svelte.sweet.swift.talkative.tall.tame.tangible.tasty.tattered.taut.tedious.teeming.tempting.tender.tense.tepid.terrible.that.these.thick.thin.thorny.thorough.those.thrifty.tidy.tight.timely.tinted.tiny.tired.torn.total.tough.tragic.trained.triangular.tricky.trim.trivial.troubled.true.trusting.trustworthy.trusty.turbulent.twin.ugly.ultimate.unaware.uncomfortable.uncommon.unconscious.understated.uneven.unfinished.unfit.unfortunate.unhappy.unhealthy.uniform.unimportant.unique.unkempt.unknown.unlawful.unlined.unlucky.unpleasant.unrealistic.unripe.unruly.unselfish.unsightly.unsteady.unsung.untidy.untimely.untried.untrue.unused.unusual.unwelcome.unwieldy.unwilling.unwritten.upbeat.upright.upset.urban.usable.useless.utilized.utter.vague.vain.valuable.variable.vast.velvety.vengeful.vibrant.victorious.violent.vivacious.vivid.voluminous.warlike.warm.warmhearted.warped.wasteful.waterlogged.watery.wavy.wealthy.weary.webbed.wee.weekly.weighty.weird.well-documented.well-groomed.well-lit.well-made.well-off.well-to-do.well-worn.which.whimsical.whirlwind.whispered.white.whole.whopping.wicked.wide.wide-eyed.wiggly.willing.wilted.winding.windy.winged.wise.witty.wobbly.woeful.wonderful.wordy.worldly.worse.worst.worthless.worthwhile.worthy.wrathful.wretched.writhing.wrong.wry.yearly.yellow.yellowish.young.youthful.yummy.zany.zealous.zesty`.split(`.`),adverb:`abnormally.absentmindedly.accidentally.acidly.actually.adventurously.afterwards.almost.always.angrily.annually.anxiously.arrogantly.awkwardly.badly.bashfully.beautifully.bitterly.bleakly.blindly.blissfully.boastfully.boldly.bravely.briefly.brightly.briskly.broadly.busily.calmly.carefully.carelessly.cautiously.certainly.cheerfully.clearly.cleverly.closely.coaxingly.colorfully.commonly.continually.coolly.correctly.courageously.crossly.cruelly.curiously.daily.daintily.dearly.deceivingly.deeply.defiantly.deliberately.delightfully.diligently.dimly.doubtfully.dreamily.easily.elegantly.energetically.enormously.enthusiastically.equally.especially.even.evenly.eventually.exactly.excitedly.extremely.fairly.faithfully.famously.far.fast.fatally.ferociously.fervently.fiercely.fondly.foolishly.fortunately.frankly.frantically.freely.frenetically.frightfully.fully.furiously.generally.generously.gently.gladly.gleefully.gracefully.gratefully.greatly.greedily.happily.hastily.healthily.heavily.helpfully.helplessly.highly.honestly.hopelessly.hourly.hungrily.immediately.innocently.inquisitively.instantly.intensely.intently.interestingly.inwardly.irritably.jaggedly.jealously.joshingly.jovially.joyfully.joyously.jubilantly.judgementally.justly.keenly.kiddingly.kindheartedly.kindly.kissingly.knavishly.knottily.knowingly.knowledgeably.kookily.lazily.less.lightly.likely.limply.lively.loftily.longingly.loosely.loudly.lovingly.loyally.madly.majestically.meaningfully.mechanically.merrily.miserably.mockingly.monthly.more.mortally.mostly.mysteriously.naturally.nearly.neatly.needily.nervously.never.nicely.noisily.not.obediently.obnoxiously.oddly.offensively.officially.often.only.openly.optimistically.overconfidently.owlishly.painfully.partially.patiently.perfectly.physically.playfully.politely.poorly.positively.potentially.powerfully.promptly.properly.punctually.quaintly.quarrelsomely.queasily.questionably.questioningly.quicker.quickly.quietly.quirkily.quizzically.rapidly.rarely.readily.really.reassuringly.recklessly.regularly.reluctantly.repeatedly.reproachfully.restfully.righteously.rightfully.rigidly.roughly.rudely.sadly.safely.scarcely.scarily.searchingly.sedately.seemingly.seldom.selfishly.separately.seriously.shakily.sharply.sheepishly.shrilly.shyly.silently.sleepily.slowly.smoothly.softly.solemnly.solidly.sometimes.soon.speedily.stealthily.sternly.strictly.successfully.suddenly.surprisingly.suspiciously.sweetly.swiftly.sympathetically.tenderly.tensely.terribly.thankfully.thoroughly.thoughtfully.tightly.tomorrow.too.tremendously.triumphantly.truly.truthfully.ultimately.unabashedly.unaccountably.unbearably.unethically.unexpectedly.unfortunately.unimpressively.unnaturally.unnecessarily.upbeat.upliftingly.upright.upside-down.upward.upwardly.urgently.usefully.uselessly.usually.utterly.vacantly.vaguely.vainly.valiantly.vastly.verbally.very.viciously.victoriously.violently.vivaciously.voluntarily.warmly.weakly.wearily.well.wetly.wholly.wildly.willfully.wisely.woefully.wonderfully.worriedly.wrongly.yawningly.yearly.yearningly.yesterday.yieldingly.youthfully`.split(`.`),conjunction:`after.although.and.as.because.before.but.consequently.even.finally.for.furthermore.hence.how.however.if.inasmuch.incidentally.indeed.instead.lest.likewise.meanwhile.nor.now.once.or.provided.since.so.supposing.than.that.though.till.unless.until.what.when.whenever.where.whereas.wherever.whether.which.while.who.whoever.whose.why.yet`.split(`.`),interjection:`yuck.oh.phooey.blah.boo.whoa.yowza.huzzah.boohoo.fooey.geez.pfft.ew.ah.yum.brr.hm.yahoo.aha.woot.drat.gah.meh.psst.aw.ugh.yippee.eek.gee.bah.gadzooks.duh.ha.mmm.ouch.phew.ack.uh-huh.gosh.hmph.pish.zowie.er.ick.oof.um`.split(`.`),noun:`CD.SUV.abacus.academics.accelerator.accompanist.account.accountability.acquaintance.ad.adaptation.address.adrenalin.adult.advancement.advertisement.adviser.affect.affiliate.aftermath.agreement.airbus.aircraft.airline.airmail.airman.airport.alb.alert.allegation.alliance.alligator.allocation.almighty.amendment.amnesty.analogy.angle.annual.antelope.anticodon.apparatus.appliance.approach.apricot.arcade.archaeology.armchair.armoire.asset.assist.atrium.attraction.availability.avalanche.awareness.babushka.backbone.backburn.bakeware.bandwidth.bar.barge.baritone.barracks.baseboard.basket.bathhouse.bathrobe.battle.begonia.behest.bell.bench.bend.beret.best-seller.bid.bidet.bin.birdbath.birdcage.birth.blight.blossom.blowgun.bob.bog.bonfire.bonnet.bookcase.bookend.boulevard.bourgeoisie.bowler.bowling.boyfriend.brace.bracelet.bran.breastplate.brief.brochure.brook.brush.bug.bump.bungalow.cafe.cake.calculus.cannon.cantaloupe.cap.cappelletti.captain.caption.carboxyl.cardboard.carnival.case.casement.cash.casket.cassava.castanet.catalyst.cauliflower.cellar.celsius.cemetery.ceramic.ceramics.certification.chainstay.chairperson.challenge.championship.chap.chapel.character.characterization.charlatan.charm.chasuble.cheese.cheetah.chiffonier.chops.chow.cinder.cinema.circumference.citizen.clamp.clavicle.cleaner.climb.co-producer.coal.coast.cod.coil.coin.coliseum.collaboration.collectivization.colon.colonialism.comestible.commercial.commodity.community.comparison.completion.complication.compromise.concentration.configuration.confusion.conservation.conservative.consistency.contractor.contrail.convection.conversation.cook.coordination.cop-out.cope.cork.cornet.corporation.corral.cosset.costume.couch.council.councilman.countess.courtroom.cow.creator.creature.crest.cricket.crocodile.cross-contamination.cruelty.cuckoo.curl.custody.custom.cutlet.cutover.cycle.daddy.dandelion.dash.daughter.dead.decision.deck.declaration.decongestant.decryption.deduction.deed.deer.defendant.density.department.dependency.deployment.depot.derby.descendant.descent.design.designation.desk.detective.devastation.developing.developmental.devil.diagram.digestive.digit.dime.director.disadvantage.disappointment.disclosure.disconnection.discourse.dish.disk.disposer.distinction.diver.diversity.dividend.divine.doing.doorpost.doubter.draft.draw.dream.dredger.dress.drive.drug.duffel.dulcimer.dusk.duster.dwell.e-mail.earth.ecliptic.ectoderm.edge.editor.effector.eggplant.electronics.elevation.elevator.elver.embarrassment.embossing.emergent.encouragement.entry.epic.equal.essence.eternity.ethyl.euphonium.event.exasperation.excess.executor.exhaust.expansion.expense.experience.exploration.extension.extent.exterior.eyebrow.eyeliner.farm.farmer.fat.fax.feather.fedora.fellow.fen.fencing.ferret.festival.fibre.filter.final.finding.finer.finger.fireplace.fisherman.fishery.fit.flame.flat.fledgling.flight.flint.flood.flu.fog.fold.folklore.follower.following.foodstuffs.footrest.forage.forager.forgery.fork.formamide.formation.formula.fort.fowl.fraudster.freckle.freezing.freight.fuel.fun.fund.fundraising.futon.gallery.galoshes.gastropod.gazebo.gerbil.ghost.giant.gift.giggle.glider.gloom.goat.godfather.godparent.going.goodwill.governance.government.gown.gradient.graffiti.grandpa.grandson.granny.grass.gray.gripper.grouper.guacamole.guard.guidance.guide.gym.gymnast.habit.haircut.halt.hamburger.hammock.handful.handle.handover.harp.haversack.hawk.heartache.heartbeat.heating.hello.help.hepatitis.heroine.hexagon.hierarchy.hippodrome.honesty.hoof.hope.horde.hornet.horst.hose.hospitalization.hovel.hovercraft.hubris.humidity.humor.hundred.hunger.hunt.husband.hutch.hydrant.hydrocarbon.hydrolyse.hydrolyze.hyena.hygienic.hyphenation.ice-cream.icebreaker.igloo.ignorance.illusion.impact.import.importance.impostor.in-joke.incandescence.independence.individual.information.injunction.innovation.insolence.inspection.instance.institute.instruction.instructor.integer.intellect.intent.interchange.interior.intervention.interviewer.invite.iridescence.issue.jacket.jazz.jellyfish.jet.jogging.joy.juggernaut.jump.jungle.junior.jury.kettledrum.kick.kielbasa.kinase.king.kiss.kit.knickers.knight.knitting.knuckle.label.labourer.lace.lady.lamp.language.larva.lashes.laughter.lava.lawmaker.lay.leading.league.legend.legging.legislature.lender.license.lid.lieu.lifestyle.lift.linseed.litter.loaf.lobster.longboat.lotion.lounge.louse.lox.loyalty.luck.lyre.maestro.mainstream.maintainer.majority.makeover.making.mallard.management.manner.mantua.marathon.march.marimba.marketplace.marksman.markup.marten.massage.masterpiece.mathematics.meadow.meal.meander.meatloaf.mechanic.median.membership.mentor.merit.metabolite.metal.middle.midwife.milestone.millet.minion.minister.minor.minority.mixture.mobility.molasses.mom.moment.monasticism.monocle.monster.morbidity.morning.mortise.mountain.mouser.mousse.mozzarella.muscat.mythology.napkin.necklace.nectarine.negotiation.nephew.nerve.netsuke.newsletter.newsprint.newsstand.nightlife.noon.nougat.nucleotidase.nudge.numeracy.numeric.nun.obedience.obesity.object.obligation.ocelot.octave.offset.oil.omelet.onset.opera.operating.optimal.orchid.order.ostrich.other.outlaw.outrun.outset.overcoat.overheard.overload.ownership.pacemaker.packaging.paintwork.palate.pants.pantyhose.papa.parade.parsnip.partridge.passport.pasta.patroller.pear.pearl.pecan.pendant.peninsula.pension.peony.pepper.perfection.permafrost.perp.petal.petticoat.pharmacopoeia.phrase.pick.piglet.pigpen.pigsty.pile.pillbox.pillow.pilot.pine.pinstripe.place.plain.planula.plastic.platter.platypus.pleasure.pliers.plugin.plumber.pneumonia.pocket-watch.poetry.polarisation.polyester.pomelo.pop.poppy.popularity.populist.porter.possession.postbox.precedent.premeditation.premier.premise.premium.pressure.presume.priesthood.printer.privilege.procurement.produce.programme.prohibition.promise.pronoun.providence.provider.provision.publication.publicity.pulse.punctuation.pupil.puppet.puritan.quart.quinoa.quit.railway.range.rationale.ravioli.rawhide.reach.reasoning.reboot.receptor.recommendation.reconsideration.recovery.redesign.relative.release.remark.reorganisation.repeat.replacement.reporter.representation.republican.request.requirement.reservation.resolve.resource.responsibility.restaurant.retention.retrospectivity.reward.ribbon.rim.riser.roadway.role.rosemary.roundabout.rubric.ruin.rule.runway.rust.safe.sailor.saloon.sand.sandbar.sanity.sarong.sauerkraut.saw.scaffold.scale.scarification.scenario.schedule.schnitzel.scholarship.scorn.scorpion.scout.scrap.scratch.seafood.seagull.seal.season.secrecy.secret.section.sediment.self-confidence.sermon.sesame.settler.shadowbox.shark.shipper.shore.shoulder.sideboard.siege.sightseeing.signature.silk.simple.singing.skean.skeleton.skyline.skyscraper.slide.slime.slipper.smog.smoke.sock.soliloquy.solution.solvency.someplace.sonar.sonata.sonnet.soup.soybean.space.spear.spirit.spork.sport.spring.sprinkles.squid.stall.starboard.statue.status.stay.steak.steeple.step.step-mother.sticker.stir-fry.stitcher.stock.stool.story.strait.stranger.strategy.straw.stump.subexpression.submitter.subsidy.substitution.suitcase.summary.summer.sunbeam.sundae.supplier.surface.sushi.suspension.sustenance.swanling.swath.sweatshop.swim.swine.swing.switch.switchboard.swordfish.synergy.t-shirt.tabletop.tackle.tail.tapioca.taro.tarragon.taxicab.teammate.technician.technologist.tectonics.tenant.tenement.tennis.tentacle.teriyaki.term.testimonial.testing.thigh.thongs.thorn.thread.thunderbolt.thyme.tinderbox.toaster.tomatillo.tomb.tomography.tool.tooth.toothbrush.toothpick.topsail.traditionalism.traffic.translation.transom.transparency.trash.travel.tray.trench.tribe.tributary.trick.trolley.tuba.tuber.tune-up.turret.tusk.tuxedo.typeface.typewriter.unblinking.underneath.underpants.understanding.unibody.unique.unit.utilization.valentine.validity.valley.valuable.vanadyl.vein.velocity.venom.version.verve.vestment.veto.viability.vibraphone.vibration.vicinity.video.violin.vision.vista.vol.volleyball.wafer.waist.wallaby.warming.wasabi.waterspout.wear.wedding.whack.whale.wheel.widow.wilderness.willow.window.wombat.word.worth.wriggler.yak.yarmulke.yeast.yin.yogurt.zebra.zen`.split(`.`),preposition:`a.abaft.aboard.about.above.absent.across.afore.after.against.along.alongside.amid.amidst.among.amongst.an.anenst.anti.apropos.apud.around.as.aside.astride.at.athwart.atop.barring.before.behind.below.beneath.beside.besides.between.beyond.but.by.circa.concerning.considering.despite.down.during.except.excepting.excluding.failing.following.for.forenenst.from.given.in.including.inside.into.lest.like.mid.midst.minus.modulo.near.next.notwithstanding.of.off.on.onto.opposite.out.outside.over.pace.past.per.plus.pro.qua.regarding.round.sans.save.since.than.the.through.throughout.till.times.to.toward.towards.under.underneath.unlike.until.unto.up.upon.versus.via.vice.with.within.without.worth`.split(`.`),verb:`abnegate.abscond.abseil.absolve.accentuate.accept.access.accessorise.accompany.account.accredit.achieve.acknowledge.acquire.adjourn.adjudge.admonish.adumbrate.advocate.afford.airbrush.ameliorate.amend.amount.anaesthetise.analyse.anesthetize.anneal.annex.antagonize.ape.apologise.apostrophize.appertain.appreciate.appropriate.approximate.arbitrate.archive.arraign.arrange.ascertain.ascribe.assail.atomize.attend.attest.attribute.augment.avow.axe.baa.banish.bank.baptise.battle.beard.beep.behold.belabor.bemuse.besmirch.bestride.better.bewail.bicycle.bide.bind.biodegrade.blacken.blaspheme.bleach.blend.blink.bliss.bloom.bludgeon.bobble.boggle.bolster.book.boom.bootleg.border.bore.boss.braid.brand.brandish.break.breed.broadcast.broadside.brood.browse.buck.burgeon.bus.butter.buzzing.camouflage.cannibalise.canter.cap.capitalise.capitalize.capsize.card.carouse.carp.carpool.catalog.catalyze.catch.categorise.cease.celebrate.censor.certify.char.charter.chase.chatter.chime.chip.christen.chromakey.chunder.chunter.cinch.circle.circulate.circumnavigate.clamor.clamour.claw.cleave.clinch.clinking.clone.clonk.coagulate.coexist.coincide.collaborate.colligate.colorize.colour.comb.come.commandeer.commemorate.communicate.compete.conceal.conceptualize.conclude.concrete.condense.cone.confide.confirm.confiscate.confound.confute.congregate.conjecture.connect.consign.construe.contradict.contrast.contravene.controvert.convalesce.converse.convince.convoke.coop.cop.corner.covenant.cow.crackle.cram.crank.creak.creaking.cripple.croon.cross.crumble.crystallize.culminate.culture.curry.curse.customise.cycle.dally.dampen.darn.debit.debut.decide.decode.decouple.decriminalize.deduce.deduct.deflate.deflect.deform.defrag.degenerate.degrease.delete.delight.deliquesce.demob.demobilise.democratize.demonstrate.denitrify.deny.depart.depend.deplore.deploy.deprave.depute.dereference.describe.desecrate.deselect.destock.detain.develop.devise.dial.dicker.digitize.dilate.disapprove.disarm.disbar.discontinue.disgorge.dishearten.dishonor.disinherit.dislocate.dispense.display.dispose.disrespect.dissemble.ditch.divert.dock.doodle.downchange.downshift.dowse.draft.drag.drain.dramatize.drowse.drum.dwell.economise.edge.efface.egg.eke.electrify.embalm.embed.embody.emboss.emerge.emphasise.emphasize.emulsify.encode.endow.enfold.engage.engender.enhance.enlist.enrage.enrich.enroll.entice.entomb.entrench.entwine.equate.essay.etch.eulogise.even.evince.exacerbate.exaggerate.exalt.exempt.exonerate.expatiate.explode.expostulate.extract.extricate.eyeglasses.fabricate.facilitate.factorise.factorize.fail.fall.familiarize.fashion.father.fathom.fax.federate.feminize.fence.fess.fictionalize.fiddle.fidget.fill.flash.fleck.flight.floodlight.floss.fluctuate.fluff.fly.focalise.foot.forearm.forecast.foretell.forgather.forgo.fork.form.forswear.founder.fraternise.fray.frizz.fumigate.function.furlough.fuss.gad.gallivant.galvanize.gape.garage.garrote.gasp.gestate.give.glimmer.glisten.gloat.gloss.glow.gnash.gnaw.goose.govern.grade.graduate.graft.grok.guest.guilt.gulp.gum.gurn.gust.gut.guzzle.ham.harangue.harvest.hassle.haul.haze.headline.hearten.heighten.highlight.hoick.hold.hole.hollow.holster.home.homeschool.hoot.horn.horse.hotfoot.house.hover.howl.huddle.huff.hunger.hunt.husk.hype.hypothesise.hypothesize.idle.ignite.imagineer.impact.impanel.implode.incinerate.incline.inculcate.industrialize.ingratiate.inhibit.inject.innovate.inscribe.insert.insist.inspect.institute.institutionalize.intend.intermarry.intermesh.intermix.internalise.internalize.internationalize.intrigue.inure.inveigle.inventory.investigate.irk.iterate.jaywalk.jell.jeopardise.jiggle.jive.joint.jot.jut.keel.knife.knit.know.kowtow.lack.lampoon.large.leap.lecture.legitimize.lend.libel.liberalize.license.ligate.list.lobotomise.lock.log.loose.low.lowball.machine.magnetize.major.make.malfunction.manage.manipulate.maroon.masculinize.mash.mask.masquerade.massage.masticate.materialise.matter.maul.memorise.merge.mesh.metabolise.microblog.microchip.micromanage.militate.mill.minister.minor.misappropriate.miscalculate.misfire.misjudge.miskey.mismatch.mispronounce.misread.misreport.misspend.mob.mobilise.mobilize.moisten.mooch.moor.moralise.mortar.mosh.mothball.motivate.motor.mould.mount.muddy.mummify.mutate.mystify.nab.narrate.narrowcast.nasalise.nauseate.navigate.neaten.neck.neglect.norm.notarize.object.obscure.observe.obsess.obstruct.obtrude.offend.offset.option.orchestrate.orient.orientate.outbid.outdo.outfit.outflank.outfox.outnumber.outrank.outrun.outsource.overburden.overcharge.overcook.overdub.overfeed.overload.overplay.overproduce.overreact.override.overspend.overstay.overtrain.overvalue.overwork.own.oxidise.oxidize.oxygenate.pace.pack.pale.pant.paralyse.parody.part.pause.pave.penalise.persecute.personalise.perspire.pertain.peter.pike.pillory.pinion.pip.pity.pivot.pixellate.plagiarise.plait.plan.please.pluck.ponder.popularize.portray.prance.preclude.preheat.prejudge.preregister.presell.preside.pretend.print.prioritize.probate.probe.proceed.procrastinate.profane.progress.proliferate.proofread.propound.proselytise.provision.pry.publicize.puff.pull.pulp.pulverize.purse.put.putrefy.quadruple.quaff.quantify.quarrel.quash.quaver.question.quiet.quintuple.quip.quit.rag.rally.ramp.randomize.rationalise.rationalize.ravage.ravel.react.readies.readjust.readmit.ready.reapply.rear.reassemble.rebel.reboot.reborn.rebound.rebuff.rebuild.rebuke.recede.reckon.reclassify.recompense.reconstitute.record.recount.redact.redevelop.redound.redraw.redress.reel.refer.reference.refine.reflate.refute.regulate.reiterate.rejigger.rejoin.rekindle.relaunch.relieve.remand.remark.reopen.reorient.replicate.repossess.represent.reprimand.reproach.reprove.repurpose.requite.reschedule.resort.respray.restructure.retool.retract.revere.revitalise.revoke.reword.rewrite.ride.ridge.rim.ring.rise.rival.roger.rosin.rot.rout.row.rue.rule.safeguard.sashay.sate.satirise.satirize.satisfy.saturate.savour.scale.scamper.scar.scare.scarper.scent.schematise.scheme.schlep.scoff.scoop.scope.scotch.scowl.scrabble.scram.scramble.scrape.screw.scruple.scrutinise.scuffle.scuttle.search.secularize.see.segregate.sell.sense.sensitize.sequester.serenade.serialize.serve.service.settle.sew.shaft.sham.shampoo.shanghai.shear.sheathe.shell.shinny.shirk.shoot.shoulder.shout.shovel.showboat.shred.shrill.shudder.shush.sidetrack.sign.silt.sin.singe.sit.sizzle.skateboard.ski.slake.slap.slather.sleet.slink.slip.slope.slump.smarten.smuggle.snack.sneak.sniff.snoop.snow.snowplow.snuggle.soap.solace.solder.solicit.source.spark.spattering.spectacles.spectate.spellcheck.spew.spice.spirit.splash.splay.split.splosh.splurge.spook.square.squirm.stabilise.stable.stack.stage.stake.starch.state.statement.stiffen.stigmatize.sting.stint.stoop.store.storyboard.stratify.structure.stuff.stunt.substantiate.subtract.suckle.suffice.suffocate.summarise.sun.sunbathe.sunder.sup.surge.surprise.swat.swathe.sway.swear.swelter.swerve.swill.swing.symbolise.synthesise.syringe.table.tabulate.tag.tame.tank.tankful.tarry.task.taxicab.team.telescope.tenant.terraform.terrorise.testify.think.throbbing.thump.tighten.toady.toe.tough.tousle.traduce.train.transcend.transplant.trash.treasure.treble.trek.trial.tromp.trouser.trust.tune.tut.twine.twist.typify.unbalance.uncork.uncover.underachieve.undergo.underplay.unearth.unfreeze.unfurl.unlearn.unscramble.unzip.uproot.upsell.usher.vacation.vamoose.vanish.vary.veg.venture.verify.vet.veto.volunteer.vulgarise.waft.wallop.waltz.warp.wash.waver.weary.weatherize.wedge.weep.weight.welcome.westernise.westernize.while.whine.whisper.whistle.whitewash.whup.wilt.wing.wire.wisecrack.wolf.wound.wring.writ.yak.yawn.yearn.yuppify`.split(`.`)}};export{e as t};","import{n as e,t}from\"../base-BpJm8uRb.js\";import{t as n}from\"../en-Blck6vH3.js\";const r=new e({locale:[n,t]});export{r as faker};","//@@import { RedisTestRunStore } from './../redisTestRunStore.js'\nimport { faker } from \"@faker-js/faker\";\nimport { IResourceDataGenerator, IFakerNameTuple } from \"./commonTypes.js\";\n\nexport class ResourceDataGenerator implements IResourceDataGenerator {\n #randomNameList: Record<string, IFakerNameTuple> = {};\n\n //@@protected _store?: RedisTestRunStore;\n\n constructor() {\n faker.seed(123);\n }\n\n //@@\n /*\n GetStore = async (): Promise<RedisTestRunStore> => {\n if (!this._store) {\n this._store = new RedisTestRunStore({\n redisUrl: this.Options!.userData.redisStoreConnection, // 'redis://:60jQ45jS7J4uprhpm7K3@<endpoint>:6379',\n keyPrefix: 'testrun',\n defaultTtlSeconds: 3600,\n batchSize: 1000,\n maxDeleteBatchSize: 1000,\n });\n }\n await this._store.ensureConnected();\n return this._store;\n }\n */\n\n GetFakerName = (index: number): IFakerNameTuple => {\n if (this.#randomNameList[index.toString()]) {\n return this.#randomNameList[index.toString()];\n }\n const fakerNameTuple: IFakerNameTuple = {\n firstName: faker.person.firstName(),\n lastName: faker.person.lastName(),\n };\n this.#randomNameList[index.toString()] = fakerNameTuple;\n\n return this.#randomNameList[index.toString()];\n };\n}\n","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n","import { Sleep } from \"@nsshunt/stsutils\";\n\nexport class LockHelper {\n private _onHoldKeys: Record<string, boolean> = {};\n\n GetOnHold = (holdKey: string): boolean => {\n if (this._onHoldKeys[holdKey]) {\n return true;\n }\n return false;\n };\n\n WaitOnHold = async (holdKey: string, timeout: number): Promise<boolean> => {\n const start = performance.now();\n for (;;) {\n if (this._onHoldKeys[holdKey]) {\n await Sleep(100);\n } else {\n break;\n }\n if (performance.now() - start > timeout) {\n throw new Error(\n `WorkerFhirTestCases:WaitOnHold(): Timeout: [${timeout}] reached.`\n );\n }\n }\n return true;\n };\n\n SetOnHold = (holdKey: string) => {\n this._onHoldKeys[holdKey] = true;\n };\n\n ReleaseOnHold = (holdKey: string) => {\n delete this._onHoldKeys[holdKey];\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0, @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport {\n ISTSLogger,\n STSAxiosConfig,\n IAgentManager,\n IAgentOptions,\n createAgentManager,\n} from \"@nsshunt/stsutils\";\n\nimport { createRetryAxiosClient } from \"@nsshunt/stsfhirclient\";\n\nimport chalk from \"chalk\";\n\nimport { IAuthOptions, ITestingAgentOptions } from \"./../commonTypes.js\";\n\nimport http from \"node:http\";\nimport https from \"node:https\";\n\nimport { TinyEmitter } from \"tiny-emitter\";\nimport { LockHelper } from \"./lockHelper.js\";\n\nexport interface IGetAPITokenFromAuthServerUsingScopeOptions {\n clientId: string;\n authClientSecret: string;\n scope: string;\n endPoint: string;\n}\n\nexport interface IAuthHelperOptions {\n logger: ISTSLogger;\n authOptions: IAuthOptions;\n}\n\nexport class AuthHelper extends TinyEmitter {\n private _options: IAuthHelperOptions;\n private _id: string = crypto.randomUUID();\n private _lockHelper: LockHelper = new LockHelper();\n\n #accesssToken: string | null = null;\n private _authMaxTimeout: number = 5000;\n #originRegex = /^(api:\\/\\/\\w+)/;\n #authAgentManager: IAgentManager | undefined;\n\n protected logPrefix = `WorkerFhirTestCases:[${this._id}]:`;\n\n constructor(options: IAuthHelperOptions) {\n super();\n this._options = options;\n this.#authAgentManager = this.GetAuthAgentManager();\n }\n\n Warning = (message: any) => {\n this._options.logger.warn(`${this.logPrefix}${message}`);\n };\n\n Error = (message: any) => {\n this._options.logger.error(`${this.logPrefix}${message}`);\n };\n\n Debug = (message: any) => {\n this._options.logger.debug(`${this.logPrefix}${message}`);\n };\n\n get id(): string {\n return this._id;\n }\n\n protected defaultAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 10, // Maximum concurrent active sockets per host.\n maxTotalSockets: 20, // Maximum total active sockets across all hosts.\n maxFreeSockets: 10, // Idle keepalive sockets retained for reuse.\n\n timeout: 60000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected stressTestAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 200, // Maximum concurrent active sockets per host.\n maxTotalSockets: 500, // Maximum total active sockets across all hosts.\n maxFreeSockets: 50, // Idle keepalive sockets retained for reuse.\n\n timeout: 30000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected stressTestExtremeAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 500, // Maximum concurrent active sockets per host.\n maxTotalSockets: 1000, // Maximum total active sockets across all hosts.\n maxFreeSockets: 500, // Idle keepalive sockets retained for reuse.\n\n timeout: 30000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected GetAgentManager = (\n testingAgentOptions: ITestingAgentOptions\n ): IAgentManager | undefined => {\n let agentManager: IAgentManager | undefined = undefined;\n let agentOptions: IAgentOptions | undefined = undefined;\n switch (testingAgentOptions.nodeAgentMode) {\n case \"no-agent\":\n break;\n case \"custom-agent-options\":\n if (testingAgentOptions.nodeAgentCustomOptions) {\n agentOptions = {\n ...testingAgentOptions.nodeAgentCustomOptions,\n };\n } else {\n agentOptions = { ...this.defaultAgentOptions };\n }\n break;\n case \"default-agent-options\":\n agentOptions = { ...this.defaultAgentOptions };\n break;\n case \"stress-test-agent-options\":\n agentOptions = { ...this.stressTestAgentOptions };\n break;\n case \"stress-test-extreme-agent-options\":\n agentOptions = { ...this.stressTestExtremeAgentOptions };\n break;\n default:\n throw new Error(\n `TestCaseFhirBase:GetAgentManager(): [${this._id}] unknown nodeAgentMode: [${testingAgentOptions.nodeAgentMode}]`\n );\n }\n if (agentOptions) {\n agentManager = createAgentManager({\n agentOptions,\n httpAgentFactory(options) {\n return new http.Agent(options);\n },\n httpsAgentFactory(options) {\n return new https.Agent(options);\n },\n });\n }\n return agentManager;\n };\n\n protected GetAuthAgentManager = (): IAgentManager | undefined => {\n return this.GetAgentManager(this._options.authOptions.asagentoptions);\n };\n\n ExtractOrigin = (uri: string) => {\n const match = uri.match(this.#originRegex);\n return match ? match[1] : null;\n };\n\n GetAPITokenFromAuthServerUsingScope = async (\n options: IGetAPITokenFromAuthServerUsingScopeOptions\n ): Promise<string> => {\n const { scope, clientId, authClientSecret, endPoint } = options;\n\n let stage = \"1\";\n try {\n stage = \"2\";\n const scopes = scope.split(\" \");\n let origin: string | null = null;\n let error: Error | null = null;\n stage = \"3\";\n for (let i = 0; i < scopes.length; i++) {\n const s = scopes[i];\n if (!origin) {\n origin = this.ExtractOrigin(s);\n if (!origin) {\n error = new Error(\n `Scope: [${scope}] not in required format. Must use (space seperated) api://<client id>[/<resource>.<permission>].`\n );\n break;\n }\n } else {\n const nextOrigin: string | null = this.ExtractOrigin(s);\n if (!nextOrigin) {\n error = new Error(\n `Scope: [${scope}] not in required format. Must use (space seperated) api://<client id>[/<resource>.<permission>].`\n );\n break;\n } else {\n if (origin.localeCompare(nextOrigin) !== 0) {\n error = new Error(\n `Scope: [${scope}] not all from the same client API. All scopes must come from the same client API.`\n );\n break;\n }\n }\n }\n }\n stage = \"4\";\n if (error) {\n throw error;\n }\n\n stage = \"5\";\n const payload = {\n //@@ make a type\n client_id: clientId, // The service calling this method\n client_secret: authClientSecret, // Auth service client secret\n //client_secret: goptions.brokerclientsecret, // Broker service client secret\n scope: scope, // required API\n //@@ remove audience\n //@@ need scope to be the API identifier\n grant_type: \"client_credentials\",\n };\n stage = \"6\";\n const url = endPoint\n ? `${endPoint}${this._options.authOptions.asoauthapiroot}/token`\n : `${this._options.authOptions.asendpoint}:${this._options.authOptions.asport}${this._options.authOptions.asoauthapiroot}/token`;\n\n stage = `6.5: url: [${url}] payload: [${JSON.stringify(payload)}]`;\n\n const axiosConfig = new STSAxiosConfig(url, \"post\")\n .withDefaultHeaders()\n .withData(payload);\n\n //@@ need to pass this in ??\n if (this.#authAgentManager) {\n axiosConfig.withAgentManager(this.#authAgentManager);\n }\n\n const api = createRetryAxiosClient({\n maxRetries: 4,\n retryDelayMs: 300,\n retryJitterMs: 150,\n maxRetryDurationMs: 5000,\n onRetryAttempt: (attempt, error, delayMs) => {\n this.emit(\"authenticationErrorCount\", 1);\n this.emit(\"authenticationRetryCount\", 1);\n //this._options.runner.instrumentData.authenticationErrorCount++;\n //this._options.runner.instrumentData.authenticationRetryCount++;\n\n const message = `GetAPITokenFromAuthServerUsingScope(): [${this._id}] Retry #${attempt} after ${delayMs}ms due to ${error.code || error.response?.status}`;\n this.Warning(message);\n //this._options.runner.instrumentData.message.push(chalk.red(message));\n this.emit(\"logMessage\", chalk.red(message));\n //await this.PublishTelemetry();\n },\n // Below works also ...\n //stsAxiosConfig: requestConfig\n });\n\n // This works with the stsAxiosConfig used directly within the config\n //return await api(url);\n const retVal = await api(url, axiosConfig.config);\n this.emit(\"authenticationCount\", 1);\n //this._options.runner.instrumentData.authenticationCount++;\n\n stage = \"7\";\n if (retVal.status) {\n if (retVal.status !== 200) {\n // Just provide a warning here\n this.Warning(\n chalk.magenta(\n `GetAPITokenFromAuthServerUsingScope(): [${this._id}] Invalid response from server: [${retVal.status}]`\n )\n );\n }\n } else {\n throw new Error(chalk.red(`No retVal.status)`));\n }\n stage = \"8\";\n if (retVal.data) {\n stage = \"9\";\n if (retVal.data.access_token) {\n stage = \"12\";\n return retVal.data.access_token as string;\n } else {\n stage = \"13\";\n throw new Error(`No retVal.data.access_token)`);\n }\n } else {\n stage = \"14\";\n throw new Error(`No retVal.data)`);\n }\n } catch (error: any) {\n this.Error(error);\n let details = \"None available.\";\n if (error.response && error.response.data) {\n try {\n details = JSON.stringify(error.response.data);\n } catch (error) {\n details = `Could not JSON.stringify(error.response.data)`;\n }\n }\n error.message = `${this.logPrefix}GetAPITokenFromAuthServerUsingScope(): Error: [${error}], Stage: [${stage}], Details: [${details}]`;\n throw error;\n }\n };\n\n GetAccessToken = async (): Promise<string> => {\n let timeout: any = undefined;\n const start = performance.now();\n try {\n if (this.#accesssToken) {\n return this.#accesssToken;\n }\n\n const api = \"api://fb6513e4-16fe-4931-bed8-33b82b404a14\"; // the stsrest API\n const scopes = `${api}/_.stsfhir5:All`.split(\" \").sort().join(\" \");\n const authendpointUrl = `${this._options.authOptions.asendpoint}:${this._options.authOptions.asport}`;\n\n const retVal = await this.GetAPITokenFromAuthServerUsingScope({\n clientId: \"d8277fce-bb48-44c2-bbf1-257fe13a444b\" as any, // stsbroker\n authClientSecret: \"64e3ef37-c7b8-4cb1-880a-e6ad3ab36e3c\", // stsbroker password\n //scope: `${api}/res01.create ${api}/res01.read ${api}/res01.update ${api}/res01.delete ${api}/ent01.create ${api}/ent01.read ${api}/ent01.update ${api}/ent01.delete`,\n scope: scopes,\n endPoint: authendpointUrl,\n });\n this.#accesssToken = retVal;\n\n return this.#accesssToken;\n\n /*\n const lockKey = 'GetAccessToken';\n const lockTimeout = 60000;\n // We need to use the OnHold lock here becuase we perform await, i.e. async execution while we wait for a connection\n if (this._lockHelper.GetOnHold(lockKey) === true) {\n //this.Debug(chalk.magenta(`GetAccessToken(): accesssToken does not exist - some other client setting up the new accesssToken (on hold/lock), lock key: [${lockKey}] - waiting ...`));\n try {\n const miniStart = performance.now();\n await this._lockHelper.WaitOnHold(lockKey, lockTimeout);\n //this.Debug(chalk.yellow(`GetAccessToken(): hold (lock) released after: [${performance.now() - miniStart}ms], lock key: [${lockKey}]`));\n if (this.#accesssToken) {\n //this.Debug(chalk.green(`GetAccessToken(): Getting existing accesssToken (post hold release), lock key: [${lockKey}]`));\n return this.#accesssToken;\n } else {\n this.Error(chalk.red(`GetAccessToken(): Could not get existing accesssToken (post hold release), lock key: [${lockKey}]`));\n this.Error(chalk.red(`GetAccessToken(): continue anyway ...`));\n }\n } catch (error) {\n this.Error(chalk.red(`GetAccessToken(): Error: [${error}]`));\n }\n }\n\n //this.Debug(chalk.yellow(`GetAccessToken(): accesssToken does not exist - setting up new accesssToken`));\n\n //this.Debug(chalk.yellow(`GetAccessToken(): setting hold (lock), lock key: [${lockKey}]`));\n this._lockHelper.SetOnHold(lockKey);\n\n\n timeout = setTimeout(() => {\n this.Warning(chalk.magenta(`GetAccessToken(): Timeout: [${this._authMaxTimeout}] exceeded for getting access token ...`));\n }, this._authMaxTimeout);\n\n const api = 'api://fb6513e4-16fe-4931-bed8-33b82b404a14' // the stsrest API\n const scopes = `${api}/_.stsfhir5:All`.split(' ').sort().join(' ');\n const authendpointUrl = `${this._options.authOptions.asendpoint}:${this._options.authOptions.asport}`;\n\n const retVal = await this.GetAPITokenFromAuthServerUsingScope({\n clientId: 'd8277fce-bb48-44c2-bbf1-257fe13a444b' as any, // stsbroker\n authClientSecret: '64e3ef37-c7b8-4cb1-880a-e6ad3ab36e3c', // stsbroker password\n //scope: `${api}/res01.create ${api}/res01.read ${api}/res01.update ${api}/res01.delete ${api}/ent01.create ${api}/ent01.read ${api}/ent01.update ${api}/ent01.delete`,\n scope: scopes,\n endPoint: authendpointUrl,\n });\n\n const workingAaccesssToken = retVal;\n if (timeout) {\n clearTimeout(timeout);\n }\n const totalTime = performance.now() - start;\n if (totalTime > this._authMaxTimeout) {\n this.Warning(chalk.magenta(`GetAccessToken(): The total time for getting the access token: [${totalTime}]`));\n }\n\n this.#accesssToken = workingAaccesssToken;\n this._lockHelper.ReleaseOnHold(lockKey);\n //this.Debug(chalk.yellow(`GetAccessToken(): release hold (lock) Time taken for get access token: [${performance.now() - start}ms], lock key: [${lockKey}]`));\n\n return this.#accesssToken;\n */\n } catch (error: any) {\n if (timeout) {\n clearTimeout(timeout);\n }\n const totalTime = performance.now() - start;\n error.message = `GetAccessToken(): Error: [${error}], Duration until error: [${totalTime}]`;\n this.Error(error);\n return \"\";\n }\n };\n\n GetAccessTokenForSocketClientAccess = async (): Promise<string> => {\n const timeout = setTimeout(() => {\n this.Warning(\n `GetAccessTokenForSocketClientAccess(): Timeout: [${this._authMaxTimeout}] exceeded for getting access token ...`\n );\n }, this._authMaxTimeout);\n const start = performance.now();\n try {\n const api = \"api://fb6513e4-16fe-4931-bed8-33b82b404a14\"; // the stsrest API\n const scopes = `${api}/_.stsfhir5:SocketConnection`\n .split(\" \")\n .sort()\n .join(\" \");\n const authendpointUrl = `${this._options.authOptions.asendpoint}:${this._options.authOptions.asport}`;\n\n const retVal = await this.GetAPITokenFromAuthServerUsingScope({\n clientId: \"d8277fce-bb48-44c2-bbf1-257fe13a444b\" as any, // stsbroker\n authClientSecret: \"64e3ef37-c7b8-4cb1-880a-e6ad3ab36e3c\", // stsbroker password\n //scope: `${api}/res01.create ${api}/res01.read ${api}/res01.update ${api}/res01.delete ${api}/ent01.create ${api}/ent01.read ${api}/ent01.update ${api}/ent01.delete`,\n scope: scopes,\n endPoint: authendpointUrl,\n });\n clearTimeout(timeout);\n const totalTime = performance.now() - start;\n if (totalTime > this._authMaxTimeout) {\n this.Warning(\n chalk.magenta(\n `GetAccessTokenForSocketClientAccess(): The total time for getting the access token: [${totalTime}]`\n )\n );\n }\n return retVal;\n } catch (error: any) {\n clearTimeout(timeout);\n const totalTime = performance.now() - start;\n error.message = `GetAccessTokenForSocketClientAccess(): Error: [${error}], Duration until error: [${totalTime}]`;\n this.Error(error);\n return \"\";\n }\n };\n\n //@@ need to reset the access token at the worker level singleton\n //@@ NOT at this runner instance level\n //@@ currently, the first runner instance will beind to the getaccesstoken callback\n //@@ all future runner instances will refer to their own local access token instance\n //@@ rather than the singleton instance\n ResetAccessToken = () => {\n //@@console.log(chalk.magenta(`Old Token: ${this._id} : ${this.#accesssToken}`));\n this.#accesssToken = null;\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0, @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport {\n IRunnerInstance,\n ITestRunnerTelemetryPayload,\n AbstractRunnerExecutionWorker,\n IIWMessagePayload,\n IRunner,\n} from \"@nsshunt/stsrunnerframework\";\nimport {\n ISTSLogger,\n STSAxiosConfig,\n IAgentManager,\n IAgentOptions,\n createAgentManager,\n} from \"@nsshunt/stsutils\";\n\nimport { AsyncRunnerFactory } from \"./../libmodule/asyncRunnerFactory.js\";\nimport { ResourceDataGenerator } from \"./../libmodule/resourceDataGenerator.js\";\nimport { IWorkerTestCases } from \"./../libmodule/commonTypes.js\";\n\nimport {\n FhirSocketClient,\n IFhirSocketClientOptions,\n FhirSocketClientAllInOne,\n FhirSocketClientIndividual,\n FhirRESTClient,\n IFhirClient,\n} from \"@nsshunt/stsfhirclient\";\n\nimport chalk from \"chalk\";\n\nimport {\n IAuthOptions,\n ITestingAgentOptions,\n IFhirOptions,\n ITestCaseFhirBaseOptions,\n} from \"./../commonTypes.js\";\n\nimport http from \"node:http\";\nimport https from \"node:https\";\n\nimport { AxiosError } from \"axios\";\nimport { LockHelper } from \"./lockHelper.js\";\nimport { AuthHelper } from \"./authHelper.js\";\nimport { TinyEmitter } from \"tiny-emitter\";\n\nexport interface IClientHelperOptions {\n logger: ISTSLogger;\n fhirOptions: IFhirOptions;\n authHelper: AuthHelper;\n}\n\nexport class ClientHelper extends TinyEmitter {\n private _options: IClientHelperOptions;\n private fhirClient: FhirSocketClient | undefined = undefined;\n private _id: string = crypto.randomUUID();\n private _lockHelper: LockHelper = new LockHelper();\n\n protected restFhirClient: FhirRESTClient | null = null;\n\n protected logPrefix = `WorkerFhirTestCases:[${this._id}]:`;\n\n constructor(options: IClientHelperOptions) {\n super();\n this._options = options;\n }\n\n Warning = (message: any) => {\n this._options.logger.warn(`${this.logPrefix}${message}`);\n };\n\n Error = (message: any) => {\n this._options.logger.error(`${this.logPrefix}${message}`);\n };\n\n Debug = (message: any) => {\n this._options.logger.debug(`${this.logPrefix}${message}`);\n };\n\n get id(): string {\n return this._id;\n }\n\n protected defaultAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 10, // Maximum concurrent active sockets per host.\n maxTotalSockets: 20, // Maximum total active sockets across all hosts.\n maxFreeSockets: 10, // Idle keepalive sockets retained for reuse.\n\n timeout: 60000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected stressTestAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 200, // Maximum concurrent active sockets per host.\n maxTotalSockets: 500, // Maximum total active sockets across all hosts.\n maxFreeSockets: 50, // Idle keepalive sockets retained for reuse.\n\n timeout: 30000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected stressTestExtremeAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 500, // Maximum concurrent active sockets per host.\n maxTotalSockets: 1000, // Maximum total active sockets across all hosts.\n maxFreeSockets: 500, // Idle keepalive sockets retained for reuse.\n\n timeout: 30000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected GetAgentManager = (\n testingAgentOptions: ITestingAgentOptions\n ): IAgentManager | undefined => {\n let agentManager: IAgentManager | undefined = undefined;\n let agentOptions: IAgentOptions | undefined = undefined;\n switch (testingAgentOptions.nodeAgentMode) {\n case \"no-agent\":\n break;\n case \"custom-agent-options\":\n if (testingAgentOptions.nodeAgentCustomOptions) {\n agentOptions = {\n ...testingAgentOptions.nodeAgentCustomOptions,\n };\n } else {\n agentOptions = { ...this.defaultAgentOptions };\n }\n break;\n case \"default-agent-options\":\n agentOptions = { ...this.defaultAgentOptions };\n break;\n case \"stress-test-agent-options\":\n agentOptions = { ...this.stressTestAgentOptions };\n break;\n case \"stress-test-extreme-agent-options\":\n agentOptions = { ...this.stressTestExtremeAgentOptions };\n break;\n default:\n throw new Error(\n `TestCaseFhirBase:GetAgentManager(): [${this._id}] unknown nodeAgentMode: [${testingAgentOptions.nodeAgentMode}]`\n );\n }\n if (agentOptions) {\n agentManager = createAgentManager({\n agentOptions,\n httpAgentFactory(options) {\n return new http.Agent(options);\n },\n httpsAgentFactory(options) {\n return new https.Agent(options);\n },\n });\n }\n return agentManager;\n };\n\n protected GetFhirAgentManager = (): IAgentManager | undefined => {\n return this.GetAgentManager(\n this._options.fhirOptions.stsfhiragentOptions\n );\n };\n\n //@@ need to reset the access token at the worker level singleton\n //@@ NOT at this runner instance level\n //@@ currently, the first runner instance will beind to the getaccesstoken callback\n //@@ all future runner instances will refer to their own local access token instance\n //@@ rather than the singleton instance\n /*\n ResetAccessToken = () => {\n //@@console.log(chalk.magenta(`Old Token: ${this._id} : ${this.#accesssToken}`));\n this.#accesssToken = null;\n }\n */\n\n //@@ This whole section needs a re-think\n //@@ the socket (and even rest) client should be a singleton object per worker\n //@@ each new instance of this class (for each runner within a worker) needs to get this workers singleton\n //@@ this also needs to apply to access token as well\n //@@ the code below binds the GetConnectionAccessToken and GetAccessToken to the first\n //@@ class instance when created, all subsequent instances get the wrong (first) references\n //@@ wrong for 2nd+ instance : GetConnectionAccessToken: this.GetAccessTokenForSocketClientAccess,\n //@@ wrong for 2nd+ instance : GetAccessToken: this.GetAccessToken\n protected GetFhirSocketClient = async (): Promise<FhirSocketClient> => {\n try {\n //@@ need a much better way of handling worker level shared resources\n //@@ and also needs to be handled natively by the framework\n //@@ and all sstrongly typed\n if (this.fhirClient) {\n return this.fhirClient;\n }\n\n const lockKey = \"GetFhirSocketClient\";\n const lockTimeout = 60000;\n // We need to use the OnHold lock here becuase we perform await, i.e. async execution while we wait for a connection\n if (this._lockHelper.GetOnHold(lockKey) === true) {\n this.Debug(\n chalk.magenta(\n `GetFhirSocketClient(): fhir client does not exist - some other client setting up the new client (on hold/lock), lock key: [${lockKey}] - waiting ...`\n )\n );\n try {\n const start = performance.now();\n await this._lockHelper.WaitOnHold(lockKey, lockTimeout);\n this.Debug(\n chalk.yellow(\n `GetFhirSocketClient(): hold (lock) released after: [${performance.now() - start}ms], lock key: [${lockKey}]`\n )\n );\n if (this.fhirClient) {\n this.Debug(\n chalk.green(\n `GetFhirSocketClient(): Getting existing fhir client (post hold release), lock key: [${lockKey}]`\n )\n );\n return this.fhirClient;\n } else {\n this.Error(\n chalk.red(\n `GetFhirSocketClient(): Could not get existing fhir client (post hold release), lock key: [${lockKey}]`\n )\n );\n this.Error(\n chalk.red(\n `GetFhirSocketClient(): continue anyway ...`\n )\n );\n }\n } catch (error) {\n this.Error(\n chalk.red(`GetFhirSocketClient(): Error: [${error}]`)\n );\n }\n }\n\n const start = performance.now();\n this.Debug(\n chalk.yellow(\n `GetFhirSocketClient(): fhir client does not exist - setting up new client`\n )\n );\n\n this.Debug(\n chalk.yellow(\n `GetFhirSocketClient(): setting hold (lock), lock key: [${lockKey}]`\n )\n );\n this._lockHelper.SetOnHold(lockKey);\n\n const fhirOptions = this._options.fhirOptions;\n const options: IFhirSocketClientOptions = {\n fhirServerEndpoint: fhirOptions.stsfhirserverendpoint, // `https://<endpoint>`\n fhirapiroot: fhirOptions.stsfhirapiroot, // `/stsfhir/r5`\n fhirServerPort: fhirOptions.stsfhirport, // `/stsfhir/r5`\n socketClientName: fhirOptions.stsfhirsocketname, // 'FhirSocketClient', // this can be anything (unique within the scope of the app)\n socketIoCustomPath: fhirOptions.stsfhirsocketcustompath, // '/stsfhirsocket/socket.io/', // for this, check the app options for [wssCustomPath]\n timeout: fhirOptions.stsfhirsockettimeout,\n baseUrl: fhirOptions.stsfhirbaseurl, // `https://<endpoint>/stsfhir/r5`\n agentManager: this.GetFhirAgentManager(),\n joinRooms: [],\n logger: this._options.logger,\n verboseLogging: true,\n GetConnectionAccessToken:\n this._options.authHelper\n .GetAccessTokenForSocketClientAccess, //@@ see above - needs to be fixed\n GetAccessToken: this._options.authHelper.GetAccessToken, //@@ see above - needs to be fixed\n };\n\n let workingFhirClient;\n if (\n this._options.fhirOptions.stsfhirsocketclientmode ===\n \"socket-client-all-in-one\"\n ) {\n workingFhirClient = new FhirSocketClientAllInOne(\n \"FhirSocketClient\",\n options\n );\n } else {\n workingFhirClient = new FhirSocketClientIndividual(\n \"FhirSocketClient\",\n options\n );\n }\n\n await workingFhirClient.WaitForSocketConnected();\n\n this.Debug(\n chalk.yellow(\n `GetFhirSocketClient(): setting fhir client into object`\n )\n );\n\n this.fhirClient = workingFhirClient;\n this._lockHelper.ReleaseOnHold(lockKey);\n this.Debug(\n chalk.yellow(\n `GetFhirSocketClient(): release hold (lock) Time taken for socket connection and set object: [${performance.now() - start}ms], lock key: [${lockKey}]`\n )\n );\n\n return this.fhirClient;\n } catch (error) {\n this.Error(error);\n throw error;\n }\n };\n\n protected GetRESTClient = async (): Promise<FhirRESTClient> => {\n if (this.restFhirClient) {\n return this.restFhirClient;\n }\n\n // We do not need to use the OnHold lock here becuase we do not perform any await, i.e. no async execution.\n // All the code below executes within the same thread and returns a sync client object.\n const onRetryAttempt = (\n attempt: number,\n error: AxiosError,\n delayMs: number\n ): void => {\n //this._options.runner.instrumentData.errorCount++;\n //this._options.runner.instrumentData.requestCount++;\n const message = `TestCaseFhirBase:onRetryAttempt(): [${this._id}] Retry #${attempt} after ${delayMs}ms due to ${error.code || error.response?.status}`;\n this.Warning(message);\n this.emit(\"retry\", message);\n //this._options.runner.instrumentData.message.push(chalk.red(message));\n //await this.PublishTelemetry();\n };\n\n const fhirOptions = this._options.fhirOptions;\n const fhirRESTClient = new FhirRESTClient({\n GetAccessToken: this._options.authHelper.GetAccessToken,\n user: \"USR_user01@stsmda.com.au\",\n endpoint: fhirOptions.stsfhirserverendpoint, // 'https://localhost',\n stsfhirapiroot: fhirOptions.stsfhirapiroot,\n stsfhirport: fhirOptions.stsfhirport, // '3005',\n logger: this._options.logger,\n agentManager: this.GetFhirAgentManager(),\n onRetryAttempt,\n });\n\n this.restFhirClient = fhirRESTClient;\n\n return fhirRESTClient;\n };\n\n GetClient = async (): Promise<IFhirClient> => {\n let client;\n if (\n this._options.fhirOptions.stsfhirsocketclientmode ===\n \"no-socket-client\"\n ) {\n client = await this.GetRESTClient();\n } else {\n client = await this.GetFhirSocketClient();\n }\n return client;\n };\n}\n","/* eslint @typescript-eslint/no-unused-vars: 0, @typescript-eslint/no-explicit-any: 0 */ // --> OFF\nimport {\n IRunnerInstance,\n ITestRunnerTelemetryPayload,\n AbstractRunnerExecutionWorker,\n IIWMessagePayload,\n} from \"@nsshunt/stsrunnerframework\";\nimport {\n ISTSLogger,\n IAgentManager,\n IAgentOptions,\n createAgentManager,\n} from \"@nsshunt/stsutils\";\n\nimport { AsyncRunnerFactory } from \"./../libmodule/asyncRunnerFactory.js\";\nimport { ResourceDataGenerator } from \"./../libmodule/resourceDataGenerator.js\";\nimport { IWorkerTestCases } from \"./../libmodule/commonTypes.js\";\n\nimport {\n FhirSocketClient,\n FhirRESTClient,\n IFhirClient,\n} from \"@nsshunt/stsfhirclient\";\n\nimport chalk from \"chalk\";\nimport { Sleep } from \"@nsshunt/stsutils\";\n\nimport {\n IAuthOptions,\n ITestingAgentOptions,\n IFhirOptions,\n ITestCaseFhirBaseOptions,\n} from \"./../commonTypes.js\";\n\nimport http from \"node:http\";\nimport https from \"node:https\";\n\nimport { AuthHelper } from \"./authHelper.js\";\nimport { ClientHelper } from \"./clientHelper.js\";\n\nexport interface IWorkerFhirTestCasesOptions {\n logger: ISTSLogger;\n authOptions: IAuthOptions;\n fhirOptions: IFhirOptions;\n}\n\nexport class WorkerFhirTestCases\n extends AbstractRunnerExecutionWorker\n implements IWorkerTestCases\n{\n private _options: IWorkerFhirTestCasesOptions;\n private _resourceDataGenerator: ResourceDataGenerator;\n private fhirClient: FhirSocketClient | undefined = undefined;\n private _id: string = crypto.randomUUID();\n private _clientHelper: ClientHelper;\n private _authHelper: AuthHelper;\n private _maxIteration: Record<string, number> = {};\n\n protected restFhirClient: FhirRESTClient | null = null;\n\n protected logPrefix = `WorkerFhirTestCases:[${this._id}]:`;\n\n constructor(options: IWorkerFhirTestCasesOptions) {\n super();\n this._options = options;\n\n // This may have options in the future to use redis or anything else ...\n this._resourceDataGenerator = new ResourceDataGenerator();\n\n this._authHelper = new AuthHelper({\n authOptions: options.authOptions,\n logger: options.logger,\n });\n\n this._clientHelper = new ClientHelper({\n authHelper: this._authHelper,\n logger: options.logger,\n fhirOptions: options.fhirOptions,\n });\n }\n\n get authHelper() {\n return this._authHelper;\n }\n\n Warning = (message: any) => {\n this.logger.warn(`${this.logPrefix}${message}`);\n };\n\n Error = (message: any) => {\n this.logger.error(`${this.logPrefix}${message}`);\n };\n\n Debug = (message: any) => {\n this.logger.debug(`${this.logPrefix}${message}`);\n };\n\n get id(): string {\n return this._id;\n }\n\n get resourceDataGenerator(): ResourceDataGenerator {\n return this._resourceDataGenerator;\n }\n\n override get logger(): ISTSLogger {\n return this._options.logger;\n }\n\n override CreateAsyncRunner = async (\n testRunnerTelemetryPayload: ITestRunnerTelemetryPayload\n ): Promise<IRunnerInstance | null> => {\n return AsyncRunnerFactory.CreateAsyncRunner(\n this,\n testRunnerTelemetryPayload\n );\n };\n\n protected override async ProcessPreTerminateWorkerMessage(\n messagePayload: IIWMessagePayload\n ): Promise<any> {\n this.logger.debug(\n chalk.rgb(\n 220,\n 100,\n 0\n )(\n `ProcessPreTerminateWorkerMessage(): [${JSON.stringify(messagePayload, null, 2)}]`\n )\n );\n if (this.fhirClient) {\n this.logger.debug(\n chalk.rgb(\n 220,\n 100,\n 0\n )(`ProcessPreTerminateWorkerMessage(): ResetSocket()`)\n );\n this.fhirClient.ResetSocket();\n this.fhirClient = undefined;\n }\n await Sleep(250);\n return {\n originalMessage: { ...messagePayload },\n myresponsepreterminate: `I got: [${JSON.stringify(messagePayload.payload.data)}]`,\n };\n }\n\n protected defaultAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 10, // Maximum concurrent active sockets per host.\n maxTotalSockets: 20, // Maximum total active sockets across all hosts.\n maxFreeSockets: 10, // Idle keepalive sockets retained for reuse.\n\n timeout: 60000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected stressTestAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 200, // Maximum concurrent active sockets per host.\n maxTotalSockets: 500, // Maximum total active sockets across all hosts.\n maxFreeSockets: 50, // Idle keepalive sockets retained for reuse.\n\n timeout: 30000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected stressTestExtremeAgentOptions: IAgentOptions = {\n keepAlive: true, // Reuse TCP/TLS connections between requests.\n\n maxSockets: 500, // Maximum concurrent active sockets per host.\n maxTotalSockets: 1000, // Maximum total active sockets across all hosts.\n maxFreeSockets: 500, // Idle keepalive sockets retained for reuse.\n\n timeout: 30000, // close idle sockets after 30s\n rejectUnauthorized: false, // Allows self-signed certificates if non-production\n };\n\n protected GetAgentManager = (\n testingAgentOptions: ITestingAgentOptions\n ): IAgentManager | undefined => {\n let agentManager: IAgentManager | undefined = undefined;\n let agentOptions: IAgentOptions | undefined = undefined;\n switch (testingAgentOptions.nodeAgentMode) {\n case \"no-agent\":\n break;\n case \"custom-agent-options\":\n if (testingAgentOptions.nodeAgentCustomOptions) {\n agentOptions = {\n ...testingAgentOptions.nodeAgentCustomOptions,\n };\n } else {\n agentOptions = { ...this.defaultAgentOptions };\n }\n break;\n case \"default-agent-options\":\n agentOptions = { ...this.defaultAgentOptions };\n break;\n case \"stress-test-agent-options\":\n agentOptions = { ...this.stressTestAgentOptions };\n break;\n case \"stress-test-extreme-agent-options\":\n agentOptions = { ...this.stressTestExtremeAgentOptions };\n break;\n default:\n throw new Error(\n `TestCaseFhirBase:GetAgentManager(): [${this._id}] unknown nodeAgentMode: [${testingAgentOptions.nodeAgentMode}]`\n );\n }\n if (agentOptions) {\n agentManager = createAgentManager({\n agentOptions,\n httpAgentFactory(options) {\n return new http.Agent(options);\n },\n httpsAgentFactory(options) {\n return new https.Agent(options);\n },\n });\n }\n return agentManager;\n };\n\n protected GetFhirAgentManager = (): IAgentManager | undefined => {\n return this.GetAgentManager(\n this._options.fhirOptions.stsfhiragentOptions\n );\n };\n\n //@@ need to reset the access token at the worker level singleton\n //@@ NOT at this runner instance level\n //@@ currently, the first runner instance will beind to the getaccesstoken callback\n //@@ all future runner instances will refer to their own local access token instance\n //@@ rather than the singleton instance\n /*\n ResetAccessToken = () => {\n //@@console.log(chalk.magenta(`Old Token: ${this._id} : ${this.#accesssToken}`));\n this.#accesssToken = null;\n }\n */\n\n GetClient = async (): Promise<IFhirClient> => {\n return this._clientHelper.GetClient();\n };\n\n GetMaxIteration(key: string) {\n return this._maxIteration[key];\n }\n\n SetMaxIteration(key: string, maxIteration: number) {\n this._maxIteration[key] = maxIteration;\n }\n}\n"],"ignoreList":[0,1,2,3,4,5,6,8,9,18,19,20,21,30,31,32,34],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAW;CACV,SAAU,aAAa;;;;;;CAMpB,YAAY,YAAY,cAAc,OAAO;;;;;;CAM7C,YAAY,YAAY,yBAAyB,OAAO;;;;;;CAMxD,YAAY,YAAY,gBAAgB,OAAO;;;;;;CAM/C,YAAY,YAAY,iBAAiB,OAAO;;;;;;;;;;CAUhD,YAAY,YAAY,QAAQ,OAAO;;;;;;CAMvC,YAAY,YAAY,aAAa,OAAO;;;;;;CAM5C,YAAY,YAAY,cAAc,OAAO;;;;;;CAM7C,YAAY,YAAY,mCAAmC,OAAO;;;;;;CAMlE,YAAY,YAAY,gBAAgB,OAAO;;;;;;CAM/C,YAAY,YAAY,mBAAmB,OAAO;;;;;;CAMlD,YAAY,YAAY,qBAAqB,OAAO;;;;;;CAMpD,YAAY,YAAY,kBAAkB,OAAO;;;;;;CAMjD,YAAY,YAAY,sBAAsB,OAAO;;;;;;CAMrD,YAAY,YAAY,uBAAuB,OAAO;;;;;;CAMtD,YAAY,YAAY,uBAAuB,OAAO;;;;;;CAMtD,YAAY,YAAY,eAAe,OAAO;;;;;;CAM9C,YAAY,YAAY,kBAAkB,OAAO;;;;;;;CAOjD,YAAY,YAAY,eAAe,OAAO;;;;;;CAM9C,YAAY,YAAY,wBAAwB,OAAO;;;;;;CAMvD,YAAY,YAAY,wBAAwB,OAAO;;;;;;CAMvD,YAAY,YAAY,iBAAiB,OAAO;;;;;;CAMhD,YAAY,YAAY,kBAAkB,OAAO;;;;;;CAMjD,YAAY,YAAY,sBAAsB,OAAO;;;;;;CAMrD,YAAY,YAAY,eAAe,OAAO;;;;;;CAM9C,YAAY,YAAY,eAAe,OAAO;;;;;;CAM9C,YAAY,YAAY,wBAAwB,OAAO;;;;;;CAMvD,YAAY,YAAY,oBAAoB,OAAO;;;;;;CAMnD,YAAY,YAAY,mCAAmC,OAAO;;;;;;CAMlE,YAAY,YAAY,qBAAqB,OAAO;;;;;;CAMpD,YAAY,YAAY,cAAc,OAAO;;;;;;CAM7C,YAAY,YAAY,UAAU,OAAO;;;;;;CAMzC,YAAY,YAAY,qBAAqB,OAAO;;;;;;CAMpD,YAAY,YAAY,yBAAyB,OAAO;;;;;;CAMxD,YAAY,YAAY,sBAAsB,OAAO;;;;;;CAMrD,YAAY,YAAY,0BAA0B,OAAO;;;;;;CAMzD,YAAY,YAAY,4BAA4B,OAAO;;;;;;CAM3D,YAAY,YAAY,qCAAqC,OAAO;;;;;;CAMpE,YAAY,YAAY,wBAAwB,OAAO;;;;;;CAMvD,YAAY,YAAY,iBAAiB,OAAO;;;;;;CAMhD,YAAY,YAAY,oCAAoC,OAAO;;;;;;;CAOnE,YAAY,YAAY,oBAAoB,OAAO;;;;;;CAMnD,YAAY,YAAY,yBAAyB,OAAO;;;;;;CAMxD,YAAY,YAAY,0BAA0B,OAAO;;;;;;CAMzD,YAAY,YAAY,YAAY,OAAO;;;;;;CAM3C,YAAY,YAAY,uBAAuB,OAAO;;;;;;CAMtD,YAAY,YAAY,sBAAsB,OAAO;;;;;;CAMrD,YAAY,YAAY,2BAA2B,OAAO;;;;;;CAM1D,YAAY,YAAY,uBAAuB,OAAO;;;;;;CAMtD,YAAY,YAAY,qCAAqC,OAAO;;;;;;CAMpE,YAAY,YAAY,mCAAmC,OAAO;;;;;;CAMlE,YAAY,YAAY,2BAA2B,OAAO;;;;;;CAM1D,YAAY,YAAY,qBAAqB,OAAO;;;;;;CAMpD,YAAY,YAAY,iBAAiB,OAAO;;;;;;CAMhD,YAAY,YAAY,yBAAyB,OAAO;;;;;;CAMxD,YAAY,YAAY,qBAAqB,OAAO;;;;;;CAMpD,YAAY,YAAY,gCAAgC,OAAO;;;;;;CAM/D,YAAY,YAAY,0BAA0B,OAAO;;;;;;CAMzD,YAAY,YAAY,qCAAqC,OAAO;AACxE,EAAA,CAAG,gBAAgB,cAAc,CAAC,EAAE;;;;CC1UpC,CAAC,SAAS,QAAQ,UAAQ,QAAQ;EAElC,SAAS,KAAK,MAAM;GAClB,IAAI,KAAK,MAAM,OAAO,KAAK;GAE3B,GAAG,OAAO,WAAW;IACnB,IAAI,IAAI,UAAU,GAAG,KAAK,GAAG,IAAI;IACjC,GAAG,KAAK,GAAG;IACX,GAAG,KAAK,GAAG;IACX,OAAO,GAAG,KAAK,KAAK,GAAG,IAAI,IAAI;GACjC;GAGA,GAAG,IAAI;GACP,GAAG,KAAK,KAAK,GAAG;GAChB,GAAG,KAAK,KAAK,GAAG;GAChB,GAAG,KAAK,KAAK,GAAG;GAChB,GAAG,MAAM,KAAK,IAAI;GAClB,IAAI,GAAG,KAAK,GAAK,GAAG,MAAM;GAC1B,GAAG,MAAM,KAAK,IAAI;GAClB,IAAI,GAAG,KAAK,GAAK,GAAG,MAAM;GAC1B,GAAG,MAAM,KAAK,IAAI;GAClB,IAAI,GAAG,KAAK,GAAK,GAAG,MAAM;GAC1B,OAAO;EACT;EAEA,SAAS,KAAK,GAAG,GAAG;GAClB,EAAE,IAAI,EAAE;GACR,EAAE,KAAK,EAAE;GACT,EAAE,KAAK,EAAE;GACT,EAAE,KAAK,EAAE;GACT,OAAO;EACT;EAEA,SAAS,KAAK,MAAM,MAAM;GACxB,IAAI,KAAK,IAAI,KAAK,IAAI,GAClB,QAAQ,QAAQ,KAAK,OACrB,OAAO,GAAG;GACd,KAAK,QAAQ,WAAW;IAAE,OAAQ,GAAG,KAAK,IAAI,aAAe;GAAG;GAChE,KAAK,SAAS,WAAW;IACvB,OAAO,KAAK,KAAK,KAAK,IAAI,UAAW,KAAK;GAC5C;GACA,KAAK,QAAQ;GACb,IAAI,OAAO;IACT,IAAI,OAAO,SAAU,UAAU,KAAK,OAAO,EAAE;IAC7C,KAAK,QAAQ,WAAW;KAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IAAG;GACjD;GACA,OAAO;EACT;EAEA,SAAS,OAAO;GACd,IAAI,IAAI;GAER,IAAI,OAAO,SAAS,MAAM;IACxB,OAAO,OAAO,IAAI;IAClB,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;KACpC,KAAK,KAAK,WAAW,CAAC;KACtB,IAAI,IAAI,qBAAsB;KAC9B,IAAI,MAAM;KACV,KAAK;KACL,KAAK;KACL,IAAI,MAAM;KACV,KAAK;KACL,KAAK,IAAI;IACX;IACA,QAAQ,MAAM,KAAK;GACrB;GAEA,OAAO;EACT;EAGA,IAAIA,YAAUA,SAAO,SACnB,SAAO,UAAU;OACZ,IAAI,UAAU,OAAO,KAC1B,OAAO,WAAW;GAAE,OAAO;EAAM,CAAC;OAElC,KAAK,OAAO;CAGd,EAAA,CAAC,SAEE,OAAO,UAAW,YAAY,QAC9B,OAAO,UAAW,cAAc,MACnC;;;;;CC5GA,CAAC,SAAS,QAAQ,UAAQ,QAAQ;EAElC,SAAS,OAAO,MAAM;GACpB,IAAI,KAAK,MAAM,UAAU;GAEzB,GAAG,IAAI;GACP,GAAG,IAAI;GACP,GAAG,IAAI;GACP,GAAG,IAAI;GAGP,GAAG,OAAO,WAAW;IACnB,IAAI,IAAI,GAAG,IAAK,GAAG,KAAK;IACxB,GAAG,IAAI,GAAG;IACV,GAAG,IAAI,GAAG;IACV,GAAG,IAAI,GAAG;IACV,OAAO,GAAG,KAAM,GAAG,MAAM,KAAM,IAAK,MAAM;GAC5C;GAEA,IAAI,UAAU,OAAO,IAEnB,GAAG,IAAI;QAGP,WAAW;GAIb,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,SAAS,IAAI,KAAK;IAC5C,GAAG,KAAK,QAAQ,WAAW,CAAC,IAAI;IAChC,GAAG,KAAK;GACV;EACF;EAEA,SAAS,KAAK,GAAG,GAAG;GAClB,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,OAAO;EACT;EAEA,SAAS,KAAK,MAAM,MAAM;GACxB,IAAI,KAAK,IAAI,OAAO,IAAI,GACpB,QAAQ,QAAQ,KAAK,OACrB,OAAO,WAAW;IAAE,QAAQ,GAAG,KAAK,MAAM,KAAK;GAAa;GAChE,KAAK,SAAS,WAAW;IACvB;KACE,IAEI,WAFM,GAAG,KAAK,MAAM,OACb,GAAG,KAAK,MAAM,KAAK,eACF,KAAK;WAC1B,WAAW;IACpB,OAAO;GACT;GACA,KAAK,QAAQ,GAAG;GAChB,KAAK,QAAQ;GACb,IAAI,OAAO;IACT,IAAI,OAAO,SAAU,UAAU,KAAK,OAAO,EAAE;IAC7C,KAAK,QAAQ,WAAW;KAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IAAG;GACjD;GACA,OAAO;EACT;EAEA,IAAIC,YAAUA,SAAO,SACnB,SAAO,UAAU;OACZ,IAAI,UAAU,OAAO,KAC1B,OAAO,WAAW;GAAE,OAAO;EAAM,CAAC;OAElC,KAAK,SAAS;CAGhB,EAAA,CAAC,SAEE,OAAO,UAAW,YAAY,QAC9B,OAAO,UAAW,cAAc,MACnC;;;;;CC3EA,CAAC,SAAS,QAAQ,UAAQ,QAAQ;EAElC,SAAS,OAAO,MAAM;GACpB,IAAI,KAAK,MAAM,UAAU;GAGzB,GAAG,OAAO,WAAW;IACnB,IAAI,IAAK,GAAG,IAAK,GAAG,MAAM;IAC1B,GAAG,IAAI,GAAG;IAAG,GAAG,IAAI,GAAG;IAAG,GAAG,IAAI,GAAG;IAAG,GAAG,IAAI,GAAG;IACjD,QAAQ,GAAG,IAAK,GAAG,IAAI,SAAS,MAC5B,GAAG,IAAK,GAAG,IAAK,GAAG,KAAK,KAAO,IAAK,KAAK,MAAO;GACtD;GAEA,GAAG,IAAI;GACP,GAAG,IAAI;GACP,GAAG,IAAI;GACP,GAAG,IAAI;GACP,GAAG,IAAI;GAEP,IAAI,UAAU,OAAO,IAEnB,GAAG,IAAI;QAGP,WAAW;GAIb,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,SAAS,IAAI,KAAK;IAC5C,GAAG,KAAK,QAAQ,WAAW,CAAC,IAAI;IAChC,IAAI,KAAK,QAAQ,QACf,GAAG,IAAI,GAAG,KAAK,KAAK,GAAG,MAAM;IAE/B,GAAG,KAAK;GACV;EACF;EAEA,SAAS,KAAK,GAAG,GAAG;GAClB,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,OAAO;EACT;EAEA,SAAS,KAAK,MAAM,MAAM;GACxB,IAAI,KAAK,IAAI,OAAO,IAAI,GACpB,QAAQ,QAAQ,KAAK,OACrB,OAAO,WAAW;IAAE,QAAQ,GAAG,KAAK,MAAM,KAAK;GAAa;GAChE,KAAK,SAAS,WAAW;IACvB;KACE,IAEI,WAFM,GAAG,KAAK,MAAM,OACb,GAAG,KAAK,MAAM,KAAK,eACF,KAAK;WAC1B,WAAW;IACpB,OAAO;GACT;GACA,KAAK,QAAQ,GAAG;GAChB,KAAK,QAAQ;GACb,IAAI,OAAO;IACT,IAAI,OAAO,SAAU,UAAU,KAAK,OAAO,EAAE;IAC7C,KAAK,QAAQ,WAAW;KAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IAAG;GACjD;GACA,OAAO;EACT;EAEA,IAAIC,YAAUA,SAAO,SACnB,SAAO,UAAU;OACZ,IAAI,UAAU,OAAO,KAC1B,OAAO,WAAW;GAAE,OAAO;EAAM,CAAC;OAElC,KAAK,SAAS;CAGhB,EAAA,CAAC,SAEE,OAAO,UAAW,YAAY,QAC9B,OAAO,UAAW,cAAc,MACnC;;;;;CC9EA,CAAC,SAAS,QAAQ,UAAQ,QAAQ;EAElC,SAAS,OAAO,MAAM;GACpB,IAAI,KAAK;GAGT,GAAG,OAAO,WAAW;IAEnB,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IACpB,EAAE,IADqB;IACjB,KAAM,MAAM;IAAI,IAAI,IAAK,KAAK;IACxC,IAAI,EAAG,IAAI,IAAK;IAAI,KAAK,IAAK,MAAM;IACpC,IAAI,EAAG,IAAI,IAAK;IAAI,KAAK,IAAK,MAAM;IACpC,IAAI,EAAG,IAAI,IAAK;IAAI,KAAK,IAAK,KAAK;IACnC,IAAI,EAAG,IAAI,IAAK;IAAI,IAAI,IAAK,KAAK;IAAK,KAAK,IAAK,KAAK;IACtD,EAAE,KAAK;IACP,GAAG,IAAK,IAAI,IAAK;IACjB,OAAO;GACT;GAEA,SAAS,KAAK,IAAI,MAAM;IACtB,IAAI,GAAM,IAAI,CAAC;IAEf,IAAI,UAAU,OAAO,IAEnB,EAAM,KAAK;SACN;KAEL,OAAO,KAAK;KACZ,KAAK,IAAI,GAAG,IAAI,KAAK,QAAQ,EAAE,GAC7B,EAAE,IAAI,KAAM,EAAE,IAAI,MAAM,KACnB,KAAK,WAAW,CAAC,IAAI,EAAG,IAAI,IAAK,MAAM;IAEhD;IAEA,OAAO,EAAE,SAAS,GAAG,EAAE,KAAK,CAAC;IAC7B,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE,OAAO,GAAG,EAAE;IACnC,IAAI,KAAK,GAAG,EAAM,KAAK;SAAS,EAAM;IAEtC,GAAG,IAAI;IACP,GAAG,IAAI;IAGP,KAAK,IAAI,KAAK,IAAI,GAAG,EAAE,GACrB,GAAG,KAAK;GAEZ;GAEA,KAAK,IAAI,IAAI;EACf;EAEA,SAAS,KAAK,GAAG,GAAG;GAClB,EAAE,IAAI,EAAE,EAAE,MAAM;GAChB,EAAE,IAAI,EAAE;GACR,OAAO;EACT;EAEA,SAAS,KAAK,MAAM,MAAM;GACxB,IAAI,QAAQ,MAAM,OAAO,iBAAE,IAAI,KAAG;GAClC,IAAI,KAAK,IAAI,OAAO,IAAI,GACpB,QAAQ,QAAQ,KAAK,OACrB,OAAO,WAAW;IAAE,QAAQ,GAAG,KAAK,MAAM,KAAK;GAAa;GAChE,KAAK,SAAS,WAAW;IACvB;KACE,IAEI,WAFM,GAAG,KAAK,MAAM,OACb,GAAG,KAAK,MAAM,KAAK,eACF,KAAK;WAC1B,WAAW;IACpB,OAAO;GACT;GACA,KAAK,QAAQ,GAAG;GAChB,KAAK,QAAQ;GACb,IAAI,OAAO;IACT,IAAI,MAAM,GAAG,KAAK,OAAO,EAAE;IAC3B,KAAK,QAAQ,WAAW;KAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IAAG;GACjD;GACA,OAAO;EACT;EAEA,IAAIC,YAAUA,SAAO,SACnB,SAAO,UAAU;OACZ,IAAI,UAAU,OAAO,KAC1B,OAAO,WAAW;GAAE,OAAO;EAAM,CAAC;OAElC,KAAK,YAAY;CAGnB,EAAA,CAAC,SAEE,OAAO,UAAW,YAAY,QAC9B,OAAO,UAAW,cAAc,MACnC;;;;;CCtEA,CAAC,SAAS,QAAQ,UAAQ,QAAQ;EAElC,SAAS,OAAO,MAAM;GACpB,IAAI,KAAK;GAGT,GAAG,OAAO,WAAW;IACnB,IAAI,IAAI,GAAG,GACP,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG;IAE3B,GAAG,IAAI,IAAK,IAAI,aAAc;IAE9B,IAAI,EAAG,IAAI,KAAM;IACjB,IAAI,EAAE,IAAM,IAAI,IAAK;IACrB,KAAK,KAAK;IACV,KAAK,KAAK;IACV,KAAK,MAAM;IACX,KAAK,MAAM;IAEX,IAAI,EAAE,KAAK,IAAI;IACf,GAAG,IAAI;IAEP,OAAQ,KAAK,IAAK,MAAM,MAAQ;GAClC;GAEA,SAAS,KAAK,IAAI,MAAM;IACtB,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,QAAQ;IACnC,IAAI,UAAU,OAAO,IAAI;KAEvB,IAAI;KACJ,OAAO;IACT,OAAO;KAEL,OAAO,OAAO;KACd,IAAI;KACJ,QAAQ,KAAK,IAAI,OAAO,KAAK,MAAM;IACrC;IAEA,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,OAAO,EAAE,GAAG;KAEnC,IAAI,MAAM,KAAK,KAAK,YAAY,IAAI,MAAM,KAAK,MAAM;KAErD,IAAI,MAAM,GAAG,IAAI;KACjB,KAAK,KAAK;KACV,KAAK,MAAM;KACX,KAAK,KAAK;KACV,KAAK,MAAM;KACX,IAAI,KAAK,GAAG;MACV,IAAK,IAAI,aAAc;MACvB,IAAK,EAAE,IAAI,QAAS,IAAI;MACxB,IAAK,KAAK,IAAK,IAAI,IAAI;KACzB;IACF;IAEA,IAAI,KAAK,KACP,GAAG,QAAQ,KAAK,UAAU,KAAK,OAAO;IAKxC,IAAI;IACJ,KAAK,IAAI,KAAS,IAAI,GAAG,EAAE,GAAG;KAC5B,IAAI,EAAG,IAAI,KAAM;KACjB,IAAI,EAAE,IAAM,IAAI,IAAK;KACrB,KAAK,KAAK;KACV,KAAK,KAAK;KACV,KAAK,MAAM;KACX,KAAK,MAAM;KACX,EAAE,KAAK,IAAI;IACb;IAEA,GAAG,IAAI;IACP,GAAG,IAAI;IACP,GAAG,IAAI;GACT;GAEA,KAAK,IAAI,IAAI;EACf;EAEA,SAAS,KAAK,GAAG,GAAG;GAClB,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE,EAAE,MAAM;GAChB,OAAO;EACT;EAEA,SAAS,KAAK,MAAM,MAAM;GACxB,IAAI,QAAQ,MAAM,OAAO,iBAAE,IAAI,KAAG;GAClC,IAAI,KAAK,IAAI,OAAO,IAAI,GACpB,QAAQ,QAAQ,KAAK,OACrB,OAAO,WAAW;IAAE,QAAQ,GAAG,KAAK,MAAM,KAAK;GAAa;GAChE,KAAK,SAAS,WAAW;IACvB;KACE,IAEI,WAFM,GAAG,KAAK,MAAM,OACb,GAAG,KAAK,MAAM,KAAK,eACF,KAAK;WAC1B,WAAW;IACpB,OAAO;GACT;GACA,KAAK,QAAQ,GAAG;GAChB,KAAK,QAAQ;GACb,IAAI,OAAO;IACT,IAAI,MAAM,GAAG,KAAK,OAAO,EAAE;IAC3B,KAAK,QAAQ,WAAW;KAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IAAG;GACjD;GACA,OAAO;EACT;EAEA,IAAIC,YAAUA,SAAO,SACnB,SAAO,UAAU;OACZ,IAAI,UAAU,OAAO,KAC1B,OAAO,WAAW;GAAE,OAAO;EAAM,CAAC;OAElC,KAAK,UAAU;CAGjB,EAAA,CAAC,SAEE,OAAO,UAAW,YAAY,QAC9B,OAAO,UAAW,cAAc,MACnC;;;;;CC7IA,CAAC,SAAS,QAAQ,UAAQ,QAAQ;EAElC,SAAS,OAAO,MAAM;GACpB,IAAI,KAAK,MAAM,UAAU;GAGzB,GAAG,OAAO,WAAW;IACnB,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG;IACzC,IAAK,KAAK,KAAO,MAAM,IAAK;IAC5B,IAAK,IAAI,IAAK;IACd,IAAK,KAAK,KAAO,MAAM,IAAK;IAC5B,IAAK,IAAI,IAAK;IACd,GAAG,IAAI,IAAK,KAAK,KAAO,MAAM,KAAM;IACpC,GAAG,IAAI,IAAK,IAAI,IAAK;IACrB,GAAG,IAAK,KAAK,KAAO,MAAM,KAAM;IAChC,OAAO,GAAG,IAAK,IAAI,IAAK;GAC1B;GAkBA,GAAG,IAAI;GACP,GAAG,IAAI;GACP,GAAG,IAAI;GACP,GAAG,IAAI;GAEP,IAAI,SAAS,KAAK,MAAM,IAAI,GAAG;IAE7B,GAAG,IAAK,OAAO,aAAe;IAC9B,GAAG,IAAI,OAAO;GAChB,OAEE,WAAW;GAIb,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,SAAS,IAAI,KAAK;IAC5C,GAAG,KAAK,QAAQ,WAAW,CAAC,IAAI;IAChC,GAAG,KAAK;GACV;EACF;EAEA,SAAS,KAAK,GAAG,GAAG;GAClB,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,OAAO;EACT;EAEA,SAAS,KAAK,MAAM,MAAM;GACxB,IAAI,KAAK,IAAI,OAAO,IAAI,GACpB,QAAQ,QAAQ,KAAK,OACrB,OAAO,WAAW;IAAE,QAAQ,GAAG,KAAK,MAAM,KAAK;GAAa;GAChE,KAAK,SAAS,WAAW;IACvB;KACE,IAEI,WAFM,GAAG,KAAK,MAAM,OACb,GAAG,KAAK,MAAM,KAAK,eACF,KAAK;WAC1B,WAAW;IACpB,OAAO;GACT;GACA,KAAK,QAAQ,GAAG;GAChB,KAAK,QAAQ;GACb,IAAI,OAAO;IACT,IAAI,OAAO,SAAU,UAAU,KAAK,OAAO,EAAE;IAC7C,KAAK,QAAQ,WAAW;KAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IAAG;GACjD;GACA,OAAO;EACT;EAEA,IAAIC,YAAUA,SAAO,SACnB,SAAO,UAAU;OACZ,IAAI,UAAU,OAAO,KAC1B,OAAO,WAAW;GAAE,OAAO;EAAM,CAAC;OAElC,KAAK,SAAS;CAGhB,EAAA,CAAC,SAEE,OAAO,UAAW,YAAY,QAC9B,OAAO,UAAW,cAAc,MACnC;;;;;CCpGA,OAAO,UAAU,CAAC;;;;;CCwBlB,CAAC,SAAU,QAAQ,MAAM,MAAM;EAK/B,IAAI,QAAQ,KACR,SAAS,GACT,SAAS,IACT,UAAU,UACV,aAAa,KAAK,IAAI,OAAO,MAAM,GACnC,eAAe,KAAK,IAAI,GAAG,MAAM,GACjC,WAAW,eAAe,GAC1B,OAAO,QAAQ,GACf;EAMJ,SAAS,WAAW,MAAM,SAAS,UAAU;GAC3C,IAAI,MAAM,CAAC;GACX,UAAW,WAAW,OAAQ,EAAE,SAAS,KAAK,IAAK,WAAW,CAAC;GAG/D,IAAI,YAAY,OAAO,QACrB,QAAQ,UAAU,CAAC,MAAM,SAAS,IAAI,CAAC,IACtC,QAAQ,OAAQ,SAAS,IAAI,MAAM,CAAC,GAAG,GAAG;GAG7C,IAAI,OAAO,IAAI,KAAK,GAAG;GAIvB,IAAI,OAAO,WAAW;IACpB,IAAI,IAAI,KAAK,EAAE,MAAM,GACjB,IAAI,YACJ,IAAI;IACR,OAAO,IAAI,cAAc;KACvB,KAAK,IAAI,KAAK;KACd,KAAK;KACL,IAAI,KAAK,EAAE,CAAC;IACd;IACA,OAAO,KAAK,UAAU;KACpB,KAAK;KACL,KAAK;KACL,OAAO;IACT;IACA,QAAQ,IAAI,KAAK;GACnB;GAEA,KAAK,QAAQ,WAAW;IAAE,OAAO,KAAK,EAAE,CAAC,IAAI;GAAG;GAChD,KAAK,QAAQ,WAAW;IAAE,OAAO,KAAK,EAAE,CAAC,IAAI;GAAa;GAC1D,KAAK,SAAS;GAGd,OAAO,SAAS,KAAK,CAAC,GAAG,IAAI;GAG7B,QAAQ,QAAQ,QAAQ,YACpB,SAAS,MAAM,MAAM,cAAc,OAAO;IACxC,IAAI,OAAO;KAET,IAAI,MAAM,GAAK,KAAK,OAAO,IAAI;KAE/B,KAAK,QAAQ,WAAW;MAAE,OAAO,KAAK,MAAM,CAAC,CAAC;KAAG;IACnD;IAIA,IAAI,cAAc;KAAE,KAAK,WAAW;KAAM,OAAO;IAAM,OAIlD,OAAO;GACd,EAAA,CACJ,MACA,WACA,YAAY,UAAU,QAAQ,SAAU,QAAQ,MAChD,QAAQ,KAAK;EACf;EAYA,SAAS,KAAK,KAAK;GACjB,IAAI,GAAG,SAAS,IAAI,QAChB,KAAK,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;GAGvD,IAAI,CAAC,QAAU,MAAM,CAAC,QAAQ;GAG9B,OAAO,IAAI,OACT,EAAE,KAAK;GAET,KAAK,IAAI,GAAG,IAAI,OAAO,KAAK;IAC1B,EAAE,KAAK,EAAE,IAAI,OAAQ,IAAI,IAAI,IAAI,WAAW,IAAI,EAAE;IAClD,EAAE,KAAK;GACT;GAGA,CAAC,GAAG,IAAI,SAAS,OAAO;IAEtB,IAAI,GAAG,IAAI,GACP,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG;IAC/B,OAAO,SAAS;KACd,IAAI,EAAE,IAAI,OAAQ,IAAI;KACtB,IAAI,IAAI,QAAQ,EAAE,QAAS,EAAE,KAAK,EAAE,IAAI,OAAQ,IAAI,OAAQ,EAAE,KAAK;IACrE;IACA,GAAG,IAAI;IAAG,GAAG,IAAI;IACjB,OAAO;GAIT,EAAA,CAAG,KAAK;EACV;EAMA,SAAS,KAAK,GAAG,GAAG;GAClB,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE;GACR,EAAE,IAAI,EAAE,EAAE,MAAM;GAChB,OAAO;EACT;EAMA,SAAS,QAAQ,KAAK,OAAO;GAC3B,IAAI,SAAS,CAAC,GAAG,MAAO,OAAO,KAAM;GACrC,IAAI,SAAS,OAAO,UAClB,KAAK,QAAQ,KACX,IAAI;IAAE,OAAO,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,CAAC;GAAG,SAAS,GAAG,CAAC;GAGnE,OAAQ,OAAO,SAAS,SAAS,OAAO,WAAW,MAAM,MAAM;EACjE;EAOA,SAAS,OAAO,MAAM,KAAK;GACzB,IAAI,aAAa,OAAO,IAAI,OAAO,IAAI;GACvC,OAAO,IAAI,WAAW,QACpB,IAAI,OAAO,KACT,QAAS,SAAS,IAAI,OAAO,KAAK,MAAM,WAAW,WAAW,GAAG;GAErE,OAAO,SAAS,GAAG;EACrB;EAOA,SAAS,WAAW;GAClB,IAAI;IACF,IAAI;IACJ,IAAI,eAAe,MAAM,WAAW,cAElC,MAAM,IAAI,KAAK;SACV;KACL,MAAM,IAAI,WAAW,KAAK;KAC1B,CAAC,OAAO,UAAU,OAAO,SAAA,CAAU,gBAAgB,GAAG;IACxD;IACA,OAAO,SAAS,GAAG;GACrB,SAAS,GAAG;IACV,IAAI,UAAU,OAAO,WACjB,UAAU,WAAW,QAAQ;IACjC,OAAO;KAAC,iBAAC,IAAI,KAAG;KAAG;KAAQ;KAAS,OAAO;KAAQ,SAAS,IAAI;IAAC;GACnE;EACF;EAMA,SAAS,SAAS,GAAG;GACnB,OAAO,OAAO,aAAa,MAAM,GAAG,CAAC;EACvC;EASA,OAAO,KAAK,OAAO,GAAG,IAAI;EAM1B,IAAK,OAAO,UAAW,YAAY,OAAO,SAAS;GACjD,OAAO,UAAU;GAEjB,IAAI;IACF,aAAA,gCAAA;GACF,SAAS,IAAI,CAAC;EAChB,OAAO,IAAK,OAAO,UAAW,cAAc,OAAO,KACjD,OAAO,WAAW;GAAE,OAAO;EAAY,CAAC;OAGxC,KAAK,SAAS,WAAW;CAK3B,EAAA,CAGG,OAAO,SAAS,cAAe,OAAA,SAChC,CAAC,GACD,IACF;;;;;CChPA,IAAI,OAAA,aAAA;CAKJ,IAAI,SAAA,eAAA;CAKJ,IAAI,SAAA,eAAA;CAQJ,IAAI,YAAA,kBAAA;CASJ,IAAI,UAAA,gBAAA;CAOJ,IAAI,SAAA,eAAA;CAIJ,IAAI,KAAA,qBAAA;CAEJ,GAAG,OAAO;CACV,GAAG,SAAS;CACZ,GAAG,SAAS;CACZ,GAAG,YAAY;CACf,GAAG,UAAU;CACb,GAAG,SAAS;CAEZ,OAAO,UAAU;;ACzDjB,SAAgB,wBACZ,YACA,MACQ;CACR,MAAM,OAAA,GAAMC,kBAAAA,QAAAA,CAAW,IAAI;CAE3B,MAAM,SAAS,MAAM,KAAK,EAAE,QAAQ,WAAW,IAAI,GAAG,MAAM,CAAC;CAE7D,KAAK,IAAI,IAAI,OAAO,SAAS,GAAG,IAAI,GAAG,KAAK;EACxC,MAAM,IAAI,KAAK,MAAM,IAAI,KAAK,IAAI,EAAE;EACpC,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,IAAI,OAAO,EAAE;CAClD;CAEA,OAAO;AACX;;;ACoBA,IAAsB,mBAAtB,MAAuC;CACnC;CACA;CACA;CAGA,yBAAiC;CACjC,iBAAiB;CACjB,2BAAgC;CAChC,8BAA8B;CAC9B,iBAAmC,CAAC;CAEpC,YAAsB;EAAC;EAAK;EAAK;EAAK;EAAM;EAAM;CAAI;CAEtD,MAAsB,OAAO,WAAW;CAExC,aAAuB;CACvB,oBAA8B;CAE9B,qBAAyC,CAAC;CAE1C,YACI,uBACA,QACF;EACE,KAAK,WAAW,OAAO;EAEvB,KAAK,yBAAyB;EAC9B,KAAK,UAAU;CACnB;CAEA,IAAc,wBAA6C;EACvD,OAAO,KAAK;CAChB;CAEA,gBAAgB,KAAa;EACzB,OAAO,KAAK,sBAAsB,gBAAgB,GAAG;CACzD;CAEA,gBAAgB,KAAa,cAAsB;EAC/C,KAAK,sBAAsB,gBAAgB,KAAK,YAAY;CAChE;CAEA,oBAA8B,CAK9B;CAEA,uCAAiD;EAC7C,MAAM,SAAU,KAAK,OAAO,QACvB;EACL,MAAM,gBAAgB,KAAK,gBAAgB,MAAM;EACjD,IAAI,KAAK,OAAO,cAAc,GAAG;GAC7B,MAAM,SAAS;GACf,KAAK,iBAAiB,wBAClB,eACA,MACJ;EAKJ;EAEA,MAAM,eAAe,KAAK,OAAO,YAAY;EAC7C,OAAO,KAAK,eAAe;CAG/B;CAEA,SAAS,YAAiB;EACtB,KAAK,uBAAuB,OAAO,MAAM,OAAO;EAChD,KAAK,QAAQ,eAAe,QAAQ,KAAK,MAAM,IAAI,GAAG,SAAS,CAAC;CACpE;CAEA,SAAS,YAAiB;EACtB,KAAK,uBAAuB,OAAO,MAAM,OAAO;CACpD;CAEA,IAAI,SAAkB;EAClB,OAAO,KAAK;CAChB;CAEA,iBAAgC;EAC5B,OAAO,IAAI,SAAS,SAAS,WAAW;GACpC,IAAI,QACA,aAAa,OAAO;QAEpB,QAAQ;EAEhB,CAAC;CACL;CAEA,MAAM,mBAAkC;EACpC,OAAO,IAAI,SAAS,SAAS,WAAW;GACpC,QAAQ;EACZ,CAAC;CACL;CAEA,oBAAmC;EAC/B,OAAO,IAAI,SAAS,SAAS,WAAW;GACpC,QAAQ,SAAS,OAAO;EAC5B,CAAC;CACL;CAEA,6BAA6B;EACzB,KAAK,mBAAmB,MAAM,GAAG,MAAM,IAAI,CAAC;EAC5C,MAAM,OAAO,KAAK,mBAAmB;EAErC,MAAM,SAAS,WAAmB;GAC9B,MAAM,MAAM,KAAK,MAAM,OAAO,MAAM;GACpC,IAAI,OAAO,KAAK,MAAM,MAClB,OAAO,KAAK,mBAAmB;QAE/B,OAAO;EAEf;EAEA,KAAK,QAAQ,eAAe,KAAK,QAAQ,MAAM,EAAG;EAClD,KAAK,QAAQ,eAAe,KAAK,QAAQ,MAAM,EAAG;EAClD,KAAK,QAAQ,eAAe,KAAK,QAAQ,MAAM,EAAG;EAClD,KAAK,QAAQ,eAAe,KAAK,QAAQ,MAAM,GAAI;EACnD,KAAK,QAAQ,eAAe,KAAK,QAAQ,MAAM,GAAI;CACvD;CAEA,wBAAwB,YAAY;EAChC,KAAK,qBAAqB;EAC1B,KAAK,uBAAuB,kBAAkB,KAAK,QAAQ,EAAE;EAG7D,KAAK,QAAQ,eAAe,WAAW;EACvC,KAAK,QAAQ,eAAe,UAAU,CAAC;EACvC,KAAK,QAAQ,eAAe,KAAK;EACjC,KAAK,QAAQ,eAAe,KAAK;EAEjC,MAAM,KAAK,eAAe;CAC9B;CAEA,eAAe,UAAwB;EACnC,KAAK,MACD,MAAM,IACF,oCAAoC,KAAK,IAAI,YAAY,MAAM,EACnE,CACJ;EACA,KAAK,MACD,MAAM,IACF,oCAAoC,KAAK,IAAI,kBAAkB,KAAK,OAAO,QAAQ,YAAY,EACnG,CACJ;EACA,KAAK,MACD,MAAM,IACF,oCAAoC,KAAK,IAAI,gBAAgB,KAAK,OAAO,UAAU,EACvF,CACJ;EACA,KAAK,MACD,MAAM,IACF,oCAAoC,KAAK,IAAI,yBAAyB,KAAK,UAAU,KAAK,OAAO,kBAAkB,EAAE,EACzH,CACJ;EACA,IAAI,MAAM,aAAa,KAAK,GAAG;GAC3B,MAAM,aAAyB;GAC/B,IAAI,WAAW,UAAU;IACrB,KAAK,MACD,MAAM,IACF,oCAAoC,KAAK,IAAI,mCAAmC,WAAW,SAAS,OAAO,EAC/G,CACJ;IACA,IAAI,WAAW,SAAS,SACpB,KAAK,MACD,MAAM,IACF,oCAAoC,KAAK,IAAI,cAAc,KAAK,UAAU,WAAW,SAAS,OAAO,EAAE,EAC3G,CACJ;IAEJ,IAAI,WAAW,SAAS,MACpB,KAAK,MACD,MAAM,IACF,oCAAoC,KAAK,IAAI,WAAW,KAAK,UAAU,WAAW,SAAS,IAAI,EAAE,EACrG,CACJ;IAiBJ,IAAI,WAAW,SAAS,WAAW,YAAY,cAAc;KACzD,KAAK,OAAO,eAAe;KAC3B,KAAK,MACD,MAAM,IACF,oCAAoC,KAAK,IAAI,oCACjD,CACJ;KACA,KAAK,sBAAsB,WAAW,iBAAiB;KACvD,OAAO;IACX;GACJ,OACI,KAAK,MACD,MAAM,IACF,oCAAoC,KAAK,IAAI,mBAAmB,WAAW,EAC/E,CACJ;EAER,OAAO,IAAI,MAAM,YAAY,gBAAgB;GACzC,KAAK,OAAO,eAAe;GAC3B,KAAK,MACD,MAAM,IACF,oCAAoC,KAAK,IAAI,oCACjD,CACJ;GACA,KAAK,sBAAsB,WAAW,iBAAiB;GACvD,OAAO;EACX;EACA,OAAO;CACX;CAEA,kBAAkB,OACd,QACA,OACA,YACkB;EAClB,MAAM,EAAE,aAAa,aAAa,UAAU,KAAK;EAEjD,MAAM,QAAQ,GAAG,OAAO,GAAG;EAE3B,IAAI;EACJ,IAAI;EAgBJ,MAAM,OACF,KAAK,sBACP,sBAAsB,aAAa,KAAK;EAC1C,YAAY,KAAK;EACjB,WAAW,KAAK;EAuBhB,OAAO;GApBH,IAAI;GACJ,cAAc;GACd,MAAM,CACF;IACI,QAAQ;IACR,OAAO,CAAC,SAAS;IACjB,KAAK;GACT,CACJ;GACA,MAAM;IAEF,KAAK,cAAc;IACnB,QAAQ;GACZ;GACA,MAAM;IACF,WAAW;IACX,8BAAa,IAAI,KAAK,EAAA,CAAE,YAAY;GACxC;EAGG;CACX;CAEA,6BAA6B,YAAY;EACrC,MAAM,KAAK,sBAAsB;CACrC;CAEA,gBAAgB,YAAY;EACxB,IAAI,CAAC,KAAK,0BAA0B;GAChC,KAAK,2BAA2B,WAAW,YAAY;IACnD,MAAM,KAAK,sBAAsB;IACjC,KAAK,yBAAyB;IAC9B,KAAK,2BAA2B;GACpC,GAAG,KAAK,2BAA2B;GACnC,IAAI,QACA,KAAK,yBAAyB,MAAM;EAE5C;CACJ;CAEA,mBAAmB,YAAY;EAC3B,KAAK;EAEL,IAAI,KAAK,yBAAyB,KAAK,mBAAmB,GAAG;GACzD,KAAK,yBAAyB;GAC9B,IAAI,KAAK,0BAA0B;IAC/B,aAAa,KAAK,wBAAwB;IAC1C,KAAK,2BAA2B;GACpC;GACA,MAAM,KAAK,sBAAsB;EACrC;EAEA,IAAI,CAAC,KAAK,0BACN,KAAK,cAAc;CAE3B;CAEA,oBAAoB,OAAO,YAAmC;EAC1D,MAAM,gBAAgB,MAAM,KAAK,OAAO;EACxC,KAAK,QAAQ,eAAe,QAAQ,KAAK,aAAa;EACtD,MAAM,KAAK,iBAAiB;CAChC;CAEA,cAAc,YAA8B;EACxC,KAAK,OAAO,eAAe,QAAQ,YAAY,IAAI;EACnD,KAAK,qBAAqB,CAAC;EAC3B,MAAM,KAAK,kBAAkB,gBAAgB,KAAK,QAAQ,GAAG,EAAE;EAC/D,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;CAEA,aAAa,YAA8B;EACvC,MAAM,KAAK,kBAAkB,eAAe,KAAK,QAAQ,GAAG,EAAE;EAC9D,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;CAEA,kBAAkB,YAA8B;EAC5C,MAAM,KAAK,kBAAkB,oBAAoB,KAAK,QAAQ,GAAG,EAAE;EACnE,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;CAEA,YAAY,YAA8B;EACtC,MAAM,QAAQ,KAAK,OAAO,eAAe;EACzC,KAAK,OAAO,eAAe,QAAQ,YAAY,IAAI,IAAI;EACvD,MAAM,KAAK,kBACP,cAAc,KAAK,QAAQ,GAAG,KAAK,KAAK,UAAU,KAAK,QAAQ,cAAc,EAAE,EACnF;EACA,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;CAEA,cAAc,YAA8B;EACxC,MAAM,KAAK,kBAAkB,gBAAgB,KAAK,QAAQ,GAAG,EAAE;EAC/D,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;CAEA,eAAe,YAA8B;EACzC,MAAM,KAAK,kBAAkB,iBAAiB,KAAK,QAAQ,GAAG,EAAE;EAChE,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;CAEA,cAAc,YAA8B;EACxC,MAAM,KAAK,kBAAkB,gBAAgB,KAAK,QAAQ,GAAG,EAAE;EAC/D,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;CAEA,eAAe,YAA8B;EACzC,MAAM,KAAK,kBAAkB,kBAAkB,KAAK,QAAQ,GAAG,EAAE;EACjE,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;CAIA,WAAW,KAAqB;EAC5B,IAAI,OAAO;EAEX,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;GACjC,QAAQ,IAAI,WAAW,CAAC;GACxB,OAAO,KAAK,KAAK,MAAM,QAAU;EACrC;EAEA,OAAO,SAAS;CACpB;CAEA,mBAAqC;EACjC,MAAM,UAAU,KAAK,OAAO;EAC5B,MAAM,EAAE,WAAW,UAAU,gBAAgB;EAC7C,MAAM,EAAE,iBAAiB,cAAc,KAAK;EAE5C,MAAM,WAAW;GACb;IAAC;IAAG;IAAK;GAAG;GACZ;IAAC;IAAI;IAAK;GAAG;GACb;IAAC;IAAK;IAAK;GAAG;GACd;IAAC;IAAK;IAAK;GAAG;GACd;IAAC;IAAK;IAAK;GAAG;EAClB;EAEA,MAAM,wBAAwB;GAC1B;IAAC;IAAK;IAAG;GAAG;GACZ;IAAC;IAAK;IAAI;GAAG;GACb;IAAC;IAAK;IAAK;GAAG;GACd;IAAC;IAAK;IAAK;GAAG;GACd;IAAC;IAAK;IAAK;GAAG;GAEd;IAAC;IAAG;IAAK;GAAG;GACZ;IAAC;IAAI;IAAK;GAAG;GACb;IAAC;IAAK;IAAK;GAAG;GACd;IAAC;IAAK;IAAK;GAAG;GACd;IAAC;IAAK;IAAK;GAAG;GAEd;IAAC;IAAK;IAAK;GAAC;GACZ;IAAC;IAAK;IAAK;GAAE;GACb;IAAC;IAAK;IAAK;GAAG;GACd;IAAC;IAAK;IAAK;GAAG;GACd;IAAC;IAAK;IAAK;GAAG;EAClB;EAEA,MAAM,cAAc,SAAS,QAAQ,cAAc,SAAS;EAC5D,MAAM,2BACF,sBACI,KAAK,WAAW,eAAe,IAAI,sBAAsB;EAGjE,MAAM,QAAQ,MAAM,IAAI,YAAY,IAAI,YAAY,IAAI,YAAY,EAAE;EACtE,MAAM,UAAU,MAAM,IAClB,yBAAyB,IACzB,yBAAyB,IACzB,yBAAyB,EAC7B;EAEA,OAAO,MACH,eAAe,MAAM,KAAK,SAAS,EAAE,gBAAgB,MAAM,KAAK,QAAQ,EAAE,mBAAmB,MAAM,KAAK,WAAW,EAAE,uBAAuB,QAAQ,MAAM,KAAK,eAAe,CAAC,EAAE,iBAAiB,MAAM,KAAK,UAAU,SAAS,CAAC,EAAE,EACvO;CACJ;CAEA,iCACI,eACA,YACS;EACT,MAAM,cAAc,YAAY,IAAI;EAEpC,IAAI,cAAc,gBAAgB,KAAM;GACpC,KAAK,MACD,MAAM,IACF,sDAAsD,KAAK,IAAI,6BAA6B,cAAc,cAAc,cAAc,QAAQ,EAClJ,CACJ;GACA,KAAK,MACD,MAAM,IACF,sDAAsD,KAAK,IAAI,YAAY,KAAK,WAAW,GAC/F,CACJ;GACA,KAAK,MACD,MAAM,IACF,sDAAsD,KAAK,IAAI,6EACnE,CACJ;EACJ;EACA,OAAO;CACX;CAEA,eAAe,YAA6C;EACxD,KAAK,aAAa;EAClB,OAAO,KAAK,cAAc;CAC9B;CAEA,gBAAgB,YAA6C;EACzD,MAAM,8BACF,KAAK,OAAO,QACd;EACF,IAAI,8BAA8B,GAAG;GACjC,MAAM,MAAM,2BAA2B;GACvC,OAAO;EACX,OAAO,IAAI,8BAA8B,GAAG;GAExC,OAAM,MADe,KAAK,UAAU,EAAA,CACvB,WAAW,CAAC,CAAC;GAC1B,OAAO;EACX;EAEA,IAAI;GAEA,OAAO,MADc,KAAK,oBAAoB;EAElD,SAAS,OAAY;GACjB,KAAK,OAAO,eAAe;GAC3B,IAAI,KAAK,YAAY,KAAK,MAAM,MAAM;IAClC,IAAI,KAAK,aAAa,KAAK,mBAAmB;KAE1C,KAAK;KACL,KAAK,OAAO,eAAe;KAC3B,MAAM,UAAU,qCAAqC,KAAK,IAAI,qCAAqC,KAAK,WAAW,yBAAyB,KAAK,kBAAkB;KACnK,KAAK,MAAM,OAAO;KAClB,IAAI,KAAK,aAAa,KAAK,UAAU,QACjC,MAAM,MAAM,KAAK,UAAU,KAAK,UAAU,SAAS,EAAE;UAErD,MAAM,MAAM,KAAK,UAAU,KAAK,aAAa,EAAE;KAEnD,OAAO,MAAM,KAAK,cAAc;IACpC,OAAO;KACH,MAAM,UAAU,sCAAsC,KAAK,IAAI,4CAA4C,KAAK,WAAW,yBAAyB,KAAK,kBAAkB,aAAa,MAAM;KAC9L,KAAK,MAAM,OAAO;KAClB,MAAM,UAAU;KAChB,MAAM;IACV;GACJ,OACI,MAAM;EAEd;CACJ;CAEA,YAAY,YAAkC;EAC1C,OAAO,KAAK,sBAAsB,UAAU;CAChD;CAEA,mBAAmB,OAAY,UAAe;EAC1C,MAAM,KAAK,KAAK,UAAU,KAAK;EAC/B,MAAM,KAAK,KAAK,UAAU,KAAK;EAC/B,IAAI,GAAG,cAAc,EAAE,MAAM,GAAG;GAC5B,KAAK,OAAO,eAAe;GAC3B,QAAQ,IACJ,MAAM,IACF,uEACJ,CACJ;GACA,QAAQ,IAAI,EAAE;GACd,QAAQ,IAAI,EAAE;GACd,QAAQ,KAAK,CAAC;EAClB;CACJ;AACJ;;;ACriBA,IAAsB,wBAAtB,cACY,iBAEZ;CACI,sBAA8B;CAC9B,gBAAkC,CAAC;CAEnC,YACI,gBACA,QACF;EACE,MAAM,gBAAgB,MAAM;CAChC;CAEA,gBAAgB,WAAmB;EAC/B,KAAK,YAAY;CACrB;CAEA,0BAA0B;EACtB,IAAI,KAAK,OAAO,eAAe,eAAe,GAEtC;OAAA,KAAK,OAAO,eAAe,eACtB,KAAK,OAAO,QACR,mBACT,GAEA,KAAK,aAAa,wBAAwB;EAAA;CAGtD;CAKA,gBAAgB,YAA8B;EAC1C,IAAI,KAAK,OAAO,YAAY,QAAQ,GAChC,KAAK,MACD,0CAA0C,KAAK,WAAW,GAC9D;EAGJ,MAAM,QAAQ,YAAY,IAAI;EAE9B,KAAK,OAAO,eAAe;EAE3B,KAAK,kBAAkB;EAEvB,MAAM,kBAAkB,iBAAiB;GACrC,KAAK,MACD,MAAM,QACF,mEAAmE,KAAK,oBAAoB,+BAChG,CACJ;GACA,KAAK,MACD,MAAM,QACF,kDAAkD,KAAK,WAAW,GACtE,CACJ;EACJ,GAAG,KAAK,mBAAmB;EAE3B,IAAI;GACA,MAAM,KAAK,aAAa;GACxB,cAAc,eAAe;EACjC,SAAS,OAAO;GACZ,cAAc,eAAe;GAC7B,KAAK,OAAO,eAAe;GAC3B,MAAM,UAAU,kDAAkD,MAAM,mBAAmB,KAAK,OAAO,eAAe,WAAW,KAAK,KAAK,WAAW;GACtJ,KAAK,MAAM,OAAO;GAClB,KAAK,aAAa,OAAO;EAC7B;EAEA,KAAK,OAAO,eAAe,YAAY;EACvC,KAAK,OAAO,eAAe;EAC3B,KAAK,OAAO,eAAe;EAC3B,KAAK,OAAO,eAAe;EAG3B,MAAM,OADM,YAAY,IACX,IAAM;EACnB,KAAK,OAAO,eAAe,WAAW;EAEtC,KAAK,mBAAmB,KAAK,IAAI;EAEjC,IAAI,QAAQ,GACR,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,IACf,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,IACf,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,IACf,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,IACf,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,IACf,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,IACf,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,IACf,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,KACf,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,KACf,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,KACf,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,KACf,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,KACf,KAAK,OAAO,eAAe;OACxB,IAAI,QAAQ,KACf,KAAK,OAAO,eAAe;OAE3B,KAAK,OAAO,eAAe;EAG/B,IAAI,OAAO,KAAK,qBAAqB;GACjC,KAAK,MACD,MAAM,IACF,mEAAmE,KAAK,YAC5E,CACJ;GACA,KAAK,MACD,MAAM,IACF,kDAAkD,KAAK,WAAW,GACtE,CACJ;GACA,KAAK,MACD,MAAM,IACF,mHACJ,CACJ;EACJ,OAAO,IAAI,OAAO,KAAK;GACnB,KAAK,MACD,MAAM,IACF,KACA,KACA,GACJ,CAAC,CACG,mEAAmE,KAAK,YAC5E,CACJ;GACA,KAAK,MACD,MAAM,IACF,KACA,KACA,GACJ,CAAC,CACG,kDAAkD,KAAK,WAAW,GACtE,CACJ;EACJ;EAEA,MAAM,kCAAkC,iBAAiB;GACrD,KAAK,MACD,MAAM,IACF,mEAAmE,KAAK,oBAAoB,yBAChG,CACJ;GACA,KAAK,MACD,MAAM,IACF,kDAAkD,KAAK,WAAW,GACtE,CACJ;GACA,KAAK,MACD,MAAM,IACF,mHACJ,CACJ;EACJ,GAAG,KAAK,mBAAmB;EAE3B,MAAM,KAAK,iBAAiB;EAC5B,cAAc,+BAA+B;EAE7C,OAAO;CACX;AACJ;;;AC/LA,IAAa,iBAAb,cACY,sBAEZ;CACI,sBAAsB,YAA6C;EAC/D,MAAM,cAAc,YAAY,IAAI;EAGhC,MAAM,KAAK,sBAAsB,WAAW,eAAe;EAC/D,KAAK,8BACD,aACA,6BACJ;EAEA,KAAK,sBAAsB,WAAW,iBAAiB;EAEvD,OAAO;CACX;AACJ;;;ACfA,IAAa,iBAAb,cACY,sBAEZ;CACI;CACA,gBAAkC,CAAC;CAEnC,sBAAsB,YAA6C;EAC/D,MAAM,cAAc,YAAY,IAAI;EAEpC,MAAM,SAAS,MAAM,KAAK,UAAU;EACpC,MAAM,cAAc,KAAK,8BACrB,aACA,wBACJ;EAEA,MAAM,SAAU,KAAK,OAAO,QACvB;EACL,MAAM,aAAc,KAAK,OAAO,QAC3B;EAEL,IAAI,KAAK,OAAO,cAAc,GAC1B,KAAK,cAAc;GACf,cAAc;GACd,MAAM;GACN,OAAO,CAAC;EACZ;EAGJ,MAAM,eAAuB,MAAM,KAAK,gBACpC,QACA,KAAK,OAAO,WACZ,GACJ;EAEA,KAAK,gBAAgB,QAAQ,KAAK,OAAO,SAAS;EAElD,MAAM,cAAc,KAAK,8BACrB,aACA,8BACJ;EAIA,MAAM,0BAA0B,KAAK,cAAc,WAC9C,MAAM,EAAE,IAAI,cAAc,aAAa,EAAG,MAAM,CACrD;EACA,MAAM,gCAAgC,KAAK,YAAY,MAAM,WACxD,MAAW,EAAE,SAAS,IAAI,cAAc,aAAa,EAAG,MAAM,CACnE;EAEA,IAAI,4BAA4B,IAAI;GAChC,IAAI,kCAAkC,IAElC,MAAM,IAAI,MACN,+GAA+G,wBAAwB,qCAAqC,8BAA8B,uBAAuB,aAAa,GAAG,EACrP;GAEJ,KAAK,cAAc,KAAK,YAAY;GAEpC,KAAK,YAAY,MAAO,KAAK;IACzB,SAAU,aAAqB;IAC/B,UAAU;IACV,SAAS;KACL,QAAQ;KACR,KAAK;IACT;GACJ,CAAC;EACL;EAEA,IAAI,SAAS,KAAA;EACb,IAAI,KAAK,OAAO,YAAY,eAAe,aAAa,GAAG;GACvD,SAAS,MAAM,OAAO,mCAClB,KAAK,WACT;GACA,KAAK,8BACD,aACA,2BACJ;EACJ,OAAO,IACH,KAAK,OAAO,cACX,KAAK,OAAO,QAAqC,iBAC7C,aACD,GACN;GACE,SAAS,MAAM,OAAO,mCAClB,KAAK,WACT;GACA,KAAK,8BACD,aACA,2BACJ;EACJ;EAKA,IAAI,UAAU,OAAO,WAAW,YAAY,cACxC,MAAM,IAAI,MAAM,cAAc;EAGlC,IAAI,QAAQ;GACR,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,KAAK,MAAM,SAAS,GAAG,KAAK;IACnD,MAAM,eAAuB,KAAK,cAAc;IAChD,OAAO,aAAa;IAEpB,MAAM,gBAAgB,EAAE,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC,SAAS;IACzD,OAAO,cAAc;IAErB,KAAK,gBAAgB,cAAc,aAAa;GACpD;GACA,KAAK,YAAY,QAAQ,CAAC;GAC1B,KAAK,gBAAgB,CAAC;EAC1B;EAMA,OAAO;CACX;AACJ;;;ACzHA,IAAa,iBAAb,cACY,sBAEZ;CACI,sBAAsB,YAA6C;EAC/D,MAAM,cAAc,YAAY,IAAI;EAEpC,MAAM,SAAS,MAAM,KAAK,UAAU;EAEpC,MAAM,cAAc,KAAK,8BACrB,aACA,wBACJ;EAEA,MAAM,SAAU,KAAK,OAAO,QACvB;EAEL,MAAM,eAAe,MAAM,KAAK,gBAC5B,QACA,KAAK,+BAA+B,GACpC,GACJ;EACA,MAAM,cAAc,KAAK,8BACrB,aACA,8BACJ;EAEA,MAAM,SAAS,MAAM,OAAO,YACxB,UACA,aAAa,EACjB;EACA,KAAK,8BACD,aACA,0BACJ;EAKA,IAAI,OAAO,WAAW,YAAY,cAC9B,MAAM,IAAI,MAAM,cAAc;EAGlC,OAAO,aAAa;EACpB,OAAO,OAAO,KAAK;EAEnB,KAAK,gBAAgB,cAAc,OAAO,IAAI;EAE9C,OAAO,OAAO;CAClB;AACJ;;;AClDA,IAAa,iBAAb,cACY,sBAEZ;CACI,sBAAsB,YAA6C;EAC/D,MAAM,cAAc,YAAY,IAAI;EAEpC,MAAM,SAAS,MAAM,KAAK,UAAU;EACpC,MAAM,cAAc,KAAK,8BACrB,aACA,wBACJ;EAEA,MAAM,SAAU,KAAK,OAAO,QACvB;EACL,MAAM,eAAe,MAAM,KAAK,gBAC5B,GAAG,UACH,KAAK,+BAA+B,GACpC,GACJ;EACA,MAAM,cAAc,KAAK,8BACrB,aACA,8BACJ;EAEA,MAAM,SAAS,MAAM,OAAO,YACxB,UACA,aAAa,EACjB;EACA,MAAM,cAAc,KAAK,8BACrB,aACA,0BACJ;EAKA,IAAI,OAAO,WAAW,YAAY,cAC9B,MAAM,IAAI,MAAM,cAAc;EAKlC,KAAK,OAAO,eAAe;EAE3B,MAAM,mBAAmB,EAAE,GAAG,aAAa;EAC3C,MAAM,uBAAuB,EAAE,GAAG,OAAO,KAAK;EAK9C,MAAM,sBAA8B,SAChC,qBAAqB,KAAK,SAC9B;EAEA,OAAO,iBAAiB;EACxB,OAAO,qBAAqB;EAE5B,IAAI,sBAAsB,GACtB,iBAAiB,KAAM,MAAM,6BAA6B,KAAK,OAAO,YAAY,KAAK,gBAAgB,MAAM;EAGjH,KAAK,gBAAgB,kBAAkB,oBAAoB;EAE3D,MAAM,uBAAuB,OAAO;EACpC,IAAI,wBAAwB,qBAAqB,MAAM;GACnD,qBAAqB,KAAK,MAAM,6BAA6B,KAAK,OAAO,YAAY,KAAK,gBAAgB,MAAM;GAGhH,MAAM,SAAS,MAAM,OAAO,YACxB,UACA,sBACA,MAAM,oBAAoB,EAC9B;GACA,KAAK,8BACD,aACA,0BACJ;GAKA,IAAI,OAAO,WAAW,YAAY,cAC9B,MAAM,IAAI,MAAM,cAAc;GAGlC,MAAM,gBAAgB,EAAE,GAAG,OAAO,KAAK;GAEvC,OAAO,cAAc;GACrB,OAAO,qBAAqB;GAE5B,KAAK,gBAAgB,eAAe,oBAAoB;GAExD,OAAO,OAAO;EAClB,OAAO;GACH,KAAK,OAAO,eAAe;GAC3B,OAAO;EACX;CACJ;AACJ;;;ACpGA,IAAa,iBAAb,cACY,sBAEZ;CACI,sBAAsB,YAA6C;EAC/D,MAAM,cAAc,YAAY,IAAI;EAEpC,MAAM,SAAS,MAAM,KAAK,UAAU;EACpC,MAAM,cAAc,KAAK,8BACrB,aACA,wBACJ;EAEA,MAAM,UAAW,KAAK,OAAO,QACxB,YAAY;EACjB,MAAM,SAAU,KAAK,OAAO,QACvB;EAEL,MAAM,eAAuB,MAAM,KAAK,gBACpC,QACA,KAAK,+BAA+B,GACpC,GACJ;EACA,MAAM,cAAc,KAAK,8BACrB,aACA,8BACJ;EASA,MAAM,MAAM,IAAI,IACZ,GAAG,QAAQ,iBAAiB,aAAa,KAAM,EAAE,CAAC,QACtD;EAKA,IAAI;EACJ,IACK,KAAK,OAAO,QAAqC,mBAClD,MACF;GACE,MAAM,OAAO;IACT,kBACI,KAAK,OAAO,QACd;IACF,QAAQ,aAAa,KAAM,EAAE,CAAC;GAClC;GACA,SAAS,MAAM,OAAO,qBAAqB,UAAU,IAAI;GACzD,KAAK,8BACD,aACA,mCACJ;GAKA,IAAI,OAAO,WAAW,YAAY,cAC9B,MAAM,IAAI,MAAM,cAAc;EAEtC,OAAO;GACH,SAAS,MAAM,OAAO,aAAa,GAAG;GACtC,KAAK,8BACD,aACA,2BACJ;GAKA,IAAI,OAAO,WAAW,YAAY,cAC9B,MAAM,IAAI,MAAM,cAAc;EAEtC;EAEA,MAAM,cAAc,EAAE,GAAG,OAAO,KAAK;EAErC,MAAM,oBAAoB;GACtB,cAAc;GACd,MAAM;EACV;EAEA,OAAO,YAAY;EACnB,OAAO,YAAY;EACnB,OAAO,YAAY;EAEnB,KAAK,gBAAgB,mBAAmB,WAAW;EAEnD,OAAO,OAAO;CAClB;AACJ;;;;;;;;ACjGA,IAAI,aAAyC,WAAY;CACrD,IAAI,gBAAgB,SAAU,GAAG,GAAG;EAChC,gBAAgB,OAAO,kBAClB,EAAE,WAAW,CAAC,EAAE,aAAa,SAAS,SAAU,GAAG,GAAG;GAAE,EAAE,YAAY;EAAG,KAC1E,SAAU,GAAG,GAAG;GAAE,KAAK,IAAI,KAAK,GAAG,IAAI,EAAE,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE;EAAI;EAC7E,OAAO,cAAc,GAAG,CAAC;CAC7B;CACA,OAAO,SAAU,GAAG,GAAG;EACnB,cAAc,GAAG,CAAC;EAClB,SAAS,KAAK;GAAE,KAAK,cAAc;EAAG;EACtC,EAAE,YAAY,MAAM,OAAO,OAAO,OAAO,CAAC,KAAK,GAAG,YAAY,EAAE,WAAW,IAAI,GAAG;CACtF;AACJ,EAAA,CAAG;AACH,IAAI,kBAAkB,OAAO,UAAU;AACvC,SAAgB,eAAe,KAAK,KAAK;CACrC,OAAO,gBAAgB,KAAK,KAAK,GAAG;AACxC;AACA,SAAgB,YAAY,KAAK;CAC7B,IAAI,MAAM,QAAQ,GAAG,GAAG;EACpB,IAAI,SAAS,IAAI,MAAM,IAAI,MAAM;EACjC,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAC/B,OAAO,KAAK,KAAK;EAErB,OAAO;CACX;CACA,IAAI,OAAO,MACP,OAAO,OAAO,KAAK,GAAG;CAE1B,IAAI,OAAO,CAAC;CACZ,KAAK,IAAI,KAAK,KACV,IAAI,eAAe,KAAK,CAAC,GACrB,KAAK,KAAK,CAAC;CAGnB,OAAO;AACX;;;;;;;AAQA,SAAgB,WAAW,KAAK;CAC5B,QAAQ,OAAO,KAAf;EACI,KAAK,UACD,OAAO,KAAK,MAAM,KAAK,UAAU,GAAG,CAAC;EACzC,KAAK,aACD,OAAO;EACX,SACI,OAAO;CACf;AACJ;AAEA,SAAgB,UAAU,KAAK;CAC3B,IAAI,IAAI;CACR,IAAI,MAAM,IAAI;CACd,IAAI;CACJ,OAAO,IAAI,KAAK;EACZ,WAAW,IAAI,WAAW,CAAC;EAC3B,IAAI,YAAY,MAAM,YAAY,IAAI;GAClC;GACA;EACJ;EACA,OAAO;CACX;CACA,OAAO;AACX;;;;;;AAMA,SAAgB,oBAAoB,MAAM;CACtC,IAAI,KAAK,QAAQ,GAAG,MAAM,MAAM,KAAK,QAAQ,GAAG,MAAM,IAClD,OAAO;CACX,OAAO,KAAK,QAAQ,MAAM,IAAI,CAAC,CAAC,QAAQ,OAAO,IAAI;AACvD;;;;;;AAMA,SAAgB,sBAAsB,MAAM;CACxC,OAAO,KAAK,QAAQ,OAAO,GAAG,CAAC,CAAC,QAAQ,OAAO,GAAG;AACtD;;;;AA+BA,SAAgB,aAAa,KAAK;CAC9B,IAAI,QAAQ,KAAA,GACR,OAAO;CAEX,IAAI,KAAK;EACL,IAAI,MAAM,QAAQ,GAAG,GACZ;QAAA,IAAI,MAAM,GAAG,MAAM,IAAI,QAAQ,MAAM,KAAK,OAC3C,IAAI,aAAa,IAAI,IAAI,GACrB,OAAO;EAAA,OAId,IAAI,OAAO,QAAQ,UAAU;GAC9B,IAAI,UAAU,YAAY,GAAG;GAC7B,IAAI,gBAAgB,QAAQ;GAC5B,KAAK,IAAI,IAAI,GAAG,IAAI,eAAe,KAC/B,IAAI,aAAa,IAAI,QAAQ,GAAG,GAC5B,OAAO;EAGnB;CACJ;CACA,OAAO;AACX;AACA,SAAS,2BAA2B,SAAS,MAAM;CAC/C,IAAI,eAAe,CAAC,OAAO;CAC3B,KAAK,IAAI,OAAO,MAAM;EAClB,IAAI,QAAQ,OAAO,KAAK,SAAS,WAAW,KAAK,UAAU,KAAK,MAAM,MAAM,CAAC,IAAI,KAAK;EACtF,IAAI,OAAO,UAAU,aACjB,aAAa,KAAK,MAAM,OAAO,KAAK;CAE5C;CACA,OAAO,aAAa,KAAK,IAAI;AACjC;AACA,IAAI,aAA4B,SAAU,QAAQ;CAC9C,UAAU,YAAY,MAAM;CAC5B,SAAS,WAAW,SAAS,MAAM,OAAO,WAAW,MAAM;EACvD,IAAI,aAAa,KAAK;EACtB,IAAI,QAAQ,OAAO,KAAK,MAAM,2BAA2B,SAAS;GAAQ;GAAa;GAAkB;GAAiB;EAAK,CAAC,CAAC,KAAK;EACtI,MAAM,OAAO;EACb,MAAM,QAAQ;EACd,MAAM,YAAY;EAClB,MAAM,OAAO;EACb,OAAO,eAAe,OAAO,WAAW,SAAS;EACjD,MAAM,UAAU,2BAA2B,SAAS;GAAQ;GAAa;GAAkB;GAAiB;EAAK,CAAC;EAClH,OAAO;CACX;CACA,OAAO;AACX,EAAE,KAAK;;;;;;;;;;;;;;ACxKP,IAAW,iBAAiB;AAC5B,IAAW,YAAY;AAQvB,IAAI,SAAS;CACT,KAAK,SAAU,KAAK,KAAK,UAAU;EAC/B,IAAI,OAAO,KAAK;EAChB,OAAO,EAAE,aAAa,SAAS;CACnC;CACA,QAAQ,SAAU,KAAK,KAAK,UAAU;EAClC,IAAI,UAAU,IAAI;EAClB,OAAO,IAAI;EACX,OAAO;GAAE,aAAa;GAAmB;EAAQ;CACrD;CACA,SAAS,SAAU,KAAK,KAAK,UAAU;EACnC,IAAI,UAAU,IAAI;EAClB,IAAI,OAAO,KAAK;EAChB,OAAO;GAAE,aAAa;GAAmB;EAAQ;CACrD;CACA,MAAM,SAAU,KAAK,KAAK,UAAU;EAIhC,IAAI,UAAU,kBAAkB,UAAU,KAAK,IAAI;EACnD,IAAI,SACA,UAAU,WAAW,OAAO;EAEhC,IAAI,gBAAgB,eAAe,UAAU;GAAE,IAAI;GAAU,MAAM,KAAK;EAAK,CAAC,CAAC,CAAC;EAChF,eAAe,UAAU;GAAE,IAAI;GAAO,MAAM,KAAK;GAAM,OAAO;EAAc,CAAC;EAC7E,OAAO;GAAE,aAAa;GAAmB;EAAQ;CACrD;CACA,MAAM,SAAU,KAAK,KAAK,UAAU;EAChC,IAAI,cAAc,kBAAkB,UAAU,KAAK,IAAI;EAEvD,eAAe,UAAU;GAAE,IAAI;GAAO,MAAM,KAAK;GAAM,OAAO,WAAW,WAAW;EAAE,CAAC;EACvF,OAAO,EAAE,aAAa,SAAS;CACnC;CACA,MAAM,SAAU,KAAK,KAAK,UAAU;EAChC,OAAO;GAAE,aAAa;GAAU,MAAM,WAAW,IAAI,MAAM,KAAK,KAAK;EAAE;CAC3E;CACA,MAAM,SAAU,KAAK,KAAK,UAAU;EAChC,KAAK,QAAQ,IAAI;EACjB,OAAO,EAAE,aAAa,SAAS;CACnC;AACJ;AAEA,IAAI,SAAS;CACT,KAAK,SAAU,KAAK,GAAG,UAAU;EAC7B,IAAI,UAAU,CAAC,GACX,IAAI,OAAO,GAAG,GAAG,KAAK,KAAK;OAG3B,IAAI,KAAK,KAAK;EAGlB,OAAO;GAAE,aAAa;GAAU,OAAO;EAAE;CAC7C;CACA,QAAQ,SAAU,KAAK,GAAG,UAAU;EAEhC,OAAO;GAAE,aAAa;GAAU,SADd,IAAI,OAAO,GAAG,CACmB,CAAC,CAAC;EAAG;CAC5D;CACA,SAAS,SAAU,KAAK,GAAG,UAAU;EACjC,IAAI,UAAU,IAAI;EAClB,IAAI,KAAK,KAAK;EACd,OAAO;GAAE,aAAa;GAAmB;EAAQ;CACrD;CACA,MAAM,OAAO;CACb,MAAM,OAAO;CACb,MAAM,OAAO;CACb,MAAM,OAAO;AACjB;;;;;;;;;AASA,SAAgB,kBAAkB,UAAU,SAAS;CACjD,IAAI,WAAW,IACX,OAAO;CAEX,IAAI,yBAAyB;EAAE,IAAI;EAAQ,MAAM;CAAQ;CACzD,eAAe,UAAU,sBAAsB;CAC/C,OAAO,uBAAuB;AAClC;;;;;;;;;;;;;;;AAeA,SAAgB,eAAe,UAAU,WAAW,mBAAmB,gBAAgB,2BAA2B,OAAO;CACrH,IAAI,sBAAsB,KAAK,GAAK,oBAAoB;CACxD,IAAI,mBAAmB,KAAK,GAAK,iBAAiB;CAClD,IAAI,8BAA8B,KAAK,GAAK,4BAA4B;CACxE,IAAI,UAAU,KAAK,GAAK,QAAQ;CAChC,IAAI,mBAAmB;EACnB,IAAI,OAAO,qBAAqB,YAC5B,kBAAkB,WAAW,GAAG,UAAU,UAAU,IAAI;OAGxD,UAAU,WAAW,CAAC;CAE9B;CAEA,IAAI,UAAU,SAAS,IAAI;EACvB,IAAI,cAAc,EAAE,aAAa,SAAS;EAC1C,IAAI,UAAU,OAAO,OAAO;GACxB,YAAY,cAAc,UAAU;GACpC,OAAO;EACX,OACK,IAAI,UAAU,OAAO,WAAW;GACjC,YAAY,cAAc,UAAU;GACpC,YAAY,UAAU;GACtB,OAAO;EACX,OACK,IAAI,UAAU,OAAO,UAAU,UAAU,OAAO,QAAQ;GACzD,YAAY,cAAc,kBAAkB,UAAU,UAAU,IAAI;GACpE,IAAI,UAAU,OAAO,QACjB,YAAY,UAAU;GAE1B,OAAO;EACX,OACK,IAAI,UAAU,OAAO,QAAQ;GAC9B,YAAY,OAAO,WAAW,UAAU,UAAU,KAAK;GACvD,IAAI,YAAY,SAAS,OACrB,MAAM,IAAI,eAAe,yBAAyB,yBAAyB,OAAO,WAAW,QAAQ;GAEzG,YAAY,cAAc;GAC1B,OAAO;EACX,OACK,IAAI,UAAU,OAAO,UAAU;GAChC,YAAY,UAAU;GACtB,YAAY,cAAc;GAC1B,OAAO;EACX,OACK,IAAI,UAAU,OAAO,QAAQ;GAC9B,UAAU,QAAQ;GAClB,OAAO;EACX,OAEI,IAAI,mBACA,MAAM,IAAI,eAAe,wEAAwE,wBAAwB,OAAO,WAAW,QAAQ;OAGnJ,OAAO;CAGnB,OACK;EACD,IAAI,CAAC,gBACD,WAAW,WAAW,QAAQ;EAGlC,IAAI,QADO,UAAU,QAAQ,GAAA,CACb,MAAM,GAAG;EACzB,IAAI,MAAM;EACV,IAAI,IAAI;EACR,IAAI,MAAM,KAAK;EACf,IAAI,uBAAuB,KAAA;EAC3B,IAAI,MAAM,KAAK;EACf,IAAI,mBAAmB,KAAK;EAC5B,IAAI,OAAO,qBAAqB,YAC5B,mBAAmB;OAGnB,mBAAmB;EAEvB,OAAO,MAAM;GACT,MAAM,KAAK;GACX,IAAI,OAAO,IAAI,QAAQ,GAAG,KAAK,IAC3B,MAAM,sBAAsB,GAAG;GAEnC,IAAI,8BACC,OAAO,eACH,OAAO,eAAe,IAAI,KAAK,KAAK,IAAI,MAAM,gBACnD,MAAM,IAAI,UAAU,+OAA+O;GAEvQ,IAAI,mBACI;QAAA,yBAAyB,KAAA,GAAW;KACpC,IAAI,IAAI,SAAS,KAAA,GACb,uBAAuB,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;UAE/C,IAAI,KAAK,MAAM,GAChB,uBAAuB,UAAU;KAErC,IAAI,yBAAyB,KAAA,GACzB,iBAAiB,WAAW,GAAG,UAAU,oBAAoB;IAErE;;GAEJ;GACA,IAAI,MAAM,QAAQ,GAAG,GAAG;IACpB,IAAI,QAAQ,KACR,MAAM,IAAI;SAGV,IAAI,qBAAqB,CAAC,UAAU,GAAG,GACnC,MAAM,IAAI,eAAe,2HAA2H,sCAAsC,OAAO,WAAW,QAAQ;SAEnN,IAAI,UAAU,GAAG,GAClB,MAAM,CAAC,CAAC;IAGhB,IAAI,KAAK,KAAK;KACV,IAAI,qBAAqB,UAAU,OAAO,SAAS,MAAM,IAAI,QACzD,MAAM,IAAI,eAAe,oFAAoF,iCAAiC,OAAO,WAAW,QAAQ;KAE5K,IAAI,cAAc,OAAO,UAAU,GAAG,CAAC,KAAK,WAAW,KAAK,KAAK,QAAQ;KACzE,IAAI,YAAY,SAAS,OACrB,MAAM,IAAI,eAAe,yBAAyB,yBAAyB,OAAO,WAAW,QAAQ;KAEzG,OAAO;IACX;GACJ,OAEI,IAAI,KAAK,KAAK;IACV,IAAI,cAAc,OAAO,UAAU,GAAG,CAAC,KAAK,WAAW,KAAK,KAAK,QAAQ;IACzE,IAAI,YAAY,SAAS,OACrB,MAAM,IAAI,eAAe,yBAAyB,yBAAyB,OAAO,WAAW,QAAQ;IAEzG,OAAO;GACX;GAEJ,MAAM,IAAI;GAGV,IAAI,qBAAqB,IAAI,QAAQ,CAAC,OAAO,OAAO,QAAQ,WACxD,MAAM,IAAI,eAAe,gDAAgD,+BAA+B,OAAO,WAAW,QAAQ;EAE1I;CACJ;AACJ;;;;;;;;;;;;;;;AAeA,SAAgB,WAAW,UAAU,OAAO,mBAAmB,gBAAgB,2BAA2B;CACtG,IAAI,mBAAmB,KAAK,GAAK,iBAAiB;CAClD,IAAI,8BAA8B,KAAK,GAAK,4BAA4B;CACxE,IAAI,mBACI;MAAA,CAAC,MAAM,QAAQ,KAAK,GACpB,MAAM,IAAI,eAAe,mCAAmC,uBAAuB;CAAA;CAG3F,IAAI,CAAC,gBACD,WAAW,WAAW,QAAQ;CAElC,IAAI,UAAU,IAAI,MAAM,MAAM,MAAM;CACpC,KAAK,IAAI,IAAI,GAAG,WAAW,MAAM,QAAQ,IAAI,UAAU,KAAK;EAExD,QAAQ,KAAK,eAAe,UAAU,MAAM,IAAI,mBAAmB,MAAM,2BAA2B,CAAC;EACrG,WAAW,QAAQ,EAAE,CAAC;CAC1B;CACA,QAAQ,cAAc;CACtB,OAAO;AACX;;;;;;;;;;AAUA,SAAgB,aAAa,UAAU,WAAW,OAAO;CACrD,IAAI,kBAAkB,eAAe,UAAU,SAAS;CACxD,IAAI,gBAAgB,SAAS,OACzB,MAAM,IAAI,eAAe,yBAAyB,yBAAyB,OAAO,WAAW,QAAQ;CAEzG,OAAO,gBAAgB;AAC3B;;;;;;;;AAQA,SAAgB,UAAU,WAAW,OAAO,UAAU,sBAAsB;CACxE,IAAI,OAAO,cAAc,YAAY,cAAc,QAAQ,MAAM,QAAQ,SAAS,GAC9E,MAAM,IAAI,eAAe,8BAA8B,2BAA2B,OAAO,WAAW,QAAQ;MAE3G,IAAI,CAAC,OAAO,UAAU,KACvB,MAAM,IAAI,eAAe,wEAAwE,wBAAwB,OAAO,WAAW,QAAQ;MAElJ,IAAI,OAAO,UAAU,SAAS,UAC/B,MAAM,IAAI,eAAe,6CAA6C,0BAA0B,OAAO,WAAW,QAAQ;MAEzH,IAAI,UAAU,KAAK,QAAQ,GAAG,MAAM,KAAK,UAAU,KAAK,SAAS,GAElE,MAAM,IAAI,eAAe,mDAAiD,0BAA0B,OAAO,WAAW,QAAQ;MAE7H,KAAK,UAAU,OAAO,UAAU,UAAU,OAAO,WAAW,OAAO,UAAU,SAAS,UACvF,MAAM,IAAI,eAAe,yFAAyF,2BAA2B,OAAO,WAAW,QAAQ;MAEtK,KAAK,UAAU,OAAO,SAAS,UAAU,OAAO,aAAa,UAAU,OAAO,WAAW,UAAU,UAAU,KAAA,GAC9G,MAAM,IAAI,eAAe,oGAAoG,4BAA4B,OAAO,WAAW,QAAQ;MAElL,KAAK,UAAU,OAAO,SAAS,UAAU,OAAO,aAAa,UAAU,OAAO,WAAW,aAAa,UAAU,KAAK,GACtH,MAAM,IAAI,eAAe,oGAAoG,4CAA4C,OAAO,WAAW,QAAQ;MAElM,IAAI,UAAU;EACf,IAAI,UAAU,MAAM,OAAO;GACvB,IAAI,UAAU,UAAU,KAAK,MAAM,GAAG,CAAC,CAAC;GACxC,IAAI,kBAAkB,qBAAqB,MAAM,GAAG,CAAC,CAAC;GACtD,IAAI,YAAY,kBAAkB,KAAK,YAAY,iBAC/C,MAAM,IAAI,eAAe,yDAAyD,6BAA6B,OAAO,WAAW,QAAQ;EAEjJ,OACK,IAAI,UAAU,OAAO,aAAa,UAAU,OAAO,YAAY,UAAU,OAAO,QAC7E;OAAA,UAAU,SAAS,sBACnB,MAAM,IAAI,eAAe,8DAA8D,+BAA+B,OAAO,WAAW,QAAQ;EAAA,OAGnJ,IAAI,UAAU,OAAO,UAAU,UAAU,OAAO,QAAQ;GAEzD,IAAI,QAAQ,SAAS,CAAC;IADA,IAAI;IAAQ,MAAM,UAAU;IAAM,OAAO,KAAA;GAC7B,CAAC,GAAG,QAAQ;GAC9C,IAAI,SAAS,MAAM,SAAS,+BACxB,MAAM,IAAI,eAAe,gEAAgE,+BAA+B,OAAO,WAAW,QAAQ;EAE1J;CACJ;AACJ;;;;;;;;AAQA,SAAgB,SAAS,UAAU,UAAU,mBAAmB;CAC5D,IAAI;EACA,IAAI,CAAC,MAAM,QAAQ,QAAQ,GACvB,MAAM,IAAI,eAAe,mCAAmC,uBAAuB;EAEvF,IAAI,UAEA,WAAW,WAAW,QAAQ,GAAG,WAAW,QAAQ,GAAG,qBAAqB,IAAI;OAE/E;GACD,oBAAoB,qBAAqB;GACzC,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KACjC,kBAAkB,SAAS,IAAI,GAAG,UAAU,KAAA,CAAS;EAE7D;CACJ,SACO,GAAG;EACN,IAAI,aAAa,gBACb,OAAO;OAGP,MAAM;CAEd;AACJ;AAmBA,SAAgB,WAAW,GAAG,GAAG;CAC7B,IAAI,MAAM,GACN,OAAO;CACX,IAAI,KAAK,KAAK,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU;EACxD,IAAI,OAAO,MAAM,QAAQ,CAAC,GAAG,OAAO,MAAM,QAAQ,CAAC,GAAG,GAAG,QAAQ;EACjE,IAAI,QAAQ,MAAM;GACd,SAAS,EAAE;GACX,IAAI,UAAU,EAAE,QACZ,OAAO;GACX,KAAK,IAAI,QAAQ,QAAQ,IACrB,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,GACtB,OAAO;GACf,OAAO;EACX;EACA,IAAI,QAAQ,MACR,OAAO;EACX,IAAI,OAAO,OAAO,KAAK,CAAC;EACxB,SAAS,KAAK;EACd,IAAI,WAAW,OAAO,KAAK,CAAC,CAAC,CAAC,QAC1B,OAAO;EACX,KAAK,IAAI,QAAQ,QAAQ,IACrB,IAAI,CAAC,EAAE,eAAe,KAAK,EAAE,GACzB,OAAO;EACf,KAAK,IAAI,QAAQ,QAAQ,IAAI;GACzB,MAAM,KAAK;GACX,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAC1B,OAAO;EACf;EACA,OAAO;CACX;CACA,OAAO,MAAM,KAAK,MAAM;AAC5B;;;;;;;;;;;;;;ACxaA,IAAI,6BAAa,IAAI,QAAQ;AAC7B,IAAI,SAAwB,WAAY;CACpC,SAAS,OAAO,KAAK;EACjB,KAAK,4BAAY,IAAI,IAAI;EACzB,KAAK,MAAM;CACf;CACA,OAAO;AACX,EAAE;AACF,IAAI,eAA8B,WAAY;CAC1C,SAAS,aAAa,UAAU,UAAU;EACtC,KAAK,WAAW;EAChB,KAAK,WAAW;CACpB;CACA,OAAO;AACX,EAAE;AACF,SAAS,UAAU,KAAK;CACpB,OAAO,WAAW,IAAI,GAAG;AAC7B;AACA,SAAS,sBAAsB,QAAQ,UAAU;CAC7C,OAAO,OAAO,UAAU,IAAI,QAAQ;AACxC;AACA,SAAS,yBAAyB,QAAQ,UAAU;CAChD,OAAO,UAAU,OAAO,SAAS,QAAQ;AAC7C;;;;AAIA,SAAgB,UAAU,MAAM,UAAU;CACtC,SAAS,UAAU;AACvB;;;;AAIA,SAAgB,QAAQ,KAAK,UAAU;CACnC,IAAI,UAAU,CAAC;CACf,IAAI;CACJ,IAAI,SAAS,UAAU,GAAG;CAC1B,IAAI,CAAC,QAAQ;EACT,SAAS,IAAI,OAAO,GAAG;EACvB,WAAW,IAAI,KAAK,MAAM;CAC9B,OACK;EACD,IAAI,eAAe,sBAAsB,QAAQ,QAAQ;EACzD,WAAW,gBAAgB,aAAa;CAC5C;CACA,IAAI,UACA,OAAO;CAEX,WAAW,CAAC;CACZ,OAAO,QAAQ,WAAW,GAAG;CAC7B,IAAI,UAAU;EACV,SAAS,WAAW;EACpB,SAAS,OAAO;EAChB,IAAI,aAAa,WAAY;GACzB,SAAS,QAAQ;EACrB;EACA,IAAI,YAAY,WAAY;GACxB,aAAa,SAAS,IAAI;GAC1B,SAAS,OAAO,WAAW,UAAU;EACzC;EACA,IAAI,OAAO,WAAW,aAAa;GAC/B,OAAO,iBAAiB,WAAW,SAAS;GAC5C,OAAO,iBAAiB,SAAS,SAAS;GAC1C,OAAO,iBAAiB,aAAa,SAAS;GAC9C,OAAO,iBAAiB,WAAW,SAAS;GAC5C,OAAO,iBAAiB,UAAU,SAAS;EAC/C;CACJ;CACA,SAAS,UAAU;CACnB,SAAS,SAAS;CAClB,SAAS,YAAY,WAAY;EAC7B,SAAS,QAAQ;EACjB,aAAa,SAAS,IAAI;EAC1B,yBAAyB,QAAQ,QAAQ;EACzC,IAAI,OAAO,WAAW,aAAa;GAC/B,OAAO,oBAAoB,WAAW,SAAS;GAC/C,OAAO,oBAAoB,SAAS,SAAS;GAC7C,OAAO,oBAAoB,aAAa,SAAS;GACjD,OAAO,oBAAoB,WAAW,SAAS;GAC/C,OAAO,oBAAoB,UAAU,SAAS;EAClD;CACJ;CACA,OAAO,UAAU,IAAI,UAAU,IAAI,aAAa,UAAU,QAAQ,CAAC;CACnE,OAAO;AACX;;;;AAIA,SAAgB,SAAS,UAAU,YAAY;CAC3C,IAAI,eAAe,KAAK,GAAK,aAAa;CAC1C,IAAI,SAAS,WAAW,IAAI,SAAS,MAAM;CAC3C,UAAU,OAAO,OAAO,SAAS,QAAQ,SAAS,SAAS,IAAI,UAAU;CACzE,IAAI,SAAS,QAAQ,QACjB,WAAW,OAAO,OAAO,SAAS,OAAO;CAE7C,IAAI,OAAO,SAAS;CACpB,IAAI,KAAK,SAAS,GAAG;EACjB,SAAS,UAAU,CAAC;EACpB,IAAI,SAAS,UACT,SAAS,SAAS,IAAI;CAE9B;CACA,OAAO;AACX;AAEA,SAAS,UAAU,QAAQ,KAAK,SAAS,MAAM,YAAY;CACvD,IAAI,QAAQ,QACR;CAEJ,IAAI,OAAO,IAAI,WAAW,YACtB,MAAM,IAAI,OAAO;CAErB,IAAI,UAAU,YAAY,GAAG;CAC7B,IAAI,UAAU,YAAY,MAAM;CAEhC,IAAI,UAAU;CAEd,KAAK,IAAI,IAAI,QAAQ,SAAS,GAAG,KAAK,GAAG,KAAK;EAC1C,IAAI,MAAM,QAAQ;EAClB,IAAI,SAAS,OAAO;EACpB,IAAI,eAAe,KAAK,GAAG,KAAK,EAAE,IAAI,SAAS,KAAA,KAAa,WAAW,KAAA,KAAa,MAAM,QAAQ,GAAG,MAAM,QAAQ;GAC/G,IAAI,SAAS,IAAI;GACjB,IAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,OAAO,UAAU,YAAY,UAAU,QAAQ,MAAM,QAAQ,MAAM,MAAM,MAAM,QAAQ,MAAM,GAC5I,UAAU,QAAQ,QAAQ,SAAS,OAAO,MAAM,oBAAoB,GAAG,GAAG,UAAU;QAGpF,IAAI,WAAW,QAAQ;IAEnB,IAAI,YACA,QAAQ,KAAK;KAAE,IAAI;KAAQ,MAAM,OAAO,MAAM,oBAAoB,GAAG;KAAG,OAAO,WAAW,MAAM;IAAE,CAAC;IAEvG,QAAQ,KAAK;KAAE,IAAI;KAAW,MAAM,OAAO,MAAM,oBAAoB,GAAG;KAAG,OAAO,WAAW,MAAM;IAAE,CAAC;GAC1G;EAER,OACK,IAAI,MAAM,QAAQ,MAAM,MAAM,MAAM,QAAQ,GAAG,GAAG;GACnD,IAAI,YACA,QAAQ,KAAK;IAAE,IAAI;IAAQ,MAAM,OAAO,MAAM,oBAAoB,GAAG;IAAG,OAAO,WAAW,MAAM;GAAE,CAAC;GAEvG,QAAQ,KAAK;IAAE,IAAI;IAAU,MAAM,OAAO,MAAM,oBAAoB,GAAG;GAAE,CAAC;GAC1E,UAAU;EACd,OACK;GACD,IAAI,YACA,QAAQ,KAAK;IAAE,IAAI;IAAc;IAAM,OAAO;GAAO,CAAC;GAE1D,QAAQ,KAAK;IAAE,IAAI;IAAiB;IAAM,OAAO;GAAI,CAAC;EAE1D;CACJ;CACA,IAAI,CAAC,WAAW,QAAQ,UAAU,QAAQ,QACtC;CAEJ,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;EACrC,IAAI,MAAM,QAAQ;EAClB,IAAI,CAAC,eAAe,QAAQ,GAAG,KAAK,IAAI,SAAS,KAAA,GAC7C,QAAQ,KAAK;GAAE,IAAI;GAAO,MAAM,OAAO,MAAM,oBAAoB,GAAG;GAAG,OAAO,WAAW,IAAI,IAAI;EAAE,CAAC;CAE5G;AACJ;;;;AAIA,SAAgB,QAAQ,OAAO,OAAO,YAAY;CAC9C,IAAI,eAAe,KAAK,GAAK,aAAa;CAC1C,IAAI,UAAU,CAAC;CACf,UAAU,OAAO,OAAO,SAAS,IAAI,UAAU;CAC/C,OAAO;AACX;;;;;;ACxJA,IAAA,0BAAe,OAAO,OAAO,CAAC,GAAGC,cAAMC,gBAAQ;CAC3C,gBAAA;CACA,WAAA;CACA;CACA;AACJ,CAAC;;;ACpBD,IAAa,iBAAb,cACY,sBAEZ;CACI,sBAAsB,YAA6C;EAC/D,MAAM,cAAc,YAAY,IAAI;EAEpC,MAAM,SAAS,MAAM,KAAK,UAAU;EACpC,MAAM,cAAc,KAAK,8BACrB,aACA,wBACJ;EAEA,MAAM,SAAU,KAAK,OAAO,QACvB;EACL,MAAM,eAAe,MAAM,KAAK,gBAC5B,GAAG,UACH,KAAK,+BAA+B,GACpC,GACJ;EACA,MAAM,cAAc,KAAK,8BACrB,aACA,8BACJ;EAEA,MAAM,SAAS,MAAM,OAAO,YACxB,UACA,aAAa,EACjB;EACA,MAAM,cAAc,KAAK,8BACrB,aACA,0BACJ;EAKA,IAAI,OAAO,WAAW,YAAY,cAC9B,MAAM,IAAI,MAAM,cAAc;EAGlC,MAAM,WAAW,OAAO;EACxB,MAAM,sBAA8B,SAAS,SAAS,KAAK,SAAS;EAEpE,MAAM,YAAY,sCAAsC,KAAK,OAAO,YAAY,KAAK,gBAAgB,MAAM;EAC3G,MAAM,WAAgBC,wBAAU,QAAQ,QAAQ;EAChD,SAAS,KAAK,MAAM;EACpB,MAAM,cAAqCA,wBAAU,SAAS,QAAQ;EAGtE,MAAM,gBAAgB,MAAM,OAAO,cAC/B,UACA,aAAa,IACb,aACA,+BACA,MAAM,oBAAoB,EAC9B;EACA,KAAK,8BACD,aACA,4BACJ;EAKA,IAAI,cAAc,WAAW,YAAY,cACrC,MAAM,IAAI,MAAM,cAAc;EAOlC,MAAM,iBAAiB,EAAE,GAAG,cAAc,KAAK;EAC/C,aAAa,KAAM,MAAM;EASzB,aAAa,KAAM,aAAa,sBAAsB,EAAA,CAAG,SAAS;EAElE,OAAO,aAAa,KAAM;EAC1B,OAAO,eAAe,KAAK;EAE3B,KAAK,gBAAgB,cAAc,cAAc;EAEjD,OAAO,cAAc;CACzB;AACJ;;;AC9FA,IAAa,iBAAb,cACY,sBAEZ;CACI,sBAAsB,YAA6C;EAC/D,MAAM,cAAc,YAAY,IAAI;EAEpC,MAAM,SAAS,MAAM,KAAK,UAAU;EACpC,MAAM,cAAc,KAAK,8BACrB,aACA,wBACJ;EAEA,MAAM,SAAU,KAAK,OAAO,QACvB;EACL,MAAM,eAAe,MAAM,KAAK,gBAC5B,GAAG,UACH,KAAK,+BAA+B,GACpC,GACJ;EACA,MAAM,cAAc,KAAK,8BACrB,aACA,8BACJ;EAEA,MAAM,SAAS,MAAM,OAAO,YACxB,UACA,aAAa,EACjB;EACA,MAAM,cAAc,KAAK,8BACrB,aACA,0BACJ;EAKA,IAAI,OAAO,WAAW,YAAY,cAC9B,MAAM,IAAI,MAAM,cAAc;EAGlC,MAAM,WAAW,OAAO;EACxB,MAAM,sBAA8B,SAAS,SAAS,KAAK,SAAS;EACpE,MAAM,YAAY,uCAAuC,KAAK,OAAO,YAAY,KAAK,gBAAgB,MAAM;EAC5G,SAAS,KAAK,MAAM;EAEpB,MAAM,gBAAgB,MAAM,OAAO,cAC/B,UACA,aAAa,IACb,UACA,gCACA,MAAM,oBAAoB,EAC9B;EACA,KAAK,8BACD,aACA,4BACJ;EAKA,IAAI,cAAc,WAAW,YAAY,cACrC,MAAM,IAAI,MAAM,cAAc;EAGlC,MAAM,iBAAiB,EAAE,GAAG,cAAc,KAAK;EAC/C,aAAa,KAAM,MAAM;EACzB,aAAa,KAAM,aAAa,sBAAsB,EAAA,CAAG,SAAS;EAElE,OAAO,aAAa,KAAM;EAC1B,OAAO,eAAe,KAAK;EAE3B,KAAK,gBAAgB,cAAc,cAAc;EAEjD,OAAO,cAAc;CACzB;AACJ;;;AC1EA,IAAa,iBAAb,cACY,sBAEZ;CACI,sBAAsB,YAA6C;EAC/D,MAAM,cAAc,YAAY,IAAI;EAEpC,MAAM,SAAS,MAAM,KAAK,UAAU;EACpC,MAAM,cAAc,KAAK,8BACrB,aACA,wBACJ;EAEA,MAAM,SAAU,KAAK,OAAO,QACvB;EACL,MAAM,eAAe,MAAM,KAAK,gBAC5B,QACA,KAAK,+BAA+B,GACpC,GACJ;EAEA,MAAM,cAAc,KAAK,8BACrB,aACA,8BACJ;EAEA,MAAM,SAAS,MAAM,OAAO,YACxB,UACA,aAAa,EACjB;EACA,MAAM,cAAc,KAAK,8BACrB,aACA,0BACJ;EAKA,IAAI,OAAO,WAAW,YAAY,cAC9B,MAAM,IAAI,MAAM,cAAc;EAIlC,MAAM,WAAW,OAAO;EACxB,IAAI,SAAS,MAAM;GACf,MAAM,sBAA8B,SAChC,SAAS,KAAK,SAClB;GAGA,IAAI;IACA,MAAM,SAAS,MAAM,OAAO,eACxB,UACA,aAAa,IACb,MAAM,oBAAoB,EAC9B;IACA,KAAK,8BACD,aACA,6BACJ;IAKA,IAAI,OAAO,WAAW,YAAY,cAC9B,MAAM,IAAI,MAAM,cAAc;IAGlC,MAAM,qBAAqB;KACvB,cAAc;KACd,OAAO,CACH;MACI,UAAU;MACV,MAAM;MACN,aAAa,4BAA4B,aAAa,GAAG,WAAW,sBAAsB,EAAE;KAChG,CACJ;IACJ;IAEA,KAAK,gBAAgB,oBAAoB,OAAO,IAAI;IAEpD,OAAO,OAAO;GAClB,SAAS,OAAO;IACZ,IAAI,MAAM,aAAa,KAAK,GAAG;KAC3B,MAAM,aAAyB;KAC/B,IAAI,WAAW,UAAU;MACrB,IAAI,WAAW,SAAS,WAAW,YAAY,MAC3C,MAAM;MAEV,OAAO;KACX,OACI,MAAM;IAEd,OACI,MAAM;GAEd;EACJ,OACI,IAAI,OAAO,WAAW,KAClB,OAAO;OACJ;GACH,MAAM,UAAU,oDAAoD,OAAO,OAAO,gBAAgB,KAAK,UAAU,QAAQ,EAAE;GAC3H,QAAQ,MAAM,OAAO;GACrB,MAAM,IAAI,MAAM,OAAO;EAC3B;CAER;AACJ;;;AC7GA,IAAa,iBAAb,cACY,sBAEZ;CACI,sBAAsB,YAA6C;EAC/D,MAAM,cAAc,YAAY,IAAI;EAEpC,MAAM,SAAS,MAAM,KAAK,UAAU;EACpC,MAAM,cAAc,KAAK,8BACrB,aACA,wBACJ;EAEA,MAAM,eAAe,MAAM,KAAK,gBAC5B,GAAI,KAAK,OAAO,QAAqC,gBACrD,KAAK,+BAA+B,GACpC,GACJ;EACA,MAAM,cAAc,KAAK,8BACrB,aACA,8BACJ;EAEA,MAAM,SAAS,MAAM,OAAO,+BACxB,UACA,aAAa,IACb,GACJ;EACA,KAAK,8BACD,aACA,6CACJ;EAKA,IAAI,OAAO,WAAW,YAAY,cAC9B,MAAM,IAAI,MAAM,cAAc;EAGlC,IAAI,OAAO,WAAW,YAAY,MAG9B,OAAO;OACJ;GACH,OAAO,aAAa;GACpB,OAAO,OAAO,KAAK;GAGnB,OAAQ,aAAc,KAAc;GACpC,OAAO,OAAO,KAAK,KAAK;GAExB,KAAK,gBAAgB,cAAc,OAAO,IAAI;GAE9C,OAAO,OAAO;EAClB;CACJ;AACJ;;;AChDA,IAAa,iBAAb,cACY,sBAEZ;CACI,sBAAsB,YAA6C;EAC/D,MAAM,SAAS,MAAM,KAAK,UAAU;EACpC,MAAM,SAAS,GAAI,KAAK,OAAO,QAAqC,aAAa;EACjF,MAAM,eAAuB,MAAM,KAAK,gBACpC,QACA,KAAK,OAAO,WACZ,GACJ;EACA,MAAM,UAAW,KAAK,OAAO,QACxB,YAAY;EACjB,IAAI,QAAQ;EAKZ,MAAM,eAAe,OAAe,OAAsB;GACtD,IAAI,GAAG,WAAW,YAAY,cAC1B,MAAM,IAAI,MAAM,cAAc;GAElC,OAAO;EACX;EAEA,IAAI;GACA,MAAM,UAAU,YACZ,SACA,MAAM,OAAO,aAAa,UAAU,YAAmB,CAC3D;GAEA,MAAM,UAAU,YACZ,SACA,MAAM,OAAO,YAAY,UAAU,aAAa,EAAY,CAChE;GAEA,QAAQ,KAAK,KAAK,MAAM,6BAA6B,KAAK,OAAO;GAEjE,MAAM,UAAU,YACZ,SACA,MAAM,OAAO,YAAY,UAAU,QAAQ,MAAa,OAAO,CACnE;GAEA,QAAQ,KAAK,KAAK,MAAM,6BAA6B,KAAK,OAAO;GAEjE,MAAM,UAAU,YACZ,SACA,MAAM,OAAO,YAAY,UAAU,QAAQ,MAAa,OAAO,CACnE;GAEA,MAAM,MAAM,IAAI,IACZ,GAAG,QAAQ,iBAAiB,aAAa,KAAM,EAAE,CAAC,QACtD;GAEgB,YACZ,SACA,MAAM,OAAO,aAAa,GAAG,CACjC;GAEA,MAAM,aAAa,sCAAsC,KAAK,OAAO;GACrE,MAAM,WAAgBC,wBAAU,QAAQ,QAAQ,IAAI;GACpD,QAAQ,KAAK,KAAK,MAAM;GACxB,MAAM,cACFA,wBAAU,SAAS,QAAQ;GAE/B,MAAM,UAAU,YACZ,SACA,MAAM,OAAO,cACT,UACA,aAAa,IACb,aACA,+BACA,OACJ,CACJ;GAEA,MAAM,aAAa,uCAAuC,KAAK,OAAO;GACtE,QAAQ,KAAK,KAAK,MAAM;GACR,YACZ,SACA,MAAM,OAAO,cACT,UACA,aAAa,IACb,QAAQ,MACR,gCACA,OACJ,CACJ;GAEgB,YACZ,SACA,MAAM,OAAO,eACT,UACA,aAAa,IACb,OACJ,CACJ;GAEgB,YACZ,SACA,MAAM,OAAO,+BACT,UACA,aAAa,IACb,GACJ,CACJ;GAEA,OAAO,QAAQ;EACnB,SAAS,OAAO;GACZ,QAAQ,MACJ,MAAM,IACF,6BAA6B,MAAM,aAAa,MAAM,EAC1D,CACJ;GACA,QAAQ,MAAM,KAAK;GACnB,MAAM;EACV;CACJ;AACJ;;;;;;;;;;;;ACYA,IAAa,aAAb,MAAmD;;;;;;CAM/C;;;;;;CAOA;;;;CAKA,qBAAwC,CAAC;;;;;;;CAQzC,2BAAgC;;;;;;CAOhC,yBAAiC;;;;;;;CAQjC,iBAAiB;;;;;;;;;CAUjB,8BAA8B;;;;;;;CAQ9B,YACI,uBACA,QACF;EACE,KAAK,yBAAyB;EAC9B,KAAK,UAAU;CACnB;CAEA,SAAS,YAAiB;EACtB,KAAK,uBAAuB,OAAO,MAAM,OAAO;CACpD;;;;;;;;;;;;;;;;;;;;CAqBA,kBAAkB,QAAiB,cAAsB;EACrD,IAAI,CAAC,KAAK,mBAAmB,OAAO,KAChC,KAAK,mBAAmB,OAAO,MAAM;GACjC,OAAO;GACP,QAAQ;EACZ;EAGJ,MAAM,iBAAiB,KAAK,mBAAmB,OAAO;EACtD,MAAM,UAAU,GAAG,IAAI,OAAO,eAAe,MAAM,EAAE,IAAI,OAAO,GAAG,sBAAsB;EAEzF,KAAK,MAAM,OAAO;EAClB,OAAO,eAAe,QAAQ,KAAK,OAAO;EAE1C,eAAe,UAAU,eAAe;EAExC,IAAI,eAAe,SAAS,IACxB,eAAe,QAAQ;OACpB,IAAI,eAAe,WAAW,GACjC,eAAe,QAAQ;CAE/B;;;;;;;;;;;;;CAcA,gBAAgB,YAAY;EACxB,IAAI,CAAC,KAAK,0BAA0B;GAChC,KAAK,2BAA2B,WAAW,YAAY;IACnD,KAAK,MACD,MAAM,OACF,iEACJ,CACJ;IACA,MAAM,KAAK,sBAAsB;IACjC,KAAK,yBAAyB;IAC9B,KAAK,2BAA2B;GACpC,GAAG,KAAK,2BAA2B;GAEnC,IAAI,QACA,KAAK,yBAAyB,MAAM;EAE5C;CACJ;;;;;;;;;;;;;;;;;;;;CAqBA,wBAAwB,YAAY;EAChC,KAAK,uBAAuB,kBAAkB,KAAK,QAAQ,EAAE;EAE7D,KAAK,MACD,MAAM,IACF,8GACJ,CACJ;EAGA,KAAK,QAAQ,eAAe,WAAW;EACvC,KAAK,QAAQ,eAAe,UAAU,CAAC;EACvC,KAAK,QAAQ,eAAe,KAAK;EACjC,KAAK,QAAQ,eAAe,KAAK;EAEjC,MAAM,KAAK,eAAe;CAC9B;;;;;;;;;;;;;CAcA,6BAA6B,YAAY;EACrC,KAAK,MAAM,MAAM,QAAQ,8BAA8B,CAAC;EACxD,MAAM,KAAK,sBAAsB;CACrC;;;;;;;;;;;;;;;;CAiBA,oBAAoB,YAAY;EAC5B,KAAK;EAEL,IAAI,KAAK,yBAAyB,KAAK,mBAAmB,GAAG;GACzD,KAAK,MAAM,MAAM,KAAK,iCAAiC,CAAC;GACxD,KAAK,yBAAyB;GAE9B,IAAI,KAAK,0BAA0B;IAC/B,aAAa,KAAK,wBAAwB;IAC1C,KAAK,2BAA2B;GACpC;GAEA,MAAM,KAAK,sBAAsB;EACrC;EAEA,IAAI,CAAC,KAAK,0BACN,KAAK,cAAc;CAE3B;;;;;;;;;CAUA,iBAAgC;EAC5B,OAAO,IAAI,SAAS,SAAS,WAAW;GACpC,QAAQ;EACZ,CAAC;CACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCA,gBAAgB,YAA0B;EACtC,MAAM,QAAQ,YAAY,IAAI;EAC9B,MAAM,UAAU,KAAK,QAAQ;EAE7B,KAAK,QAAQ,eAAe,YAAY;EACxC,KAAK,QAAQ,eAAe;EAC5B,KAAK,QAAQ,eAAe;EAC5B,KAAK,QAAQ,eAAe;EAC5B,KAAK,QAAQ,eAAe,MAAM;EAClC,KAAK,QAAQ,eAAe,MAAM;EAElC,IACI,KAAK,QAAQ,eAAe,eAAe,QAAQ,kBACnD,GAEA,KAAK,eAAe,KAAK,SAAS,KAAK,QAAQ,SAAS;EAG5D,IAAI,KAAK,QAAQ,eAAe,eAAe,MAAM,GAAG;GACpD,MAAM,UAAU,YAAY,KAAK,QAAQ,mBAAmB,SAAS,cAAc,KAAK,QAAQ,mBAAmB,GAAG,oBAAoB,KAAK,QAAQ,eAAe,aAAa,wBAAwB,QAAQ,iBAAiB,WAAW;GAC/O,KAAK,MAAM,OAAO;GAClB,KAAK,QAAQ,eAAe,UAAU,CAAC,OAAO;EAClD;;;;;;;;;;;EAYA,IAAI,QAAQ,gBAAgB,GACxB,MAAM,MAAM,QAAQ,aAAa;OAEjC,MAAM,KAAK,eAAe;EAG9B,KAAK,QAAQ,eAAe;EAG5B,MAAM,OADM,YAAY,IACX,IAAM;EACnB,KAAK,QAAQ,eAAe,WAAW;EAEvC,MAAM,KAAK,kBAAkB;EAE7B,OAAO;CACX;;;;;;;CAQA,oBAAoB,OAAO,YAAmC;EAC1D,MAAM,gBAAgB,MAAM,KAAK,OAAO;EACxC,KAAK,MAAM,aAAa;EACxB,KAAK,QAAQ,eAAe,QAAQ,KAAK,aAAa;EACtD,MAAM,KAAK,kBAAkB;CACjC;;;;;;;;;;CAWA,cAAc,YAA0B;EACpC,MAAM,KAAK,kBAAkB,gBAAgB,KAAK,QAAQ,GAAG,EAAE;EAC/D,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;;;;;;;;;;CAWA,aAAa,YAA0B;EACnC,MAAM,KAAK,kBAAkB,eAAe,KAAK,QAAQ,GAAG,EAAE;EAC9D,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;;;;;;;;;;CAWA,kBAAkB,YAA0B;EACxC,MAAM,KAAK,kBAAkB,oBAAoB,KAAK,QAAQ,GAAG,EAAE;EACnE,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;;;;;;;;;;CAWA,YAAY,YAA0B;EAClC,MAAM,KAAK,kBACP,cAAc,KAAK,QAAQ,GAAG,KAAK,KAAK,UAAU,KAAK,QAAQ,cAAc,EAAE,EACnF;EACA,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;;;;;;;;;;;CAYA,cAAc,YAA0B;EACpC,MAAM,KAAK,kBAAkB,gBAAgB,KAAK,QAAQ,GAAG,EAAE;EAC/D,MAAM,KAAK,2BAA2B;EACtC,OAAO,qCAAqC,KAAK,QAAQ,UAAU,4BAAY,IAAI,KAAK,EAAE,mBAAmB,YAAY,IAAI,EAAE;CACnI;;;;;;;;;;;CAYA,eAAe,YAA0B;EACrC,MAAM,KAAK,kBAAkB,iBAAiB,KAAK,QAAQ,GAAG,EAAE;EAChE,MAAM,KAAK,2BAA2B;EACtC,OAAO,sCAAsC,KAAK,QAAQ,UAAU,4BAAY,IAAI,KAAK,EAAE,mBAAmB,YAAY,IAAI,EAAE;CACpI;;;;;;;;;;;CAYA,cAAc,YAA0B;EACpC,MAAM,KAAK,kBAAkB,gBAAgB,KAAK,QAAQ,GAAG,EAAE;EAC/D,KAAK,QAAQ,eAAe,eAAe;EAC3C,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;;;;;;;;;;;;;;CAeA,eAAe,YAA0B;EACrC,MAAM,KAAK,kBAAkB,kBAAkB,KAAK,QAAQ,GAAG,EAAE;EACjE,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;AACJ;;;;;;;;;AC5eA,IAAa,aAAb,MAAmD;;;;;;CAM/C;;;;;;CAOA;;;;CAKA,qBAAwC,CAAC;;;;;;;CAQzC,2BAAgC;;;;CAKhC,yBAAiC;;;;;;;CAQjC,iBAAiB;;;;;;;;;CAUjB,8BAA8B;;;;;;;CAQ9B,YACI,uBACA,QACF;EACE,KAAK,yBAAyB;EAC9B,KAAK,UAAU;CACnB;CAEA,SAAS,YAAiB;EACtB,KAAK,uBAAuB,OAAO,MAAM,OAAO;CACpD;;;;;;;;;;;;;;;;;;CAmBA,kBAAkB,QAAiB,cAAsB;EACrD,IAAI,CAAC,KAAK,mBAAmB,OAAO,KAChC,KAAK,mBAAmB,OAAO,MAAM;GACjC,OAAO;GACP,QAAQ;EACZ;EAGJ,MAAM,iBAAiB,KAAK,mBAAmB,OAAO;EACtD,MAAM,UAAU,GAAG,IAAI,OAAO,eAAe,MAAM,EAAE,IAAI,OAAO,GAAG,sBAAsB;EAEzF,KAAK,MAAM,OAAO;EAClB,OAAO,eAAe,QAAQ,KAAK,OAAO;EAE1C,eAAe,UAAU,eAAe;EAExC,IAAI,eAAe,SAAS,IACxB,eAAe,QAAQ;OACpB,IAAI,eAAe,WAAW,GACjC,eAAe,QAAQ;CAE/B;;;;;;;;;;;;;CAcA,gBAAgB,YAAY;EACxB,IAAI,CAAC,KAAK,0BAA0B;GAChC,KAAK,2BAA2B,WAAW,YAAY;IACnD,KAAK,MACD,MAAM,OACF,iEACJ,CACJ;IACA,MAAM,KAAK,sBAAsB;IACjC,KAAK,yBAAyB;IAC9B,KAAK,2BAA2B;GACpC,GAAG,KAAK,2BAA2B;GAEnC,IAAI,QACA,KAAK,yBAAyB,MAAM;EAE5C;CACJ;;;;;;;;;;;;;;;;CAiBA,wBAAwB,YAAY;EAChC,KAAK,uBAAuB,kBAAkB,KAAK,QAAQ,EAAE;EAE7D,KAAK,MACD,MAAM,IACF,8GACJ,CACJ;EAGA,KAAK,QAAQ,eAAe,WAAW;EACvC,KAAK,QAAQ,eAAe,UAAU,CAAC;EACvC,KAAK,QAAQ,eAAe,KAAK;EACjC,KAAK,QAAQ,eAAe,KAAK;EAEjC,MAAM,KAAK,eAAe;CAC9B;;;;;;CAOA,6BAA6B,YAAY;EACrC,KAAK,MAAM,MAAM,QAAQ,8BAA8B,CAAC;EACxD,MAAM,KAAK,sBAAsB;CACrC;;;;;;;;;;;;;;;;CAiBA,oBAAoB,YAAY;EAC5B,KAAK;EAEL,IAAI,KAAK,yBAAyB,KAAK,mBAAmB,GAAG;GACzD,KAAK,MAAM,MAAM,KAAK,iCAAiC,CAAC;GACxD,KAAK,yBAAyB;GAE9B,IAAI,KAAK,0BAA0B;IAC/B,aAAa,KAAK,wBAAwB;IAC1C,KAAK,2BAA2B;GACpC;GAEA,MAAM,KAAK,sBAAsB;EACrC;EAEA,IAAI,CAAC,KAAK,0BACN,KAAK,cAAc;CAE3B;;;;;;;;CASA,iBAAgC;EAC5B,OAAO,IAAI,SAAS,SAAS,WAAW;GACpC,QAAQ;EACZ,CAAC;CACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCA,gBAAgB,YAA8B;EAC1C,MAAM,QAAQ,YAAY,IAAI;EAC9B,MAAM,UAAU,KAAK,QAAQ;EAE7B,KAAK,QAAQ,eAAe,YAAY;EACxC,KAAK,QAAQ,eAAe;EAC5B,KAAK,QAAQ,eAAe;EAC5B,KAAK,QAAQ,eAAe;EAC5B,KAAK,QAAQ,eAAe,MAAM;EAClC,KAAK,QAAQ,eAAe,MAAM;EAElC,IACI,KAAK,QAAQ,eAAe,eAAe,QAAQ,kBACnD,GAEA,KAAK,eAAe,KAAK,SAAS,KAAK,QAAQ,SAAS;EAG5D,IAAI,KAAK,QAAQ,eAAe,eAAe,MAAM,GAAG;GACpD,MAAM,UAAU,YAAY,KAAK,QAAQ,mBAAmB,SAAS,cAAc,KAAK,QAAQ,mBAAmB,GAAG,oBAAoB,KAAK,QAAQ,eAAe,aAAa,wBAAwB,QAAQ,iBAAiB,WAAW;GAC/O,KAAK,MAAM,OAAO;GAClB,KAAK,QAAQ,eAAe,UAAU,CAAC,OAAO;EAClD;;;;;;EAOA,MAAM,UAAU,YAAY,KAAK,QAAQ,mBAAmB,SAAS,cAAc,KAAK,QAAQ,mBAAmB,GAAG,oBAAoB,KAAK,QAAQ,eAAe,aAAa,wBAAwB,QAAQ,iBAAiB,WAAW;EAE/O,KAAK,MAAM,OAAO;;;;;;;;;;;;EAalB,IAAI,QAAQ,gBAAgB,GACxB,MAAM,MAAM,QAAQ,aAAa;OAEjC,MAAM,KAAK,eAAe;EAG9B,KAAK,QAAQ,eAAe;EAG5B,MAAM,OADM,YAAY,IACX,IAAM;EACnB,KAAK,QAAQ,eAAe,WAAW;EAEvC,MAAM,KAAK,kBAAkB;EAE7B,OAAO;CACX;;;;;;;CAQA,oBAAoB,OAAO,YAAmC;EAC1D,MAAM,gBAAgB,MAAM,KAAK,OAAO;EACxC,KAAK,MAAM,aAAa;EACxB,KAAK,QAAQ,eAAe,QAAQ,KAAK,aAAa;EACtD,MAAM,KAAK,kBAAkB;CACjC;;;;;;;;;;CAWA,cAAc,YAA8B;EACxC,MAAM,KAAK,kBAAkB,gBAAgB,KAAK,QAAQ,GAAG,EAAE;EAC/D,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;;;;;;;;;;CAWA,aAAa,YAA8B;EACvC,MAAM,KAAK,kBAAkB,eAAe,KAAK,QAAQ,GAAG,EAAE;EAC9D,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;;;;;;;;;;CAWA,kBAAkB,YAA8B;EAC5C,MAAM,KAAK,kBAAkB,oBAAoB,KAAK,QAAQ,GAAG,EAAE;EACnE,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;;;;;;;;;;CAWA,YAAY,YAA8B;EACtC,MAAM,KAAK,kBACP,cAAc,KAAK,QAAQ,GAAG,KAAK,KAAK,UAAU,KAAK,QAAQ,cAAc,EAAE,EACnF;EACA,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;;;;;;;;;;CAWA,cAAc,YAA8B;EACxC,MAAM,KAAK,kBAAkB,gBAAgB,KAAK,QAAQ,GAAG,EAAE;EAC/D,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;;;;;;;;;;CAWA,eAAe,YAA8B;EACzC,MAAM,KAAK,kBAAkB,iBAAiB,KAAK,QAAQ,GAAG,EAAE;EAChE,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;;;;;;;;;;;CAYA,cAAc,YAA8B;EACxC,MAAM,KAAK,kBAAkB,gBAAgB,KAAK,QAAQ,GAAG,EAAE;EAC/D,KAAK,QAAQ,eAAe,eAAe;EAC3C,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;;;;;;;;;;;;;;CAeA,eAAe,YAA8B;EACzC,MAAM,KAAK,kBAAkB,kBAAkB,KAAK,QAAQ,GAAG,EAAE;EACjE,MAAM,KAAK,2BAA2B;EACtC,OAAO;CACX;AACJ;;;ACnkBA,IAAa,qBAAb,MAAgC;CAC5B,OAAO,oBAAoB,OACvB,uBACA,+BACkC;EAClC,MAAM,EAAE,WAAW;EACnB,QAAQ,OAAO,QAAQ,UAAvB;GACI,KAAK,cACD,OAAO,IAAI,WAAW,uBAAuB,MAAM;GACvD,KAAK,cACD,OAAO,IAAI,WAAW,uBAAuB,MAAM;GACvD,KAAK,kBACD,OAAO,IAAI,eAAe,uBAAuB,MAAM;GAC3D,KAAK,kBACD,OAAO,IAAI,eAAe,uBAAuB,MAAM;GAC3D,KAAK,kBACD,OAAO,IAAI,eAAe,uBAAuB,MAAM;GAC3D,KAAK,kBACD,OAAO,IAAI,eAAe,uBAAuB,MAAM;GAC3D,KAAK,kBACD,OAAO,IAAI,eAAe,uBAAuB,MAAM;GAC3D,KAAK,kBACD,OAAO,IAAI,eAAe,uBAAuB,MAAM;GAC3D,KAAK,kBACD,OAAO,IAAI,eAAe,uBAAuB,MAAM;GAC3D,KAAK,kBACD,OAAO,IAAI,eAAe,uBAAuB,MAAM;GAC3D,KAAK,kBACD,OAAO,IAAI,eAAe,uBAAuB,MAAM;GAC3D,KAAK,kBACD,OAAO,IAAI,eAAe,uBAAuB,MAAM;EAC/D;EACA,OAAO;CACX;AACJ;;;ACtDA,IAAIC,MAAE,cAAc,MAAK,CAAC;AAAE,IAAM,IAAE,OAAO,kBAAkB;AAAE,IAAA,UAAM;CAAC,MAAM,IAAIA,IAAE,uDAAuD;AAAC;AAAE,SAASC,IAAE,GAAE;CAAC,OAAO,OAAO,KAAG,YAAU,CAAC,CAAC,KAAG,IAAI,OAAK,CAAC;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,IAAGA,IAAE,CAAC,GAAE,OAAO;CAAE,IAAI,IAAE,EAAC,KAAI,EAAC;CAAE,OAAO,IAAI,MAAM,GAAE;EAAC,MAAK;GAAC,OAAM,CAAC;EAAC;EAAE,IAAI,GAAE,GAAE;GAAC,OAAO,OAAO,KAAG,WAAS,MAAI,KAAG,EAAE,KAAG,MAAI,aAAW,EAAE,KAAG,EAAE,OAAK,EAAE,GAAE,EAAE,EAAE;EAAC;EAAE,KAAI;EAAE,gBAAe;CAAC,CAAC;AAAC;AAAC,SAAS,EAAE,GAAE,GAAG,GAAE;CAAC,IAAG,MAAI,MAAK,MAAM,IAAID,IAAE,wBAAwB,EAAE,KAAK,GAAG,EAAE;qFAC/X;CAAE,IAAG,MAAI,KAAK,GAAE,MAAM,IAAIA,IAAE,wBAAwB,EAAE,KAAK,GAAG,EAAE;;;uEAG9E;AAAC;AAAC,SAAS,EAAE,GAAE,IAAE,CAAC,GAAE;CAAC,OAAO,IAAI,MAAM,GAAE;EAAC,IAAI,GAAE,GAAE;GAAC,OAAO,EAAE,MAAI;EAAI;EAAE,IAAI,GAAE,GAAE;GAAC,IAAI,IAAE,EAAE;GAAG,OAAO,OAAO,KAAG,YAAU,MAAI,cAAY,EAAE,GAAE,GAAE,EAAE,SAAS,CAAC,GAAE;EAAC;EAAE,KAAI;EAAE,gBAAe;CAAC,CAAC;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,IAAI,IAAE,CAAC;CAAE,KAAI,IAAI,KAAK,GAAE,KAAI,IAAI,KAAK,GAAE;EAAC,IAAI,IAAE,EAAE;EAAG,EAAE,OAAK,KAAK,IAAE,EAAE,KAAG,EAAC,GAAG,EAAC,IAAE,EAAE,KAAG;GAAC,GAAG;GAAE,GAAG,EAAE;EAAE;CAAC;CAAC,OAAO;AAAC;AAAC,IAAM,IAAE,YAAW,IAAE,KAAG,KAAG,GAAE,IAAE,KAAG,IAAG,EAAC,MAAK,GAAE,OAAM,MAAG;AAAK,SAAS,EAAE,GAAE;CAAC,OAAO,OAAO,KAAG,WAAS,EAAE,CAAC,IAAE,EAAE,CAAC;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,IAAI,IAAE,MAAM,KAAK,EAAC,QAAO,IAAG,CAAC;CAAE,EAAE,KAAG;CAAE,KAAI,IAAI,IAAE,GAAE,MAAI,KAAI,EAAE,GAAE;EAAC,IAAI,IAAE,EAAE,IAAE,KAAG,EAAE,IAAE,OAAK;EAAG,EAAE,KAAG,EAAE,EAAE,YAAW,CAAC,IAAE,CAAC;CAAC;CAAC,OAAO;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,IAAI,IAAE,EAAE,QAAQ,GAAE,IAAE,GAAE,IAAE;CAAE,KAAI,IAAI,IAAE,KAAK,IAAI,KAAI,EAAE,MAAM,GAAE,MAAI,GAAE,EAAE,GAAE;EAAC,IAAI,IAAE,EAAE,IAAE,KAAG,EAAE,IAAE,OAAK;EAAG,EAAE,KAAG,GAAG,EAAE,KAAG,EAAE,GAAE,OAAO,KAAG,EAAE,KAAG,CAAC,GAAE,KAAI,KAAI,KAAG,QAAM,EAAE,KAAG,EAAE,MAAK,IAAE,IAAG,KAAG,EAAE,WAAS,IAAE;CAAE;CAAC,KAAI,IAAI,IAAE,KAAI,MAAI,GAAE,KAAI,EAAE,KAAG,GAAG,EAAE,KAAG,EAAE,EAAE,IAAE,KAAG,EAAE,IAAE,OAAK,IAAG,UAAU,KAAG,CAAC,GAAE,KAAI,KAAG,QAAM,EAAE,KAAG,EAAE,MAAK,IAAE;CAAG,OAAO,EAAE,KAAG,YAAW;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,KAAI,IAAI,IAAE,GAAE,MAAI,KAAI,EAAE,GAAE;EAAC,IAAI,KAAG,EAAE,KAAG,MAAI,EAAE,IAAE,KAAG;EAAG,EAAE,KAAG,EAAE,IAAE,OAAK,MAAI,IAAE,EAAE,IAAE,KAAG;CAAC;CAAC,KAAI,IAAI,IAAE,KAAI,MAAI,KAAI,EAAE,GAAE;EAAC,IAAI,KAAG,EAAE,KAAG,MAAI,EAAE,IAAE,KAAG;EAAG,EAAE,KAAG,EAAE,IAAE,MAAI,OAAK,MAAI,IAAE,EAAE,IAAE,KAAG;CAAC;CAAC,IAAI,KAAG,EAAE,OAAK,MAAI,EAAE,KAAG;CAAG,OAAO,EAAE,OAAK,EAAE,OAAK,MAAI,IAAE,EAAE,IAAE,KAAG,GAAE;AAAC;AAAC,IAAI,IAAE,MAAK;CAAC;CAAO;CAAM,YAAY,IAAE,KAAK,OAAO,KAAG,KAAG,KAAG,IAAG,IAAE,EAAE,EAAE,CAAC,CAAC,GAAE,IAAE,GAAE;EAAC,KAAK,SAAO,GAAE,KAAK,QAAM;CAAC;CAAC,UAAS;EAAC,IAAI,IAAE,KAAK,OAAO,KAAK;EAAO,OAAO,KAAG,KAAK,OAAO,KAAK,WAAS,IAAG,KAAG,KAAG,IAAE,YAAW,KAAG,KAAG,KAAG,YAAW,KAAG,MAAI,IAAG,EAAE,KAAK,SAAO,QAAM,KAAK,SAAO,EAAE,KAAK,MAAM,GAAE,KAAK,QAAM,IAAG,MAAI;CAAC;CAAC,UAAS;EAAC,OAAO,KAAK,QAAQ,IAAE;CAAqB;CAAC,UAAS;EAAC,IAAI,IAAE,KAAK,QAAQ,MAAI,GAAE,IAAE,KAAK,QAAQ,MAAI;EAAE,OAAO,IAAE,WAAS;CAAC;CAAC,UAAS;EAAC,OAAO,KAAK,QAAQ,IAAE;CAAqB;CAAC,KAAK,GAAE;EAAC,KAAK,SAAO,EAAE,EAAE,CAAC,CAAC,GAAE,KAAK,QAAM;CAAC;AAAC;AAAE,SAAS,IAAG;CAAC,OAAO,KAAK,KAAK,KAAK,OAAO,KAAG,KAAG,KAAG,EAAE;AAAC;AAAyF,SAAS,EAAE,IAAE,EAAE,GAAE;CAAC,IAAI,IAAE,IAAI,EAAE,CAAC;CAAE,OAAM;EAAC,OAAM;GAAC,OAAO,EAAE,QAAQ;EAAC;EAAE,KAAK,GAAE;GAAC,EAAE,KAAK,CAAC;EAAC;CAAC;AAAC;AAAC,SAAS,GAAG,IAAE,CAAC,GAAE;CAAC,IAAG,EAAC,QAAO,IAAE,CAAC,GAAE,YAAW,IAAE,EAAE,GAAE,QAAO,IAAE,CAAC,GAAE,MAAK,MAAG;CAAE,OAAO,KAAG,QAAM,KAAG,QAAM,EAAE,KAAK,CAAC,GAAE;EAAC,QAAO,EAAE,MAAM,QAAQ,CAAC,IAAE,EAAE,CAAC,IAAE,CAAC;EAAE,YAAW;EAAE,QAAO;CAAC;AAAC;AAAC,SAAS,IAAG;CAAC,OAAO;AAAE;AAAC,IAAM,MAAI,EAAC,MAAK,QAAK,EAAE;AAAE,SAAS,GAAG,GAAE;CAAC,IAAI,IAAE,OAAO,eAAe,CAAC;CAAE,GAAE;EAAC,KAAI,IAAI,KAAK,OAAO,oBAAoB,CAAC,GAAE,OAAO,EAAE,MAAI,cAAY,MAAI,kBAAgB,EAAE,KAAG,EAAE,EAAE,CAAC,KAAK,CAAC;EAAG,IAAE,OAAO,eAAe,CAAC;CAAC,SAAO,MAAI,OAAO;AAAU;AAAC,IAAI,IAAE,MAAK;CAAC;CAAM,YAAY,GAAE;EAAC,KAAK,QAAM,GAAE,GAAG,IAAI;CAAC;AAAC;AAAE,IAAA,IAAE,cAAc,EAAC;CAAC;CAAM,YAAY,GAAE;EAAC,MAAM,CAAC,GAAE,KAAK,QAAM;CAAC;AAAC;AAAE,IAAI,IAAE,SAAS,GAAE;CAAC,OAAO,EAAE,aAAW,cAAa,EAAE,WAAS,YAAW,EAAE,WAAS,YAAW;AAAC,EAAE,CAAC,CAAC;AAAE,IAAM,KAAG;CAAC;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;CAAI;AAAG;AAAE,IAAA,KAAG;CAAC;CAAI;CAAI;CAAI;CAAI;AAAG;AAAE,IAAA,KAAG;CAAC,UAAS;CAAG,YAAW;CAAG,UAAS;AAAE;AAAE,IAAA,KAAG;CAAC,UAAS;EAAC;EAAI;EAAI;EAAI;CAAG;CAAE,YAAW;EAAC;EAAI;EAAI;EAAI;EAAI;EAAI;CAAG;CAAE,UAAS;EAAC;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;CAAG;AAAC;AAAE,IAAI,KAAG,cAAc,EAAC;CAAC,UAAS;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,OAAO;CAAC;CAAC,UAAS;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,OAAO;CAAC;CAAC,WAAU;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,QAAQ;CAAC;CAAC,cAAc,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,eAAc,IAAE,CAAC,GAAE,gCAA+B,IAAE,CAAC,MAAG,GAAE,IAAE,CAAC;EAAE,OAAO,KAAG,EAAE,KAAK,GAAG,EAAE,GAAE,KAAG,EAAE,KAAK,GAAG,EAAE,GAAE,KAAK,MAAM,OAAO,aAAa;GAAC,QAAO;GAAE,QAAO;GAAQ,SAAQ;EAAC,CAAC;CAAC;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,cAAa,IAAE,iBAAc,GAAE,IAAE,GAAG,IAAG,IAAE,GAAG;EAAG,OAAM,GAAG,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAC,CAAC,IAAI,KAAK,MAAM,QAAQ,aAAa,CAAC;CAAG;CAAC,eAAc;EAAC,OAAO,KAAK,MAAM,QAAQ,UAAU,CAAC;CAAC;CAAC,aAAa,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE;GAAC,KAAI;GAAE,KAAI;EAAC,GAAE,iBAAgB,IAAE,CAAC,MAAG,GAAE,IAAE,KAAK,MAAM,OAAO,QAAQ;GAAC,QAAO;GAAE,mBAAkB,CAAC;EAAC,CAAC;EAAE,OAAO,IAAE,EAAE,SAAS,GAAE,GAAG,IAAE;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC,MAAK;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,GAAG;CAAC;CAAC,MAAK;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,GAAG;CAAC;CAAC,QAAO;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,KAAK;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,IAAI;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,IAAI;CAAC;CAAC,WAAU;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,QAAQ;CAAC;CAAC,QAAO;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,KAAK;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,IAAI;CAAC;CAAC,MAAK;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,GAAG;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,IAAI;CAAC;CAAC,aAAY;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,UAAU;CAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,MAAM;CAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,MAAM;CAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,MAAM;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,IAAI;CAAC;CAAC,UAAS;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,QAAQ;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,MAAM;CAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,MAAM;CAAC;CAAC,QAAO;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,KAAK;CAAC;CAAC,YAAW;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,SAAS;CAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,MAAM;CAAC;CAAC,QAAO;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,KAAK;CAAC;AAAC;AAAE,IAAI,IAAE,SAAS,GAAE;CAAC,OAAO,EAAE,OAAK,QAAO,EAAE,YAAU,cAAa,EAAE,UAAQ,WAAU,EAAE,SAAO,WAAU,EAAE,cAAY,gBAAe;AAAC,EAAE,CAAC,CAAC;AAAE,IAAA,IAAE,SAAS,GAAE;CAAC,OAAO,EAAE,MAAI,OAAM,EAAE,OAAK,QAAO,EAAE,MAAI,OAAM,EAAE,OAAK,QAAO,EAAE,MAAI,OAAM,EAAE,OAAK,QAAO,EAAE,MAAI,OAAM,EAAE,MAAI,OAAM,EAAE,QAAM,SAAQ;AAAC,EAAE,CAAC,CAAC;AAAE,SAAS,GAAG,GAAE,GAAE;CAAC,IAAG,EAAC,QAAO,GAAE,QAAO,MAAG;CAAE,QAAO,GAAP;EAAU,KAAI;GAAQ,IAAE,EAAE,YAAY;GAAE;EAAM,KAAI;GAAQ,IAAE,EAAE,YAAY;GAAE;EAAM,KAAI;CAAQ;CAAC,OAAO,MAAI,IAAE,IAAE,IAAG;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,OAAO,EAAE,KAAI,MAAG;EAAC,IAAG,IAAE,KAAG,GAAE;GAAC,IAAI,oBAAE,IAAI,YAAY,CAAC;GAAE,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,WAAW,GAAE,CAAC,GAAE,EAAE,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,KAAI,EAAE;EAAC;EAAC,QAAO,MAAI,EAAA,CAAG,SAAS,CAAC,CAAC,CAAC,SAAS,GAAE,GAAG;CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,OAAO,KAAK,MAAM,IAAE,GAAG;AAAC;AAAC,SAAS,GAAG,GAAE,IAAE,OAAM,IAAE,QAAO;CAAC,QAAO,GAAP;EAAU,KAAI,QAAO,OAAM,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG;EAAG,KAAI,SAAQ,OAAM,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG;EAAG,KAAI,QAAO,OAAM,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;EAAI,KAAI,OAAM,OAAM,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;EAAI,KAAI,QAAO,OAAM,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG;EAAG,KAAI,OAAM,OAAM,OAAO,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;EAAI,KAAI,OAAM,OAAM,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG;EAAG,KAAI,OAAM,OAAM,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG;EAAG,KAAI,OAAM,OAAM,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG;CAAE;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE,IAAE,OAAM,IAAE,QAAO;CAAC,QAAO,GAAP;EAAU,KAAI,OAAM,OAAO,GAAG,GAAE,GAAE,CAAC;EAAE,KAAI,UAAS,OAAO,EAAE,CAAC;EAAE,KAAI,WAAU,OAAO;CAAC;AAAC;AAAC,IAAI,KAAG,cAAc,EAAC;CAAC,QAAO;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,MAAM,KAAK;CAAC;CAAC,QAAO;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,MAAM,KAAK;CAAC;CAAC,uBAAsB;EAAC,OAAO,KAAK,MAAM,QAAQ,UAAU,CAAC;CAAC;CAAC,oBAAmB;EAAC,OAAO,KAAK,MAAM,QAAQ,UAAU,CAAC;CAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE,OAAM,cAAa,IAAE,CAAC,GAAE,QAAO,IAAE,KAAI,QAAO,IAAE,YAAS,GAAE;EAAE,IAAG,MAAI,OAAM,OAAO,IAAE,KAAK,MAAM,OAAO,YAAY;GAAC,QAAO,IAAE,IAAE;GAAE,QAAO;EAAE,CAAC,GAAE,IAAE,GAAG,GAAE;GAAC,QAAO;GAAE,QAAO;EAAC,CAAC,GAAE;EAAE,IAAI,IAAE;EAAM,OAAO,IAAE,MAAM,KAAK,EAAC,QAAO,EAAC,SAAM,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,GAAE,MAAI,EAAE,KAAK,KAAK,MAAM,OAAO,MAAM,EAAC,YAAW,IAAG,CAAC,CAAC,GAAE,IAAE,SAAQ,EAAE,GAAE,GAAE,CAAC;CAAC;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE,cAAW;EAAE,OAAO,EAAE,MAAM,KAAK,EAAC,QAAO,EAAC,SAAM,KAAK,MAAM,OAAO,MAAM,EAAC,YAAW,IAAG,CAAC,CAAC,GAAE,GAAE,MAAM;CAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE,WAAU,cAAa,IAAE,CAAC,MAAG,GAAE,IAAE,CAAC,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC;EAAE,KAAI,IAAI,IAAE,GAAE,KAAG,GAAG,eAAa,IAAE,IAAG,KAAI,EAAE,KAAK,KAAK,MAAM,OAAO,MAAM,EAAC,YAAW,IAAG,CAAC,CAAC;EAAE,OAAO,EAAE,GAAE,GAAE,IAAE,SAAO,KAAK;CAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE,cAAW,GAAE,IAAE,CAAC,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC;EAAE,KAAI,IAAI,IAAE,GAAE,IAAE,GAAE,KAAI,EAAE,KAAK,KAAK,MAAM,OAAO,MAAM,EAAC,YAAW,IAAG,CAAC,CAAC;EAAE,OAAO,EAAE,GAAE,GAAE,KAAK;CAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE,cAAW,GAAE,IAAE,CAAC,KAAK,MAAM,OAAO,MAAM,EAAC,YAAW,KAAI,CAAC,CAAC;EAAE,KAAI,IAAI,IAAE,GAAE,IAAE,GAAE,KAAI,EAAE,KAAK,KAAK,MAAM,OAAO,MAAM;GAAC,KAAI;GAAK,KAAI;GAAI,YAAW;EAAI,CAAC,CAAC;EAAE,OAAO,EAAE,GAAE,GAAE,KAAK;CAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE,cAAW;EAAE,OAAO,EAAE;GAAC,KAAK,MAAM,OAAO,MAAM,EAAC,YAAW,KAAI,CAAC;GAAE,KAAK,MAAM,OAAO,MAAM;IAAC,KAAI;IAAI,YAAW;GAAE,CAAC;GAAE,KAAK,MAAM,OAAO,MAAM;IAAC,KAAI;IAAI,YAAW;GAAE,CAAC;EAAC,GAAE,GAAE,KAAK;CAAC;CAAC,qBAAqB,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE,WAAU,OAAM,IAAE,WAAQ;EAAE,OAAO,EAAE,MAAM,KAAK,EAAC,QAAO,EAAC,SAAM,KAAK,MAAM,OAAO,MAAM,EAAC,YAAW,KAAI,CAAC,CAAC,GAAE,GAAE,SAAQ,CAAC;CAAC;AAAC;AAAE,SAAS,GAAG,GAAE;CAAC,IAAG,CAAC,WAAW,KAAK,CAAC,GAAE,MAAM,IAAIA,IAAE,0DAA0D;CAAE,IAAI,IAAE,GAAE,IAAE;CAAE,KAAI,IAAI,KAAK,GAAE,KAAG,OAAO,SAAS,GAAE,EAAE,KAAG,IAAE,KAAG,IAAE,IAAE,IAAG;CAAI,QAAO,KAAG,IAAE,MAAI;AAAE;AAAC,IAAM,KAAG;CAAC,GAAE;EAAC,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;CAAC;CAAE,GAAE;EAAC,CAAC,OAAM,CAAC;EAAE,CAAC,QAAO,CAAC;EAAE,CAAC,QAAO,CAAC;EAAE,CAAC,QAAO,CAAC;EAAE,CAAC,QAAO,CAAC;EAAE,CAAC,QAAO,CAAC;EAAE,CAAC,QAAO,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;EAAE,CAAC,SAAQ,CAAC;CAAC;AAAC;AAAE,IAAI,KAAG,cAAc,EAAC;CAAC,aAAY;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,UAAU;CAAC;CAAC,cAAa;EAAC,IAAI,IAAE,KAAK,MAAM,YAAY,SAAS,aAAa;EAAQ,OAAO,KAAK,MAAM,QAAQ,KAAK,CAAC;CAAC;CAAC,MAAM,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,KAAI,IAAE,GAAE,KAAI,IAAE,KAAI,KAAI,IAAE,GAAE,QAAO,IAAE,OAAI;EAAE,IAAG,IAAE,KAAG,IAAE,GAAE,OAAM,GAAG,EAAE;EAAG,IAAG,MAAI,GAAE,OAAM,GAAG,IAAI,EAAE,QAAQ,CAAC;EAAI,IAAI,IAAE,KAAK,MAAM,OAAO,MAAM;GAAC,KAAI;GAAE,KAAI;GAAE,gBAAe;EAAC,CAAC;EAAE,IAAG,MAAI,GAAE,OAAM,GAAG,IAAI,EAAE,QAAQ,CAAC;EAAI,IAAI,IAAE,IAAE,MAAI,IAAE,IAAG,IAAE,KAAK,MAAM,QAAQ,qBAAqB;GAAC;IAAC,QAAO;IAAE,OAAM;GAAC;GAAE;IAAC,QAAO;IAAE,OAAM;GAAC;GAAE;IAAC,QAAO;IAAE,OAAM;GAAC;GAAE;IAAC,QAAO;IAAE,OAAM,KAAK,MAAM,OAAO,IAAI;KAAC,KAAI;KAAE,KAAI;IAAC,CAAC;GAAC;EAAC,CAAC,GAAE,KAAG,IAAE,OAAK,GAAE,IAAE,IAAE,GAAE,IAAE,IAAE,GAAE,IAAE,IAAE,IAAE;EAAE,OAAO,KAAG,KAAG,KAAG,IAAE,GAAG,IAAI,EAAE,QAAQ,CAAC,MAAI,GAAG,IAAI,EAAE,QAAQ,CAAC;CAAG;CAAC,mBAAkB;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,aAAa,SAAS;CAAC;CAAC,kBAAiB;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,aAAa,QAAQ;CAAC;CAAC,UAAS;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,aAAa,OAAO;CAAC;CAAC,qBAAoB;EAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,SAAS,mBAAmB;CAAC;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,SAAQ,EAAC;EAAG,IAAG,EAAC,SAAQ,IAAE,IAAG,WAAU,IAAE,QAAK,GAAE,CAAC,GAAE,KAAG,KAAK,MAAM,QAAQ,YAAY,EAAE,GAAE,IAAE,KAAK,MAAM,OAAO,QAAQ,CAAC,GAAE,IAAE,OAAO,SAAS,EAAE,MAAM,GAAE,EAAE,CAAC,GAAE,IAAE,EAAE,MAAM,CAAC,OAAK,KAAG,CAAC,CAAC,GAAG;EAAG,IAAG,CAAC,GAAE,MAAM,IAAIA,IAAE,oDAAoD,GAAG;EAAE,IAAI,IAAE;GAAC;GAAM;GAAE,EAAE,MAAM,GAAE,CAAC;GAAE,EAAE,MAAM,CAAC;EAAC;EAAE,MAAI,MAAI,EAAE,MAAM;EAAE,IAAI,IAAE,EAAE,KAAK,EAAE,GAAE,IAAE;EAAE,KAAI,IAAI,IAAE,GAAE,IAAE,IAAE,GAAE,KAAI;GAAC,IAAI,IAAE,MAAI,KAAG,IAAE,IAAE,IAAE,IAAE,IAAE;GAAE,KAAG,IAAE,OAAO,SAAS,EAAE,EAAE;EAAC;EAAC,OAAO,IAAE,MAAI,KAAG,IAAE,MAAI,KAAG,IAAE,MAAI,IAAG,EAAE,KAAK,MAAI,KAAG,MAAI,EAAE,SAAS,CAAC,GAAE,EAAE,KAAK,CAAC;CAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE,OAAI;EAAE,IAAG,KAAG,KAAK,KAAK,CAAC,GAAE,MAAM,IAAIA,IAAE,yCAAyC;EAAE,IAAG,EAAE,SAAO,IAAG,MAAM,IAAIA,IAAE,0CAA0C;EAAE,IAAI,IAAE,KAAG,EAAE,QAAO,IAAE,GAAG,IAAI,KAAK,MAAM,OAAO,QAAQ;GAAC,QAAO;GAAE,mBAAkB,CAAC;EAAC,CAAC;EAAI,OAAM,GAAG,IAAI,GAAG,CAAC;CAAG;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,QAAQ,YAAY;CAAC;CAAC,cAAa;EAAC,OAAM;GAAC,KAAK,qBAAqB;GAAE,KAAK,sBAAsB;GAAE,KAAK,gBAAgB;EAAC,CAAC,CAAC,KAAK,GAAG;CAAC;CAAC,aAAY;EAAC,OAAM;GAAC,KAAK,SAAS;GAAE,KAAK,cAAc;GAAE,KAAK,SAAS;EAAC,CAAC,CAAC,KAAK,GAAG;CAAC;CAAC,uBAAsB;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,SAAS;CAAC;CAAC,wBAAuB;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,UAAU;CAAC;CAAC,kBAAiB;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,IAAI;CAAC;CAAC,gBAAe;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,cAAc;CAAC;CAAC,WAAU;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,SAAS;CAAC;CAAC,WAAU;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,SAAS;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,MAAM;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,IAAI;CAAC;CAAC,YAAW;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,SAAS;CAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,MAAM;CAAC;CAAC,kBAAiB;EAAC,OAAO,KAAK,MAAM,OAAO,YAAY;GAAC,QAAO;GAAG,QAAO;GAAQ,QAAO;EAAE,CAAC;CAAC;AAAC;AAAE,SAAS,EAAE,GAAE,IAAE,WAAU;CAAC,IAAI,IAAE,IAAI,KAAK,CAAC;CAAE,IAAG,OAAO,MAAM,EAAE,QAAQ,CAAC,GAAE,MAAM,IAAIA,IAAE,WAAW,EAAE,SAAS,EAAE,SAAS,GAAG;CAAE,OAAO;AAAC;AAAC,IAAI,IAAE,cAAc,EAAC;CAAC,QAAQ,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,SAAQ,IAAE,KAAK,MAAM,eAAe,MAAG,GAAE,IAAE,EAAE,CAAC,CAAC,CAAC,QAAQ;EAAE,OAAO,KAAK,QAAQ;GAAC,MAAK,IAAE;GAAiB,IAAG,IAAE;EAAgB,CAAC;CAAC;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,SAAQ,IAAE,KAAK,MAAM,eAAe,MAAG,GAAE,EAAC,OAAM,IAAE,MAAG;EAAE,IAAG,OAAO,KAAG,aAAW,IAAE;GAAC,KAAI;GAAE,KAAI;EAAC,IAAG,EAAE,OAAK,GAAE,MAAM,IAAIA,IAAE,+BAA+B;EAAE,IAAG,EAAE,OAAK,EAAE,KAAI,MAAM,IAAIA,IAAE,+EAA+E;EAAE,IAAI,IAAE,EAAE,CAAC,GAAE,IAAE,IAAI,KAAK,CAAC;EAAE,EAAE,eAAe,EAAE,eAAe,IAAE,EAAE,GAAG;EAAE,IAAI,IAAE,IAAI,KAAK,CAAC;EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,IAAE,EAAE,GAAG,GAAE,KAAK,QAAQ;GAAC,MAAK;GAAE,IAAG,EAAE,QAAQ,IAAE;EAAG,CAAC;CAAC;CAAC,OAAO,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,SAAQ,IAAE,KAAK,MAAM,eAAe,MAAG,GAAE,EAAC,OAAM,IAAE,MAAG;EAAE,IAAG,OAAO,KAAG,aAAW,IAAE;GAAC,KAAI;GAAE,KAAI;EAAC,IAAG,EAAE,OAAK,GAAE,MAAM,IAAIA,IAAE,+BAA+B;EAAE,IAAG,EAAE,OAAK,EAAE,KAAI,MAAM,IAAIA,IAAE,+EAA+E;EAAE,IAAI,IAAE,EAAE,CAAC,GAAE,IAAE,IAAI,KAAK,CAAC;EAAE,EAAE,eAAe,EAAE,eAAe,IAAE,EAAE,GAAG;EAAE,IAAI,IAAE,IAAI,KAAK,CAAC;EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,IAAE,EAAE,GAAG,GAAE,KAAK,QAAQ;GAAC,MAAK,EAAE,QAAQ,IAAE;GAAI,IAAG;EAAC,CAAC;CAAC;CAAC,QAAQ,GAAE;EAAC,IAAG,EAAC,MAAK,GAAE,IAAG,MAAG,GAAE,IAAE,EAAE,GAAE,MAAM,CAAC,CAAC,QAAQ,GAAE,IAAE,EAAE,GAAE,IAAI,CAAC,CAAC,QAAQ;EAAE,IAAG,IAAE,GAAE,MAAM,IAAIA,IAAE,uCAAuC;EAAE,OAAO,IAAI,KAAK,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAC,CAAC,CAAC;CAAC;CAAC,SAAS,GAAE;EAAC,IAAG,EAAC,MAAK,GAAE,IAAG,GAAE,OAAM,IAAE,MAAG;EAAE,OAAO,KAAK,MAAM,QAAQ,eAAa,KAAK,QAAQ;GAAC,MAAK;GAAE,IAAG;EAAC,CAAC,GAAE,EAAC,OAAM,EAAC,CAAC,CAAC,CAAC,UAAU,GAAE,MAAI,EAAE,QAAQ,IAAE,EAAE,QAAQ,CAAC;CAAC;CAAC,OAAO,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,SAAQ,IAAE,KAAK,MAAM,eAAe,MAAG,GAAE,EAAC,MAAK,IAAE,MAAG;EAAE,IAAG,OAAO,KAAG,aAAW,IAAE;GAAC,KAAI;GAAE,KAAI;EAAC,IAAG,EAAE,OAAK,GAAE,MAAM,IAAIA,IAAE,8BAA8B;EAAE,IAAG,EAAE,OAAK,EAAE,KAAI,MAAM,IAAIA,IAAE,6EAA6E;EAAE,IAAI,IAAE,EAAE,CAAC,GAAE,IAAE,IAAI,KAAK,CAAC;EAAE,EAAE,WAAW,EAAE,WAAW,IAAE,EAAE,GAAG;EAAE,IAAI,IAAE,IAAI,KAAK,CAAC;EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,IAAE,EAAE,GAAG,GAAE,KAAK,QAAQ;GAAC,MAAK;GAAE,IAAG,EAAE,QAAQ,IAAE;EAAG,CAAC;CAAC;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,SAAQ,IAAE,KAAK,MAAM,eAAe,MAAG,GAAE,EAAC,MAAK,IAAE,MAAG;EAAE,IAAG,OAAO,KAAG,aAAW,IAAE;GAAC,KAAI;GAAE,KAAI;EAAC,IAAG,EAAE,OAAK,GAAE,MAAM,IAAIA,IAAE,8BAA8B;EAAE,IAAG,EAAE,OAAK,EAAE,KAAI,MAAM,IAAIA,IAAE,6EAA6E;EAAE,IAAI,IAAE,EAAE,CAAC,GAAE,IAAE,IAAI,KAAK,CAAC;EAAE,EAAE,WAAW,EAAE,WAAW,IAAE,EAAE,GAAG;EAAE,IAAI,IAAE,IAAI,KAAK,CAAC;EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,IAAE,EAAE,GAAG,GAAE,KAAK,QAAQ;GAAC,MAAK,EAAE,QAAQ,IAAE;GAAI,IAAG;EAAC,CAAC;CAAC;CAAC,UAAU,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,MAAK,IAAE,OAAM,KAAI,IAAE,IAAG,KAAI,IAAE,IAAG,SAAQ,IAAE,KAAK,MAAM,eAAe,MAAG,GAAE,IAAE,EAAE,CAAC,GAAE,IAAE,EAAE,eAAe;EAAE,QAAO,GAAP;GAAU,KAAI,OAAM;IAAC,IAAI,IAAE,IAAI,KAAK,CAAC,CAAC,CAAC,eAAe,IAAE,IAAE,CAAC,IAAE,OAAY,IAAE,IAAI,KAAK,CAAC,CAAC,CAAC,eAAe,IAAE,CAAC;IAAE,IAAG,IAAE,GAAE,MAAM,IAAIA,IAAE,WAAW,EAAE,8CAA8C,EAAE,EAAE;IAAE,OAAO,KAAK,QAAQ;KAAC,MAAK;KAAE,IAAG;IAAC,CAAC;GAAC;GAAC,KAAI,QAAO;IAAC,IAAI,IAAE,IAAI,KAAK,KAAK,IAAI,GAAE,GAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAE,IAAE,IAAI,KAAK,KAAK,IAAI,GAAE,IAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;IAAE,IAAG,IAAE,GAAE,MAAM,IAAIA,IAAE,YAAY,EAAE,+CAA+C,EAAE,EAAE;IAAE,OAAO,KAAK,QAAQ;KAAC,MAAK;KAAE,IAAG;IAAC,CAAC;GAAC;EAAC;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC;CAAM,YAAY,GAAE;EAAC,MAAM,CAAC,GAAE,KAAK,QAAM;CAAC;CAAC,MAAM,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,aAAY,IAAE,CAAC,GAAE,SAAQ,IAAE,CAAC,MAAG,GAAE,IAAE,KAAK,MAAM,YAAY,KAAK,OAAM;EAAE,IAAE,IAAE,KAAG,EAAE,gBAAc,OAAK,iBAAe,SAAO,KAAG,EAAE,gBAAc,OAAK,iBAAe;EAAO,IAAI,IAAE,EAAE;EAAG,OAAO,EAAE,GAAE,cAAa,CAAC,GAAE,KAAK,MAAM,QAAQ,aAAa,CAAC;CAAC;CAAC,QAAQ,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,aAAY,IAAE,CAAC,GAAE,SAAQ,IAAE,CAAC,MAAG,GAAE,IAAE,KAAK,MAAM,YAAY,KAAK,SAAQ;EAAE,IAAE,IAAE,KAAG,EAAE,gBAAc,OAAK,iBAAe,SAAO,KAAG,EAAE,gBAAc,OAAK,iBAAe;EAAO,IAAI,IAAE,EAAE;EAAG,OAAO,EAAE,GAAE,gBAAe,CAAC,GAAE,KAAK,MAAM,QAAQ,aAAa,CAAC;CAAC;CAAC,WAAU;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,SAAS;CAAC;AAAC;AAAE,IAAI,IAAE,SAAS,GAAE;CAAC,OAAO,EAAE,SAAO,UAAS,EAAE,SAAO,UAAS,EAAE,SAAO,UAAS,EAAE,UAAQ,WAAU;AAAC,EAAE,CAAC,CAAC;CAAK,SAAS,GAAE;CAAC,OAAO,EAAE,UAAQ,WAAU,EAAE,UAAQ,WAAU;AAAC,EAAA,CAAE,CAAC,CAAC;AAAE,IAAM,KAAG;CAAC,QAAO;EAAC,QAAO;GAAC,SAAQ;GAAI,SAAQ;EAAG;EAAE,QAAO;GAAC,KAAI;GAAG,KAAI;EAAE;EAAE,QAAO;EAAQ,SAAQ;CAAM;CAAE,QAAO;EAAC,QAAO;GAAC,SAAQ;GAAI,SAAQ;EAAG;EAAE,QAAO;GAAC,KAAI;GAAG,KAAI;EAAE;EAAE,QAAO;EAAQ,SAAQ;CAAM;CAAE,QAAO;EAAC,QAAO;GAAC,SAAQ;GAAM,SAAQ;EAAK;EAAE,QAAO;GAAC,KAAI;GAAG,KAAI;EAAE;EAAE,QAAO;EAAQ,SAAQ;CAAS;CAAE,SAAQ;EAAC,QAAO;GAAC,SAAQ;GAAO,SAAQ;EAAM;EAAE,QAAO;GAAC,KAAI;GAAG,KAAI;EAAE;EAAE,QAAO;EAAQ,SAAQ;CAAS;AAAC;AAAE,IAAA,IAAE;CAAC,OAAM,6BAA6B,MAAM,EAAE;CAAE,SAAQ;EAAC;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAoC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA+B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA0B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAoC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA6B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAC,CAAC;GAAE,QAAO;EAAqB;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA0B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAE;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;GAAC;GAAE,QAAO;EAAsC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;GAAC;GAAE,QAAO;EAA6B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;GAAC;GAAE,QAAO;EAA6B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA4B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAoC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAE,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA+B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAwB;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAoC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA8B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA0B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAwB;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAC,CAAC;GAAE,QAAO;EAAwB;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAE;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;GAAC;GAAE,QAAO;EAAmC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA6B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA6B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA8B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAmC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAwB;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;GAAC;GAAE,QAAO;EAAoC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAoC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAkC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;GAAC;GAAE,QAAO;EAA6B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA8B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAkC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;GAAC;GAAE,QAAO;EAAmC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;GAAC;GAAE,QAAO;EAAuC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA0B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA0B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAuC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA4B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAoC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA4B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA0B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA0B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;GAAC;GAAE,QAAO;EAAyB;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;GAAC;GAAE,QAAO;EAAwC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAE,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAmC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;GAAC;GAAE,QAAO;EAAuC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAE;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;GAAC;GAAE,QAAO;EAAmC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA+B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA6B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAwB;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAC,CAAC;GAAE,QAAO;EAAoB;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA+B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;GAAC;GAAE,QAAO;EAAsC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAoC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAiC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAsC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA+B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;GAAC;GAAE,QAAO;EAAmC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA+B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA6B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAE,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA+B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAAyB;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAE,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA+B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA+B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA4B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA+B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAE;GAAC;GAAE,QAAO;EAAkC;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA8B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK;IAAC;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;IAAE;KAAC,MAAK;KAAI,OAAM;IAAC;GAAC;GAAE,QAAO;EAA6B;EAAE;GAAC,SAAQ;GAAK,OAAM;GAAG,MAAK,CAAC;IAAC,MAAK;IAAI,OAAM;GAAC,GAAE;IAAC,MAAK;IAAI,OAAM;GAAE,CAAC;GAAE,QAAO;EAA+B;CAAC;CAAE,SAAQ,gvBAAgvB,MAAM,GAAG;CAAE,QAAM,MAAG;EAAC,IAAI,IAAE;EAAE,KAAI,IAAI,KAAK,GAAE,KAAG,IAAE,KAAI,CAAC,KAAG;EAAG,OAAO;CAAC;CAAE,WAAU;EAAC;EAAK;EAAK;EAAK;EAAK;EAAK;EAAK;EAAK;EAAK;CAAI;CAAE,YAAW;EAAC;EAAM;EAAM;EAAM;EAAM;EAAM;EAAM;EAAM;EAAM;CAAK;CAAE,gBAAc,MAAG,EAAE,WAAW,YAAU,MAAG,QAAQ,EAAE,YAAY,CAAC,CAAC,YAAY,CAAC,KAAG,OAAK,EAAE,CAAC;AAAC;AAAE,SAAS,GAAG,GAAE;CAAC,IAAI,IAAE;CAAG,KAAI,IAAI,IAAE,GAAE,IAAE,EAAE,QAAO,KAAG,GAAE,KAAG,GAAG,EAAE,UAAU,GAAE,IAAE,CAAC,EAAE;CAAG,OAAO,EAAE,QAAQ;AAAC;AAAC,IAAI,KAAG,cAAc,EAAC;CAAC,cAAc,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC;EAAG,IAAG,EAAC,QAAO,IAAE,MAAG;EAAE,OAAO,KAAK,MAAM,OAAO,QAAQ;GAAC,QAAO;GAAE,mBAAkB,CAAC;EAAC,CAAC;CAAC;CAAC,cAAa;EAAC,OAAM,CAAC,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,YAAY,GAAE,SAAS,CAAC,CAAC,KAAK,GAAG;CAAC;CAAC,gBAAe;EAAC,IAAI,IAAE,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,8BAA8B,IAAE,KAAK,MAAM,OAAO,QAAQ;GAAC,QAAO;GAAE,mBAAkB,CAAC;EAAC,CAAC,GAAE,IAAE;EAAE,KAAI,IAAI,IAAE,GAAE,IAAE,EAAE,QAAO,KAAG,GAAE,KAAG,OAAO,EAAE,EAAE,IAAE,GAAE,KAAG,OAAO,EAAE,IAAE,EAAE,IAAE,GAAE,KAAG,OAAO,EAAE,IAAE,EAAE,KAAG;EAAE,OAAM,GAAG,IAAI,KAAK,KAAK,IAAE,EAAE,IAAE,KAAG;CAAG;CAAC,OAAO,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,YAAW,IAAE,CAAC,GAAE,KAAI,IAAE,GAAE,KAAI,IAAE,KAAI,KAAI,IAAE,GAAE,QAAO,IAAE,OAAI,GAAE,IAAE,KAAK,MAAM,OAAO,MAAM;GAAC,KAAI;GAAE,KAAI;GAAE,gBAAe;EAAC,CAAC;EAAE,OAAO,KAAG,IAAE,EAAE,eAAe,KAAK,GAAE,EAAC,uBAAsB,EAAC,CAAC,IAAE,EAAE,QAAQ,CAAC;CAAE;CAAC,kBAAiB;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,gBAAgB;CAAC;CAAC,WAAU;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,QAAQ;CAAC;CAAC,eAAc;EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;CAAI;CAAC,eAAc;EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;CAAI;CAAC,iBAAgB;EAAC,IAAI;EAAE;GAAG,IAAE,KAAK,SAAS,CAAC,CAAC;SAAa,EAAE,WAAS;EAAG,OAAO;CAAC;CAAC,sBAAqB;EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;CAAW;CAAC,eAAe,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,MAAK,IAAE,KAAK,MAAM,QAAQ,UAAU,CAAC,GAAE,SAAQ,IAAE,cAAW,GAAE,IAAE,GAAG,IAAG,IAAE,EAAE,OAAO,IAAG,IAAE,KAAK,MAAM,OAAO,IAAI,EAAE,MAAM;EAAE,OAAO,IAAE,KAAK,MAAM,OAAO,aAAa;GAAC,QAAO,IAAE,EAAE;GAAO,QAAO,EAAE;GAAO,SAAQ,EAAE;EAAO,CAAC;CAAC;CAAC,kBAAiB;EAAC,IAAI,IAAE,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAG,KAAI;EAAE,CAAC;EAAE,OAAO,KAAK,MAAM,OAAO,eAAe,KAAK,IAAE,KAAK,MAAM,OAAO,eAAe,8DAA6D,IAAE,CAAC;CAAC;CAAC,iBAAiB,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC;EAAG,IAAG,EAAC,QAAO,IAAE,OAAI,GAAE,GAAE,IAAE,KAAK,MAAM,YAAY,QAAQ,aAAY,IAAE,EAAE,YAAY;EAAE,IAAG,KAAK,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,EAAE,EAAE;OAAO,IAAG,EAAE,SAAS,GAAG,GAAE,IAAE;OAAM;GAAC,IAAI,IAAE,KAAK,MAAM,QAAQ,YAAY,CAAC;GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC;EAAC;EAAC,OAAO,IAAE,EAAE,WAAW,KAAI,EAAE,GAAE,KAAK,MAAM,QAAQ,yBAAyB,CAAC;CAAC;CAAC,gBAAe;EAAC,OAAO,KAAK,MAAM,OAAO,QAAQ;GAAC,QAAO;GAAE,mBAAkB,CAAC;EAAC,CAAC;CAAC;CAAC,mBAAkB;EAAC,OAAO,KAAK,MAAM,QAAQ,UAAU,KAAK,MAAM,YAAY,QAAQ,WAAW;CAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC;EAAG,IAAG,EAAC,QAAO,IAAE,MAAG;EAAE,IAAG,IAAE,GAAE,MAAM,IAAIA,IAAE,qBAAqB;EAAE,OAAO,KAAK,MAAM,OAAO,QAAQ;GAAC,QAAO;GAAE,mBAAkB,CAAC;EAAC,CAAC;CAAC;CAAC,kBAAiB;EAAC,OAAO,KAAK,MAAM,OAAO,YAAY;GAAC,QAAO;GAAG,QAAO;EAAO,CAAC;CAAC;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,aAAY,GAAE,WAAU,IAAE,CAAC,MAAG,GAAE,IAAE,IAAE,EAAE,QAAQ,MAAK,MAAG,EAAE,YAAU,CAAC,IAAE,KAAK,MAAM,QAAQ,aAAa,EAAE,OAAO;EAAE,IAAG,CAAC,GAAE,MAAM,IAAIA,IAAE,gBAAgB,EAAE,gBAAgB;EAAE,IAAI,IAAE,IAAG,IAAE;EAAE,KAAI,IAAI,KAAK,EAAE,MAAK;GAAC,IAAI,IAAE,EAAE;GAAM,KAAI,KAAG,EAAE,OAAM,IAAE,IAAG,EAAE,SAAO,MAAI,KAAG,KAAK,MAAM,QAAQ,aAAa,EAAE,KAAK,IAAE,EAAE,SAAO,MAAI,KAAK,MAAM,SAAS,QAAQ,EAAE,IAAE,KAAG,KAAK,MAAM,OAAO,IAAI,CAAC,IAAE,KAAG,KAAK,MAAM,QAAQ,aAAa,EAAE,KAAK,IAAE,KAAG,KAAG,KAAK,MAAM,SAAS,QAAQ,EAAE,IAAE,KAAK,MAAM,SAAS,QAAQ,KAAG,KAAG,KAAK,MAAM,QAAQ,aAAa,EAAE,UAAU,GAAE,KAAG,MAAI,KAAG,KAAK,MAAM,QAAQ,aAAa,EAAE,SAAS,GAAE,OAAK,KAAG,KAAK,MAAM,OAAO,IAAI,CAAC,GAAE;GAAI,IAAE,EAAE,UAAU,GAAE,CAAC;EAAC;EAAC,IAAI,IAAE,KAAG,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,QAAQ,GAAG,CAAC;EAAE,IAAE,OAAK,IAAE,IAAI;EAAK,IAAI,IAAE,GAAG,EAAE,UAAU,IAAI;EAAI,OAAO,IAAE,GAAG,CAAC,IAAE;CAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,mBAAkB,IAAE,KAAK,MAAM,SAAS,QAAQ,MAAG;EAAE,OAAM,GAAG,KAAK,MAAM,OAAO,MAAM;GAAC,QAAO;GAAE,QAAO;EAAO,CAAC,IAAI,KAAK,MAAM,QAAQ,aAAa,EAAE,OAAO,IAAI,KAAK,MAAM,OAAO,aAAa;GAAC,QAAO;GAAE,QAAO;EAAO,CAAC,IAAI,IAAE,KAAK,MAAM,SAAS,QAAQ,IAAE,KAAK,MAAM,OAAO,aAAa;GAAC,QAAO;GAAE,QAAO;EAAO,CAAC,IAAE,QAAM;CAAI;CAAC,yBAAwB;EAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,QAAQ,+BAA+B;CAAC;AAAC;AAAE,SAAS,GAAG,GAAE;CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,KAAI,MAAG,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,IAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;AAAC;AAAC,IAAI,KAAG,cAAc,EAAC;CAAC,YAAW;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,SAAS;CAAC;CAAC,cAAa;EAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,KAAK,mBAAmB;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,SAAS,QAAQ,IAAE,GAAG,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,KAAK,YAAY,CAAC,IAAE,GAAG,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,IAAI,CAAC;CAAC;CAAC,iBAAgB;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,eAAe;CAAC;CAAC,QAAO;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,KAAK;CAAC;CAAC,aAAY;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,UAAU;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,IAAI;CAAC;CAAC,QAAO;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,KAAK;CAAC;CAAC,YAAW;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,KAAK,SAAS;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC,SAAQ;EAAC,OAAM,GAAG,KAAK,MAAM,OAAO,KAAK,CAAC,CAAC,QAAQ,KAAI,GAAG,EAAE,GAAG,KAAK,MAAM,OAAO,KAAK,CAAC,CAAC,QAAQ,KAAI,GAAG;CAAG;CAAC,YAAY,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,OAAM,IAAE,KAAK,MAAM,SAAS,QAAQ,EAAC,aAAY,GAAE,CAAC,GAAE,KAAI,IAAE,QAAO,SAAQ,MAAG,GAAE,IAAE,CAAC,UAAU,KAAK,MAAM,IAAI,UAAU,GAAG;EAAE,KAAG,EAAE,KAAK,UAAU,KAAK,UAAU,EAAC,QAAO,EAAC,CAAC,EAAE,GAAG,KAAK,UAAU,EAAC,QAAO,EAAC,CAAC,GAAG;EAAE,IAAI,IAAE,KAAK,MAAM,OAAO,UAAU,GAAE,IAAE,KAAK,MAAM,OAAO,SAAS,GAAE,IAAE,KAAK,MAAM,OAAO,SAAS;GAAC,WAAU;GAAE,UAAS;EAAC,CAAC,GAAE,IAAE,KAAK,MAAM,SAAS,SAAS;GAAC,WAAU;GAAE,UAAS;EAAC,CAAC,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,GAAE,CAAC,CAAC,GAAE,IAAE,KAAK,MAAM,SAAS,MAAM;GAAC,WAAU;GAAE,UAAS;EAAC,CAAC;EAAE,IAAE,EAAE,WAAW,mCAAkC,EAAE,GAAE,EAAE,KAAK,WAAW,EAAE,IAAI,EAAE,IAAG,SAAS,KAAK,WAAW,EAAC,SAAQ,EAAC,CAAC,KAAI,IAAG,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,cAAc,KAAI,EAAE;EAAE,IAAI,IAAE,MAAI,SAAO;IAC5+9B;;EACA,OAAO,EAAE,KAAK,CAAC;CAAC;CAAC,gBAAe;EAAC,OAAM,GAAG,KAAK,MAAM,OAAO,KAAK,EAAE,GAAG,KAAK,MAAM,OAAO,UAAU,EAAE,GAAG,KAAK,MAAM,OAAO,KAAK;CAAG;CAAC,WAAW,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,SAAQ,IAAE,KAAK,MAAM,eAAe,MAAG,GAAE,IAAE;GAAC;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;EAAK,GAAE,IAAE;GAAC;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;EAAK,GAAE,IAAE,KAAK,MAAM,KAAK,OAAO;GAAC,MAAK;GAAE,SAAQ;EAAC,CAAC,GAAE,IAAE,EAAE,EAAE,UAAU,IAAG,IAAE,EAAE,EAAE,YAAY,IAAG,IAAE,EAAE,WAAW,GAAE,IAAE,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,GAAE,GAAG,GAAE,IAAE,EAAE,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,GAAE,GAAG,GAAE,IAAE,EAAE,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,GAAE,GAAG,GAAE,IAAE,EAAE,eAAe,GAAE,IAAE,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAI,KAAI;EAAE,CAAC,GAAE,IAAE,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,GAAE,GAAG;EAAE,OAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAG,IAAE,MAAI,MAAM,EAAE;CAAG;CAAC,UAAU,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE,OAAI;EAAE,OAAO,KAAK,MAAM,OAAO,YAAY;GAAC,QAAO;GAAE,QAAO;GAAQ,QAAO;EAAE,CAAC;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC,eAAc;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,YAAY;CAAC;CAAC,YAAW;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,SAAS;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,IAAI;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,IAAI;CAAC;CAAC,UAAS;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,OAAO;CAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,OAAO,MAAM;CAAC;AAAC;AAAE,IAAM,KAAG;AAAQ,SAAS,GAAG,GAAE,GAAE,IAAE,CAAC,GAAE,EAAE,YAAY,GAAG,GAAE;CAAC,IAAG,EAAE,WAAS,GAAE,MAAM,IAAIA,IAAE,kCAAkC;CAAE,IAAG,EAAE,WAAS,GAAE,MAAM,IAAIA,IAAE,mCAAmC;CAAE,IAAI,IAAE,GAAE,IAAE;CAAE,GAAE;EAAC,IAAI;EAAE,EAAE,WAAW,GAAG,IAAE,CAAC,GAAE,KAAG,GAAG,GAAE,CAAC,IAAE,CAAC,GAAE,KAAG,GAAG,GAAE,CAAC,GAAE,IAAE,EAAE,UAAU,CAAC,GAAE,IAAE,EAAE,QAAO,MAAG,KAAG,IAAI,CAAC,CAAC,KAAI,MAAG,MAAM,QAAQ,CAAC,IAAE,EAAE,QAAQ,aAAa,CAAC,IAAE,CAAC;CAAC,SAAO,EAAE,SAAO,KAAG,EAAE,SAAO;CAAG,IAAG,EAAE,WAAS,GAAE,MAAM,IAAIA,IAAE,8BAA8B,EAAE,EAAE;CAAE,IAAI,IAAE,EAAE;CAAG,OAAO,OAAO,KAAG,aAAW,EAAE,IAAE;AAAC;AAAC,SAAS,GAAG,GAAE,GAAE;CAAC,IAAG,CAAC,GAAE,KAAG,GAAG,CAAC,GAAE,IAAE,EAAE,IAAE;CAAG,QAAO,GAAP;EAAU,KAAI;EAAI,KAAI;EAAI,KAAK,KAAK,GAAE;EAAM,SAAQ,MAAM,IAAIA,IAAE,uFAAuF,EAAE,EAAE;CAAC;CAAC,OAAM,CAAC,KAAG,MAAI,MAAI,IAAE,IAAG,EAAE,KAAI,MAAG,OAAO,KAAG,aAAW,EAAE,GAAG,CAAC,IAAE,KAAK,CAAC,CAAC;AAAC;AAAC,SAAS,GAAG,GAAE;CAAC,IAAI,IAAE,EAAE,QAAQ,KAAI,CAAC;CAAE,IAAG,MAAI,IAAG,MAAM,IAAIA,IAAE,mCAAmC,EAAE,EAAE;CAAE,OAAK,MAAI,KAAI;EAAC,IAAI,IAAE,EAAE,UAAU,GAAE,CAAC;EAAE,IAAG;GAAC,OAAM,CAAC,GAAE,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC;EAAC,QAAM;GAAC,IAAG,CAAC,EAAE,SAAS,GAAG,KAAG,CAAC,EAAE,SAAS,GAAG,GAAE,IAAG;IAAC,OAAM,CAAC,GAAE,KAAK,MAAM,KAAK,EAAE,GAAG,CAAC;GAAC,QAAM,CAAC;EAAC;EAAC,IAAE,EAAE,QAAQ,KAAI,IAAE,CAAC;CAAC;CAAC,IAAE,EAAE,YAAY,GAAG;CAAE,IAAI,IAAE,EAAE,UAAU,GAAE,CAAC;CAAE,OAAM,CAAC,GAAE,CAAC,CAAC,CAAC;AAAC;AAAC,SAAS,GAAG,GAAE,GAAE;CAAC,IAAI,IAAE,GAAG,KAAK,CAAC,GAAE,KAAG,IAAI,MAAI,QAAM,KAAI,IAAE,GAAG,SAAO,EAAE,QAAO,IAAE,EAAE,UAAU,GAAE,CAAC;CAAE,IAAG,EAAE,WAAS,GAAE,MAAM,IAAIA,IAAE,wCAAwC,EAAE,EAAE;CAAE,IAAI,IAAE,EAAE,IAAE;CAAG,IAAG,MAAI,KAAG,QAAM,MAAI,OAAK,MAAI,MAAK,MAAM,IAAIA,IAAE,uCAAuC,EAAE,EAAE;CAAE,OAAM,CAAC,IAAG,CAAC,CAAC,CAAC,GAAE,EAAE,KAAI,MAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,QAAO,OAAO,GAAd;EAAiB,KAAI;GAAW,IAAG;IAAC,IAAE,EAAE;GAAC,QAAM;IAAC;GAAM;GAAC,OAAO,EAAE,GAAE,CAAC;EAAE,KAAI,UAAS,OAAO,IAAI;EAAG,SAAQ;CAAM;AAAC;AAAC,SAAS,GAAG,GAAE;CAAC,IAAI,IAAE,GAAG,EAAE,QAAQ,OAAM,GAAG,CAAC;CAAE,OAAO,MAAI,IAAE,IAAE,KAAG;AAAC;AAAC,SAAS,GAAG,GAAE;CAAC,IAAE,EAAE,WAAW,UAAS,EAAE;CAAE,IAAI,IAAE,GAAE,IAAE,CAAC;CAAE,KAAI,IAAI,IAAE,EAAE,SAAO,GAAE,KAAG,GAAE,KAAI;EAAC,IAAI,IAAE,OAAO,SAAS,EAAE,EAAE;EAAE,MAAI,KAAG,GAAE,IAAE,MAAI,IAAE,IAAE,KAAG,KAAI,KAAG,GAAE,IAAE,CAAC;CAAC;CAAC,OAAO,IAAE;AAAE;AAAC,SAAS,EAAE,GAAE,GAAE,GAAE,GAAE;CAAC,IAAI,IAAE;CAAE,IAAG,GAAE,QAAO,GAAP;EAAU,KAAI;GAAI,IAAE,CAAC,CAAC,EAAE,SAAS,QAAQ;GAAE;EAAM,KAAI,KAAI;GAAC,IAAI,IAAE;GAAE,OAAK,EAAE,SAAS,QAAQ,IAAG,KAAG;GAAE,IAAE,EAAE,OAAO,IAAI;IAAC,KAAI;IAAE,KAAI;GAAC,CAAC;GAAE;EAAK;EAAC,KAAI,KAAI;GAAC,IAAI,IAAE;GAAE,OAAK,EAAE,SAAS,QAAQ,IAAG,KAAG;GAAE,IAAE,EAAE,OAAO,IAAI;IAAC,KAAI;IAAE,KAAI;GAAC,CAAC;GAAE;EAAK;EAAC,SAAQ,MAAM,IAAIA,IAAE,qCAAqC;CAAC;MAAM,KAAG,QAAM,KAAG,OAAK,IAAE,EAAE,OAAO,IAAI;EAAC,KAAI,OAAO,SAAS,CAAC;EAAE,KAAI,OAAO,SAAS,CAAC;CAAC,CAAC,IAAE,KAAG,QAAM,KAAG,SAAO,IAAE,OAAO,SAAS,CAAC;CAAG,OAAO;AAAC;AAAC,SAAS,GAAG,GAAE,IAAE,IAAG;CAAC,IAAI,IAAE,sBAAqB,IAAE,gBAAe,IAAE,mBAAkB,GAAE,GAAE,GAAE,GAAE,IAAE,EAAE,KAAK,CAAC;CAAE,OAAK,KAAG,OAAM,IAAE,OAAO,SAAS,EAAE,EAAE,GAAE,IAAE,OAAO,SAAS,EAAE,EAAE,GAAE,IAAE,MAAI,IAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,EAAE,OAAO,IAAI;EAAC,KAAI;EAAE,KAAI;CAAC,CAAC,GAAE,IAAE,EAAE,MAAM,GAAE,EAAE,KAAK,IAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAE,EAAE,MAAM,EAAE,QAAM,EAAE,EAAE,CAAC,MAAM,GAAE,IAAE,EAAE,KAAK,CAAC;CAAE,KAAI,IAAE,EAAE,KAAK,CAAC,GAAE,KAAG,OAAM,IAAE,OAAO,SAAS,EAAE,EAAE,GAAE,IAAE,EAAE,MAAM,GAAE,EAAE,KAAK,IAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAE,EAAE,MAAM,EAAE,QAAM,EAAE,EAAE,CAAC,MAAM,GAAE,IAAE,EAAE,KAAK,CAAC;CAAE,KAAI,IAAE,EAAE,KAAK,CAAC,GAAE,KAAG,OAAM,IAAE,OAAO,SAAS,EAAE,EAAE,GAAE,IAAE,OAAO,SAAS,EAAE,EAAE,GAAE,IAAE,MAAI,IAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,EAAE,MAAM,GAAE,EAAE,KAAK,IAAE,EAAE,OAAO,IAAI;EAAC,KAAI;EAAE,KAAI;CAAC,CAAC,CAAC,CAAC,SAAS,IAAE,EAAE,MAAM,EAAE,QAAM,EAAE,EAAE,CAAC,MAAM,GAAE,IAAE,EAAE,KAAK,CAAC;CAAE,OAAO;AAAC;AAAC,SAAS,GAAG,GAAE,GAAE,GAAE;CAAC,IAAI,IAAE,IAAG,IAAE,CAAC;CAAE,KAAI,IAAI,IAAE,GAAE,IAAE,EAAE,QAAO,KAAI;EAAC,IAAI,IAAE,EAAE;EAAG,IAAG,MAAI,MAAK;GAAC,KAAG,GAAE,IAAE,IAAE,EAAE,WAAS,KAAG,EAAE,EAAE;GAAI;EAAQ;EAAC,IAAG,MAAI,KAAI;GAAC,IAAE,CAAC,GAAE,KAAG;GAAE;EAAQ;EAAC,IAAG,MAAI,KAAI;GAAC,IAAE,CAAC,GAAE,KAAG;GAAE;EAAQ;EAAC,IAAI,IAAE,EAAE,IAAE,IAAG,IAAE;GAAC;GAAI;GAAI;GAAI;EAAG,CAAC,CAAC,SAAS,CAAC;EAAE,IAAG,CAAC,KAAG,CAAC,KAAG,MAAI,KAAI;GAAC,KAAG,EAAE,OAAO,aAAa;GAAE;EAAQ;EAAC,IAAG,CAAC,KAAG,CAAC,KAAG,KAAG,WAAW,KAAK,CAAC,GAAE;GAAC,KAAG,EAAE,OAAO,eAAe,CAAC,EAAE,YAAY,GAAE,EAAE,YAAY,CAAC,CAAC;GAAE;EAAQ;EAAC,KAAG;CAAC;CAAC,OAAO;AAAC;AAAC,SAAS,EAAE,GAAE,IAAE,IAAG,IAAE,KAAI;CAAC,IAAI,IAAE;CAAG,KAAI,IAAI,IAAE,GAAE,IAAE,EAAE,QAAO,KAAI,EAAE,OAAO,CAAC,MAAI,IAAE,KAAG,EAAE,OAAO,IAAI,CAAC,IAAE,EAAE,OAAO,CAAC,MAAI,MAAI,KAAG,EAAE,OAAO,IAAI;EAAC,KAAI;EAAE,KAAI;CAAC,CAAC,IAAE,KAAG,EAAE,OAAO,CAAC;CAAE,OAAO;AAAC;AAAC,IAAI,IAAE,cAAc,EAAC;CAAC,QAAQ,IAAE,IAAG;EAAC,OAAO,EAAE,UAAU,MAAM,CAAC,CAAC,WAAW,oBAAmB,EAAE,CAAC,CAAC,WAAW,KAAI,GAAG,CAAC,CAAC,WAAW,aAAY,EAAE;CAAC;CAAC,eAAe,IAAE,IAAG;EAAC,IAAI,IAAE,6BAA6B,MAAM,EAAE,GAAE,IAAE;EAAG,KAAI,IAAI,IAAE,GAAE,IAAE,EAAE,QAAO,KAAI,EAAE,OAAO,CAAC,MAAI,MAAI,KAAG,KAAK,MAAM,OAAO,IAAI,CAAC,IAAE,EAAE,OAAO,CAAC,MAAI,MAAI,KAAG,KAAK,aAAa,CAAC,IAAE,EAAE,OAAO,CAAC,MAAI,MAAI,KAAG,KAAK,MAAM,SAAS,QAAQ,IAAE,KAAK,aAAa,CAAC,IAAE,KAAK,MAAM,OAAO,IAAI,CAAC,IAAE,KAAG,EAAE,OAAO,CAAC;EAAE,OAAO;CAAC;CAAC,yBAAyB,IAAE,4BAA2B,IAAE,KAAI;EAAC,IAAE,GAAG,KAAK,OAAM,CAAC,GAAE,IAAE,EAAE,KAAK,OAAM,GAAE,CAAC;EAAE,IAAI,IAAE,GAAG,CAAC;EAAE,OAAO,EAAE,QAAQ,KAAI,OAAO,CAAC,CAAC;CAAC;CAAC,WAAW,GAAE;EAAC,IAAI,IAAE,CAAC;EAAE,IAAG,aAAa,WAAS,IAAE,EAAE,MAAM,SAAS,GAAG,GAAE,IAAE,EAAE,OAAO,QAAQ,QAAO,EAAE,CAAC,CAAC,QAAQ,QAAO,EAAE,IAAG,MAAI,KAAI,OAAO,KAAK,MAAM,OAAO,aAAa;EAAE,IAAG,KAAG,WAAW,KAAK,CAAC,GAAE,OAAO,KAAK,MAAM,OAAO,eAAe,CAAC,EAAE,YAAY,GAAE,EAAE,YAAY,CAAC,CAAC;EAAE,IAAE,GAAG,KAAK,OAAM,GAAE,CAAC;EAAE,IAAI,GAAE,GAAE,GAAE,IAAE,sEAAqE,IAAE,EAAE,KAAK,CAAC;EAAE,OAAK,KAAG,OAAM;GAAC,IAAI,IAAE,EAAE,IAAG,IAAE,EAAE,IAAG,IAAE,EAAE;GAAG,IAAE,EAAE,KAAK,OAAM,GAAE,GAAE,CAAC;GAAE,IAAI;GAAE,IAAE,EAAE,OAAK,MAAI,KAAK,MAAM,OAAO,aAAa,CAAC,IAAE,IAAE,KAAK,MAAM,OAAO,eAAe,CAAC,EAAE,EAAE,CAAC,YAAY,GAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAE,CAAC,IAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAE,IAAE,EAAE,MAAM,GAAE,EAAE,KAAK,IAAE,IAAE,EAAE,MAAM,EAAE,QAAM,EAAE,EAAE,CAAC,MAAM,GAAE,IAAE,EAAE,KAAK,CAAC;EAAC;EAAC,IAAI,IAAE,wCAAuC,IAAE;EAAyD,KAAI,IAAE,EAAE,KAAK,CAAC,GAAE,KAAG,OAAM;GAAC,IAAI,IAAE,EAAE,OAAK,KAAI,IAAE,EAAE,OAAK,KAAI,IAAE,EAAE,IAAG,IAAE,EAAE,IAAG,IAAE,EAAE,IAAG,IAAE,CAAC,GAAE,IAAE,EAAE,IAAG,IAAE,EAAE,KAAK,CAAC;GAAE,KAAI,KAAG,EAAE,KAAK,EAAE,GAAE,KAAG,OAAM;IAAC,IAAG,EAAE,EAAE,CAAC,SAAS,GAAG,GAAE;KAAC,IAAI,IAAE,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,KAAI,MAAG,EAAE,YAAY,CAAC,KAAG,GAAG;KAAE,IAAG,IAAE,EAAE,IAAG,IAAE,EAAE,IAAG,IAAE,GAAE,MAAM,IAAIA,IAAE,2CAA2C;KAAE,KAAI,IAAI,IAAE,GAAE,KAAG,GAAE,KAAI,IAAG,KAAG,OAAO,MAAM,OAAO,OAAO,cAAc,CAAC,CAAC,CAAC,GAAE;MAAC,IAAI,IAAE,OAAO,cAAc,CAAC;MAAE,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,YAAY,CAAC,KAAG,KAAI,EAAE,YAAY,CAAC,CAAC,YAAY,CAAC,KAAG,GAAG;KAAC,OAAM,EAAE,KAAK,CAAC;IAAC,OAAM,KAAG,OAAO,MAAM,OAAO,EAAE,EAAE,CAAC,IAAE,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,KAAG,KAAI,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,KAAG,GAAG,IAAE,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAG,GAAG;IAAE,IAAE,EAAE,UAAU,EAAE,EAAE,CAAC,MAAM,GAAE,IAAE,EAAE,KAAK,CAAC;GAAC;GAAC,IAAG,IAAE,EAAE,KAAK,OAAM,GAAE,GAAE,CAAC,GAAE,GAAE;IAAC,IAAI;IAAE,KAAI,IAAI,IAAE,IAAG,KAAG,IAAG,KAAI;KAAC,IAAG,IAAE,EAAE,QAAQ,CAAC,GAAE,IAAE,IAAG;MAAC,EAAE,OAAO,GAAE,CAAC;MAAE;KAAQ;KAAC,EAAE,KAAK,CAAC;IAAC;IAAC,KAAI,IAAI,IAAE,IAAG,KAAG,IAAG,KAAI;KAAC,IAAG,IAAE,EAAE,QAAQ,CAAC,GAAE,IAAE,IAAG;MAAC,EAAE,OAAO,GAAE,CAAC;MAAE;KAAQ;KAAC,EAAE,KAAK,CAAC;IAAC;IAAC,KAAI,IAAI,IAAE,IAAG,KAAG,KAAI,KAAI;KAAC,IAAG,IAAE,EAAE,QAAQ,CAAC,GAAE,IAAE,IAAG;MAAC,EAAE,OAAO,GAAE,CAAC;MAAE;KAAQ;KAAC,EAAE,KAAK,CAAC;IAAC;GAAC;GAAC,IAAI,IAAE,KAAK,eAAa,OAAO,cAAc,KAAK,aAAa,CAAC,CAAC,GAAE,EAAC,OAAM,EAAC,CAAC,CAAC,CAAC,KAAK,EAAE;GAAE,IAAE,EAAE,MAAM,GAAE,EAAE,KAAK,IAAE,IAAE,EAAE,MAAM,EAAE,QAAM,EAAE,EAAE,CAAC,MAAM,GAAE,IAAE,EAAE,KAAK,CAAC;EAAC;EAAC,IAAI,IAAE;EAAqB,KAAI,IAAE,EAAE,KAAK,CAAC,GAAE,KAAG,OAAM;GAAC,IAAG,IAAE,OAAO,SAAS,EAAE,EAAE,GAAE,IAAE,OAAO,SAAS,EAAE,EAAE,GAAE,IAAE,GAAE,MAAM,IAAIA,IAAE,wCAAwC;GAAE,IAAE,KAAK,MAAM,OAAO,IAAI;IAAC,KAAI;IAAE,KAAI;GAAC,CAAC,GAAE,IAAE,EAAE,MAAM,GAAE,EAAE,KAAK,IAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAE,EAAE,MAAM,EAAE,QAAM,EAAE,EAAE,CAAC,MAAM,GAAE,IAAE,EAAE,KAAK,CAAC;EAAC;EAAC,IAAI,IAAE;EAAe,KAAI,IAAE,EAAE,KAAK,CAAC,GAAE,KAAG,OAAM,IAAE,OAAO,SAAS,EAAE,EAAE,GAAE,IAAE,EAAE,MAAM,GAAE,EAAE,KAAK,IAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAE,EAAE,MAAM,EAAE,QAAM,EAAE,EAAE,CAAC,MAAM,GAAE,IAAE,EAAE,KAAK,CAAC;EAAE,OAAO;CAAC;CAAC,QAAQ,GAAE,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,SAAQ,IAAE,CAAC,MAAG;EAAE,MAAI,IAAE,CAAC,GAAG,CAAC;EAAG,KAAI,IAAI,IAAE,EAAE,SAAO,GAAE,IAAE,GAAE,EAAE,GAAE;GAAC,IAAI,IAAE,KAAK,MAAM,OAAO,IAAI,CAAC;GAAE,CAAC,EAAE,IAAG,EAAE,MAAI,CAAC,EAAE,IAAG,EAAE,EAAE;EAAC;EAAC,OAAO;CAAC;CAAC,YAAY,GAAE,GAAE;EAAC,IAAG,MAAM,QAAQ,CAAC,GAAE;GAAC,IAAI,IAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;GAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAE,CAAC;EAAC;EAAC,IAAI,oBAAE,IAAI,IAAE;EAAE,IAAG;GAAC,IAAG,OAAO,KAAG,YAAW;IAAC,IAAI,IAAE,MAAI,GAAE,IAAE;IAAE,OAAK,EAAE,OAAK,KAAG,IAAE,IAAG,EAAE,IAAI,EAAE,CAAC,GAAE;GAAG;EAAC,QAAM,CAAC;EAAC,OAAM,CAAC,GAAG,CAAC;CAAC;CAAC,SAAS,GAAE,GAAE;EAAC,IAAG,KAAG,MAAK,OAAM;EAAG,KAAI,IAAI,KAAK,GAAE;GAAC,IAAI,IAAE,OAAO,KAAK,EAAE,KAAI,GAAG,GAAE,IAAE,EAAE;GAAG,OAAO,KAAG,aAAW,IAAE,EAAE,WAAW,KAAI,MAAM,IAAG,IAAE,EAAE,QAAQ,GAAE,CAAC;EAAC;EAAC,OAAO;CAAC;CAAC,MAAM,GAAE,IAAE,CAAC,GAAE;EAAC,IAAG,KAAK,MAAM,SAAS,QAAQ,CAAC,GAAE,OAAO,EAAE;CAAC;CAAC,UAAU,GAAE;EAAC,IAAI,IAAE,OAAO,KAAK,CAAC;EAAE,OAAO,KAAK,aAAa,CAAC;CAAC;CAAC,YAAY,GAAE;EAAC,OAAO,EAAE,KAAK,MAAM,QAAQ,UAAU,CAAC;CAAE;CAAC,YAAY,GAAE;EAAC,IAAI,IAAE,KAAK,MAAM,QAAQ,UAAU,CAAC;EAAE,OAAM,CAAC,GAAE,EAAE,EAAE;CAAC;CAAC,aAAa,GAAE;EAAC,IAAG,EAAE,WAAS,GAAE,MAAM,IAAIA,IAAE,sCAAsC;EAAE,OAAO,EAAE,EAAE,SAAO,IAAE,KAAK,MAAM,OAAO,IAAI,EAAC,KAAI,EAAE,SAAO,EAAC,CAAC,IAAE;CAAE;CAAC,qBAAqB,GAAE;EAAC,IAAG,EAAE,WAAS,GAAE,MAAM,IAAIA,IAAE,iEAAiE;EAAE,IAAG,EAAE,MAAK,MAAG,EAAE,UAAQ,CAAC,GAAE,MAAM,IAAIA,IAAE,sGAAsG;EAAE,IAAI,IAAE,EAAE,QAAQ,GAAE,EAAC,QAAO,QAAK,IAAE,GAAE,CAAC,GAAE,IAAE,KAAK,MAAM,OAAO,MAAM;GAAC,KAAI;GAAE,KAAI;EAAC,CAAC,GAAE,IAAE;EAAE,KAAI,IAAG,EAAC,QAAO,GAAE,OAAM,OAAK,GAAE,IAAG,KAAG,GAAE,IAAE,GAAE,OAAO;EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;CAAK;CAAC,cAAc,GAAE,GAAE;EAAC,IAAG,EAAE,WAAS,GAAE,OAAM,CAAC;EAAE,IAAI,IAAE,KAAK,cAAc,KAAG;GAAC,KAAI;GAAE,KAAI,EAAE;EAAM,CAAC;EAAE,IAAG,KAAG,EAAE,QAAO,OAAO,KAAK,QAAQ,CAAC;EAAE,IAAG,KAAG,GAAE,OAAM,CAAC;EAAE,IAAI,IAAE,CAAC,GAAG,CAAC,GAAE,IAAE,EAAE,QAAO,IAAE,IAAE;EAAE,OAAK,MAAI,IAAG;GAAC,IAAI,IAAE,KAAK,MAAM,OAAO,IAAI,CAAC,GAAE,IAAE,EAAE;GAAG,EAAE,KAAG,EAAE,IAAG,EAAE,KAAG;EAAC;EAAC,OAAO,EAAE,MAAM,CAAC;CAAC;CAAC,UAAU,GAAE;EAAC,IAAI,IAAE,OAAO,KAAK,CAAC,CAAC,CAAC,QAAO,MAAG,OAAO,MAAM,OAAO,CAAC,CAAC,CAAC;EAAE,OAAO,EAAE,KAAK,aAAa,CAAC;CAAE;CAAC,cAAc,GAAE;EAAC,OAAO,OAAO,KAAG,WAAS,IAAE,KAAK,MAAM,OAAO,IAAI,CAAC;CAAC;CAAC,SAAS,GAAE,IAAE,CAAC,GAAE;EAAC,IAAI,IAAE,KAAK,cAAc,EAAE,SAAO,CAAC;EAAE,OAAO,KAAG,IAAE,CAAC,IAAE,MAAM,KAAK,EAAC,QAAO,EAAC,GAAE,CAAC;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC;CAAM,YAAY,GAAE;EAAC,MAAM,CAAC,GAAE,KAAK,QAAM;CAAC;CAAC,KAAK,GAAE;EAAC,IAAE,OAAO,KAAG,WAAS,IAAE,KAAK,aAAa,CAAC;EAAE,IAAI,IAAE,EAAE,OAAO,SAAS,GAAE,IAAE,EAAE,QAAQ,MAAK,CAAC;EAAE,IAAG,MAAI,MAAI,MAAI,IAAG,OAAO;EAAE,IAAI,IAAE,GAAG,EAAE,UAAU,IAAE,GAAE,IAAE,CAAC,CAAC,CAAC,QAAQ,MAAK,EAAE,CAAC,CAAC,QAAQ,MAAK,EAAE,GAAE,KAAK,KAAK,GAAE,IAAE,OAAO,CAAC,GAAE,IAAE,EAAE,UAAU,GAAE,CAAC,IAAE,IAAE,EAAE,UAAU,IAAE,CAAC;EAAE,OAAO,KAAK,KAAK,CAAC;CAAC;AAAC;AAAE,IAAM,IAAE,OAAO,SAAO,OAAK,CAAC,EAAE,QAAQ,KAAE,MAAG;CAAC,IAAI,IAAE,IAAI,YAAY,CAAC,CAAC,OAAO,CAAC,GAAE,IAAE,MAAM,KAAK,IAAE,MAAG,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;CAAE,OAAO,KAAK,CAAC;AAAC,KAAE,MAAG,OAAO,KAAK,CAAC,CAAC,CAAC,SAAS,QAAQ;AAAE,IAAA,IAAE,OAAO,SAAO,OAAK,CAAC,EAAE,WAAW,KAAE,MAAG,EAAE,CAAC,CAAC,CAAC,WAAW,KAAI,GAAG,CAAC,CAAC,WAAW,KAAI,GAAG,CAAC,CAAC,WAAW,QAAO,EAAE,KAAE,MAAG,OAAO,KAAK,CAAC,CAAC,CAAC,SAAS,WAAW;AAAE,SAAS,EAAE,GAAE;CAAC,IAAG;EAAC,OAAO,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC,SAAS,CAAC,KAAG;CAAQ,QAAM;EAAC,OAAM,CAAC;CAAC;AAAC;AAAC,SAAS,GAAG,GAAE;CAAC,IAAG,EAAC,YAAW,GAAE,OAAM,GAAE,OAAM,GAAE,UAAS,MAAG,GAAE,IAAE,sBAAsB,EAAE;CAAgB,MAAI,KAAG,WAAW,MAAK,MAAI,KAAG,4BAA4B,MAAK,MAAI,KAAG,gBAAgB,EAAE,YAAW,QAAQ,KAAK,GAAG,EAAE,EAAE;AAAC;AAAC,IAAI,KAAG,cAAc,EAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,CAAC,KAAK,gBAAe,KAAK,YAAY,CAAC,CAAC,CAAC;CAAC;CAAC,eAAc;EAAC,OAAM,2CAA2C,KAAK,MAAM,OAAO,IAAI,GAAG;CAAG;CAAC,eAAe,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,MAAK,IAAE,QAAK,GAAE,EAAC,KAAI,IAAE,KAAK,MAAM,OAAO,QAAQ,MAAG;EAAE,OAAO,MAAI,cAAY,IAAE,KAAK,MAAM,OAAO,QAAQ,IAAG,+DAA+D,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAE,CAAC,EAAE;CAAK;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,OAAM,IAAE,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAI,CAAC,GAAE,QAAO,IAAE,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAI,CAAC,MAAG;EAAE,OAAO,KAAK,MAAM,QAAQ,aAAa,EAAE,EAAC,OAAM,GAAE,QAAO,QAAK,KAAK,gBAAgB;GAAC,OAAM;GAAE,QAAO;GAAE,WAAU,CAAC;GAAE,MAAK;EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;GAAC,OAAM;GAAE,QAAO;EAAC,CAAC;CAAC;CAAC,eAAe,IAAE,CAAC,GAAE;EAAC,GAAG;GAAC,YAAW;GAA+B,UAAS;GAAoB,OAAM;GAAS,OAAM;EAAQ,CAAC;EAAE,IAAG,EAAC,OAAM,IAAE,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAI,CAAC,GAAE,QAAO,IAAE,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAI,CAAC,GAAE,UAAS,MAAG;EAAE,OAAM,2BAA2B,EAAE,GAAG,IAAI,KAAG,OAAK,KAAG,IAAI,IAAI,QAAQ,KAAK,MAAM,OAAO,IAAI;CAAG;CAAC,gBAAgB,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,OAAM,IAAE,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAI,CAAC,GAAE,QAAO,IAAE,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAI,CAAC,GAAE,WAAU,IAAE,KAAK,MAAM,SAAS,QAAQ,GAAE,MAAK,IAAE,KAAK,MAAM,OAAO,IAAI,EAAC,KAAI,GAAE,CAAC,MAAG,GAAE,IAAE,8BAA8B,KAAK,MAAM,OAAO,aAAa,EAAC,QAAO;GAAC,KAAI;GAAE,KAAI;EAAE,EAAC,CAAC,EAAE,GAAG,EAAE,GAAG,KAAI,IAAE,OAAO,KAAG,YAAU,KAAG,KAAG,KAAG;EAAG,QAAO,KAAG,OAAK,KAAG,KAAI,MAAI,KAAG,cAAa,KAAG,MAAI,KAAG,MAAK,MAAI,KAAG,QAAQ,OAAM;CAAC;CAAC,QAAQ,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,OAAM,IAAE,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAI,CAAC,GAAE,QAAO,IAAE,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAI,CAAC,GAAE,OAAM,IAAE,KAAK,MAAM,MAAM,IAAI,GAAE,MAAK,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,WAAU,YAAY,CAAC,MAAG,GAAE,IAAE,mFAAmF,EAAE,YAAY,EAAE,2CAA2C,EAAE,cAAc,IAAE,EAAE,OAAO,IAAE,EAAE,iFAAiF,EAAE,GAAG,EAAE;EAAe,OAAO,MAAI,YAAU,oCAAoC,mBAAmB,CAAC,MAAI,6BAA6B,EAAE,CAAC;CAAG;AAAC;AAAE,IAAM,KAAG,OAAO,YAAY;CAAC,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,MAAK,IAAI;CAAE,CAAC,MAAK,IAAI;CAAE,CAAC,MAAK,IAAI;CAAE,CAAC,MAAK,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,MAAK,IAAI;CAAE,CAAC,MAAK,IAAI;CAAE,CAAC,MAAK,IAAI;CAAE,CAAC,MAAK,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,KAAK;CAAE,CAAC,KAAI,KAAK;CAAE,CAAC,KAAI,EAAE;CAAE,CAAC,KAAI,EAAE;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,EAAE;CAAE,CAAC,KAAI,EAAE;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;AAAC,CAAC;AAAE,IAAA,KAAG,OAAO,YAAY;CAAC,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;AAAC,CAAC;AAAE,IAAA,KAAG,OAAO,YAAY;CAAC,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,MAAK,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,MAAK,GAAG;AAAC,CAAC;AAAE,IAAA,KAAG,OAAO,YAAY;CAAC,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,KAAK;CAAE,CAAC,KAAI,KAAK;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,MAAK,GAAG;CAAE,CAAC,MAAK,GAAG;CAAE,CAAC,MAAK,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,KAAK;AAAC,CAAC;AAAE,IAAA,KAAG,OAAO,YAAY;CAAC,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;AAAC,CAAC;AAAE,IAAA,KAAG,OAAO,YAAY;CAAC,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,IAAI;CAAE,CAAC,KAAI,GAAG;CAAE,CAAC,KAAI,GAAG;AAAC,CAAC;AAAE,IAAA,IAAE;CAAC,GAAG;CAAG,GAAG;CAAG,GAAG;CAAG,GAAG;CAAG,GAAG;CAAG,GAAG;AAAE;CAAS,SAAS,GAAE;CAAC,OAAO,EAAE,MAAI,OAAM,EAAE,WAAS,YAAW,EAAE,WAAS,aAAY,EAAE,WAAS,aAAY,EAAE,WAAS,aAAY,EAAE,WAAS,cAAa,EAAE,WAAS,cAAa,EAAE,WAAS,cAAa,EAAE,YAAU,cAAa,EAAE,YAAU,aAAY;AAAC,EAAA,CAAE,CAAC,CAAC;AAAE,IAAM,KAAG;CAAC,KAAI;CAAY,UAAS;CAAc,aAAY;CAAa,aAAY;CAAgB,aAAY;CAAiB,cAAa;CAAe,cAAa;CAAkB,cAAa;CAAiB,cAAa;CAAiB,WAAU;AAAa;AAAE,SAAS,EAAE,GAAE;CAAC,OAAM,uBAAuB,KAAK,CAAC,MAAI;AAAI;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,IAAI,IAAE,EAAE,QAAQ,QAAQ,CAAC;CAAE,IAAG,EAAE,CAAC,GAAE,OAAO;CAAE,IAAI,IAAE,EAAE,QAAQ,QAAQ,EAAE,MAAM,KAAK,CAAC;CAAE,OAAO,EAAE,CAAC,IAAE,IAAE,EAAE,OAAO,MAAM;EAAC,QAAO;EAAQ,QAAO,EAAE,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAC,CAAC;CAAC,CAAC;AAAC;AAAC,IAAI,KAAG,cAAc,EAAC;CAAC,MAAM,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,WAAU,GAAE,UAAS,GAAE,UAAS,IAAE,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,UAAU,GAAE,wBAAuB,IAAE,CAAC,MAAG,GAAE,IAAE,KAAK,SAAS;GAAC,WAAU;GAAE,UAAS;EAAC,CAAC;EAAE,IAAG,IAAE,EAAE,WAAW,sBAAqB,EAAE,GAAE,IAAE,EAAE,UAAU,GAAE,EAAE,GAAE,GAAE;GAAC,IAAI,IAAE,CAAC,GAAG,KAAK,GAAE,IAAE,CAAC,GAAG,sBAAsB;GAAE,IAAE,EAAE,QAAQ,KAAK,MAAM,QAAQ,aAAa,CAAC,GAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,CAAC;EAAC;EAAC,OAAO,IAAE,EAAE,WAAW,WAAU,GAAG,GAAE,IAAE,EAAE,QAAQ,OAAM,EAAE,GAAE,IAAE,EAAE,QAAQ,OAAM,EAAE,GAAE,GAAG,EAAE,GAAG;CAAG;CAAC,aAAa,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,WAAU,GAAE,UAAS,GAAE,wBAAuB,IAAE,CAAC,MAAG,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,aAAa;EAAE,OAAO,KAAK,MAAM;GAAC,WAAU;GAAE,UAAS;GAAE,UAAS;GAAE,wBAAuB;EAAC,CAAC;CAAC;CAAC,SAAS,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,WAAU,IAAE,KAAK,MAAM,OAAO,UAAU,GAAE,UAAS,IAAE,KAAK,MAAM,OAAO,SAAS,GAAE,UAAS,MAAG,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,KAAI,GAAG,CAAC,GAAE,IAAE,KAAK,MAAM,OAAO,IAAI,EAAE,GAAE,IAAE,OAAK,GAAG,IAAI,IAAI,IAAI,WAAQ,GAAG,IAAI,IAAI,GAAG;EAAE,KAAG,EAAE,WAAS,GAAG,IAAI,GAAG;EAAE,IAAI,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,CAAC,CAAC;EAAE,OAAO,IAAE,EAAE,UAAU,MAAM,CAAC,CAAC,WAAW,oBAAmB,EAAE,GAAE,IAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI,MAAG;GAAC,IAAG,EAAE,IAAG,OAAO,EAAE;GAAG,IAAI,IAAE,EAAE,YAAY,CAAC,KAAG;GAAI,OAAO,IAAE,MAAI,IAAE,EAAE,SAAS,EAAE;EAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAE,IAAE,EAAE,WAAW,KAAI,EAAE,GAAE,IAAE,EAAE,WAAW,KAAI,EAAE,GAAE;CAAC;CAAC,YAAY,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,WAAU,IAAE,KAAK,MAAM,OAAO,UAAU,GAAE,UAAS,IAAE,KAAK,MAAM,OAAO,SAAS,MAAG,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,KAAI,GAAG,CAAC,GAAE,IAAE,KAAK,MAAM,OAAO,IAAI,EAAE,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa;SAAK,GAAG,IAAI;SAAQ,GAAG,IAAI,IAAI;SAAQ,GAAG,IAAI,IAAI,IAAI;EAAG,CAAC,CAAC,CAAC;EAAE,OAAO,IAAE,EAAE,WAAW,KAAI,EAAE,GAAE,IAAE,EAAE,WAAW,KAAI,EAAE,GAAE;CAAC;CAAC,WAAU;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,CAAC,QAAO,OAAO,CAAC;CAAC;CAAC,aAAY;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa;GAAC;GAAM;GAAO;GAAM;GAAS;EAAO,CAAC;CAAC;CAAC,eAAe,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,OAAM,IAAE,OAAO,KAAK,KAAK,MAAM,YAAY,SAAS,gBAAgB,MAAG,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC;EAAE,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,iBAAiB,EAAE;CAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,aAAY,IAAE,KAAK,MAAM,SAAS,QAAQ,GAAE,UAAS,IAAE,YAAS;EAAE,OAAM,GAAG,EAAE,KAAK,KAAK,WAAW,IAAI,IAAE,MAAI;CAAI;CAAC,aAAY;EAAC,OAAM,GAAG,KAAK,WAAW,EAAE,GAAG,KAAK,aAAa;CAAG;CAAC,eAAc;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,aAAa;CAAC;CAAC,aAAY;EAAC,OAAM,GAAG,EAAE,KAAK,OAAM,KAAK,MAAM,KAAK,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,OAAM,KAAK,MAAM,KAAK,KAAK,CAAC,IAAI,YAAY;CAAC;CAAC,KAAI;EAAC,OAAO,KAAK,MAAM,SAAS,QAAQ,IAAE,KAAK,KAAK,IAAE,KAAK,KAAK;CAAC;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,SAAQ,IAAE,OAAM,WAAU,IAAE,GAAG,OAAI;EAAE,IAAG,CAAC,gDAAgD,KAAK,CAAC,GAAE,MAAM,IAAIA,IAAE,gCAAgC,EAAE,mCAAmC;EAAE,IAAG,CAAC,GAAE,KAAG,EAAE,MAAM,GAAG,GAAE,IAAE,OAAO,SAAS,GAAE,EAAE;EAAE,IAAG,IAAE,IAAG,MAAM,IAAIA,IAAE,gCAAgC,EAAE,0CAA0C;EAAE,IAAI,IAAE,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM;EAAE,IAAG,EAAE,MAAK,MAAG,IAAE,GAAG,GAAE,MAAM,IAAIA,IAAE,gCAAgC,EAAE,wCAAwC;EAAE,IAAG,MAAI,IAAG,OAAO;EAAE,IAAI,IAAE,eAAa,GAAE,CAAC,GAAE,GAAE,GAAE,KAAG,GAAE,KAAG,KAAG,KAAG,KAAG,KAAG,KAAG,IAAE,KAAG,CAAC,IAAE,KAAK,MAAM,OAAO,IAAI,CAAC;EAAE,OAAM;GAAC,MAAI,KAAG;GAAI,MAAI,KAAG;GAAI,MAAI,IAAE;GAAI,IAAE;EAAG,CAAC,CAAC,KAAK,GAAG;CAAC;CAAC,OAAM;EAAC,OAAO,MAAM,KAAK,EAAC,QAAO,EAAC,SAAM,KAAK,MAAM,OAAO,YAAY;GAAC,QAAO;GAAE,QAAO;GAAQ,QAAO;EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAK,CAAC;CAAC;CAAC,YAAW;EAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,SAAS,kBAAkB;CAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,WAAU,EAAC;EAAG,IAAG,EAAC,WAAU,IAAE,QAAK,GAAE,GAAE,IAAE;EAAG,KAAI;GAAC;GAAI;GAAI;EAAE,CAAC,CAAC,SAAS,CAAC,MAAI,IAAE,MAAK,IAAE,GAAE,IAAE,IAAG,KAAI,KAAG,KAAK,MAAM,OAAO,IAAI,EAAE,GAAE,IAAE,KAAG,KAAG,MAAI,OAAK,KAAG;EAAG,OAAO;CAAC;CAAC,SAAS,IAAE,CAAC,GAAE;EAAC,IAAI,IAAE,iBAAgB,IAAE,iDAAgD,EAAC,QAAO,IAAE,IAAG,WAAU,IAAE,CAAC,GAAE,SAAQ,IAAE,MAAK,QAAO,IAAE,OAAI,GAAE,IAAE,GAAE,IAAE;EAAE,OAAK,EAAE,SAAO,IAAG;GAAC,MAAI,IAAE,EAAE,KAAK,CAAC,IAAE,IAAE;GAAG,IAAI,IAAE,KAAK,MAAM,OAAO,IAAI,EAAE,IAAE,IAAG,IAAE,OAAO,cAAc,CAAC;GAAE,MAAI,IAAE,EAAE,YAAY,IAAG,EAAE,KAAK,CAAC,MAAI,KAAG;EAAE;EAAC,OAAO;CAAC;CAAC,MAAM,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,OAAM,IAAE,OAAO,KAAK,KAAK,MAAM,YAAY,SAAS,KAAK,MAAG,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC;EAAE,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,MAAM,EAAE;CAAC;CAAC,eAAc;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,aAAa;CAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,SAAQ,IAAE,KAAK,MAAM,eAAe,MAAG,GAAE,IAAE,KAAK,MAAM,KAAK,OAAO,EAAC,SAAQ,EAAC,CAAC,GAAE,EAAC,QAAO,IAAE;GAAC,KAAI,KAAK,aAAa;GAAE,KAAI;EAAK,GAAE,SAAQ,IAAE;GAAC,KAAI,KAAK,MAAM,EAAE,QAAQ,IAAE,GAAG;GAAE,KAAI,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,EAAC,SAAQ,EAAC,CAAC,CAAC,CAAC,QAAQ,IAAE,GAAG;GAAE,KAAI,KAAK,MAAM,KAAK,MAAM,KAAK,QAAQ,EAAC,SAAQ,EAAC,CAAC,CAAC,CAAC,QAAQ,IAAE,GAAG;GAAE,KAAI,KAAK,MAAM,QAAQ,KAAK;GAAE,KAAI,KAAK,MAAM,OAAO,KAAK;GAAE,KAAI,KAAK,MAAM,OAAO,KAAK;GAAE,KAAI,KAAK,MAAM,OAAO,KAAK;EAAC,MAAG;EAAE,OAAM,GAAG,EAAE,KAAK,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC,CAAC,EAAE,GAAG,KAAK,MAAM,OAAO,aAAa,EAAE;CAAG;AAAC;AAAE,IAAA,IAAE,cAAc,EAAC;CAAC,SAAS,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,KAAI,IAAE,IAAG,KAAI,IAAE,KAAI,WAAU,IAAE,MAAG;EAAE,OAAO,KAAK,MAAM,OAAO,MAAM;GAAC,KAAI;GAAE,KAAI;GAAE,gBAAe;EAAC,CAAC;CAAC;CAAC,UAAU,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,KAAI,IAAE,KAAI,KAAI,IAAE,MAAK,WAAU,IAAE,MAAG;EAAE,OAAO,KAAK,MAAM,OAAO,MAAM;GAAC,KAAI;GAAE,KAAI;GAAE,gBAAe;EAAC,CAAC;CAAC;CAAC,oBAAoB,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,GAAE,QAAO,IAAE,IAAG,UAAS,IAAE,CAAC,MAAG;EAAE,IAAG,KAAG,MAAK,OAAM,CAAC,KAAK,SAAS,GAAE,KAAK,UAAU,CAAC;EAAE,IAAI,IAAE,KAAK,MAAM,OAAO,MAAM;GAAC,KAAI,IAAE,KAAK;GAAG,gBAAe;EAAC,CAAC,GAAE,IAAE,IAAE,IAAE,IAAE,SAAQ,IAAE,KAAK,MAAM,OAAO,MAAM;GAAC,KAAI;GAAE,gBAAe;EAAC,CAAC,IAAE,QAAM,MAAI,MAAK,IAAE,CAAC,EAAE,KAAG,KAAK,IAAI,CAAC,IAAE,GAAE,EAAE,KAAG,KAAK,IAAI,CAAC,IAAE,CAAC;EAAE,OAAO,EAAE,MAAI,KAAI,KAAK,IAAI,EAAE,EAAE,IAAE,OAAK,EAAE,KAAG,KAAK,KAAK,EAAE,EAAE,IAAE,MAAI,EAAE,IAAG,EAAE,MAAI,MAAK,EAAE,MAAI,EAAE,KAAG,MAAI,OAAK,MAAI,KAAI,CAAC,EAAE,IAAG,EAAE,EAAE;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC;CAAM,YAAY,GAAE;EAAC,MAAM,CAAC,GAAE,KAAK,QAAM;CAAC;CAAC,QAAQ,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC;EAAG,IAAG,EAAC,OAAM,MAAG;EAAE,IAAG,KAAG,MAAK;GAAC,IAAI,IAAE,KAAK,MAAM,YAAY,SAAS,kBAAkB;GAAG,IAAG,KAAG,MAAK,MAAM,IAAIA,IAAE,2CAA2C,EAAE,EAAE;GAAE,OAAO,KAAK,MAAM,QAAQ,KAAK,CAAC;EAAC;EAAC,IAAG,EAAC,QAAO,IAAE,KAAK,MAAM,YAAY,SAAS,aAAU;EAAE,OAAO,OAAO,KAAG,aAAW,IAAE,CAAC,CAAC,IAAG,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,GAAE,KAAK,MAAM,QAAQ,eAAe,CAAC;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,SAAS,YAAY;CAAC;CAAC,iBAAgB;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,eAAe,CAAC,CAAC,WAAW,QAAM,MAAG,KAAK,MAAM,OAAO,QAAQ;GAAC,QAAO,EAAE;GAAO,mBAAkB,CAAC;EAAC,CAAC,CAAC;CAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,SAAS,cAAc;CAAC;CAAC,cAAc,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,cAAY,IAAE,EAAC,gBAAe,EAAC;EAAG,IAAG,EAAC,gBAAe,MAAG,GAAE,IAAE,KAAK,MAAM,YAAY,SAAS,eAAe,IAAE,SAAO;EAAU,OAAO,KAAK,MAAM,QAAQ,KAAK,CAAC;CAAC;CAAC,gBAAe;EAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,SAAS,cAAc;CAAC;CAAC,mBAAkB;EAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,SAAS,iBAAiB,CAAC,CAAC,WAAW,QAAM,MAAG,KAAK,MAAM,OAAO,QAAQ;GAAC,QAAO,EAAE;GAAO,mBAAkB,CAAC;EAAC,CAAC,CAAC;CAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,MAAM;CAAC;CAAC,UAAS;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,OAAO;CAAC;CAAC,YAAW;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,SAAS;CAAC;CAAC,YAAY,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,SAAQ,EAAC;EAAG,IAAG,EAAC,SAAQ,IAAE,cAAW,GAAE,WAAO;GAAC,QAAO,GAAP;IAAU,KAAI,WAAU,OAAM;IAAU,KAAI,WAAU,OAAM;IAAS,KAAI,WAAU,OAAM;GAAQ;EAAC,EAAA,CAAG;EAAE,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,YAAY,CAAC,CAAC;CAAE;CAAC,MAAM,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,aAAY,IAAE,CAAC,MAAG,GAAE,IAAE,IAAE,KAAK,MAAM,YAAY,SAAS,aAAW,KAAK,MAAM,YAAY,SAAS;EAAM,OAAO,KAAK,MAAM,QAAQ,aAAa,CAAC;CAAC;CAAC,UAAU,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,aAAY,IAAE,CAAC,MAAG,GAAE,IAAE,KAAK,MAAM,YAAY,SAAS,WAAU,IAAE,IAAE,CAAC,GAAG,EAAE,eAAc,GAAG,EAAE,YAAY,IAAE,CAAC,GAAG,EAAE,UAAS,GAAG,EAAE,OAAO;EAAE,OAAO,KAAK,MAAM,QAAQ,aAAa,CAAC;CAAC;CAAC,kBAAkB,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,aAAY,IAAE,CAAC,MAAG,GAAE,IAAE,KAAK,MAAM,YAAY,SAAS,WAAU,IAAE,IAAE,EAAE,gBAAc,EAAE;EAAS,OAAO,KAAK,MAAM,QAAQ,aAAa,CAAC;CAAC;CAAC,iBAAiB,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,aAAY,IAAE,CAAC,MAAG,GAAE,IAAE,KAAK,MAAM,YAAY,SAAS,WAAU,IAAE,IAAE,EAAE,eAAa,EAAE;EAAQ,OAAO,KAAK,MAAM,QAAQ,aAAa,CAAC;CAAC;CAAC,WAAU;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,SAAS;CAAC;CAAC,WAAU;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,SAAS,QAAQ;CAAC;AAAC;AAAE,SAAS,GAAG,GAAE,GAAE,KAAE,MAAG,GAAE;CAAC,IAAI,IAAE,OAAO,OAAO,IAAI;CAAE,KAAI,IAAI,KAAK,GAAE;EAAC,IAAI,IAAE,EAAE,CAAC;EAAE,EAAE,OAAK,KAAK,MAAI,EAAE,KAAG,CAAC,IAAG,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;CAAC;CAAC,OAAO;AAAC;AAAC,IAAM,IAAE;CAAC,YAAS;EAAC,MAAM,IAAIA,IAAE,6CAA6C;CAAC;CAAE,UAAS,GAAE,MAAI;EAAC,IAAI,IAAE,GAAG,IAAE,MAAG,EAAE,MAAM,GAAE,IAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,GAAE,IAAE,KAAK,IAAI,GAAG,EAAE,QAAO,MAAG,IAAE,EAAE,GAAG,CAAC,GAAE,IAAE,KAAK,IAAI,GAAG,EAAE,QAAO,MAAG,IAAE,EAAE,GAAG,CAAC,GAAE,IAAE,KAAK,IAAI,EAAE,MAAI,GAAE,IAAE,EAAE,GAAG;EAAE,OAAO,EAAE,QAAO,MAAG,EAAE,WAAS,EAAE,MAAI,KAAG,EAAE,WAAS,EAAE,MAAI,CAAC;CAAC;CAAE,WAAS,MAAG;EAAC,IAAI,IAAE,KAAK,IAAI,GAAG,EAAE,KAAI,MAAG,EAAE,MAAM,CAAC;EAAE,OAAO,EAAE,QAAO,MAAG,EAAE,WAAS,CAAC;CAAC;CAAE,UAAQ,MAAG;EAAC,IAAI,IAAE,KAAK,IAAI,GAAG,EAAE,KAAI,MAAG,EAAE,MAAM,CAAC;EAAE,OAAO,EAAE,QAAO,MAAG,EAAE,WAAS,CAAC;CAAC;CAAE,eAAa,MAAG,CAAC,GAAG,CAAC;AAAC;AAAE,SAAS,EAAE,GAAE;CAAC,IAAG,EAAC,UAAS,GAAE,QAAO,GAAE,UAAS,IAAE,WAAQ;CAAE,IAAG,KAAG,MAAK;EAAC,IAAI,IAAE,OAAO,KAAG,YAAS,MAAG,EAAE,WAAS,KAAE,MAAG,EAAE,UAAQ,EAAE,OAAK,EAAE,UAAQ,EAAE,KAAI,IAAE,EAAE,OAAO,CAAC;EAAE,OAAO,EAAE,SAAO,IAAE,IAAE,OAAO,KAAG,WAAS,EAAE,EAAE,CAAC,GAAE;GAAC,KAAI;GAAE,KAAI;EAAC,CAAC,IAAE,EAAE,EAAE,CAAC,GAAE,CAAC;CAAC,OAAM,IAAG,MAAI,cAAY,MAAI,WAAU,OAAO,EAAE,EAAE,CAAC,CAAC;CAAE,OAAM,CAAC,GAAG,CAAC;AAAC;AAAC,IAAI,KAAG,cAAc,EAAC;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,OAAO,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC,IAAG,KAAK,MAAM,QAAQ,aAAa,EAAE;GAAC,GAAG;GAAE,UAAS,KAAK,MAAM,YAAY,MAAM;EAAI,CAAC,CAAC;CAAC;CAAC,MAAM,IAAE,GAAE;EAAC,OAAO,KAAK,MAAM,QAAQ,eAAa,KAAK,KAAK,GAAE,EAAC,OAAM,EAAC,CAAC,CAAC,CAAC,KAAK,GAAG;CAAC;CAAC,SAAS,IAAE;EAAC,KAAI;EAAE,KAAI;CAAE,GAAE;EAAC,IAAI,IAAE,KAAK,MAAM,CAAC;EAAE,OAAM,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,IAAE,EAAE,UAAU,CAAC,EAAE;CAAE;CAAC,KAAK,IAAE,GAAE;EAAC,IAAI,IAAE,KAAK,MAAM,CAAC;EAAE,OAAO,KAAK,MAAM,QAAQ,QAAQ,CAAC;CAAC;CAAC,UAAU,IAAE;EAAC,KAAI;EAAE,KAAI;CAAC,GAAE,IAAE,KAAI;EAAC,OAAO,KAAK,MAAM,QAAQ,eAAa,KAAK,SAAS,GAAE,EAAC,OAAM,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC;CAAC;CAAC,UAAU,IAAE,GAAE;EAAC,OAAO,KAAK,UAAU,CAAC;CAAC;CAAC,WAAW,IAAE,GAAE,IAAE;GACxlzB;EAAC,OAAO,KAAK,MAAM,QAAQ,eAAa,KAAK,UAAU,GAAE,EAAC,OAAM,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC;CAAC;CAAC,OAAM;EAAC,IAAI,IAAE,KAAK,MAAM,QAAQ,aAAa;GAAC;GAAW;GAAY;GAAY;GAAa;EAAO,CAAC;EAAE,OAAO,KAAK,EAAE,CAAC;CAAC;CAAC,MAAM,IAAE;EAAC,KAAI;EAAE,KAAI;CAAC,GAAE;EAAC,OAAO,KAAK,UAAU,GAAE;CACrP;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC,QAAO;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,MAAM,KAAK;CAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,MAAM,MAAM;CAAC;CAAC,QAAO;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,MAAM,KAAK;CAAC;CAAC,WAAU;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,MAAM,SAAS;CAAC;AAAC;AAAE,IAAI,IAAE,SAAS,GAAE;CAAC,OAAO,EAAE,SAAO,UAAS,EAAE,UAAQ,WAAU,EAAE,OAAK,QAAO;AAAC,EAAE,CAAC,CAAC;AAAE,SAAS,EAAE,GAAE,IAAE,EAAE,OAAO,QAAQ,GAAE,GAAE;CAAC,IAAG,EAAC,SAAQ,GAAE,QAAO,GAAE,MAAK,MAAG;CAAE,IAAG,MAAI,WAAU,OAAO,KAAG,EAAE,QAAQ,aAAa,CAAC,GAAE,CAAC,CAAC,KAAG,CAAC;CAAE,IAAI,IAAE,MAAI,WAAS,IAAE;CAAE,OAAO,KAAG,OAAK,KAAG,CAAC,IAAE,KAAG,OAAK,IAAE,EAAE,QAAQ,qBAAqB,CAAC;EAAC,QAAO,IAAE,KAAK,KAAK,EAAE,MAAM;EAAE,OAAM;CAAC,GAAE;EAAC,QAAO,KAAK,KAAK,EAAE,MAAM;EAAE,OAAM;CAAC,CAAC,CAAC;AAAC;AAAC,IAAI,KAAG,cAAc,EAAC;CAAC,UAAU,GAAE;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,EAAE,KAAK,OAAM,GAAE,KAAK,MAAM,YAAY,OAAO,UAAU,CAAC;CAAC;CAAC,SAAS,GAAE;EAAC,IAAI,IAAE,KAAK,MAAM,YAAY,IAAI,QAAQ;EAAkB,IAAG,KAAG,MAAK;GAAC,IAAI,IAAE,KAAK,MAAM,QAAQ,qBAAqB,EAAE,KAAK,OAAM,GAAE,CAAC,CAAC;GAAE,OAAO,KAAK,MAAM,QAAQ,KAAK,CAAC;EAAC;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,EAAE,KAAK,OAAM,GAAE,KAAK,MAAM,YAAY,OAAO,SAAS,CAAC;CAAC;CAAC,WAAW,GAAE;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,EAAE,KAAK,OAAM,GAAE,KAAK,MAAM,YAAY,OAAO,WAAW,CAAC;CAAC;CAAC,SAAS,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,KAAI,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,UAAS,MAAM,CAAC,GAAE,WAAU,IAAE,KAAK,UAAU,CAAC,GAAE,UAAS,IAAE,KAAK,SAAS,CAAC,MAAG,GAAE,IAAE,KAAK,MAAM,QAAQ,qBAAqB,KAAK,MAAM,YAAY,OAAO,IAAI;EAAE,OAAO,KAAK,MAAM,QAAQ,SAAS,GAAE;GAAC,uBAAoB,KAAK,OAAO,CAAC;GAAE,0BAAuB;GAAE,2BAAwB,KAAK,WAAW,CAAC;GAAE,yBAAsB;GAAE,uBAAoB,KAAK,OAAO;EAAC,CAAC;CAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,MAAM;CAAC;CAAC,MAAK;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,GAAG;CAAC;CAAC,QAAQ,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,gBAAe,IAAE,CAAC,MAAG;EAAE,OAAO,IAAE,KAAK,MAAM,QAAQ,UAAU,CAAC,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,UAAS,MAAM,CAAC;CAAC;CAAC,MAAK;EAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,OAAO,WAAW;CAAC;CAAC,OAAO,GAAE;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,EAAE,KAAK,OAAM,GAAE,KAAK,MAAM,YAAY,OAAO,MAAM,CAAC;CAAC;CAAC,SAAQ;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,MAAM;CAAC;CAAC,WAAU;EAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,KAAK,MAAM,YAAY,OAAO,iBAAiB;CAAC;CAAC,gBAAe;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,cAAc;CAAC;CAAC,UAAS;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,QAAQ;CAAC;CAAC,UAAS;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,QAAQ;CAAC;CAAC,aAAY;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,OAAO,mBAAmB;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC,OAAO,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,OAAM,IAAE,YAAS,GAAE,IAAE,KAAK,MAAM,YAAY,aAAa,OAAO;EAAG,IAAG,CAAC,GAAE,MAAM,MAAM,sBAAsB,EAAE,gBAAgB;EAAE,IAAI,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC;EAAE,OAAO,EAAE,KAAK,OAAM,CAAC;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,yBAAyB,sBAAqB,GAAG;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC,kBAAiB;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,gBAAgB;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,IAAI;CAAC;AAAC;AAAE,IAAM,KAAG;CAAC;CAAQ;CAAQ;CAAQ;CAAO;AAAa;AAAE,IAAA,KAAG;CAAC;CAAkB;CAAa;CAAY;CAAY;CAAa;CAAY;CAAY;CAAa;AAAW;AAAE,IAAA,KAAG;CAAC;CAAK;CAAK;AAAI;AAAE,IAAA,IAAE;CAAC,OAAM;CAAI,MAAK;CAAI,KAAI;CAAI,KAAI;AAAG;AAAE,IAAA,KAAG;CAAC;CAAM;CAAM;CAAM;CAAM;CAAM;CAAM;AAAK;AAAE,IAAI,KAAG,cAAc,EAAC;CAAC,SAAS,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,gBAAe,IAAE,MAAG,GAAE,IAAE,KAAK,MAAM,KAAK,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,OAAM,GAAG,GAAE,IAAE,KAAK,MAAM,QAAQ,eAAa,KAAK,QAAQ,GAAE,EAAC,OAAM,EAAC,CAAC,CAAC,CAAC,KAAK,GAAG;EAAE,OAAO,EAAE,WAAS,IAAE,IAAE,GAAG,EAAE,GAAG;CAAG;CAAC,eAAe,GAAE;EAAC,OAAM,GAAG,KAAK,SAAS,EAAC,gBAAe,EAAC,CAAC,EAAE,GAAG,KAAG,KAAK,cAAc;CAAG;CAAC,WAAU;EAAC,IAAI,IAAE,OAAO,KAAK,KAAK,MAAM,YAAY,OAAO,SAAS;EAAE,OAAO,KAAK,MAAM,QAAQ,aAAa,CAAC;CAAC;CAAC,iBAAgB;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,EAAE;CAAC;CAAC,gBAAe;EAAC,OAAO,KAAK,QAAQ,KAAK,MAAM,QAAQ,aAAa,EAAE,CAAC;CAAC;CAAC,WAAU;EAAC,IAAI,IAAE,KAAK,MAAM,YAAY,OAAO,WAAU,IAAE,IAAI,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAI,MAAG,EAAE,MAAM,KAAI,CAAC,CAAC,CAAC,EAAE,CAAC;EAAE,OAAO,KAAK,MAAM,QAAQ,aAAa,CAAC,GAAG,CAAC,CAAC;CAAC;CAAC,QAAQ,GAAE;EAAC,IAAI,IAAE,KAAK,MAAM,YAAY,OAAO;EAAU,IAAG,OAAO,KAAG,UAAS;GAAC,IAAI,IAAE,EAAE;GAAG,IAAG,KAAG,MAAK,MAAM,IAAIA,IAAE,aAAa,EAAE,mBAAmB;GAAE,OAAO,KAAK,MAAM,QAAQ,aAAa,EAAE,UAAU;EAAC;EAAC,IAAI,IAAE,IAAI,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,EAAC,YAAW,QAAK,CAAC,CAAC;EAAE,OAAO,KAAK,MAAM,QAAQ,aAAa,CAAC,GAAG,CAAC,CAAC;CAAC;CAAC,gBAAe;EAAC,IAAI,IAAE,KAAK,MAAM,YAAY,OAAO;EAAe,OAAO,KAAK,MAAM,QAAQ,aAAa,CAAC;CAAC;CAAC,WAAU;EAAC,OAAM,GAAG,KAAK,cAAc,EAAE,GAAG,KAAK,SAAS;CAAG;CAAC,SAAQ;EAAC,OAAM;GAAC,KAAK,MAAM,OAAO,IAAI,CAAC;GAAE,KAAK,MAAM,OAAO,IAAI,EAAE;GAAE,KAAK,MAAM,OAAO,IAAI,EAAE;EAAC,CAAC,CAAC,KAAK,GAAG;CAAC;CAAC,iBAAiB,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,eAAc,IAAE,KAAK,MAAM,QAAQ,aAAa,EAAE,GAAE,iBAAgB,IAAE,KAAK,MAAM,QAAQ,UAAU,CAAC,MAAG,GAAE,GAAE,IAAE;EAAG,QAAO,GAAP;GAAU,KAAI;IAAQ,IAAE,KAAK,MAAM,OAAO,QAAQ;IAAE;GAAM,KAAI;IAAO,IAAE,GAAG,KAAK,MAAM,OAAO,QAAQ,IAAI,KAAK,MAAM,QAAQ,YAAU,IAAI,KAAK,MAAM,OAAO,QAAQ,GAAG,KAAG,KAAK,KAAK,MAAM,QAAQ,YAAU,IAAI,KAAK,MAAM,OAAO,QAAQ,GAAG,KAAG;IAAK;GAAM,KAAI;IAAM,IAAE,KAAK,MAAM,SAAS,IAAI,EAAE;IAAE;GAAM,KAAI,OAAM,IAAE,KAAK,MAAM,QAAQ,YAAU,IAAI,KAAK,MAAM,OAAO,QAAQ,GAAG,KAAG,IAAG,IAAE,GAAG,KAAK,MAAM,OAAO,QAAQ,EAAE,GAAG,KAAK,MAAM,OAAO,QAAQ,IAAI,KAAK,MAAM,QAAQ,YAAU,IAAI,KAAK,MAAM,OAAO,QAAQ,GAAG,KAAG,KAAK,KAAK,MAAM,QAAQ,YAAU,IAAI,KAAK,MAAM,OAAO,QAAQ,GAAG,KAAG;EAAU;EAAC,OAAM,GAAG,IAAI,IAAI,EAAE,KAAK;CAAG;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,aAAY,IAAE,CAAC,GAAE,oBAAmB,IAAE,CAAC,MAAG,GAAE,IAAE,CAAC,KAAK,MAAM,OAAO,IAAI,EAAE,GAAE,GAAG,GAAE,IAAE,CAAC,KAAK,MAAM,OAAO,IAAI,EAAE,GAAE,GAAG,GAAE,IAAE;GAAC,KAAK,MAAM,OAAO,IAAI;IAAC,KAAI;IAAE,KAAI;GAAE,CAAC;GAAE;GAAI;EAAG,GAAE,IAAE,CAAC,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAE,KAAI;EAAE,CAAC,GAAE,GAAG,GAAE,IAAE;GAAC,KAAK,MAAM,OAAO,IAAI,CAAC;GAAE,KAAK,MAAM,QAAQ,aAAa,EAAE;GAAE;GAAI;EAAG,GAAE,IAAE,CAAC,KAAK,MAAM,OAAO,IAAI;GAAC,KAAI;GAAK,KAAI;EAAI,CAAC,GAAE,GAAG,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,GAAE,IAAE,KAAK,MAAM,QAAQ,aAAa,CAAC,GAAE,IAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;EAAI,OAAO,MAAI,KAAG,IAAI,MAAK,CAAC,KAAG,KAAK,MAAM,SAAS,QAAQ,IAAE,IAAE,KAAK,MAAM,QAAQ,aAAa;GAAC;GAAY;GAAS;GAAU;GAAW;GAAU;GAAU;EAAS,CAAC;CAAC;AAAC;AAAE,IAAM,KAAG;CAAC;CAAE;CAAE;CAAE;CAAE;CAAE;CAAE;CAAE;CAAG;CAAE;CAAE;CAAE;CAAE;CAAE;CAAE;CAAE;CAAE;AAAC;AAAE,IAAA,KAAG;CAAC,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;CAAE,GAAE;AAAC;AAAE,SAAS,GAAG,GAAE;CAAC,IAAI,IAAE;CAAE,KAAI,IAAG,CAAC,GAAE,MAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,GAAE;EAAC,IAAI,IAAE,GAAG,MAAI,OAAO,CAAC;EAAE,KAAG,IAAE,GAAG;CAAE;CAAC,OAAO,IAAE,MAAI,KAAG,MAAI,OAAO,IAAE,EAAE;AAAC;AAAC,IAAI,KAAG,cAAc,EAAC;CAAC,UAAS;EAAC,OAAM,GAAG,KAAK,aAAa,EAAE,GAAG,KAAK,MAAM;CAAG;CAAC,eAAc;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,YAAY;CAAC;CAAC,QAAO;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,KAAK;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,IAAI;CAAC;CAAC,OAAM;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,IAAI;CAAC;CAAC,MAAK;EAAC,IAAI,IAAE;GAAC;GAAI;GAAI;GAAI;GAAI;GAAI;EAAG,GAAE,IAAE,GAAG,KAAK,MAAM,OAAO,aAAa;GAAC,QAAO;GAAG,QAAO;GAAQ,SAAQ;EAAC,CAAC,IAAI,KAAK,MAAM,OAAO,MAAM;GAAC,QAAO;GAAE,QAAO;GAAQ,SAAQ;EAAC,CAAC,IAAI,KAAK,MAAM,OAAO,aAAa;GAAC,QAAO;GAAE,QAAO;GAAQ,SAAQ;EAAC,CAAC,IAAI,KAAK,MAAM,OAAO,QAAQ;GAAC,QAAO;GAAE,mBAAkB,CAAC;EAAC,CAAC;EAAI,OAAM,GAAG,EAAE,MAAM,GAAE,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;CAAG;CAAC,QAAO;EAAC,OAAO,KAAK,MAAM,MAAM,MAAM;CAAC;CAAC,MAAK;EAAC,OAAM,GAAG,KAAK,MAAM,OAAO,MAAM;GAAC,QAAO;GAAE,QAAO;EAAO,CAAC,IAAI,KAAK,MAAM,OAAO,QAAQ;GAAC,QAAO;GAAE,mBAAkB,CAAC;EAAC,CAAC,IAAI,KAAK,MAAM,OAAO,MAAM;GAAC,QAAO;GAAE,QAAO;EAAO,CAAC;CAAG;CAAC,UAAS;EAAC,OAAO,KAAK,MAAM,QAAQ,aAAa,KAAK,MAAM,YAAY,QAAQ,YAAY;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC,UAAU,IAAE,CAAC,GAAE;EAAC,OAAO,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC,IAAG,KAAK,MAAM,QAAQ,aAAa,EAAE;GAAC,GAAG;GAAE,UAAS,KAAK,MAAM,YAAY,KAAK;EAAS,CAAC,CAAC;CAAC;CAAC,OAAO,IAAE,CAAC,GAAE;EAAC,OAAO,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC,IAAG,KAAK,MAAM,QAAQ,aAAa,EAAE;GAAC,GAAG;GAAE,UAAS,KAAK,MAAM,YAAY,KAAK;EAAM,CAAC,CAAC;CAAC;CAAC,YAAY,IAAE,CAAC,GAAE;EAAC,OAAO,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC,IAAG,KAAK,MAAM,QAAQ,aAAa,EAAE;GAAC,GAAG;GAAE,UAAS,KAAK,MAAM,YAAY,KAAK;EAAW,CAAC,CAAC;CAAC;CAAC,aAAa,IAAE,CAAC,GAAE;EAAC,OAAO,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC,IAAG,KAAK,MAAM,QAAQ,aAAa,EAAE;GAAC,GAAG;GAAE,UAAS,KAAK,MAAM,YAAY,KAAK;EAAY,CAAC,CAAC;CAAC;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,OAAO,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC,IAAG,KAAK,MAAM,QAAQ,aAAa,EAAE;GAAC,GAAG;GAAE,UAAS,KAAK,MAAM,YAAY,KAAK;EAAI,CAAC,CAAC;CAAC;CAAC,YAAY,IAAE,CAAC,GAAE;EAAC,OAAO,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC,IAAG,KAAK,MAAM,QAAQ,aAAa,EAAE;GAAC,GAAG;GAAE,UAAS,KAAK,MAAM,YAAY,KAAK;EAAW,CAAC,CAAC;CAAC;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,OAAO,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC,IAAG,KAAK,MAAM,QAAQ,aAAa,EAAE;GAAC,GAAG;GAAE,UAAS,KAAK,MAAM,YAAY,KAAK;EAAI,CAAC,CAAC;CAAC;CAAC,OAAO,IAAE,CAAC,GAAE;EAAC,IAAI,IAAE,KAAK,MAAM,QAAQ,QAAQ;GAAC,KAAK;GAAU,KAAK;GAAO,KAAK;GAAY,KAAK;GAAa,KAAK;GAAK,KAAK;GAAY,KAAK;EAAI,CAAC;EAAE,KAAI,IAAI,KAAK,GAAE,IAAG;GAAC,OAAO,EAAE,CAAC;EAAC,QAAM;GAAC;EAAQ;EAAC,MAAM,IAAIA,IAAE,wDAAwD;CAAC;CAAC,MAAM,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,OAAM,EAAC;EAAG,IAAG,EAAC,OAAM,IAAE;GAAC,KAAI;GAAE,KAAI;EAAC,MAAG;EAAE,OAAO,KAAK,MAAM,QAAQ,eAAa,KAAK,OAAO,GAAE,EAAC,OAAM,EAAC,CAAC,CAAC,CAAC,KAAK,GAAG;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC,QAAQ,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,aAAY,EAAC;EAAG,IAAG,EAAC,aAAY,IAAE,OAAI;EAAE,OAAO,KAAG,IAAE,CAAC,IAAE,KAAG,KAAG,KAAK,MAAM,OAAO,MAAM,IAAE;CAAC;AAAC;AAAE,IAAA,KAAG,cAAc,EAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,KAAI,EAAC;EAAG,IAAG,EAAC,KAAI,IAAE,GAAE,KAAI,IAAE,KAAG,KAAG,GAAE,YAAW,IAAE,GAAE,aAAY,IAAE,EAAE,MAAG;EAAE,IAAG,CAAC,OAAO,cAAc,CAAC,GAAE,MAAM,IAAIA,IAAE,kCAAkC;EAAE,IAAG,KAAG,GAAE,MAAM,IAAIA,IAAE,sCAAsC;EAAE,IAAI,IAAE,KAAK,KAAK,IAAE,CAAC,GAAE,IAAE,KAAK,MAAM,IAAE,CAAC;EAAE,IAAG,MAAI,GAAE,OAAO,IAAE;EAAE,IAAG,IAAE,GAAE,MAAM,KAAG,IAAE,IAAIA,IAAE,qCAAqC,EAAE,OAAO,EAAE,QAAQ,IAAE,IAAIA,IAAE,OAAO,EAAE,8BAA8B,EAAE,EAAE;EAAE,IAAI,IAAE,EAAE,KAAK,MAAM,UAAU,UAAU,GAAE,IAAE,IAAE,IAAE;EAAE,OAAO,KAAK,MAAM,IAAE,IAAE,CAAC,IAAE;CAAC;CAAC,MAAM,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,KAAI,EAAC;EAAG,IAAG,EAAC,KAAI,IAAE,GAAE,KAAI,IAAE,GAAE,gBAAe,GAAE,YAAW,GAAE,YAAW,IAAE,KAAG,OAAK,KAAK,IAAE,MAAI,CAAC,GAAE,aAAY,IAAE,EAAE,MAAG;EAAE,IAAG,IAAE,GAAE,MAAM,IAAIA,IAAE,OAAO,EAAE,8BAA8B,EAAE,EAAE;EAAE,IAAG,KAAG,MAAK;GAAC,IAAG,KAAG,MAAK,MAAM,IAAIA,IAAE,+DAA+D;GAAE,IAAG,CAAC,OAAO,cAAc,CAAC,GAAE,MAAM,IAAIA,IAAE,sCAAsC;GAAE,IAAG,IAAE,GAAE,MAAM,IAAIA,IAAE,sDAAsD;EAAC;EAAC,IAAG,KAAG,MAAK;GAAC,IAAG,KAAG,GAAE,MAAM,IAAIA,IAAE,sCAAsC;GAAE,IAAI,IAAE,KAAK,MAAM,CAAC,GAAE,IAAE,IAAE,KAAG,OAAO,cAAc,CAAC,IAAE,MAAI,CAAC,IAAE,IAAE;GAAE,OAAO,KAAK,IAAI;IAAC,KAAI,IAAE;IAAE,KAAI,IAAE;IAAE,aAAY;GAAC,CAAC,IAAE;EAAC;EAAC,OAAO,EAAE,KAAK,MAAM,UAAU,UAAU,KAAG,IAAE,KAAG;CAAC;CAAC,OAAO,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,KAAI,EAAC;EAAG,IAAG,EAAC,KAAI,IAAE,GAAE,KAAI,IAAE,MAAG;EAAE,OAAO,KAAK,IAAI;GAAC,KAAI;GAAE,KAAI;EAAC,CAAC,CAAC,CAAC,SAAS,CAAC;CAAC;CAAC,MAAM,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,KAAI,EAAC;EAAG,IAAG,EAAC,KAAI,IAAE,GAAE,KAAI,IAAE,MAAG;EAAE,OAAO,KAAK,IAAI;GAAC,KAAI;GAAE,KAAI;EAAC,CAAC,CAAC,CAAC,SAAS,CAAC;CAAC;CAAC,IAAI,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,KAAI,EAAC;EAAG,IAAG,EAAC,KAAI,IAAE,GAAE,KAAI,IAAE,OAAI;EAAE,OAAO,KAAK,IAAI;GAAC,KAAI;GAAE,KAAI;EAAC,CAAC,CAAC,CAAC,SAAS,EAAE;CAAC;CAAC,OAAO,IAAE,CAAC,GAAE;EAAC,CAAC,OAAO,KAAG,YAAU,OAAO,KAAG,YAAU,OAAO,KAAG,YAAU,OAAO,KAAG,eAAa,IAAE,EAAC,KAAI,EAAC;EAAG,IAAI,IAAE,OAAO,EAAE,OAAK,CAAC,GAAE,IAAE,OAAO,EAAE,OAAK,IAAE,OAAO,eAAe,CAAC;EAAE,IAAG,IAAE,GAAE,MAAM,IAAIA,IAAE,OAAO,EAAE,6BAA6B,EAAE,EAAE;EAAE,IAAI,IAAE,OAAO,EAAE,cAAY,CAAC;EAAE,IAAG,KAAG,OAAO,CAAC,GAAE,MAAM,IAAIA,IAAE,sCAAsC;EAAE,IAAI,IAAE,IAAE,KAAG,IAAE,IAAE,KAAG,KAAG,KAAI,IAAE,IAAE,KAAG,IAAE,IAAE,KAAG,KAAG;EAAI,IAAG,MAAI,GAAE,OAAO,IAAE;EAAE,IAAG,IAAE,GAAE,MAAM,IAAIA,IAAE,oCAAoC,EAAE,OAAO,EAAE,QAAQ;EAAE,IAAI,IAAE,IAAE,IAAE;EAAG,QAAO,IAAE,OAAO,KAAK,MAAM,OAAO,QAAQ;GAAC,QAAO,EAAE,SAAS,EAAE,CAAC,CAAC;GAAO,mBAAkB,CAAC;EAAC,CAAC,CAAC,IAAE,KAAG;CAAC;CAAC,aAAa,IAAE,CAAC,GAAE;EAAC,IAAI,IAAE;EAAK,OAAO,KAAG,aAAW,IAAE,EAAC,KAAI,EAAC;EAAG,IAAG,EAAC,KAAI,IAAE,GAAE,KAAI,IAAE,MAAG;EAAE,IAAG,IAAE,GAAE,MAAM,IAAIA,IAAE,aAAa,EAAE,yBAAyB;EAAE,IAAG,IAAE,GAAE,MAAM,IAAIA,IAAE,aAAa,EAAE,aAAa,EAAE,UAAU;EAAE,IAAI,IAAE,KAAK,IAAI;GAAC,KAAI;GAAE,KAAI;EAAC,CAAC,GAAE,IAAE;GAAC,CAAC,KAAI,GAAG;GAAE,CAAC,MAAK,GAAG;GAAE,CAAC,KAAI,GAAG;GAAE,CAAC,MAAK,GAAG;GAAE,CAAC,KAAI,GAAG;GAAE,CAAC,MAAK,EAAE;GAAE,CAAC,KAAI,EAAE;GAAE,CAAC,MAAK,EAAE;GAAE,CAAC,KAAI,EAAE;GAAE,CAAC,MAAK,CAAC;GAAE,CAAC,KAAI,CAAC;GAAE,CAAC,MAAK,CAAC;GAAE,CAAC,KAAI,CAAC;EAAC,GAAE,IAAE;EAAG,KAAI,IAAG,CAAC,GAAE,MAAK,GAAE,KAAG,EAAE,OAAO,KAAK,MAAM,IAAE,CAAC,CAAC,GAAE,KAAG;EAAE,OAAO;CAAC;AAAC;AAAE,IAAM,IAAE;AAAmC,SAAS,GAAG,GAAE;CAAC,IAAI,IAAE,EAAE,QAAQ,GAAE,IAAE;CAAG,KAAI,IAAI,IAAE,IAAG,IAAE,GAAE,KAAI;EAAC,IAAI,IAAE,IAAE;EAAG,IAAE,EAAE,KAAG,GAAE,KAAG,IAAE,KAAG;CAAE;CAAC,OAAO;AAAC;AAAC,SAAS,GAAG,GAAE;CAAC,OAAM,uCAAuC,WAAW,WAAQ,EAAE,OAAO,IAAI;EAAC,KAAI;EAAE,KAAI;CAAE,CAAC,CAAC,CAAC,CAAC,WAAW,WAAQ,EAAE,OAAO,IAAI;EAAC,KAAI;EAAE,KAAI;CAAE,CAAC,CAAC;AAAC;AAAC,SAAS,GAAG,GAAE,GAAE;CAAC,IAAI,IAAE,EAAE,QAAQ,GAAE,IAAE,KAAK,IAAI,GAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAG,GAAG,CAAC,CAAC,MAAM,GAAG;CAAE,OAAM,GAAG,CAAC,EAAE,UAAU,GAAE,CAAC,GAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,yBAAyB,WAAW,WAAQ,EAAE,OAAO,IAAI;EAAC,KAAI;EAAE,KAAI;CAAE,CAAC,CAAC,CAAC,CAAC,WAAW,WAAQ,EAAE,OAAO,IAAI;EAAC,KAAI;EAAE,KAAI;CAAE,CAAC,CAAC;AAAG;AAAC,IAAM,IAAE,KAAG,KAAG;AAAE,IAAA,IAAE,CAAC,GAAG,4BAA4B;AAAE,IAAA,IAAE,CAAC,GAAG,4BAA4B;AAAE,IAAA,KAAG,CAAC,GAAG,YAAY;AAAE,IAAI,KAAG,cAAc,EAAC;CAAC,eAAe,GAAE,IAAE,GAAE;EAAC,IAAG,IAAE,KAAK,MAAM,QAAQ,cAAc,CAAC,GAAE,KAAG,GAAE,OAAM;EAAG,IAAG,OAAO,KAAG,aAAW,IAAE,CAAC,GAAG,CAAC,IAAG,EAAE,WAAS,GAAE,MAAM,IAAIA,IAAE,0DAA0D;EAAE,OAAO,KAAK,MAAM,QAAQ,eAAa,KAAK,MAAM,QAAQ,aAAa,CAAC,GAAE,EAAC,OAAM,EAAC,CAAC,CAAC,CAAC,KAAK,EAAE;CAAC;CAAC,MAAM,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC;EAAG,IAAI,IAAE,KAAK,MAAM,QAAQ,cAAc,EAAE,UAAQ,CAAC;EAAE,IAAG,KAAG,GAAE,OAAM;EAAG,IAAG,EAAC,QAAO,IAAE,YAAS,GAAE,EAAC,SAAQ,IAAE,CAAC,MAAG;EAAE,OAAO,KAAG,aAAW,IAAE,CAAC,GAAG,CAAC;EAAG,IAAI;EAAE,QAAO,GAAP;GAAU,KAAI;IAAQ,IAAE,CAAC,GAAG,CAAC;IAAE;GAAM,KAAI;IAAQ,IAAE,CAAC,GAAG,CAAC;IAAE;GAAM,KAAI,SAAQ,IAAE,CAAC,GAAG,GAAE,GAAG,CAAC;EAAO;EAAC,OAAO,IAAE,EAAE,QAAO,MAAG,CAAC,EAAE,SAAS,CAAC,CAAC,GAAE,KAAK,eAAe,GAAE,CAAC;CAAC;CAAC,aAAa,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC;EAAG,IAAI,IAAE,KAAK,MAAM,QAAQ,cAAc,EAAE,UAAQ,CAAC;EAAE,IAAG,KAAG,GAAE,OAAM;EAAG,IAAG,EAAC,QAAO,IAAE,YAAS,GAAE,EAAC,SAAQ,IAAE,CAAC,MAAG;EAAE,OAAO,KAAG,aAAW,IAAE,CAAC,GAAG,CAAC;EAAG,IAAI,IAAE,CAAC,GAAG,EAAE;EAAE,QAAO,GAAP;GAAU,KAAI;IAAQ,EAAE,KAAK,GAAG,CAAC;IAAE;GAAM,KAAI;IAAQ,EAAE,KAAK,GAAG,CAAC;IAAE;GAAM,KAAI,SAAQ,EAAE,KAAK,GAAG,GAAE,GAAG,CAAC;EAAO;EAAC,OAAO,IAAE,EAAE,QAAO,MAAG,CAAC,EAAE,SAAS,CAAC,CAAC,GAAE,KAAK,eAAe,GAAE,CAAC;CAAC;CAAC,OAAO,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE,SAAM,GAAE,IAAE;EAAE,OAAO,KAAG,KAAK,eAAe,CAAC,KAAI,GAAG,GAAE,EAAE,UAAQ,CAAC,GAAE;CAAC;CAAC,MAAM,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE,SAAM,GAAE,IAAE;EAAE,OAAO,KAAG,KAAK,eAAe;GAAC;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;EAAG,GAAE,EAAE,UAAQ,CAAC,GAAE;CAAC;CAAC,YAAY,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,QAAO,IAAE,SAAQ,QAAO,IAAE,SAAM,GAAE,IAAE,KAAK,MAAM,QAAQ,cAAc,EAAE,UAAQ,CAAC;EAAE,IAAG,KAAG,GAAE,OAAO;EAAE,IAAI,IAAE,KAAK,eAAe;GAAC;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;GAAI;EAAG,GAAE,CAAC;EAAE,OAAO,MAAI,UAAQ,IAAE,EAAE,YAAY,IAAE,MAAI,YAAU,IAAE,EAAE,YAAY,IAAG,GAAG,IAAI;CAAG;CAAC,QAAQ,IAAE,CAAC,GAAE;EAAC,OAAO,KAAG,aAAW,IAAE,EAAC,QAAO,EAAC;EAAG,IAAI,IAAE,KAAK,MAAM,QAAQ,cAAc,EAAE,UAAQ,CAAC;EAAE,IAAG,KAAG,GAAE,OAAM;EAAG,IAAG,EAAC,mBAAkB,IAAE,CAAC,MAAG,GAAE,EAAC,SAAQ,IAAE,CAAC,MAAG;EAAE,OAAO,KAAG,aAAW,IAAE,CAAC,GAAG,CAAC;EAAG,IAAI,IAAE,GAAG,QAAO,MAAG,CAAC,EAAE,SAAS,CAAC,CAAC;EAAE,IAAG,EAAE,WAAS,KAAG,EAAE,WAAS,KAAG,CAAC,KAAG,EAAE,OAAK,KAAI,MAAM,IAAIA,IAAE,8EAA8E;EAAE,IAAI,IAAE;EAAG,OAAM,CAAC,KAAG,CAAC,EAAE,SAAS,GAAG,MAAI,KAAG,KAAK,MAAM,QAAQ,aAAa,EAAE,QAAO,MAAG,MAAI,GAAG,CAAC,IAAG,KAAG,KAAK,eAAe,GAAE,IAAE,EAAE,MAAM,GAAE;CAAC;CAAC,OAAO,IAAE,IAAG;EAAC,IAAE,KAAK,MAAM,QAAQ,cAAc,CAAC;EAAE,IAAI,IAAE;GAAC,KAAI;GAAG,KAAI;EAAG,GAAE,IAAE;EAAG,OAAK,EAAE,SAAO,IAAG,KAAG,OAAO,cAAc,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC;EAAE,OAAO;CAAC;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,SAAQ,IAAE,GAAE,SAAQ,IAAE,KAAK,MAAM,eAAe,MAAG;EAAE,QAAO,GAAP;GAAU,KAAK,GAAE,OAAO,GAAG,KAAK,OAAM,EAAE,CAAC,CAAC;GAAE,SAAQ,OAAO,GAAG,KAAK,KAAK;EAAC;CAAC;CAAC,KAAK,IAAE,CAAC,GAAE;EAAC,IAAG,EAAC,SAAQ,IAAE,KAAK,MAAM,eAAe,MAAG,GAAE,IAAE,EAAE,CAAC;EAAE,IAAG,EAAE,QAAQ,IAAE,KAAG,EAAE,QAAQ,IAAE,GAAE,MAAM,IAAIA,IAAE,yEAAwD,IAAI,KAAK,CAAC,EAAA,CAAE,YAAY,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE;EAAE,OAAO,GAAG,CAAC,IAAE,KAAK,eAAe,GAAE,EAAE;CAAC;CAAC,OAAO,IAAE,IAAG;EAAC,IAAG,IAAE,KAAK,MAAM,QAAQ,cAAc,CAAC,GAAE,KAAG,GAAE,OAAM;EAAG,IAAI,IAAE,CAAC;GAAC,aAAU,KAAK,aAAa,CAAC;GAAE,QAAO;EAAE,GAAE;GAAC,aAAU,KAAK,MAAM,QAAQ,aAAa,CAAC,KAAI,GAAG,CAAC;GAAE,QAAO;EAAC,CAAC,GAAE,IAAE;EAAG,OAAK,EAAE,SAAO,IAAG;GAAC,IAAI,IAAE,KAAK,MAAM,QAAQ,qBAAqB,CAAC;GAAE,KAAG,EAAE;EAAC;EAAC,OAAO;CAAC;CAAC,OAAO,IAAE,GAAE;EAAC,OAAO,KAAK,eAAe,qCAAqC,MAAM,EAAE,GAAE,CAAC;CAAC;AAAC;AAAE,IAAM,2BAAO,IAAI,KAAG;AAAE,SAAS,GAAG,GAAE;CAAC,QAAO,EAAE,OAAO,kBAAgB,GAAA,CAAI;AAAC;AAAC,SAAS,GAAG,GAAE,0BAAM,IAAI,KAAG,GAAE;CAAC,OAAO,KAAG,aAAW,EAAE,OAAO,iBAAe,IAAE,EAAE,OAAO,uBAAmB,IAAI,KAAK,CAAC;AAAC;AAAC,IAAI,IAAE,MAAK;CAAC;CAAU,IAAI,iBAAgB;EAAC,aAAU,GAAG,KAAK,SAAS;CAAC;CAAC,kBAAkB,0BAAM,IAAI,KAAG,GAAE;EAAC,GAAG,KAAK,WAAU,CAAC;CAAC;CAAC,WAAS,IAAI,GAAG,IAAI;CAAE,OAAK,IAAI,EAAE,IAAI;CAAE,UAAQ,IAAI,EAAE,IAAI;CAAE,WAAS,IAAI,EAAE,IAAI;CAAE,SAAO,IAAI,GAAG,IAAI;CAAE,SAAO,IAAI,GAAG,IAAI;CAAE,YAAY,GAAE;EAAC,KAAK,YAAU,GAAG,CAAC;CAAC;CAAC,KAAK,IAAE,EAAE,GAAE;EAAC,OAAO,KAAK,UAAU,WAAW,KAAK,CAAC,GAAE;CAAC;AAAC;AAAW,IAAI,EAAA;AAAE,IAAI,KAAG,cAAc,EAAC;CAAC,UAAQ,IAAI,GAAG,IAAI;CAAE,SAAO,IAAI,GAAG,IAAI;CAAE,OAAK,IAAI,GAAG,IAAI;CAAE,QAAM,IAAI,GAAG,IAAI;CAAE,WAAS,IAAI,GAAG,IAAI;CAAE,UAAQ,IAAI,GAAG,IAAI;CAAE,WAAS,IAAI,GAAG,IAAI;CAAE,OAAK,IAAI,GAAG,IAAI;CAAE,UAAQ,IAAI,GAAG,IAAI;CAAE,OAAK,IAAI,GAAG,IAAI;CAAE,MAAI,IAAI,GAAG,IAAI;CAAE,SAAO,IAAI,GAAG,IAAI;CAAE,UAAQ,IAAI,GAAG,IAAI;CAAE,QAAM,IAAI,GAAG,IAAI;CAAE,WAAS,IAAI,GAAG,IAAI;CAAE,WAAS,IAAI,GAAG,IAAI;CAAE,QAAM,IAAI,GAAG,IAAI;CAAE,QAAM,IAAI,GAAG,IAAI;CAAE,SAAO,IAAI,GAAG,IAAI;CAAE,QAAM,IAAI,GAAG,IAAI;CAAE,UAAQ,IAAI,GAAG,IAAI;CAAE,SAAO,IAAI,GAAG,IAAI;CAAE,UAAQ,IAAI,GAAG,IAAI;CAAE,OAAK,IAAI,GAAG,IAAI;CAAE,IAAI,iBAAgB;EAAC,OAAO,KAAK,UAAU,OAAO;CAAG;CAAC,IAAI,cAAa;EAAC,OAAO,KAAK,UAAU;CAAM;CAAC,YAAY,GAAE;EAAC,MAAM,CAAC;EAAE,IAAG,EAAC,QAAO,MAAG;EAAE,IAAG,MAAM,QAAQ,CAAC,KAAG,EAAE,WAAS,GAAE,MAAM,IAAIA,IAAE,gEAAgE;CAAC;CAAC,cAAa;EAAC,OAAO,KAAK,UAAU,OAAO,IAAI,YAAU,CAAC;CAAC;AAAC;AAAE,IAAM,KAAG,EAAC,OAAM,wbAAwb,MAAM,GAAG,EAAC;AAAE,IAAA,KAAG;CAAC,WAAU;EAAC;EAAY;EAAmB;EAAa;EAAoB;EAAW;EAAkB;CAAiB;CAAE,QAAO;EAAC;EAAU;EAAY;EAAM;EAAS;EAAS;CAAQ;CAAE,MAAK;EAAC;EAAS;EAAS;EAAM;EAAO;EAAU;EAAO;EAAW;EAAU;EAAS;EAAO;EAAQ;EAAW;EAAM;EAAY;EAAQ;EAAO;EAAS;EAAM;EAAW;EAAO;EAAO;EAAY;EAAU;CAAS;AAAC;AAAE,IAAI,KAAG,2vNAA2vN,MAAM,GAAG;AAAE,IAAM,KAAG;CAAC,OAAM;CAAG,UAAS;CAAG,MAAK,EAAC,WAAU,GAAE;CAAE,SAAQ,EAAC,gCAA+B,szBAAszB,MAAM,GAAG,EAAC;CAAE,QAAO,EAAC,cAAa,+KAA+K,MAAM,GAAG,EAAC;CAAE,UAAS;EAAC,OAAM;GAAC,QAAO,8eAA8e,MAAM,GAAG;GAAE,MAAK,ilCAAilC,MAAM,GAAG;GAAE,QAAO,6oNAA6oN,MAAM,GAAG;GAAE,QAAO,mbAAmb,MAAM,GAAG;GAAE,MAAK,sYAAsY,MAAM,GAAG;GAAE,QAAO,0pBAA0pB,MAAM,GAAG;GAAE,UAAS,+PAA+P,MAAM,GAAG;GAAE,QAAO,ixBAAixB,MAAM,GAAG;GAAE,QAAO,moBAAmoB,MAAM,GAAG;GAAE,MAAK,gzCAAgzC,MAAM,GAAG;EAAC;EAAE,kBAAiB;GAAC,eAAc;IAAC;IAAI;IAAI;IAAI;GAAG;GAAE,SAAQ;IAAC;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;GAAG;GAAE,aAAY;IAAC;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;GAAG;GAAE,aAAY;IAAC;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;GAAG;GAAE,aAAY;IAAC;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;GAAG;EAAC;EAAE,eAAc;GAAC;GAAQ;GAAQ;GAAQ;GAAQ;GAAQ;GAAQ;GAAQ;GAAQ;GAAQ;GAAQ;GAAQ;GAAQ;EAAM;EAAE,oBAAmB;GAAC;GAA6B;GAAkD;GAAmZ;GAA2J;GAA8T;GAAkX;GAAia;GAA2I;GAAsM;EAAib;CAAC;CAAE,UAAS;EAAC,cAAa;GAAC;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO;IAAK,QAAO;IAAM,SAAQ;GAAK;GAAE;IAAC,QAAO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"}
|