ebay-api 7.1.1 → 7.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ebay-api.min.js","sources":["../node_modules/nanoevents/index.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/index.js","../node_modules/ms/index.js","../node_modules/get-intrinsic/index.js","../node_modules/debug/src/debug.js","../node_modules/debug/src/browser.js","../node_modules/has-symbols/index.js","../node_modules/function-bind/implementation.js","../node_modules/function-bind/index.js","../node_modules/has/src/index.js","../node_modules/has-symbols/shams.js","../node_modules/call-bind/index.js","../node_modules/call-bind/callBound.js","../node_modules/object-inspect/index.js","../node_modules/side-channel/index.js","../node_modules/qs/lib/formats.js","../node_modules/qs/lib/utils.js","../node_modules/qs/lib/stringify.js","../node_modules/qs/lib/parse.js","../node_modules/qs/lib/index.js","request.js","api/base.js","../node_modules/fast-xml-parser/src/util.js","../node_modules/fast-xml-parser/src/node2json.js","../node_modules/fast-xml-parser/src/xmlNode.js","../node_modules/fast-xml-parser/src/xmlstr2xmlnode.js","../node_modules/fast-xml-parser/src/validator.js","../node_modules/fast-xml-parser/src/nimndata.js","../node_modules/fast-xml-parser/src/node2json_str.js","../node_modules/fast-xml-parser/src/json2xml.js","../node_modules/fast-xml-parser/src/parser.js","errors/index.js","api/traditional/XMLRequest.js","auth/authNAuth.js","auth/oAuth2.js","auth/index.js","api/index.js","api/restful/index.js","api/restful/buy/browse/index.js","api/restful/buy/feed/index.js","api/restful/buy/marketing/index.js","api/restful/buy/offer/index.js","api/restful/buy/order/index.js","api/restful/buy/deal/index.js","api/restful/buy/marketplaceInsights/index.js","api/restful/buy/index.js","api/restful/commerce/catalog/index.js","api/restful/commerce/charity/index.js","api/restful/commerce/identity/index.js","api/restful/commerce/notification/index.js","api/restful/commerce/taxonomy/index.js","api/restful/commerce/translation/index.js","api/restful/commerce/index.js","api/restful/developer/analytics/index.js","api/restful/developer/keyManagement/index.js","api/restful/developer/index.js","api/restful/postOrder/cancellation/index.js","api/restful/postOrder/case/index.js","api/restful/postOrder/inquiry/index.js","api/restful/postOrder/return/index.js","api/restful/postOrder/index.js","api/restful/sell/account/index.js","api/restful/sell/analytics/index.js","api/restful/sell/compliance/index.js","api/restful/sell/finances/index.js","api/restful/sell/fulfillment/index.js","api/restful/sell/inventory/index.js","api/restful/sell/marketing/index.js","api/restful/sell/metadata/index.js","api/restful/sell/recommendation/index.js","api/restful/sell/feed/index.js","api/restful/sell/logistics/index.js","api/restful/sell/negotiation/index.js","api/restful/sell/listing/index.js","api/restful/sell/index.js","api/traditional/clientAlerts/types.js","api/traditional/clientAlerts/index.js","api/traditional/finding/index.js","api/traditional/merchandising/index.js","api/traditional/shopping/index.js","api/traditional/trading/index.js","api/traditional/index.js","api/apiFactory.js","enums/apiEnums.js","enums/restfulEnums.js","enums/index.js","index.js"],"sourcesContent":["(\n /**\n * Interface for event subscription.\n *\n * @example\n * var NanoEvents = require('nanoevents')\n *\n * class Ticker {\n * constructor() {\n * this.emitter = new NanoEvents()\n * }\n * on() {\n * return this.emitter.on.apply(this.events, arguments)\n * }\n * tick() {\n * this.emitter.emit('tick')\n * }\n * }\n *\n * @alias NanoEvents\n * @class\n */\n module.exports = function NanoEvents () {\n /**\n * Event names in keys and arrays with listeners in values.\n * @type {object}\n *\n * @example\n * Object.keys(ee.events)\n *\n * @alias NanoEvents#events\n */\n this.events = { }\n }\n).prototype = {\n\n /**\n * Calls each of the listeners registered for a given event.\n *\n * @param {string} event The event name.\n * @param {...*} arguments The arguments for listeners.\n *\n * @return {undefined}\n *\n * @example\n * ee.emit('tick', tickType, tickDuration)\n *\n * @alias NanoEvents#emit\n * @method\n */\n emit: function emit (event) {\n var args = [].slice.call(arguments, 1)\n // Array.prototype.call() returns empty array if context is not array-like\n ;[].slice.call(this.events[event] || []).filter(function (i) {\n i.apply(null, args)\n })\n },\n\n /**\n * Add a listener for a given event.\n *\n * @param {string} event The event name.\n * @param {function} cb The listener function.\n *\n * @return {function} Unbind listener from event.\n *\n * @example\n * const unbind = ee.on('tick', (tickType, tickDuration) => {\n * count += 1\n * })\n *\n * disable () {\n * unbind()\n * }\n *\n * @alias NanoEvents#on\n * @method\n */\n on: function on (event, cb) {\n if (process.env.NODE_ENV !== 'production' && typeof cb !== 'function') {\n throw new Error('Listener must be a function')\n }\n\n (this.events[event] = this.events[event] || []).push(cb)\n\n return function () {\n this.events[event] = this.events[event].filter(function (i) {\n return i !== cb\n })\n }.bind(this)\n }\n}\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","module.exports = require('./lib/axios');","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Previous log timestamp.\n */\n\nvar prevTime;\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n return debug;\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (var i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n 'lightseagreen',\n 'forestgreen',\n 'goldenrod',\n 'dodgerblue',\n 'darkorchid',\n 'crimson'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar match = String.prototype.match;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nvar inspectCustom = require('./util.inspect').custom;\nvar inspectSymbol = inspectCustom && isSymbol(inspectCustom) ? inspectCustom : null;\nvar toStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag !== 'undefined' ? Symbol.toStringTag : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('options \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n return String(obj);\n }\n if (typeof obj === 'bigint') {\n return String(obj) + 'n';\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = seen.slice();\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function') {\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + keys.join(', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? String(obj).replace(/^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + String(obj.nodeName).toLowerCase();\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + String(obj.nodeName).toLowerCase() + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + xs.join(', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + parts.join(', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function') {\n return obj[inspectSymbol]();\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? toStr(obj).slice(8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + [].concat(stringTag || [], protoTag || []).join(': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + ys.join(', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return String(s).replace(/\"/g, '&quot;');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString(str.slice(0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = str.replace(/(['\\\\])/g, '\\\\$1').replace(/[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + n.toString(16).toUpperCase();\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : entries.join(', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = Array(opts.indent + 1).join(' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: Array(depth + 1).join(baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + xs.join(',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ((/[^\\w$]/).test(key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n if (sideChannel.has(object)) {\n throw new RangeError('Cyclic object value');\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n var value = typeof key === 'object' && key.value !== undefined ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix\n : prefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, true);\n var valueSideChannel = getSideChannel();\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('&#10003;'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.AxiosRequest = exports.multipartHeader = exports.defaultGlobalHeaders = void 0;\r\nconst axios_1 = __importDefault(require(\"axios\"));\r\nconst debug_1 = __importDefault(require(\"debug\"));\r\nconst qs_1 = __importDefault(require(\"qs\"));\r\nconst log = (0, debug_1.default)('ebay:request');\r\nexports.defaultGlobalHeaders = {\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Headers': 'X-Requested-With, Origin, Content-Type, X-Auth-Token',\r\n 'Access-Control-Allow-Methods': 'GET, PUT, POST, DELETE'\r\n};\r\nexports.multipartHeader = {\r\n 'Content-Type': 'multipart/form-data'\r\n};\r\nclass AxiosRequest {\r\n constructor(config = {}) {\r\n this.instance = axios_1.default.create({\r\n headers: {\r\n ...exports.defaultGlobalHeaders\r\n },\r\n ...config\r\n });\r\n }\r\n get(url, config) {\r\n log('get: ' + url, config);\r\n return this.instance.get(url, config);\r\n }\r\n post(url, payload, config) {\r\n log('post: ' + url, { payload, config });\r\n return this.instance.post(url, payload, config);\r\n }\r\n delete(url, config) {\r\n log('delete: ' + url, config);\r\n return this.instance.delete(url, config);\r\n }\r\n put(url, payload, config) {\r\n log('put: ' + url, { payload, config });\r\n return this.instance.put(url, payload, config);\r\n }\r\n postForm(url, payload, config) {\r\n log('postForm: ' + url);\r\n const body = qs_1.default.stringify(payload);\r\n return this.instance.post(url, body, config);\r\n }\r\n}\r\nexports.AxiosRequest = AxiosRequest;\r\n//# sourceMappingURL=request.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst nanoevents_1 = __importDefault(require(\"nanoevents\"));\r\nconst request_1 = require(\"../request\");\r\n/**\r\n * Abstract superclass.\r\n */\r\nclass Base {\r\n constructor(config, req) {\r\n this.config = config;\r\n this.req = req || new request_1.AxiosRequest(config.axiosConfig);\r\n this.emitter = new nanoevents_1.default();\r\n }\r\n on(name, callBack) {\r\n return this.emitter.on(name, callBack);\r\n }\r\n emit(name, value) {\r\n return this.emitter.emit(name, value);\r\n }\r\n}\r\nexports.default = Base;\r\n//# sourceMappingURL=base.js.map","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.buildOptions = function(options, defaultOptions, props) {\n var newOptions = {};\n if (!options) {\n return defaultOptions; //if there are not options\n }\n\n for (let i = 0; i < props.length; i++) {\n if (options[props[i]] !== undefined) {\n newOptions[props[i]] = options[props[i]];\n } else {\n newOptions[props[i]] = defaultOptions[props[i]];\n }\n }\n return newOptions;\n};\n\n/**\n * Check if a tag name should be treated as array\n *\n * @param tagName the node tagname\n * @param arrayMode the array mode option\n * @param parentTagName the parent tag name\n * @returns {boolean} true if node should be parsed as array\n */\nexports.isTagNameInArrayMode = function (tagName, arrayMode, parentTagName) {\n if (arrayMode === false) {\n return false;\n } else if (arrayMode instanceof RegExp) {\n return arrayMode.test(tagName);\n } else if (typeof arrayMode === 'function') {\n return !!arrayMode(tagName, parentTagName);\n }\n\n return arrayMode === \"strict\";\n}\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst convertToJson = function(node, options, parentTagName) {\n const jObj = {};\n\n // when no child node or attr is present\n if ((!node.child || util.isEmptyObject(node.child)) && (!node.attrsMap || util.isEmptyObject(node.attrsMap))) {\n return util.isExist(node.val) ? node.val : '';\n }\n\n // otherwise create a textnode if node has some text\n if (util.isExist(node.val) && !(typeof node.val === 'string' && (node.val === '' || node.val === options.cdataPositionChar))) {\n const asArray = util.isTagNameInArrayMode(node.tagname, options.arrayMode, parentTagName)\n jObj[options.textNodeName] = asArray ? [node.val] : node.val;\n }\n\n util.merge(jObj, node.attrsMap, options.arrayMode);\n\n const keys = Object.keys(node.child);\n for (let index = 0; index < keys.length; index++) {\n const tagName = keys[index];\n if (node.child[tagName] && node.child[tagName].length > 1) {\n jObj[tagName] = [];\n for (let tag in node.child[tagName]) {\n if (node.child[tagName].hasOwnProperty(tag)) {\n jObj[tagName].push(convertToJson(node.child[tagName][tag], options, tagName));\n }\n }\n } else {\n const result = convertToJson(node.child[tagName][0], options, tagName);\n const asArray = (options.arrayMode === true && typeof result === 'object') || util.isTagNameInArrayMode(tagName, options.arrayMode, parentTagName);\n jObj[tagName] = asArray ? [result] : result;\n }\n }\n\n //add value\n return jObj;\n};\n\nexports.convertToJson = convertToJson;\n","'use strict';\n\nmodule.exports = function(tagname, parent, val) {\n this.tagname = tagname;\n this.parent = parent;\n this.child = {}; //child tags\n this.attrsMap = {}; //attributes map\n this.val = val; //text only\n this.addChild = function(child) {\n if (Array.isArray(this.child[child.tagname])) {\n //already presents\n this.child[child.tagname].push(child);\n } else {\n this.child[child.tagname] = [child];\n }\n };\n};\n","'use strict';\n\nconst util = require('./util');\nconst buildOptions = require('./util').buildOptions;\nconst xmlNode = require('./xmlNode');\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attrNodeName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n ignoreNameSpace: false,\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseNodeValue: true,\n parseAttributeValue: false,\n arrayMode: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataTagName: false,\n cdataPositionChar: '\\\\c',\n tagValueProcessor: function(a, tagName) {\n return a;\n },\n attrValueProcessor: function(a, attrName) {\n return a;\n },\n stopNodes: []\n //decodeStrict: false,\n};\n\nexports.defaultOptions = defaultOptions;\n\nconst props = [\n 'attributeNamePrefix',\n 'attrNodeName',\n 'textNodeName',\n 'ignoreAttributes',\n 'ignoreNameSpace',\n 'allowBooleanAttributes',\n 'parseNodeValue',\n 'parseAttributeValue',\n 'arrayMode',\n 'trimValues',\n 'cdataTagName',\n 'cdataPositionChar',\n 'tagValueProcessor',\n 'attrValueProcessor',\n 'parseTrueNumberOnly',\n 'stopNodes'\n];\nexports.props = props;\n\n/**\n * Trim -> valueProcessor -> parse value\n * @param {string} tagName\n * @param {string} val\n * @param {object} options\n */\nfunction processTagValue(tagName, val, options) {\n if (val) {\n if (options.trimValues) {\n val = val.trim();\n }\n val = options.tagValueProcessor(val, tagName);\n val = parseValue(val, options.parseNodeValue, options.parseTrueNumberOnly);\n }\n\n return val;\n}\n\nfunction resolveNameSpace(tagname, options) {\n if (options.ignoreNameSpace) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\nfunction parseValue(val, shouldParse, parseTrueNumberOnly) {\n if (shouldParse && typeof val === 'string') {\n let parsed;\n if (val.trim() === '' || isNaN(val)) {\n parsed = val === 'true' ? true : val === 'false' ? false : val;\n } else {\n if (val.indexOf('0x') !== -1) {\n //support hexa decimal\n parsed = Number.parseInt(val, 16);\n } else if (val.indexOf('.') !== -1) {\n parsed = Number.parseFloat(val);\n val = val.replace(/\\.?0+$/, \"\");\n } else {\n parsed = Number.parseInt(val, 10);\n }\n if (parseTrueNumberOnly) {\n parsed = String(parsed) === val ? parsed : val;\n }\n }\n return parsed;\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])(.*?)\\\\3)?', 'g');\n\nfunction buildAttributesMap(attrStr, options) {\n if (!options.ignoreAttributes && typeof attrStr === 'string') {\n attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = resolveNameSpace(matches[i][1], options);\n if (attrName.length) {\n if (matches[i][4] !== undefined) {\n if (options.trimValues) {\n matches[i][4] = matches[i][4].trim();\n }\n matches[i][4] = options.attrValueProcessor(matches[i][4], attrName);\n attrs[options.attributeNamePrefix + attrName] = parseValue(\n matches[i][4],\n options.parseAttributeValue,\n options.parseTrueNumberOnly\n );\n } else if (options.allowBooleanAttributes) {\n attrs[options.attributeNamePrefix + attrName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (options.attrNodeName) {\n const attrCollection = {};\n attrCollection[options.attrNodeName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\n\nconst getTraversalObj = function(xmlData, options) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n options = buildOptions(options, defaultOptions, props);\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n\n//function match(xmlData){\n for(let i=0; i< xmlData.length; i++){\n const ch = xmlData[i];\n if(ch === '<'){\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(options.ignoreNameSpace){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n /* if (currentNode.parent) {\n currentNode.parent.val = util.getValue(currentNode.parent.val) + '' + processTagValue2(tagName, textData , options);\n } */\n if(currentNode){\n if(currentNode.val){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue(tagName, textData , options);\n }else{\n currentNode.val = processTagValue(tagName, textData , options);\n }\n }\n\n if (options.stopNodes.length && options.stopNodes.includes(currentNode.tagname)) {\n currentNode.child = []\n if (currentNode.attrsMap == undefined) { currentNode.attrsMap = {}}\n currentNode.val = xmlData.substr(currentNode.startIndex + 1, i - currentNode.startIndex - 1)\n }\n currentNode = currentNode.parent;\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n i = findClosingIndex(xmlData, \"?>\", i, \"Pi Tag is not closed.\")\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n i = findClosingIndex(xmlData, \"-->\", i, \"Comment is not closed.\")\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"DOCTYPE is not closed.\")\n const tagExp = xmlData.substring(i, closeIndex);\n if(tagExp.indexOf(\"[\") >= 0){\n i = xmlData.indexOf(\"]>\", i) + 1;\n }else{\n i = closeIndex;\n }\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n //considerations\n //1. CDATA will always have parent node\n //2. A tag with CDATA is not a leaf node so it's value would be string type.\n if(textData){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue(currentNode.tagname, textData , options);\n textData = \"\";\n }\n\n if (options.cdataTagName) {\n //add cdata node\n const childNode = new xmlNode(options.cdataTagName, currentNode, tagExp);\n currentNode.addChild(childNode);\n //for backtracking\n currentNode.val = util.getValue(currentNode.val) + options.cdataPositionChar;\n //add rest value to parent node\n if (tagExp) {\n childNode.val = tagExp;\n }\n } else {\n currentNode.val = (currentNode.val || '') + (tagExp || '');\n }\n\n i = closeIndex + 2;\n }else {//Opening tag\n const result = closingIndexForOpeningTag(xmlData, i+1)\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.indexOf(\" \");\n let tagName = tagExp;\n let shouldBuildAttributesMap = true;\n if(separatorIndex !== -1){\n tagName = tagExp.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(options.ignoreNameSpace){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n shouldBuildAttributesMap = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n //save text to parent node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue( currentNode.tagname, textData, options);\n }\n }\n\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){//selfClosing tag\n\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n\n const childNode = new xmlNode(tagName, currentNode, '');\n if(tagName !== tagExp){\n childNode.attrsMap = buildAttributesMap(tagExp, options);\n }\n currentNode.addChild(childNode);\n }else{//opening tag\n\n const childNode = new xmlNode( tagName, currentNode );\n if (options.stopNodes.length && options.stopNodes.includes(childNode.tagname)) {\n childNode.startIndex=closeIndex;\n }\n if(tagName !== tagExp && shouldBuildAttributesMap){\n childNode.attrsMap = buildAttributesMap(tagExp, options);\n }\n currentNode.addChild(childNode);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj;\n}\n\nfunction closingIndexForOpeningTag(data, i){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < data.length; index++) {\n let ch = data[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === '>') {\n return {\n data: tagExp,\n index: index\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nexports.getTraversalObj = getTraversalObj;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n};\n\nconst props = ['allowBooleanAttributes'];\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = util.buildOptions(options, defaultOptions, props);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/(<!DOCTYPE[\\s\\w\\\"\\.\\/\\-\\:]+(\\[.*\\])*\\s*>)/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n\n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"There is an unnecessary space between tag name and backward slash '</ ..'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, i));\n } else {\n const otg = tags.pop();\n if (tagName !== otg) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+otg+\"' is expected inplace of '\"+tagName+\"'.\", getLineNumberForPosition(xmlData, i));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else {\n tags.push(tagName);\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if (xmlData[i] === ' ' || xmlData[i] === '\\t' || xmlData[i] === '\\n' || xmlData[i] === '\\r') {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n } else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+JSON.stringify(tags, null, 4).replace(/\\r?\\n/g, '')+\"' found.\", 1);\n }\n\n return true;\n};\n\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n var start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n var tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nvar doubleQuote = '\"';\nvar singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n continue;\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(attrStr, matches[i][0]))\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(attrStr, matches[i][0]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(attrStr, matches[i][0]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(attrStr, matches[i][0]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n var lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return lines.length;\n}\n\n//this function returns the position of the last character of match within attrStr\nfunction getPositionFromMatch(attrStr, match) {\n return attrStr.indexOf(match) + match.length;\n}\n","'use strict';\nconst char = function(a) {\n return String.fromCharCode(a);\n};\n\nconst chars = {\n nilChar: char(176),\n missingChar: char(201),\n nilPremitive: char(175),\n missingPremitive: char(200),\n\n emptyChar: char(178),\n emptyValue: char(177), //empty Premitive\n\n boundryChar: char(179),\n\n objStart: char(198),\n arrStart: char(204),\n arrayEnd: char(185),\n};\n\nconst charsArr = [\n chars.nilChar,\n chars.nilPremitive,\n chars.missingChar,\n chars.missingPremitive,\n chars.boundryChar,\n chars.emptyChar,\n chars.emptyValue,\n chars.arrayEnd,\n chars.objStart,\n chars.arrStart,\n];\n\nconst _e = function(node, e_schema, options) {\n if (typeof e_schema === 'string') {\n //premitive\n if (node && node[0] && node[0].val !== undefined) {\n return getValue(node[0].val, e_schema);\n } else {\n return getValue(node, e_schema);\n }\n } else {\n const hasValidData = hasData(node);\n if (hasValidData === true) {\n let str = '';\n if (Array.isArray(e_schema)) {\n //attributes can't be repeated. hence check in children tags only\n str += chars.arrStart;\n const itemSchema = e_schema[0];\n //var itemSchemaType = itemSchema;\n const arr_len = node.length;\n\n if (typeof itemSchema === 'string') {\n for (let arr_i = 0; arr_i < arr_len; arr_i++) {\n const r = getValue(node[arr_i].val, itemSchema);\n str = processValue(str, r);\n }\n } else {\n for (let arr_i = 0; arr_i < arr_len; arr_i++) {\n const r = _e(node[arr_i], itemSchema, options);\n str = processValue(str, r);\n }\n }\n str += chars.arrayEnd; //indicates that next item is not array item\n } else {\n //object\n str += chars.objStart;\n const keys = Object.keys(e_schema);\n if (Array.isArray(node)) {\n node = node[0];\n }\n for (let i in keys) {\n const key = keys[i];\n //a property defined in schema can be present either in attrsMap or children tags\n //options.textNodeName will not present in both maps, take it's value from val\n //options.attrNodeName will be present in attrsMap\n let r;\n if (!options.ignoreAttributes && node.attrsMap && node.attrsMap[key]) {\n r = _e(node.attrsMap[key], e_schema[key], options);\n } else if (key === options.textNodeName) {\n r = _e(node.val, e_schema[key], options);\n } else {\n r = _e(node.child[key], e_schema[key], options);\n }\n str = processValue(str, r);\n }\n }\n return str;\n } else {\n return hasValidData;\n }\n }\n};\n\nconst getValue = function(a /*, type*/) {\n switch (a) {\n case undefined:\n return chars.missingPremitive;\n case null:\n return chars.nilPremitive;\n case '':\n return chars.emptyValue;\n default:\n return a;\n }\n};\n\nconst processValue = function(str, r) {\n if (!isAppChar(r[0]) && !isAppChar(str[str.length - 1])) {\n str += chars.boundryChar;\n }\n return str + r;\n};\n\nconst isAppChar = function(ch) {\n return charsArr.indexOf(ch) !== -1;\n};\n\nfunction hasData(jObj) {\n if (jObj === undefined) {\n return chars.missingChar;\n } else if (jObj === null) {\n return chars.nilChar;\n } else if (\n jObj.child &&\n Object.keys(jObj.child).length === 0 &&\n (!jObj.attrsMap || Object.keys(jObj.attrsMap).length === 0)\n ) {\n return chars.emptyChar;\n } else {\n return true;\n }\n}\n\nconst x2j = require('./xmlstr2xmlnode');\nconst buildOptions = require('./util').buildOptions;\n\nconst convert2nimn = function(node, e_schema, options) {\n options = buildOptions(options, x2j.defaultOptions, x2j.props);\n return _e(node, e_schema, options);\n};\n\nexports.convert2nimn = convert2nimn;\n","'use strict';\n\nconst util = require('./util');\nconst buildOptions = require('./util').buildOptions;\nconst x2j = require('./xmlstr2xmlnode');\n\n//TODO: do it later\nconst convertToJsonString = function(node, options) {\n options = buildOptions(options, x2j.defaultOptions, x2j.props);\n\n options.indentBy = options.indentBy || '';\n return _cToJsonStr(node, options, 0);\n};\n\nconst _cToJsonStr = function(node, options, level) {\n let jObj = '{';\n\n //traver through all the children\n const keys = Object.keys(node.child);\n\n for (let index = 0; index < keys.length; index++) {\n var tagname = keys[index];\n if (node.child[tagname] && node.child[tagname].length > 1) {\n jObj += '\"' + tagname + '\" : [ ';\n for (var tag in node.child[tagname]) {\n jObj += _cToJsonStr(node.child[tagname][tag], options) + ' , ';\n }\n jObj = jObj.substr(0, jObj.length - 1) + ' ] '; //remove extra comma in last\n } else {\n jObj += '\"' + tagname + '\" : ' + _cToJsonStr(node.child[tagname][0], options) + ' ,';\n }\n }\n util.merge(jObj, node.attrsMap);\n //add attrsMap as new children\n if (util.isEmptyObject(jObj)) {\n return util.isExist(node.val) ? node.val : '';\n } else {\n if (util.isExist(node.val)) {\n if (!(typeof node.val === 'string' && (node.val === '' || node.val === options.cdataPositionChar))) {\n jObj += '\"' + options.textNodeName + '\" : ' + stringval(node.val);\n }\n }\n }\n //add value\n if (jObj[jObj.length - 1] === ',') {\n jObj = jObj.substr(0, jObj.length - 2);\n }\n return jObj + '}';\n};\n\nfunction stringval(v) {\n if (v === true || v === false || !isNaN(v)) {\n return v;\n } else {\n return '\"' + v + '\"';\n }\n}\n\nfunction indentate(options, level) {\n return options.indentBy.repeat(level);\n}\n\nexports.convertToJsonString = convertToJsonString;\n","'use strict';\n//parse Empty Node as self closing node\nconst buildOptions = require('./util').buildOptions;\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attrNodeName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataTagName: false,\n cdataPositionChar: '\\\\c',\n format: false,\n indentBy: ' ',\n supressEmptyNode: false,\n tagValueProcessor: function(a) {\n return a;\n },\n attrValueProcessor: function(a) {\n return a;\n },\n};\n\nconst props = [\n 'attributeNamePrefix',\n 'attrNodeName',\n 'textNodeName',\n 'ignoreAttributes',\n 'cdataTagName',\n 'cdataPositionChar',\n 'format',\n 'indentBy',\n 'supressEmptyNode',\n 'tagValueProcessor',\n 'attrValueProcessor',\n];\n\nfunction Parser(options) {\n this.options = buildOptions(options, defaultOptions, props);\n if (this.options.ignoreAttributes || this.options.attrNodeName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n if (this.options.cdataTagName) {\n this.isCDATA = isCDATA;\n } else {\n this.isCDATA = function(/*a*/) {\n return false;\n };\n }\n this.replaceCDATAstr = replaceCDATAstr;\n this.replaceCDATAarr = replaceCDATAarr;\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n\n if (this.options.supressEmptyNode) {\n this.buildTextNode = buildEmptyTextNode;\n this.buildObjNode = buildEmptyObjNode;\n } else {\n this.buildTextNode = buildTextValNode;\n this.buildObjNode = buildObjectNode;\n }\n\n this.buildTextValNode = buildTextValNode;\n this.buildObjectNode = buildObjectNode;\n}\n\nParser.prototype.parse = function(jObj) {\n return this.j2x(jObj, 0).val;\n};\n\nParser.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n const keys = Object.keys(jObj);\n const len = keys.length;\n for (let i = 0; i < len; i++) {\n const key = keys[i];\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += ' ' + attr + '=\"' + this.options.attrValueProcessor('' + jObj[key]) + '\"';\n } else if (this.isCDATA(key)) {\n if (jObj[this.options.textNodeName]) {\n val += this.replaceCDATAstr(jObj[this.options.textNodeName], jObj[key]);\n } else {\n val += this.replaceCDATAstr('', jObj[key]);\n }\n } else {\n //tag value\n if (key === this.options.textNodeName) {\n if (jObj[this.options.cdataTagName]) {\n //value will added while processing cdata\n } else {\n val += this.options.tagValueProcessor('' + jObj[key]);\n }\n } else {\n val += this.buildTextNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n if (this.isCDATA(key)) {\n val += this.indentate(level);\n if (jObj[this.options.textNodeName]) {\n val += this.replaceCDATAarr(jObj[this.options.textNodeName], jObj[key]);\n } else {\n val += this.replaceCDATAarr('', jObj[key]);\n }\n } else {\n //nested nodes\n const arrLen = jObj[key].length;\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n const result = this.j2x(item, level + 1);\n val += this.buildObjNode(result.val, key, result.attrStr, level);\n } else {\n val += this.buildTextNode(item, key, '', level);\n }\n }\n }\n } else {\n //nested node\n if (this.options.attrNodeName && key === this.options.attrNodeName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += ' ' + Ks[j] + '=\"' + this.options.attrValueProcessor('' + jObj[key][Ks[j]]) + '\"';\n }\n } else {\n const result = this.j2x(jObj[key], level + 1);\n val += this.buildObjNode(result.val, key, result.attrStr, level);\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nfunction replaceCDATAstr(str, cdata) {\n str = this.options.tagValueProcessor('' + str);\n if (this.options.cdataPositionChar === '' || str === '') {\n return str + '<![CDATA[' + cdata + ']]' + this.tagEndChar;\n } else {\n return str.replace(this.options.cdataPositionChar, '<![CDATA[' + cdata + ']]' + this.tagEndChar);\n }\n}\n\nfunction replaceCDATAarr(str, cdata) {\n str = this.options.tagValueProcessor('' + str);\n if (this.options.cdataPositionChar === '' || str === '') {\n return str + '<![CDATA[' + cdata.join(']]><![CDATA[') + ']]' + this.tagEndChar;\n } else {\n for (let v in cdata) {\n str = str.replace(this.options.cdataPositionChar, '<![CDATA[' + cdata[v] + ']]>');\n }\n return str + this.newLine;\n }\n}\n\nfunction buildObjectNode(val, key, attrStr, level) {\n if (attrStr && !val.includes('<')) {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n '>' +\n val +\n //+ this.newLine\n // + this.indentate(level)\n '</' +\n key +\n this.tagEndChar\n );\n } else {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n this.tagEndChar +\n val +\n //+ this.newLine\n this.indentate(level) +\n '</' +\n key +\n this.tagEndChar\n );\n }\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n //+ this.newLine\n }\n}\n\nfunction buildTextValNode(val, key, attrStr, level) {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n '>' +\n this.options.tagValueProcessor(val) +\n '</' +\n key +\n this.tagEndChar\n );\n}\n\nfunction buildEmptyTextNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildTextValNode(val, key, attrStr, level);\n } else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n }\n}\n\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\n\nfunction isAttribute(name /*, options*/) {\n if (name.startsWith(this.options.attributeNamePrefix)) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\n\nfunction isCDATA(name) {\n return name === this.options.cdataTagName;\n}\n\n//formatting\n//indentation\n//\\n after each closing or self closing tag\n\nmodule.exports = Parser;\n","'use strict';\n\nconst nodeToJson = require('./node2json');\nconst xmlToNodeobj = require('./xmlstr2xmlnode');\nconst x2xmlnode = require('./xmlstr2xmlnode');\nconst buildOptions = require('./util').buildOptions;\nconst validator = require('./validator');\n\nexports.parse = function(xmlData, options, validationOption) {\n if( validationOption){\n if(validationOption === true) validationOption = {}\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( result.err.msg)\n }\n }\n options = buildOptions(options, x2xmlnode.defaultOptions, x2xmlnode.props);\n const traversableObj = xmlToNodeobj.getTraversalObj(xmlData, options)\n //print(traversableObj, \" \");\n return nodeToJson.convertToJson(traversableObj, options);\n};\nexports.convertTonimn = require('./nimndata').convert2nimn;\nexports.getTraversalObj = xmlToNodeobj.getTraversalObj;\nexports.convertToJson = nodeToJson.convertToJson;\nexports.convertToJsonString = require('./node2json_str').convertToJsonString;\nexports.validate = validator.validate;\nexports.j2xParser = require('./json2xml');\nexports.parseToNimn = function(xmlData, schema, options) {\n return exports.convertTonimn(exports.getTraversalObj(xmlData, options), schema, options);\n};\n\n\nfunction print(xmlNode, indentation){\n if(xmlNode){\n console.log(indentation + \"{\")\n console.log(indentation + \" \\\"tagName\\\": \\\"\" + xmlNode.tagname + \"\\\", \");\n if(xmlNode.parent){\n console.log(indentation + \" \\\"parent\\\": \\\"\" + xmlNode.parent.tagname + \"\\\", \");\n }\n console.log(indentation + \" \\\"val\\\": \\\"\" + xmlNode.val + \"\\\", \");\n console.log(indentation + \" \\\"attrs\\\": \" + JSON.stringify(xmlNode.attrsMap,null,4) + \", \");\n\n if(xmlNode.child){\n console.log(indentation + \"\\\"child\\\": {\")\n const indentation2 = indentation + indentation;\n Object.keys(xmlNode.child).forEach( function(key) {\n const node = xmlNode.child[key];\n\n if(Array.isArray(node)){\n console.log(indentation + \"\\\"\"+key+\"\\\" :[\")\n node.forEach( function(item,index) {\n //console.log(indentation + \" \\\"\"+index+\"\\\" : [\")\n print(item, indentation2);\n })\n console.log(indentation + \"],\") \n }else{\n console.log(indentation + \" \\\"\"+key+\"\\\" : {\")\n print(node, indentation2);\n console.log(indentation + \"},\") \n }\n });\n console.log(indentation + \"},\")\n }\n console.log(indentation + \"},\")\n }\n}\n","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.checkEBayResponse = exports.handleEBayError = exports.mapEBayError = exports.EBayInvalidScope = exports.EBayTokenRequired = exports.EBayIAFTokenInvalid = exports.EBayIAFTokenExpired = exports.EBayInvalidAccessToken = exports.EBayNotFound = exports.EBayInvalidGrant = exports.EBayAccessDenied = exports.EbayApiError = exports.getErrorDescription = exports.getErrorMessage = exports.ApiEnvError = exports.EbayNoCallError = exports.EBayError = exports.rawError = void 0;\r\n// tslint:disable:max-classes-per-file\r\nconst debug_1 = __importDefault(require(\"debug\"));\r\nconst log = (0, debug_1.default)('ebay:error');\r\nexports.rawError = Symbol('raw-error');\r\n/**\r\n * Error object for ease of capturing if some service depends on .toJSON() method to log something\r\n *\r\n * @ignore\r\n */\r\nclass EBayError extends Error {\r\n constructor(message, description = '', meta = {}) {\r\n super(message);\r\n Object.setPrototypeOf(this, new.target.prototype);\r\n this.name = this.constructor.name;\r\n this.description = description;\r\n this.meta = meta;\r\n }\r\n /**\r\n * returns a JSON representation of the Error\r\n *\r\n * @return {Object} json representation of the Error\r\n */\r\n toJSON() {\r\n return {\r\n message: this.message,\r\n description: this.description,\r\n stack: this.stack,\r\n type: this.constructor.name,\r\n meta: this.meta || null\r\n };\r\n }\r\n}\r\nexports.EBayError = EBayError;\r\n/**\r\n * thrown when Request.prototype.run() is called without having defined an eBay API call\r\n */\r\nclass EbayNoCallError extends EBayError {\r\n constructor(msg = 'No eBay API call defined, please invoke one.') {\r\n super(msg);\r\n }\r\n}\r\nexports.EbayNoCallError = EbayNoCallError;\r\n/**\r\n * thrown when attempting to load environment variables that don't exist\r\n */\r\nclass ApiEnvError extends EBayError {\r\n constructor(key) {\r\n super(`Could not find ${key} in process.env.`);\r\n }\r\n}\r\nexports.ApiEnvError = ApiEnvError;\r\nconst getErrorMessage = (err) => err.response?.data?.message\r\n || err.response?.data?.error?.[0]?.message\r\n || err.response?.data?.errors?.[0]?.message\r\n || err.errorMessage?.error?.message\r\n || err.Errors?.ShortMessage\r\n || err.message\r\n || 'eBay API request error';\r\nexports.getErrorMessage = getErrorMessage;\r\nconst getErrorDescription = (err) => err.response?.data?.error_description\r\n || err.response?.data?.error?.[0]?.longMessage\r\n || err.response?.data?.errors?.[0]?.longMessage\r\n || err.longMessage\r\n || err.Errors?.LongMessage\r\n || err.response?.statusText\r\n || '';\r\nexports.getErrorDescription = getErrorDescription;\r\n/**\r\n * Thrown when an Error occurs on eBay's side.\r\n */\r\nclass EbayApiError extends EBayError {\r\n constructor(err) {\r\n const { message, description, meta } = (0, exports.mapEBayError)(err);\r\n super(message, description, meta);\r\n }\r\n}\r\nexports.EbayApiError = EbayApiError;\r\nclass EBayAccessDenied extends EbayApiError {\r\n}\r\nexports.EBayAccessDenied = EBayAccessDenied;\r\nclass EBayInvalidGrant extends EbayApiError {\r\n}\r\nexports.EBayInvalidGrant = EBayInvalidGrant;\r\nclass EBayNotFound extends EbayApiError {\r\n}\r\nexports.EBayNotFound = EBayNotFound;\r\nEBayNotFound.code = 11001;\r\nclass EBayInvalidAccessToken extends EbayApiError {\r\n}\r\nexports.EBayInvalidAccessToken = EBayInvalidAccessToken;\r\nclass EBayIAFTokenExpired extends EbayApiError {\r\n}\r\nexports.EBayIAFTokenExpired = EBayIAFTokenExpired;\r\nEBayIAFTokenExpired.code = 21917053;\r\nclass EBayIAFTokenInvalid extends EbayApiError {\r\n}\r\nexports.EBayIAFTokenInvalid = EBayIAFTokenInvalid;\r\nEBayIAFTokenInvalid.code = 21916984;\r\nclass EBayTokenRequired extends EbayApiError {\r\n}\r\nexports.EBayTokenRequired = EBayTokenRequired;\r\nEBayTokenRequired.code = 930;\r\nclass EBayInvalidScope extends EbayApiError {\r\n}\r\nexports.EBayInvalidScope = EBayInvalidScope;\r\nconst mapEBayError = (err) => {\r\n if (!err) {\r\n return {};\r\n }\r\n let eBayError = {};\r\n if (err.response?.data) {\r\n const data = err.response.data;\r\n if (Array.isArray(data.error)) {\r\n eBayError = data.error[0] ?? data;\r\n }\r\n else if (Array.isArray(data.errors)) {\r\n eBayError = data.errors[0] ?? data;\r\n }\r\n else if (typeof data.error === 'string') {\r\n eBayError = {\r\n message: data.error,\r\n description: data.error_description || ''\r\n };\r\n }\r\n else {\r\n eBayError = data;\r\n }\r\n }\r\n else if (err.Errors) {\r\n eBayError = err;\r\n }\r\n const error = {\r\n message: eBayError.message || (0, exports.getErrorMessage)(err),\r\n description: eBayError.description || (0, exports.getErrorDescription)(err),\r\n meta: {\r\n ...eBayError,\r\n [exports.rawError]: err\r\n }\r\n };\r\n if (err.response) {\r\n error.meta.res = {\r\n status: err.response.status,\r\n statusText: err.response.statusText,\r\n headers: err.response.headers,\r\n data: err.response.data ?? {}\r\n };\r\n }\r\n if (err.request && err.config) {\r\n error.meta.req = {\r\n url: err.config.url,\r\n method: err.config.method,\r\n headers: err.config.headers,\r\n params: err.config.params\r\n };\r\n }\r\n return error;\r\n};\r\nexports.mapEBayError = mapEBayError;\r\nconst handleEBayError = (err) => {\r\n log('handleEBayError', err);\r\n if (err instanceof EBayError) {\r\n throw err;\r\n }\r\n const { message, meta, description } = (0, exports.mapEBayError)(err);\r\n if (meta.domain === 'ACCESS') {\r\n throw new EBayAccessDenied(err);\r\n }\r\n else if (meta.message === 'invalid_grant') {\r\n throw new EBayInvalidGrant(err);\r\n }\r\n else if (meta.errorId === EBayNotFound.code) {\r\n throw new EBayNotFound(err);\r\n }\r\n else if (meta.message === 'invalid_scope') {\r\n throw new EBayInvalidScope(err);\r\n }\r\n else if (meta.message === 'Invalid access token') {\r\n throw new EBayInvalidAccessToken(err);\r\n }\r\n throw new EBayError(message, description, meta);\r\n};\r\nexports.handleEBayError = handleEBayError;\r\nconst checkEBayResponse = (data) => {\r\n if (data.Ack === 'Failure') {\r\n if (data.Errors?.ErrorCode) {\r\n switch (data.Errors.ErrorCode) {\r\n case EBayIAFTokenExpired.code:\r\n throw new EBayIAFTokenExpired(data);\r\n case EBayIAFTokenInvalid.code:\r\n throw new EBayIAFTokenInvalid(data);\r\n case EBayTokenRequired.code:\r\n throw new EBayTokenRequired(data);\r\n }\r\n }\r\n throw new EbayApiError(data);\r\n }\r\n else if (data.errorMessage) {\r\n throw new EbayApiError(data);\r\n }\r\n};\r\nexports.checkEBayResponse = checkEBayResponse;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.defaultHeaders = exports.defaultApiConfig = exports.defaultXML2JSONParseOptions = exports.defaultJSON2XMLOptions = void 0;\r\nconst debug_1 = __importDefault(require(\"debug\"));\r\nconst fast_xml_parser_1 = __importStar(require(\"fast-xml-parser\"));\r\nconst errors_1 = require(\"../../errors\");\r\nconst log = (0, debug_1.default)('ebay:xml:request');\r\nexports.defaultJSON2XMLOptions = {\r\n attributeNamePrefix: '@_',\r\n textNodeName: '#value',\r\n ignoreAttributes: false,\r\n cdataTagName: '__cdata',\r\n cdataPositionChar: '\\\\c',\r\n format: false,\r\n indentBy: ' ',\r\n suppressEmptyNode: false\r\n};\r\nexports.defaultXML2JSONParseOptions = {\r\n attributeNamePrefix: '',\r\n textNodeName: 'value',\r\n ignoreAttributes: false,\r\n parseAttributeValue: true,\r\n parseNodeValue: true,\r\n ignoreNameSpace: true,\r\n parseTrueNumberOnly: true,\r\n arrayMode: (_, parentTageName) => {\r\n return /Array$/.test(parentTageName);\r\n }\r\n};\r\nexports.defaultApiConfig = {\r\n raw: false,\r\n parseOptions: exports.defaultXML2JSONParseOptions,\r\n useIaf: true,\r\n headers: {},\r\n returnResponse: false\r\n};\r\nexports.defaultHeaders = {\r\n 'Content-Type': 'text/xml'\r\n};\r\n/**\r\n * XML request for making eBay API call.\r\n */\r\nclass XMLRequest {\r\n /**\r\n * Creates the new Request object\r\n *\r\n * @private\r\n * @param {string} callName the callname\r\n * @param {Object} fields the fields\r\n * @param {Object} req the request\r\n * @param {XMLReqConfig} config\r\n */\r\n constructor(callName, fields, config, req) {\r\n if (!callName) {\r\n throw new errors_1.EbayNoCallError();\r\n }\r\n this.callName = callName;\r\n this.fields = fields || {};\r\n this.config = { ...exports.defaultApiConfig, ...config };\r\n this.req = req;\r\n }\r\n /**\r\n * returns the expected name of XML node of a Request\r\n *\r\n * @private\r\n * @return {String} callnameReponse\r\n */\r\n getResponseWrapper() {\r\n return `${this.callName}Response`;\r\n }\r\n /**\r\n * returns the XML structure for the SOAP auth\r\n *\r\n * @private\r\n * @return {Object} the RequesterCredentials\r\n */\r\n getCredentials() {\r\n return this.config.eBayAuthToken ? {\r\n RequesterCredentials: {\r\n eBayAuthToken: this.config.eBayAuthToken\r\n }\r\n } : {};\r\n }\r\n getParseOptions() {\r\n return {\r\n ...exports.defaultXML2JSONParseOptions,\r\n ...this.config.parseOptions\r\n };\r\n }\r\n getHeaders() {\r\n return {\r\n ...exports.defaultHeaders,\r\n ...this.config.headers,\r\n };\r\n }\r\n /**\r\n * Converts an XML response to JSON\r\n *\r\n * @param {string} xml the xml\r\n * @return {JSON} resolves to a JSON representation of the HTML\r\n */\r\n toJSON(xml) {\r\n const parseOptions = this.getParseOptions();\r\n log('parseOption', parseOptions);\r\n return fast_xml_parser_1.default.parse(xml, parseOptions);\r\n }\r\n /**\r\n * returns the XML document for the request\r\n *\r\n * @private\r\n * @param {Fields} fields the fields\r\n * @return {String} The XML string of the Request\r\n */\r\n toXML(fields) {\r\n const HEADING = '<?xml version=\"1.0\" encoding=\"utf-8\"?>';\r\n return HEADING + XMLRequest.j2x.parse({\r\n [this.callName + 'Request']: {\r\n '@_xmlns': this.config.xmlns,\r\n ...this.getCredentials(),\r\n ...fields\r\n }\r\n });\r\n }\r\n /**\r\n * Call the xml api endpoint.\r\n *\r\n * @private\r\n * @return {Promise} resolves to the response\r\n *\r\n */\r\n async request() {\r\n const xml = this.toXML(this.fields);\r\n log('xml', xml);\r\n try {\r\n const { body, headers = {} } = this.config.hook?.(xml) ?? { body: xml };\r\n const config = {\r\n headers: {\r\n ...this.getHeaders(),\r\n ...(headers ? headers : {})\r\n }\r\n };\r\n log('config', config);\r\n const response = await this.req.post(this.config.endpoint, body, config);\r\n log('response', response);\r\n if (this.config.returnResponse) {\r\n return response;\r\n }\r\n const { data } = response;\r\n // return raw XML\r\n if (this.config.raw) {\r\n return data;\r\n }\r\n const json = this.xml2JSON(data);\r\n (0, errors_1.checkEBayResponse)(json);\r\n return json;\r\n }\r\n catch (error) {\r\n log('error', error);\r\n if (error.response?.data) {\r\n const json = this.toJSON(error.response.data);\r\n (0, errors_1.checkEBayResponse)(json);\r\n }\r\n throw error;\r\n }\r\n }\r\n xml2JSON(xml) {\r\n const json = this.toJSON(xml);\r\n // Unwrap\r\n return json[this.getResponseWrapper()] ?? json;\r\n }\r\n}\r\nexports.default = XMLRequest;\r\nXMLRequest.j2x = new fast_xml_parser_1.j2xParser(exports.defaultJSON2XMLOptions);\r\n//# sourceMappingURL=XMLRequest.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst debug_1 = __importDefault(require(\"debug\"));\r\nconst base_1 = __importDefault(require(\"../api/base\"));\r\nconst XMLRequest_1 = __importDefault(require(\"../api/traditional/XMLRequest\"));\r\nconst log = (0, debug_1.default)('ebay:authNAuth');\r\nclass AuthNAuth extends base_1.default {\r\n constructor(config, req) {\r\n super(config, req);\r\n if (this.config.authToken) {\r\n this.setAuthToken(this.config.authToken);\r\n }\r\n }\r\n static generateAuthUrl(sandbox, ruName, sessionId, prompt = false) {\r\n return [\r\n sandbox ? AuthNAuth.SIGNIN_ENDPOINT.sandbox : AuthNAuth.SIGNIN_ENDPOINT.production,\r\n '?SignIn',\r\n '&RuName=', encodeURIComponent(ruName),\r\n '&SessID=', encodeURIComponent(sessionId),\r\n prompt ? '&prompt=login' : ''\r\n ].join('');\r\n }\r\n get apiEndpoint() {\r\n return this.config.sandbox ? AuthNAuth.API_ENDPOINT.sandbox : AuthNAuth.API_ENDPOINT.production;\r\n }\r\n /**\r\n * Generates URL for consent page landing.\r\n *\r\n * @param ruName RuName\r\n */\r\n async getSessionIdAndAuthUrl(ruName) {\r\n if (!this.config.devId) {\r\n throw new Error('DevId is required.');\r\n }\r\n ruName = ruName || this.config.ruName;\r\n if (!ruName) {\r\n throw new Error('RuName is required.');\r\n }\r\n const xmlApi = new XMLRequest_1.default('GetSessionID', {\r\n RuName: ruName\r\n }, this.getRequestConfig('GetSessionID'), this.req);\r\n const data = await xmlApi.request();\r\n log('GetSessionID data', data);\r\n return {\r\n sessionId: data.SessionID,\r\n url: AuthNAuth.generateAuthUrl(this.config.sandbox, ruName, data.SessionID)\r\n };\r\n }\r\n async mintToken(sessionId) {\r\n if (!this.config.devId) {\r\n throw new Error('DevId is required.');\r\n }\r\n const xmlApi = new XMLRequest_1.default('FetchToken', {\r\n SessionID: sessionId\r\n }, this.getRequestConfig('FetchToken'), this.req);\r\n try {\r\n return await xmlApi.request();\r\n }\r\n catch (error) {\r\n log('Fetch auth token failed', error);\r\n throw error;\r\n }\r\n }\r\n async obtainToken(sessionId) {\r\n const token = await this.mintToken(sessionId);\r\n log('Obtain auth token', token);\r\n this.setAuthToken(token);\r\n return token;\r\n }\r\n setAuthToken(authToken) {\r\n if (typeof authToken === 'string') {\r\n this.authToken = {\r\n eBayAuthToken: authToken\r\n };\r\n }\r\n else {\r\n this.authToken = authToken;\r\n }\r\n }\r\n getAuthToken() {\r\n if (!this.authToken) {\r\n return null;\r\n }\r\n return {\r\n ...this.authToken\r\n };\r\n }\r\n get eBayAuthToken() {\r\n return this.authToken?.eBayAuthToken ?? null;\r\n }\r\n getRequestConfig(callName) {\r\n if (typeof this.config.siteId !== 'number') {\r\n throw new Error('\"siteId\" is required for Auth\\'n\\'Auth.');\r\n }\r\n return {\r\n useIaf: false,\r\n xmlns: 'urn:ebay:apis:eBLBaseComponents',\r\n endpoint: this.apiEndpoint,\r\n headers: {\r\n 'X-EBAY-API-CALL-NAME': callName,\r\n 'X-EBAY-API-CERT-NAME': this.config.certId,\r\n 'X-EBAY-API-APP-NAME': this.config.appId,\r\n 'X-EBAY-API-DEV-NAME': this.config.devId,\r\n 'X-EBAY-API-SITEID': this.config.siteId,\r\n 'X-EBAY-API-COMPATIBILITY-LEVEL': 967\r\n }\r\n };\r\n }\r\n}\r\nexports.default = AuthNAuth;\r\nAuthNAuth.SIGNIN_ENDPOINT = {\r\n sandbox: 'https://signin.sandbox.ebay.com/ws/eBayISAPI.dll',\r\n production: 'https://signin.ebay.com/ws/eBayISAPI.dll'\r\n};\r\nAuthNAuth.API_ENDPOINT = {\r\n production: 'https://api.ebay.com/ws/api.dll',\r\n sandbox: 'https://api.sandbox.ebay.com/ws/api.dll'\r\n};\r\n//# sourceMappingURL=authNAuth.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst debug_1 = __importDefault(require(\"debug\"));\r\nconst base_1 = __importDefault(require(\"../api/base\"));\r\nconst log = (0, debug_1.default)('ebay:oauth2');\r\n/**\r\n * https://developer.ebay.com/api-docs/static/oauth-tokens.html\r\n *\r\n * Client credentials grant flow mints a new Application access token that you can use to access the resources owned by the application.\r\n * Authorization code grant flow mints a new User access token that you can use to access the resources owned by the user.\r\n */\r\nclass OAuth2 extends base_1.default {\r\n constructor() {\r\n super(...arguments);\r\n this.scope = this.config.scope || OAuth2.defaultScopes;\r\n }\r\n static generateAuthUrl(sandbox, appId, ruName, scope, state = '') {\r\n return [\r\n sandbox ? OAuth2.AUTHORIZE_ENDPOINT.sandbox : OAuth2.AUTHORIZE_ENDPOINT.production,\r\n '?client_id=', encodeURIComponent(appId),\r\n '&redirect_uri=', encodeURIComponent(ruName),\r\n '&response_type=code',\r\n '&state=', encodeURIComponent(state),\r\n '&scope=', encodeURIComponent(scope.join(' '))\r\n ].join('');\r\n }\r\n get identityEndpoint() {\r\n return this.config.sandbox ? OAuth2.IDENTITY_ENDPOINT.sandbox : OAuth2.IDENTITY_ENDPOINT.production;\r\n }\r\n /**\r\n * Return the access token.\r\n * First return user access token, if not set Application Access Token.\r\n */\r\n async getAccessToken() {\r\n return this.getUserAccessToken() || this.getApplicationAccessToken();\r\n }\r\n getUserAccessToken() {\r\n return this._authToken?.access_token ?? null;\r\n }\r\n async getApplicationAccessToken() {\r\n if (this._clientToken) {\r\n log('Return existing application access token: ', this._clientToken);\r\n return this._clientToken.access_token;\r\n }\r\n try {\r\n const token = await this.obtainApplicationAccessToken();\r\n return token.access_token;\r\n }\r\n catch (error) {\r\n throw error;\r\n }\r\n }\r\n setClientToken(clientToken) {\r\n this._clientToken = clientToken;\r\n }\r\n setScope(scope) {\r\n this.scope = scope;\r\n }\r\n getScope() {\r\n return [...this.scope];\r\n }\r\n /**\r\n * Client credentials grant flow.\r\n */\r\n async mintApplicationAccessToken() {\r\n if (!this.config.appId) {\r\n throw new Error('Missing App ID (Client Id)');\r\n }\r\n if (!this.config.certId) {\r\n throw new Error('Missing Cert Id (Client Secret)');\r\n }\r\n try {\r\n const response = await this.req.postForm(this.identityEndpoint, {\r\n scope: this.scope.join(' '),\r\n grant_type: 'client_credentials'\r\n }, {\r\n auth: {\r\n username: this.config.appId,\r\n password: this.config.certId\r\n }\r\n });\r\n return response.data;\r\n }\r\n catch (error) {\r\n log('Failed to mint application token', error);\r\n throw error;\r\n }\r\n }\r\n /**\r\n * Client credentials grant flow.\r\n */\r\n async obtainApplicationAccessToken() {\r\n log('Obtain a new application access token with scope: ', this.scope.join(','));\r\n try {\r\n const token = await this.mintApplicationAccessToken();\r\n log('Obtained a new application access token:', token);\r\n this.setClientToken(token);\r\n this.emit('refreshClientToken', token);\r\n return token;\r\n }\r\n catch (error) {\r\n log('Failed to obtain application token', error);\r\n throw error;\r\n }\r\n }\r\n /**\r\n * Generates URL for consent page landing.\r\n *\r\n * @param ruName RuName\r\n * @param scope the scopes\r\n * @param state state parameter returned in the redirect URL\r\n */\r\n generateAuthUrl(ruName, scope = this.scope, state = '') {\r\n ruName = ruName || this.config.ruName;\r\n if (!ruName) {\r\n throw new Error('RuName is required.');\r\n }\r\n return OAuth2.generateAuthUrl(this.config.sandbox, this.config.appId, ruName, scope, state);\r\n }\r\n /**\r\n * Authorization code grant flow.\r\n *\r\n * Mint the user access token for the given code.\r\n *\r\n * @param code the code\r\n * @param ruName the redirectUri\r\n */\r\n async mintUserAccessToken(code, ruName = this.config.ruName) {\r\n try {\r\n const response = await this.req.postForm(this.identityEndpoint, {\r\n grant_type: 'authorization_code',\r\n code,\r\n redirect_uri: ruName\r\n }, {\r\n auth: {\r\n username: this.config.appId,\r\n password: this.config.certId\r\n }\r\n });\r\n const token = response.data;\r\n log('User Access Token', token);\r\n return token;\r\n }\r\n catch (error) {\r\n log('Failed to get the token', error);\r\n throw error;\r\n }\r\n }\r\n /**\r\n * Authorization code grant flow.\r\n *\r\n * Mint the access token for the given code.\r\n *\r\n * @param code the code\r\n * @param ruName the redirectUri\r\n */\r\n async getToken(code, ruName = this.config.ruName) {\r\n return await this.mintUserAccessToken(code, ruName);\r\n }\r\n /**\r\n * Authorization code grant flow.\r\n */\r\n async refreshUserAccessToken() {\r\n if (!this._authToken || !this._authToken.refresh_token) {\r\n log('Tried to refresh user access token before it was set.');\r\n throw new Error('Failed to refresh the user access token. Token or refresh_token is not set.');\r\n }\r\n try {\r\n const response = await this.req.postForm(this.identityEndpoint, {\r\n grant_type: 'refresh_token',\r\n refresh_token: this._authToken.refresh_token,\r\n scope: this.scope.join(' ')\r\n }, {\r\n auth: {\r\n username: this.config.appId,\r\n password: this.config.certId\r\n }\r\n });\r\n const token = response.data;\r\n log('Successfully refreshed token', token);\r\n const refreshedToken = {\r\n ...this._authToken,\r\n ...token\r\n };\r\n this.setCredentials(refreshedToken);\r\n this.emit('refreshAuthToken', refreshedToken);\r\n return refreshedToken;\r\n }\r\n catch (error) {\r\n log('Failed to refresh the token', error);\r\n throw error;\r\n }\r\n }\r\n /**\r\n * Gets and sets the user access token for the given code.\r\n *\r\n * Authorization code grant flow.\r\n *\r\n * @param code the code\r\n */\r\n async obtainToken(code) {\r\n const token = await this.getToken(code);\r\n log('Obtain user access token', token);\r\n this.setCredentials(token);\r\n return token;\r\n }\r\n getCredentials() {\r\n if (this._authToken) {\r\n return {\r\n ...this._authToken\r\n };\r\n }\r\n else if (this._clientToken) {\r\n return {\r\n ...this._clientToken\r\n };\r\n }\r\n return null;\r\n }\r\n setCredentials(authToken) {\r\n if (typeof authToken === 'string') {\r\n this._authToken = {\r\n refresh_token: '',\r\n expires_in: 7200,\r\n refresh_token_expires_in: 47304000,\r\n token_type: 'User Access Token',\r\n access_token: authToken\r\n };\r\n }\r\n else {\r\n this._authToken = authToken;\r\n }\r\n }\r\n /**\r\n * Refresh the user access token if set or application access token\r\n */\r\n async refreshToken() {\r\n if (this._authToken) {\r\n return await this.refreshUserAccessToken();\r\n }\r\n else if (this._clientToken) {\r\n return await this.obtainApplicationAccessToken();\r\n }\r\n throw new Error('Missing credentials. To refresh a token an application access token or user access token must be already set.');\r\n }\r\n}\r\nexports.default = OAuth2;\r\n// If all the calls in our application require just an Application access token we can use this endpoint\r\nOAuth2.IDENTITY_ENDPOINT = {\r\n production: 'https://api.ebay.com/identity/v1/oauth2/token',\r\n sandbox: 'https://api.sandbox.ebay.com/identity/v1/oauth2/token'\r\n};\r\nOAuth2.AUTHORIZE_ENDPOINT = {\r\n production: 'https://auth.ebay.com/oauth2/authorize',\r\n sandbox: 'https://auth.sandbox.ebay.com/oauth2/authorize'\r\n};\r\nOAuth2.defaultScopes = ['https://api.ebay.com/oauth/api_scope'];\r\n//# sourceMappingURL=oAuth2.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst base_1 = __importDefault(require(\"../api/base\"));\r\nconst authNAuth_1 = __importDefault(require(\"./authNAuth\"));\r\nconst oAuth2_1 = __importDefault(require(\"./oAuth2\"));\r\n/**\r\n * Container with Auth'N'Auth and OAuth2.\r\n */\r\nclass Auth extends base_1.default {\r\n constructor(config, req) {\r\n super(config, req);\r\n this.authNAuth = new authNAuth_1.default(this.config, this.req);\r\n this.OAuth2 = new oAuth2_1.default(this.config, this.req);\r\n this.oAuth2 = this.OAuth2;\r\n }\r\n async getHeaderAuthorization(useIaf) {\r\n if (this.authNAuth.eBayAuthToken) {\r\n return {\r\n Authorization: 'Token ' + this.authNAuth.eBayAuthToken\r\n };\r\n }\r\n const accessToken = await this.OAuth2.getAccessToken();\r\n return {\r\n Authorization: (useIaf ? 'IAF ' : 'Bearer ') + accessToken\r\n };\r\n }\r\n}\r\nexports.default = Auth;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst auth_1 = __importDefault(require(\"../auth\"));\r\nconst base_1 = __importDefault(require(\"./base\"));\r\n/**\r\n * Superclass with Auth container.\r\n */\r\nclass Api extends base_1.default {\r\n constructor(config, req, auth) {\r\n super(config, req);\r\n this.auth = auth || new auth_1.default(this.config, this.req);\r\n }\r\n}\r\nexports.default = Api;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.defaultApiHeaders = void 0;\r\nconst __1 = __importDefault(require(\"../\"));\r\nconst errors_1 = require(\"../../errors\");\r\nexports.defaultApiHeaders = {\r\n 'Content-Type': 'application/json',\r\n 'Cache-Control': 'no-cache',\r\n // @ts-ignore\r\n ...(typeof window === 'undefined' ? {\r\n 'Accept-Encoding': 'application/gzip'\r\n } : {})\r\n};\r\nconst additionalHeaders = {\r\n marketplaceId: 'X-EBAY-C-MARKETPLACE-ID',\r\n endUserCtx: 'X-EBAY-C-ENDUSERCTX',\r\n acceptLanguage: 'Accept-Language',\r\n contentLanguage: 'Content-Language',\r\n};\r\nclass Restful extends __1.default {\r\n constructor(config, req, auth, apiConfig = {}) {\r\n super(config, req, auth);\r\n this.apiConfig = {\r\n ...this.getApiConfig(),\r\n ...apiConfig\r\n };\r\n }\r\n static buildServerUrl(schema, subdomain, sandbox, tld) {\r\n return `${schema}${subdomain}.${sandbox ? 'sandbox.' : ''}${tld}`;\r\n }\r\n /**\r\n * Enable to supports the use of OAuth tokens for user authorization.\r\n */\r\n get useIaf() {\r\n return false;\r\n }\r\n get schema() {\r\n return 'https://';\r\n }\r\n get subdomain() {\r\n return 'api';\r\n }\r\n get apiVersionPath() {\r\n return '';\r\n }\r\n getServerUrl({ schema, subdomain, apiVersion, basePath, sandbox, tld }) {\r\n return Restful.buildServerUrl(schema, subdomain, sandbox, tld) + apiVersion + basePath;\r\n }\r\n getApiConfig() {\r\n return {\r\n subdomain: this.subdomain,\r\n useIaf: this.useIaf,\r\n apiVersion: this.apiVersionPath,\r\n basePath: this.basePath,\r\n schema: this.schema,\r\n sandbox: this.config.sandbox,\r\n tld: 'ebay.com',\r\n headers: {},\r\n returnResponse: false\r\n };\r\n }\r\n get baseUrl() {\r\n return this.getServerUrl(this.apiConfig);\r\n }\r\n /**\r\n * Create a new instances of it self with specified api config.\r\n * @param apiConfig\r\n */\r\n api(apiConfig) {\r\n // @ts-ignore\r\n return new this.constructor(this.config, this.req, this.auth, apiConfig);\r\n }\r\n /**\r\n * Use \"apix\" subdomain\r\n */\r\n get apix() {\r\n return this.api({ subdomain: 'apix' });\r\n }\r\n /**\r\n * Use \"apiz\" subdomain\r\n */\r\n get apiz() {\r\n return this.api({ subdomain: 'apiz' });\r\n }\r\n async get(url, config = {}, apiConfig) {\r\n return this.doRequest({ method: 'get', url, config }, apiConfig);\r\n }\r\n async delete(url, config = {}, apiConfig) {\r\n return this.doRequest({ method: 'delete', url, config }, apiConfig);\r\n }\r\n async post(url, data, config = {}, apiConfig) {\r\n return this.doRequest({ method: 'post', url, data, config }, apiConfig);\r\n }\r\n async put(url, data, config = {}, apiConfig) {\r\n return this.doRequest({ method: 'put', url, data, config }, apiConfig);\r\n }\r\n get additionalHeaders() {\r\n return Object.keys(additionalHeaders)\r\n // @ts-ignore\r\n .filter(key => typeof this.config[key] !== 'undefined')\r\n .reduce((headers, key) => {\r\n // @ts-ignore\r\n headers[additionalHeaders[key]] = this.config[key];\r\n return headers;\r\n }, {});\r\n }\r\n async enrichRequestConfig(config = {}, apiConfig = this.apiConfig) {\r\n const authHeader = await this.auth.getHeaderAuthorization(apiConfig.useIaf);\r\n const headers = {\r\n ...exports.defaultApiHeaders,\r\n ...this.additionalHeaders,\r\n ...authHeader,\r\n ...apiConfig.headers\r\n };\r\n return {\r\n ...config,\r\n headers: {\r\n ...(config.headers || {}),\r\n ...headers\r\n }\r\n };\r\n }\r\n async doRequest(payload, apiConfig) {\r\n try {\r\n return await this.request(payload, apiConfig);\r\n }\r\n catch (error) {\r\n if (this.shouldRefreshToken(error)) {\r\n // Try again and refresh token\r\n return await this.request(payload, apiConfig, true /* refresh token */);\r\n }\r\n throw error;\r\n }\r\n }\r\n shouldRefreshToken(error) {\r\n if (!this.config.autoRefreshToken) {\r\n return false;\r\n }\r\n if (error.name === errors_1.EBayInvalidAccessToken.name) {\r\n return true;\r\n }\r\n return error?.meta?.res?.status === 401 && this.apiConfig.basePath === '/post-order/v2';\r\n }\r\n async request(apiRequest, apiConfig = this.apiConfig, refreshToken = false) {\r\n const { url, method, data, config } = apiRequest;\r\n const apiCfg = { ...this.apiConfig, ...apiConfig };\r\n const endpoint = this.getServerUrl(apiCfg) + url;\r\n try {\r\n if (refreshToken) {\r\n await this.auth.OAuth2.refreshToken();\r\n }\r\n const enrichedConfig = await this.enrichRequestConfig(config, apiCfg);\r\n const args = ['get', 'delete'].includes(method) ? [enrichedConfig] : [data, enrichedConfig];\r\n // @ts-ignore\r\n const response = await this.req[method](endpoint, ...args);\r\n if (this.apiConfig.returnResponse) {\r\n return response;\r\n }\r\n else {\r\n return response.data;\r\n }\r\n }\r\n catch (ex) {\r\n (0, errors_1.handleEBayError)(ex);\r\n }\r\n }\r\n}\r\nexports.default = Restful;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Browse API has the following resources: item_summary: Lets shoppers search for specific items by keyword, GTIN,\r\n * category, charity, product, or item aspects and refine the results by using filters, such as aspects, compatibility,\r\n * and fields values.\r\n */\r\nclass Browse extends __1.default {\r\n get basePath() {\r\n return '/buy/browse/v1';\r\n }\r\n //\r\n // Item\r\n // Client Credentials: https://api.ebay.com/oauth/api_scope\r\n //\r\n /**\r\n * This method searches for eBay items by various query parameters and retrieves summaries of the items.\r\n *\r\n * @param {BrowseSearchParams} params\r\n */\r\n search(params) {\r\n return this.get(`/item_summary/search`, {\r\n params\r\n });\r\n }\r\n /**\r\n * This is an Experimental method. This method searches for eBay items based on a image and retrieves summaries of\r\n * the items.\r\n *\r\n * @param {BrowseSearchParams} params\r\n * @param {Object} body The container for the image information fields.\r\n */\r\n searchByImage(params, body = {}) {\r\n return this.post(`/item_summary/search_by_image`, body, {\r\n params\r\n });\r\n }\r\n /**\r\n * This method retrieves the details of specific items that the buyer needs to make a purchasing decision.\r\n *\r\n * @param itemIds A list of item IDs. Item IDs are the eBay RESTful identifier of items.\r\n * @param itemGroupIds A list of item group IDs.\r\n */\r\n getItems({ itemIds: item_ids, itemGroupIds: item_group_ids }) {\r\n return this.get(`/item/`, {\r\n params: {\r\n item_ids,\r\n item_group_ids\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the details of a specific item, such as description, price, category, all item aspects,\r\n * condition, return policies, seller feedback and score, shipping options, shipping costs, estimated delivery,\r\n * and other information the buyer needs to make a purchasing decision.\r\n *\r\n * @param {String} itemId The eBay RESTful identifier of an item.\r\n * @param {String} fieldgroups\r\n */\r\n getItem(itemId, fieldgroups) {\r\n const id = encodeURIComponent(itemId);\r\n return this.get(`/item/${id}`, {\r\n params: {\r\n fieldgroups\r\n }\r\n });\r\n }\r\n /**\r\n * This method is a bridge between the eBay legacy APIs, such as Shopping, and Finding and the eBay Api APIs.\r\n *\r\n * @param {LegacyItemParams} params\r\n */\r\n getItemByLegacyId(params) {\r\n return this.get(`/item/get_item_by_legacy_id`, {\r\n params\r\n });\r\n }\r\n /**\r\n * This method retrieves the details of the individual items in an item group.\r\n *\r\n * @param itemGroupId\r\n */\r\n getItemsByItemGroup(itemGroupId) {\r\n return this.get(`/item/get_items_by_item_group`, {\r\n params: {\r\n item_group_id: itemGroupId\r\n }\r\n });\r\n }\r\n /**\r\n * This method checks if a product is compatible with the specified item.\r\n * @param {String} itemId The eBay RESTful identifier of an item (such as a part you want to check).\r\n * @param {Object} body CompatibilityPayload\r\n */\r\n checkCompatibility(itemId, body) {\r\n const id = encodeURIComponent(itemId);\r\n return this.post(`/item/${id}/check_compatibility`, body);\r\n }\r\n //\r\n // Shopping Cart\r\n //\r\n /**\r\n * This is an Experimental method. This method creates an eBay cart for the eBay member, if one does not exist, and\r\n * adds items to that cart.\r\n *\r\n * @param {Object} item AddCartItemInput\r\n */\r\n addItem(item) {\r\n return this.post(`/shopping_cart/add_item`, item);\r\n }\r\n /**\r\n * This is an experimental method. This method retrieves all the items in the eBay member's cart;\r\n * items added to the cart while on ebay.com as well as items added to the cart using the Browse API.\r\n */\r\n getShoppingCart() {\r\n return this.get(`/shopping_cart/`);\r\n }\r\n /**\r\n * This is an experimental method. This method removes a specific item from the eBay member's cart.\r\n *\r\n * @param {Object} item RemoveCartItemInput\r\n */\r\n removeItem(item) {\r\n return this.post(`/shopping_cart/remove_item`, item);\r\n }\r\n /**\r\n * This is an experimental method. This method updates the quantity value of a specific item in the eBay member's\r\n * cart.\r\n *\r\n * @param {UpdateCartItemInput} item UpdateCartItemInput\r\n */\r\n updateQuantity(item) {\r\n return this.post(`/shopping_cart/update_quantity`, item);\r\n }\r\n}\r\nexports.default = Browse;\r\nBrowse.id = 'Browse';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Feed API provides the ability to download TSV_GZIP feed files containing eBay items and an hourly snapshot file\r\n * of the items that have changed within an hour for a specific category, date and marketplace.\r\n */\r\nclass Feed extends __1.default {\r\n get basePath() {\r\n return '/buy/feed/v1_beta';\r\n }\r\n /**\r\n * This method lets you download a TSV_GZIP (tab separated value gzip) Item feed file.\r\n *\r\n * @param {BuyFeedParams} params\r\n * @param range his header specifies the range in bytes of the chunks of the gzip file being returned.\r\n * Format: bytes=startpos-endpos For example, the following retrieves the first 10 MBs of the feed file.\r\n */\r\n getItemFeed(params, range) {\r\n return this.get(`/item`, {\r\n params,\r\n headers: {\r\n 'Range': range\r\n }\r\n });\r\n }\r\n /**\r\n * This method lets you download a TSV_GZIP (tab separated value gzip) Item Group feed file.\r\n * @param {BuyFeedParams} params\r\n * @param range his header specifies the range in bytes of the chunks of the gzip file being returned.\r\n * Format: bytes=startpos-endpos For example, the following retrieves the first 10 MBs of the feed file.\r\n */\r\n getItemGroupFeed(params, range) {\r\n return this.get(`/item_group`, {\r\n params,\r\n headers: {\r\n 'Range': range\r\n }\r\n });\r\n }\r\n /**\r\n * The Hourly Snapshot feed file is generated each hour every day for all categories.\r\n *\r\n * @param {BuyFeedParams} params\r\n * @param {String} snapshotDate\r\n * @param range his header specifies the range in bytes of the chunks of the gzip file being returned.\r\n * Format: bytes=startpos-endpos For example, the following retrieves the first 10 MBs of the feed file.\r\n */\r\n getItemSnapshotFeed(params, snapshotDate, range) {\r\n return this.get(`/item_snapshot`, {\r\n params: {\r\n ...params,\r\n snapshot_date: snapshotDate\r\n },\r\n headers: {\r\n 'Range': range\r\n }\r\n });\r\n }\r\n /**\r\n * The Hourly Snapshot feed file is generated each hour every day for all categories.\r\n *\r\n * @param {BuyFeedParams} params\r\n * @param {String} snapshotDate\r\n * @param range his header specifies the range in bytes of the chunks of the gzip file being returned.\r\n * Format: bytes=startpos-endpos For example, the following retrieves the first 10 MBs of the feed file.\r\n */\r\n getProductFeed(params, snapshotDate, range) {\r\n return this.get(`/product`, {\r\n params: {\r\n ...params,\r\n snapshot_date: snapshotDate\r\n },\r\n headers: {\r\n 'Range': range\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Feed;\r\nFeed.id = 'Feed';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Marketing API retrieves eBay products based on a metric, such as Best Selling, as well as products that were\r\n * also bought and also viewed.\r\n */\r\nclass Marketing extends __1.default {\r\n get basePath() {\r\n return '/buy/marketing/v1_beta';\r\n }\r\n //\r\n // Marketing\r\n // Client Credentials: https://api.ebay.com/oauth/api_scope/buy.marketing\r\n //\r\n /**\r\n * This call returns products that were also bought when shoppers bought the product specified in the request.\r\n * @param params\r\n */\r\n getAlsoBoughtByProduct(params) {\r\n return this.get(`/merchandised_product/get_also_bought_products`, {\r\n params\r\n });\r\n }\r\n /**\r\n * This call returns products that were also viewed when shoppers viewed the product specified in the request.\r\n *\r\n * @param params\r\n */\r\n getAlsoViewedByProduct(params) {\r\n return this.get(`/merchandised_product/get_also_viewed_products`, {\r\n params\r\n });\r\n }\r\n /**\r\n * This call returns an array of products based on the category and metric specified.\r\n *\r\n * @param params\r\n */\r\n getMerchandisedProducts(params) {\r\n return this.get(`/merchandised_product`, {\r\n params\r\n });\r\n }\r\n}\r\nexports.default = Marketing;\r\nMarketing.id = 'Marketing';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Api Offer API enables Partners to place proxy bids for a buyer and retrieve the auctions where the buyer is\r\n * bidding. Client Credentials: https://api.ebay.com/oauth/api_scope/buy.offer.auction\r\n */\r\nclass Offer extends __1.default {\r\n get basePath() {\r\n return '/buy/offer/v1_beta';\r\n }\r\n /**\r\n * This method retrieves the bidding details that are specific to the buyer of the specified auction.\r\n *\r\n * @param itemId\r\n */\r\n getBidding(itemId) {\r\n const id = encodeURIComponent(itemId);\r\n return this.get(`/bidding/${id}`);\r\n }\r\n /**\r\n * This method uses a user access token to place a proxy bid for the buyer on a specific auction item.\r\n *\r\n * @param itemId\r\n * @param {PlaceProxyBidRequest} body\r\n */\r\n placeProxyBid(itemId, body) {\r\n const id = encodeURIComponent(itemId);\r\n return this.post(`/bidding/${id}/place_proxy_bid`, body);\r\n }\r\n}\r\nexports.default = Offer;\r\nOffer.id = 'Offer';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Order API provides interfaces that lets shoppers pay for items (for both eBay guest and eBay member buyers).\r\n * Client Credentials: https://api.ebay.com/oauth/api_scope/buy.order\r\n */\r\nclass Order extends __1.default {\r\n get basePath() {\r\n return '/buy/order/v1';\r\n }\r\n /**\r\n * (Limited Release) You must be whitelisted to use this method.\r\n * This method adds a coupon to an eBay proxy guest checkout session and applies it to all the eligible items in\r\n * the order.\r\n *\r\n * @param {String} checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is\r\n * returned by the initiateCheckoutSession method.\r\n * @param body The container for the fields used to apply a coupon to a checkout session.\r\n */\r\n applyCoupon(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/apply_coupon`, body);\r\n }\r\n /**\r\n * This method returns the details of the specified eBay member checkout session.\r\n *\r\n * @param {String} checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is\r\n * returned by the initiateCheckoutSession method.\r\n */\r\n getCheckoutSession(checkoutSessionId) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.get(`/checkout_session/${checkoutSessionId}`);\r\n }\r\n /**\r\n * This method creates a eBay member checkout session, which is the first step in performing a checkout.\r\n *\r\n * @param body The container for the fields used by the initiateCheckoutSession method.\r\n */\r\n initiateCheckoutSession(body) {\r\n return this.post(`/checkout_session/initiate`, body);\r\n }\r\n /**\r\n * This method creates the purchase order, pays for the items, and terminates the specified eBay member checkout\r\n * session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n */\r\n placeOrder(checkoutSessionId) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/place_order`);\r\n }\r\n /**\r\n * (Limited Release) You must be whitelisted to use this method. This method removes a coupon from an eBay member\r\n * checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body CouponRequest\r\n */\r\n removeCoupon(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/remove_coupon`, body);\r\n }\r\n /**\r\n * This method changes the payment method information of the specified eBay member checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdatePaymentInformation\r\n */\r\n updatePaymentInfo(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/update_payment_info`, body);\r\n }\r\n /**\r\n * This method changes the quantity of the specified line item in an eBay member checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateQuantity\r\n */\r\n updateQuantity(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/update_quantity`, body);\r\n }\r\n /**\r\n * This method changes the quantity of the specified line item in an eBay member checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateQuantity\r\n */\r\n checkoutSessionId(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/update_quantity`, body);\r\n }\r\n /**\r\n * This method changes the shipping address for in an eBay member checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body ShippingAddressImpl\r\n */\r\n updateShippingAddress(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/update_shipping_address`, body);\r\n }\r\n /**\r\n * This method changes the shipping method for the specified line item in an eBay member checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateShippingOption\r\n */\r\n updateShippingOption(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/update_shipping_option`, body);\r\n }\r\n /**\r\n * (Limited Release) You must be whitelisted to use this method. This method adds a coupon to an eBay guest\r\n * checkout\r\n * session and applies it to all the eligible items in the order.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body CouponRequest\r\n */\r\n applyGuestCoupon(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/apply_coupon`, body);\r\n }\r\n /**\r\n * This method returns the details of the specified guest checkout session. The checkoutSessionId is passed in as a\r\n * URI parameter and is required.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n */\r\n getGuestCheckoutSession(checkoutSessionId) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.get(`/guest_checkout_session/${checkoutSessionId}`);\r\n }\r\n /**\r\n * This method creates an eBay guest checkout session, which is the first step in performing a checkout.\r\n *\r\n * @param body CheckoutSessionRequest\r\n */\r\n initiateGuestCheckoutSession(body) {\r\n return this.post(`/guest_checkout_session/initiate`, body);\r\n }\r\n /**\r\n * This method is used only in the PayPal Smart Button eBay guest payment flow.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body InitiatePaymentRequest\r\n */\r\n initiateGuestPayment(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/initiate_payment`, body);\r\n }\r\n /**\r\n * This method creates the purchase order, pays for the items, and terminates the specified guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body GuestPlaceOrderRequest\r\n */\r\n placeGuestOrder(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/place_order`, body);\r\n }\r\n /**\r\n * (Limited Release) You must be whitelisted to use this method. This method removes a coupon from an eBay guest\r\n * checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body CouponRequest\r\n */\r\n removeGuestCoupon(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/remove_coupon`, body);\r\n }\r\n /**\r\n * This method changes the payment method information of the specified guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdatePaymentInformation\r\n */\r\n updateGuestPaymentInfo(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/update_payment_info`, body);\r\n }\r\n /**\r\n * This method changes the quantity of the specified line item in an eBay guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateQuantity\r\n */\r\n updateGuestQuantity(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/update_quantity`, body);\r\n }\r\n /**\r\n * This method changes the shipping address for the order in an eBay guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body ShippingAddressImpl\r\n */\r\n updateGuestShippingAddress(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/update_shipping_address`, body);\r\n }\r\n /**\r\n * This method changes the shipping method for the specified line item in an eBay guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateShippingOption\r\n */\r\n updateGuestShippingOption(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/update_shipping_option`, body);\r\n }\r\n /**\r\n * (Limited Release) You must be whitelisted to use this method. This method adds a coupon to an eBay proxy guest\r\n * checkout session and applies it to all the eligible items in the order.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body CouponRequest\r\n */\r\n applyProxyGuestCoupon(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/apply_coupon`, body);\r\n }\r\n /**\r\n * This method returns the details of the specified eBay proxy guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n */\r\n getProxyGuestCheckoutSession(checkoutSessionId) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.get(`/proxy_guest_checkout_session/${checkoutSessionId}`);\r\n }\r\n /**\r\n * This method creates an eBay proxy guest checkout session, which is a payment flow that requires integration\r\n * with a VSP (vault service provider), such as Braintree. The VSP handles only the methods within this flow that\r\n * contain payment information.\r\n *\r\n * @param body CheckoutSessionRequest\r\n */\r\n initiateProxyGuestCheckoutSession(body) {\r\n return this.post(`/proxy_guest_checkout_session/initiate`, body);\r\n }\r\n /**\r\n * This method creates the proxy guest purchase order, pays for the items, and terminates the specified guest\r\n * checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body GuestPlaceOrderRequest\r\n */\r\n placeProxyGuestOrder(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/place_order`, body);\r\n }\r\n /**\r\n * (Limited Release) You must be whitelisted to use this method. This method removes a coupon from an eBay proxy\r\n * guest checkout session. The checkoutSessionId is passed in as a URI parameter and is required.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body CouponRequest\r\n */\r\n removeProxyGuestCoupon(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/remove_coupon`, body);\r\n }\r\n /**\r\n * This method adds or changes the payment information of the specified proxy guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param authorization The oAuth2 token. Note: The eBay partner must include this header in the request.\r\n * @param date The UTC timestamp of the request, which is generated and added to the request by the VSP.\r\n * @param requestNonce A UUID (a 128-bit universal unique ID), which is generated and added to the request by the\r\n * VSP.\r\n * @param signature The HMAC signature, which is generated and added to the request by the VSP.\r\n * @param body UpdatePaymentInformation\r\n */\r\n updateProxyGuestPaymentInfo(checkoutSessionId, authorization, date, requestNonce, signature, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/update_payment_info`, body, {\r\n headers: {\r\n 'Authorization': authorization,\r\n 'X-EBAY-C-DATE': date,\r\n 'X-EBAY-C-REQUEST-NONCE': requestNonce,\r\n 'X-EBAY-C-SIGNATURE': signature\r\n }\r\n });\r\n }\r\n /**\r\n * This method changes the quantity of the specified line item in an eBay proxy guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateQuantity\r\n */\r\n updateProxyGuestQuantity(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/update_quantity`, body);\r\n }\r\n /**\r\n * This method changes the shipping address for the order in an eBay proxy guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body ShippingAddressImpl\r\n */\r\n updateProxyGuestShippingAddress(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/update_shipping_address`, body);\r\n }\r\n /**\r\n * This method changes the shipping method for the specified line item in an eBay proxy guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateShippingOption\r\n */\r\n updateProxyGuestShippingOption(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/update_shipping_option`, body);\r\n }\r\n /**\r\n * This method retrieves the details about a specific guest purchase order.\r\n *\r\n * @param purchaseOrderId The unique identifier of a purchase order made by a guest buyer, for which details are to\r\n * be retrieved.\r\n */\r\n getGuestPurchaseOrder(purchaseOrderId) {\r\n purchaseOrderId = encodeURIComponent(purchaseOrderId);\r\n return this.get(`/guest_purchase_order/${purchaseOrderId}`);\r\n }\r\n /**\r\n * This method retrieves the details about a specific eBay member purchase order.\r\n *\r\n * @param purchaseOrderId The unique identifier of a purchase order made by an eBay member, for which details are\r\n * to be retrieved.\r\n */\r\n getPurchaseOrder(purchaseOrderId) {\r\n purchaseOrderId = encodeURIComponent(purchaseOrderId);\r\n return this.get(`/purchase_order/${purchaseOrderId}`);\r\n }\r\n}\r\nexports.default = Order;\r\nOrder.id = 'Order';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * This API allows third-party developers to search for and retrieve details about eBay deals and events, as well as the items associated with those deals and events.\r\n */\r\nclass Deal extends __1.default {\r\n get basePath() {\r\n return '/buy/deal/v1';\r\n }\r\n /**\r\n * This method retrieves a paginated set of deal items.\r\n *\r\n * @param categoryIds The unique identifier of the eBay category for the search.\r\n * @param commissionable A filter for commissionable deals. Restriction: This filter is currently only supported for the US marketplace.\r\n * @param deliveryCountry A filter for items that can be shipped to the specified country.\r\n * @param limit The maximum number of items, from the current result set, returned on a single page.\r\n * @param offset The number of items that will be skipped in the result set.\r\n */\r\n getDealItems({ categoryIds, commissionable, deliveryCountry, limit, offset }) {\r\n return this.get(`/deal_item`, {\r\n params: {\r\n category_ids: categoryIds,\r\n commissionable,\r\n delivery_country: deliveryCountry,\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the details for an eBay event.\r\n *\r\n * @param eventId The unique identifier for the eBay event.\r\n */\r\n getEvent(eventId) {\r\n eventId = encodeURIComponent(eventId);\r\n return this.get(`/event/${eventId}`);\r\n }\r\n /**\r\n * This method returns paginated results containing all eBay events for the specified marketplace.\r\n *\r\n * @param limit The maximum number of items, from the current result set, returned on a single page. Default: 20 Maximum Value: 100\r\n * @param offset The number of items that will be skipped in the result set.\r\n */\r\n getEvents({ limit, offset }) {\r\n return this.get(`/event`, {\r\n params: {\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns paginated results containing all eBay events for the specified marketplace.\r\n *\r\n * @param eventIds The unique identifiers for the eBay events. Maximum Value: 1\r\n * @param categoryIds The unique identifier of the eBay category for the search. Maximum Value: 1\r\n * @param deliveryCountry A filter for items that can be shipped to the specified country.\r\n * @param limit The maximum number of items, from the current result set, returned on a single page. Default: 20 Maximum Value: 100\r\n * @param offset The number of items that will be skipped in the result set.\r\n */\r\n getEventItems(eventIds, { categoryIds, deliveryCountry, limit, offset } = {}) {\r\n return this.get(`/event_item`, {\r\n params: {\r\n event_ids: eventIds,\r\n limit,\r\n offset,\r\n category_ids: categoryIds,\r\n delivery_country: deliveryCountry\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Deal;\r\nDeal.id = 'Deal';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * (Limited Release) The Marketplace Insights API provides the ability to search for sold items on eBay by keyword,\r\n * GTIN, category, and product and returns the of sales history of those items.\r\n */\r\nclass MarketplaceInsights extends __1.default {\r\n get basePath() {\r\n return '/buy/marketplace_insights/v1_beta';\r\n }\r\n /**\r\n * (Limited Release) This method searches for sold eBay items by various URI query parameters and retrieves the sales\r\n * history of the items for the last 90 days. You can search by keyword, category, eBay product ID (ePID), or GTIN,\r\n * or a combination of these.\r\n *\r\n * @param itemId\r\n * @param aspectFilter This field lets you filter by item aspects.\r\n * @param categoryIds The category ID is required and is used to limit the results.\r\n * @param epid The ePID is the eBay product identifier of a product from the eBay product catalog.\r\n * @param fieldgroups This field lets you control what is to be returned in the response and accepts a comma separated list of values.\r\n * @param filter This field supports multiple field filters that can be used to limit/customize the result set.\r\n * @param gtin This field lets you search by the Global Trade Item Number of the item as defined by https://www.gtin.info.\r\n * @param limit The number of items, from the result set, returned in a single page.\r\n * @param offset Specifies the number of items to skip in the result set.\r\n * @param q A string consisting of one or more keywords that are used to search for items on eBay.\r\n * @param sort This field specifies the order and the field name to use to sort the items.\r\n */\r\n search({ aspectFilter, categoryIds, epid, fieldgroups, filter, gtin, limit, offset, q, sort, }) {\r\n return this.get(`/item_sales/search`, {\r\n params: {\r\n aspect_filter: aspectFilter,\r\n category_ids: categoryIds,\r\n epid,\r\n fieldgroups,\r\n filter,\r\n gtin,\r\n limit,\r\n offset,\r\n q,\r\n sort,\r\n }\r\n });\r\n }\r\n}\r\nexports.default = MarketplaceInsights;\r\nMarketplaceInsights.id = 'MarketplaceInsights';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Order = exports.Offer = exports.MarketplaceInsights = exports.Marketing = exports.Feed = exports.Deal = exports.Browse = void 0;\r\nconst browse_1 = __importDefault(require(\"./browse\"));\r\nexports.Browse = browse_1.default;\r\nconst feed_1 = __importDefault(require(\"./feed\"));\r\nexports.Feed = feed_1.default;\r\nconst marketing_1 = __importDefault(require(\"./marketing\"));\r\nexports.Marketing = marketing_1.default;\r\nconst offer_1 = __importDefault(require(\"./offer\"));\r\nexports.Offer = offer_1.default;\r\nconst order_1 = __importDefault(require(\"./order\"));\r\nexports.Order = order_1.default;\r\nconst deal_1 = __importDefault(require(\"./deal\"));\r\nexports.Deal = deal_1.default;\r\nconst marketplaceInsights_1 = __importDefault(require(\"./marketplaceInsights\"));\r\nexports.MarketplaceInsights = marketplaceInsights_1.default;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Use the Catalog API to search the eBay catalog for products on which to base a seller's item listing;\r\n */\r\nclass Catalog extends __1.default {\r\n get basePath() {\r\n return '/commerce/catalog/v1_beta';\r\n }\r\n /**\r\n * Note: The three catalog change request methods in the Catalog API are deprecated, and are scheduled to be\r\n * decommissioned in Q1 of 2020.\r\n *\r\n * @param changeRequestId The unique identifier of the change request being requested.\r\n */\r\n getChangeRequest(changeRequestId) {\r\n return this.get(`/change_request/${changeRequestId}`);\r\n }\r\n /**\r\n * Note: The three catalog change request methods in the Catalog API are deprecated, and are scheduled to be\r\n * decommissioned in Q1 of 2020.\r\n *\r\n * @param filter One or more comma-separated criteria for narrowing down the collection of change requests returned\r\n * by this call.\r\n * @param limit The number of change requests to return. This is the result set, a subset of the full collection of\r\n * change requests that match the filter criteria of this call.\r\n * @param offset The first change request to return based on its position in the returned collection of change\r\n * requests.\r\n */\r\n getChangeRequests({ filter, limit, offset } = {}) {\r\n return this.get(`/change_request`, {\r\n params: {\r\n filter,\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This call retrieves details of the catalog product identified by the eBay product identifier (ePID) specified in\r\n * the request.\r\n *\r\n * @param epid The ePID of the product being requested.\r\n */\r\n getProduct(epid) {\r\n const e = encodeURIComponent(epid);\r\n return this.get(`/product/${e}`);\r\n }\r\n /**\r\n * This call searches for and retrieves summaries of one or more products in the eBay catalog that match the search\r\n * criteria provided by a seller.\r\n *\r\n * @param params SearchCatalogParams\r\n */\r\n search(params) {\r\n return this.get(`/product_summary/search`, {\r\n params: {\r\n ...(params && params)\r\n }\r\n });\r\n }\r\n /**\r\n * This call retrieves an array of all supported aspects, aspect constraints, and aspect values for the specified\r\n * catalog product and its associated or suggested categories, as well as the values currently associated with that\r\n * product.\r\n *\r\n * @param epid The unique eBay product identifier of the catalog product that you want to update.\r\n * @param acceptLanguage This request header sets the natural language that will be provided in the field values of\r\n * the response payload.\r\n * @param otherApplicableCategoryIds Use only if you are also including the primary_category_id parameter in the\r\n * request.\r\n * @param primaryCategoryId Use only if the seller believes this product is associated with the wrong primary\r\n * category.\r\n * @param marketplaceId Use this header to specify the eBay marketplace identifier.\r\n */\r\n getProductMetadata(epid, { otherApplicableCategoryIds, primaryCategoryId } = {}) {\r\n return this.get(`/get_product_metadata`, {\r\n params: {\r\n epid,\r\n other_applicable_category_ids: otherApplicableCategoryIds,\r\n primary_category_id: primaryCategoryId\r\n }\r\n });\r\n }\r\n /**\r\n * This call retrieves an array of all supported aspects, aspect constraints, and aspect values for the specified\r\n * eBay categories.\r\n *\r\n * @param primaryCategoryId The unique identifier of the primary eBay category for which you will retrieve product\r\n * aspects.\r\n * @param otherApplicableCategoryIds A string of comma-separated category IDs.\r\n */\r\n getProductMetadataForCategories(primaryCategoryId, otherApplicableCategoryIds) {\r\n return this.get(`/get_product_metadata_for_categories`, {\r\n params: {\r\n primary_category_id: primaryCategoryId,\r\n other_applicable_category_ids: otherApplicableCategoryIds\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Catalog;\r\nCatalog.id = 'Catalog';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Charity API allows third-party developers to search for and access details on supported charitable organizations.\r\n */\r\nclass Charity extends __1.default {\r\n get basePath() {\r\n return '/commerce/charity/v1';\r\n }\r\n /**\r\n * This call is used to retrieve detailed information about supported charitable organizations.\r\n *\r\n * @param charityOrgId The unique ID of the charitable organization.\r\n */\r\n getCharityOrg(charityOrgId) {\r\n charityOrgId = encodeURIComponent(charityOrgId);\r\n return this.get(`/charity_org/${charityOrgId}`);\r\n }\r\n /**\r\n * This call is used to retrieve detailed information about supported charitable organizations.\r\n *\r\n * @param limit The number of items, from the result set, returned in a single page. Valid Values: 1-100 Default: 20\r\n * @param offset The number of items that will be skipped in the result set.\r\n * @param q A query string that matches the keywords in name, mission statement, or description.\r\n * @param registrationIds A comma-separated list of charitable organization registration IDs.\r\n */\r\n getCharityOrgs({ limit, offset, q, registrationIds }) {\r\n return this.get(`/charity_org`, {\r\n params: {\r\n limit,\r\n offset,\r\n q,\r\n registration_ids: registrationIds\r\n }\r\n });\r\n }\r\n /**\r\n * This call allows users to retrieve the details for a specific charitable organization using its legacy charity ID, which has also been referred to as the charity number, external ID, and PayPal Giving Fund ID.\r\n *\r\n * @param legacyCharityOrgId The legacy ID of the charitable organization.\r\n */\r\n getCharityOrgByLegacyId(legacyCharityOrgId) {\r\n return this.get(`/charity_org/get_charity_org_by_legacy_id`, {\r\n params: {\r\n legacy_charity_org_id: legacyCharityOrgId\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Charity;\r\nCharity.id = 'Charity';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Retrieves the authenticated user's account profile information.\r\n */\r\nclass Identity extends __1.default {\r\n get basePath() {\r\n return '/commerce/identity/v1';\r\n }\r\n get subdomain() {\r\n return 'apiz';\r\n }\r\n /**\r\n * This method retrieves the account profile information for an authenticated user, which requires a User access\r\n * token. What is returned is controlled by the scopes.\r\n */\r\n getUser() {\r\n return this.get(`/user/`);\r\n }\r\n}\r\nexports.default = Identity;\r\nIdentity.id = 'Identity';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The eBay Notification API allows third-party developers and applications to process eBay notifications and verify the integrity of the notification message payload.\r\n */\r\nclass Notification extends __1.default {\r\n get basePath() {\r\n return '/commerce/notification/v1';\r\n }\r\n /**\r\n * This method allows users to retrieve a public key using a specified key ID.\r\n *\r\n * @param publicKeyId The unique key ID that is used to retrieve the public key\r\n */\r\n getPublicKey(publicKeyId) {\r\n publicKeyId = encodeURIComponent(publicKeyId);\r\n return this.get(`/public_key/${publicKeyId}`);\r\n }\r\n /**\r\n * This method allows applications to retrieve details for the specified topic.\r\n *\r\n * @param topicId The ID of the topic for which to retrieve the details.\r\n */\r\n getTopic(topicId) {\r\n topicId = encodeURIComponent(topicId);\r\n return this.get(`/topic/${topicId}`);\r\n }\r\n /**\r\n * This method returns a paginated collection of all supported topics, along with the details for the topics.\r\n *\r\n * @param limit The maximum number of items to return per page from the result set.\r\n * @param continuationToken The token used to access the next set of results.\r\n */\r\n getTopics({ limit, continuationToken: continuation_token }) {\r\n return this.get(`/topic`, {\r\n params: {\r\n limit,\r\n continuation_token\r\n }\r\n });\r\n }\r\n /**\r\n * This method allows applications to retrieve a list of all subscriptions.\r\n *\r\n * @param limit The number of items, from the result set, returned in a single page.\r\n * @param continuation_token The continuation token for the next set of results.\r\n */\r\n getSubscriptions({ limit, continuationToken: continuation_token }) {\r\n return this.get(`/subscription`, {\r\n params: {\r\n limit,\r\n continuation_token\r\n }\r\n });\r\n }\r\n /**\r\n * This method allows applications to retrieve a list of all subscriptions.\r\n *\r\n * @param body The create subscription request.\r\n */\r\n createSubscription(body) {\r\n return this.post(`/subscription`, body);\r\n }\r\n /**\r\n * This method allows applications to retrieve subscription details for the specified subscription.\r\n *\r\n * @param subscriptionId The unique identifier for the subscription.\r\n */\r\n getSubscription(subscriptionId) {\r\n subscriptionId = encodeURIComponent(subscriptionId);\r\n return this.get(`/subscription/${subscriptionId}`);\r\n }\r\n /**\r\n * This method allows applications to retrieve subscription details for the specified subscription.\r\n *\r\n * @param subscriptionId The unique identifier for the subscription.\r\n * @param body The update subscription request.\r\n */\r\n updateSubscription(subscriptionId, body) {\r\n subscriptionId = encodeURIComponent(subscriptionId);\r\n return this.put(`/subscription/${subscriptionId}`, body);\r\n }\r\n /**\r\n * This method allows applications to delete a subscription.\r\n *\r\n * @param subscriptionId The unique identifier for the subscription.\r\n */\r\n deleteSubscription(subscriptionId) {\r\n subscriptionId = encodeURIComponent(subscriptionId);\r\n return this.delete(`/subscription/${subscriptionId}`);\r\n }\r\n /**\r\n * This method allows applications to enable a disabled subscription.\r\n *\r\n * @param subscriptionId The unique identifier for the subscription.\r\n */\r\n enableSubscription(subscriptionId) {\r\n subscriptionId = encodeURIComponent(subscriptionId);\r\n return this.post(`/subscription/${subscriptionId}/enable`);\r\n }\r\n /**\r\n * This method disables a subscription, which prevents the subscription from providing notifications.\r\n * @param subscriptionId The unique identifier for the subscription.\r\n */\r\n disableSubscription(subscriptionId) {\r\n subscriptionId = encodeURIComponent(subscriptionId);\r\n return this.post(`/subscription/${subscriptionId}/disable`);\r\n }\r\n /**\r\n * This method triggers a mocked test payload that includes a notification ID, publish date, and so on.\r\n *\r\n * @param subscriptionId The unique identifier for the subscription.\r\n */\r\n test(subscriptionId) {\r\n subscriptionId = encodeURIComponent(subscriptionId);\r\n return this.post(`/subscription/${subscriptionId}/test`);\r\n }\r\n /**\r\n * This method allows applications to retrieve a paginated collection of destination resources and related details.\r\n * @param subscriptionId The unique identifier for the subscription.\r\n */\r\n getDestinations({ limit, continuationToken: continuation_token }) {\r\n return this.get(`/destination`, {\r\n params: {\r\n limit,\r\n continuation_token\r\n }\r\n });\r\n }\r\n /**\r\n * This method allows applications to create a destination.\r\n *\r\n * @param body The create destination request.\r\n */\r\n createDestination(body) {\r\n return this.post(`/destination`, body);\r\n }\r\n /**\r\n * This method allows applications to fetch the details for a destination.\r\n *\r\n * @param destinationId The unique identifier for the destination.\r\n */\r\n getDestination(destinationId) {\r\n destinationId = encodeURIComponent(destinationId);\r\n return this.get(`/destination/${destinationId}`);\r\n }\r\n /**\r\n * This method allows applications to update a destination.\r\n *\r\n * @param destinationId The unique identifier for the destination.\r\n * @param body The create subscription request.\r\n */\r\n updateDestination(destinationId, body) {\r\n destinationId = encodeURIComponent(destinationId);\r\n return this.put(`/destination/${destinationId}`, body);\r\n }\r\n /**\r\n * his method provides applications a way to delete a destination.\r\n *\r\n * @param destinationId The unique identifier for the destination.\r\n */\r\n deleteDestination(destinationId) {\r\n destinationId = encodeURIComponent(destinationId);\r\n return this.delete(`/destination/${destinationId}`);\r\n }\r\n /**\r\n * This method allows applications to retrieve a previously created configuration.\r\n */\r\n getConfig() {\r\n return this.get(`/config`);\r\n }\r\n /**\r\n * This method allows applications to create a new configuration or update an existing configuration.\r\n *\r\n * @param body The configurations for this application.\r\n */\r\n updateConfig(body) {\r\n return this.put(`/config`, body);\r\n }\r\n}\r\nexports.default = Notification;\r\nNotification.id = 'Notification';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Use the Taxonomy API to discover the most appropriate eBay categories under which sellers can offer inventory items\r\n * for sale, and the most likely categories under which buyers can browse or search for items to purchase.\r\n */\r\nclass Taxonomy extends __1.default {\r\n get basePath() {\r\n return '/commerce/taxonomy/v1';\r\n }\r\n /**\r\n * A given eBay marketplace might use multiple category trees, but one of those trees is considered to be the\r\n * default for that marketplace.\r\n *\r\n * @param marketplaceId The ID of the eBay marketplace for which the category tree ID is being requested.\r\n */\r\n getDefaultCategoryTreeId(marketplaceId) {\r\n return this.get(`/get_default_category_tree_id`, {\r\n params: {\r\n marketplace_id: marketplaceId\r\n }\r\n });\r\n }\r\n /**\r\n * This call retrieves the complete category tree that is identified by the category_tree_id parameter.\r\n *\r\n * @param categoryTreeId\r\n */\r\n getCategoryTree(categoryTreeId) {\r\n const cId = encodeURIComponent(categoryTreeId);\r\n return this.get(`/category_tree/${cId}`);\r\n }\r\n /**\r\n * This call retrieves the details of all nodes of the category tree hierarchy (the subtree) below a specified\r\n * category of a category tree.\r\n *\r\n * @param categoryTreeId The unique identifier of the eBay category tree from which a category subtree is being\r\n * requested.\r\n * @param categoryId The unique identifier of the category at the top of the subtree being requested.\r\n */\r\n getCategorySubtree(categoryTreeId, categoryId) {\r\n categoryTreeId = encodeURIComponent(categoryTreeId);\r\n return this.get(`/category_tree/${categoryTreeId}/get_category_subtree`, {\r\n params: {\r\n category_id: categoryId\r\n }\r\n });\r\n }\r\n /**\r\n * This call returns an array of category tree leaf nodes in the specified category tree that are considered by eBay\r\n * to most closely correspond to the query string q.\r\n *\r\n * @param categoryTreeId The unique identifier of the eBay category tree for which suggested nodes are being\r\n * requested.\r\n * @param q A quoted string that describes or characterizes the item being offered for sale.\r\n */\r\n getCategorySuggestions(categoryTreeId, q) {\r\n return this.get(`/category_tree/${categoryTreeId}/get_category_suggestions`, {\r\n params: {\r\n q\r\n }\r\n });\r\n }\r\n /**\r\n * This call returns a list of aspects that are appropriate or necessary for accurately describing items in the\r\n * specified leaf category.\r\n *\r\n * @param categoryTreeId The unique identifier of the eBay category tree from which the specified category's\r\n * aspects are being requested.\r\n * @param categoryId The unique identifier of the leaf category for which aspects are being requested.\r\n */\r\n getItemAspectsForCategory(categoryTreeId, categoryId) {\r\n categoryTreeId = encodeURIComponent(categoryTreeId);\r\n return this.get(`/category_tree/${categoryTreeId}/get_item_aspects_for_category`, {\r\n params: {\r\n category_id: categoryId\r\n }\r\n });\r\n }\r\n /**\r\n * This call retrieves the compatible vehicle aspects that are used to define a motor vehicle that is compatible\r\n * with a motor vehicle part or accessory.\r\n *\r\n * @param categoryTreeId This is the unique identifier of category tree. The following is the list of\r\n * category_tree_id values and the eBay marketplaces that they represent.\r\n *\r\n * @param categoryId The unique identifier of an eBay category.\r\n */\r\n getCompatibilityProperties(categoryTreeId, categoryId) {\r\n categoryTreeId = encodeURIComponent(categoryTreeId);\r\n return this.get(`/category_tree/${categoryTreeId}/get_compatibility_properties`, {\r\n params: {\r\n category_id: categoryId\r\n }\r\n });\r\n }\r\n /**\r\n * This call retrieves applicable compatible vehicle property values based on the specified eBay marketplace,\r\n * specified eBay category, and filters used in the request.\r\n *\r\n * @param categoryTreeId This is the unique identifier of the category tree.\r\n * @param categoryId The unique identifier of an eBay category.\r\n * @param compatibilityProperty One compatible vehicle property applicable to the specified eBay marketplace and\r\n * eBay category is specified in this required filter.\r\n */\r\n getCompatibilityPropertyValues(categoryTreeId, categoryId, compatibilityProperty) {\r\n categoryTreeId = encodeURIComponent(categoryTreeId);\r\n return this.get(`/category_tree/${categoryTreeId}/get_compatibility_property_values`, {\r\n params: {\r\n category_id: categoryId,\r\n compatibility_property: compatibilityProperty\r\n }\r\n });\r\n }\r\n /**\r\n * This call returns a complete list of aspects for all of the leaf categories that belong to an eBay marketplace.\r\n *\r\n * @param categoryTreeId\r\n *\r\n * @return A JSON GZIP compressed file buffer\r\n */\r\n fetchItemAspects(categoryTreeId) {\r\n categoryTreeId = encodeURIComponent(categoryTreeId);\r\n return this.get(`/category_tree/${categoryTreeId}/fetch_item_aspects`, {\r\n responseType: 'arraybuffer'\r\n });\r\n }\r\n}\r\nexports.default = Taxonomy;\r\nTaxonomy.id = 'Taxonomy';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * This API allows 3rd party developers to translate item title, description, search query.\r\n */\r\nclass Translation extends __1.default {\r\n get basePath() {\r\n return '/commerce/translation/v1_beta';\r\n }\r\n /**\r\n * Translates input text inot a given language.\r\n *\r\n * @param body TranslateRequest\r\n */\r\n translate(body) {\r\n return this.post(`/translate`, body);\r\n }\r\n}\r\nexports.default = Translation;\r\nTranslation.id = 'Translation';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Translation = exports.Taxonomy = exports.Notification = exports.Identity = exports.Charity = exports.Catalog = void 0;\r\nconst catalog_1 = __importDefault(require(\"./catalog\"));\r\nexports.Catalog = catalog_1.default;\r\nconst charity_1 = __importDefault(require(\"./charity\"));\r\nexports.Charity = charity_1.default;\r\nconst identity_1 = __importDefault(require(\"./identity\"));\r\nexports.Identity = identity_1.default;\r\nconst notification_1 = __importDefault(require(\"./notification\"));\r\nexports.Notification = notification_1.default;\r\nconst taxonomy_1 = __importDefault(require(\"./taxonomy\"));\r\nexports.Taxonomy = taxonomy_1.default;\r\nconst translation_1 = __importDefault(require(\"./translation\"));\r\nexports.Translation = translation_1.default;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * This method retrieves the call limit and utilization data for an application.\r\n */\r\nclass Analytics extends __1.default {\r\n get basePath() {\r\n return '/developer/analytics/v1_beta';\r\n }\r\n /**\r\n * This method retrieves the call limit and utilization data for an application.\r\n *\r\n * @param apiContext This optional query parameter filters the result to include only the specified API context.\r\n * @param apiName This optional query parameter filters the result to include only the APIs specified.\r\n */\r\n getRateLimits(apiContext, apiName) {\r\n return this.get(`/rate_limit/`, {\r\n params: {\r\n api_context: apiContext,\r\n api_name: apiName\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the call limit and utilization data for an application user.\r\n *\r\n * @param apiContext This optional query parameter filters the result to include only the specified API context.\r\n * @param apiName This optional query parameter filters the result to include only the APIs specified.\r\n */\r\n getUserRateLimits(apiContext, apiName) {\r\n return this.get(`/user_rate_limit/`, {\r\n params: {\r\n api_context: apiContext,\r\n api_name: apiName\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Analytics;\r\nAnalytics.id = 'Analytics';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * This method retrieves the call limit and utilization data for an application.\r\n */\r\nclass KeyManagement extends __1.default {\r\n get subdomain() {\r\n return 'apiz';\r\n }\r\n get basePath() {\r\n return '/developer/key_management/v1';\r\n }\r\n /**\r\n * This method returns the <b>Public Key</b>, <b>Public Key as JWE</b>,\r\n * and metadata for all keypairs associated with the application key making the call.\r\n */\r\n getSigningKeys() {\r\n return this.get(`/signing_key`);\r\n }\r\n /**\r\n * his method creates keypairs.\r\n */\r\n createSigningKey(data) {\r\n return this.post(`/signing_key`, data);\r\n }\r\n /**\r\n * This method returns the <b>Public Key</b>, <b>Public Key as JWE</b>,\r\n * and metadata for a specified <code>signingKeyId</code> associated with the application key making the call.\r\n * @param signingKeyId the signin key\r\n */\r\n getSigningKey(signingKeyId) {\r\n return this.get(`/signing_key/${signingKeyId}`);\r\n }\r\n}\r\nexports.default = KeyManagement;\r\nKeyManagement.id = 'KeyManagement';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.KeyManagement = exports.Analytics = void 0;\r\nconst analytics_1 = __importDefault(require(\"./analytics\"));\r\nexports.Analytics = analytics_1.default;\r\nconst keyManagement_1 = __importDefault(require(\"./keyManagement\"));\r\nexports.KeyManagement = keyManagement_1.default;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Post-Order Cancellation API\r\n */\r\nclass Cancellation extends __1.default {\r\n get basePath() {\r\n return '/post-order/v2';\r\n }\r\n get useIaf() {\r\n return true;\r\n }\r\n /**\r\n * Seller approves a cancellation request\r\n *\r\n * @param cancelId The unique eBay-assigned identifier of the cancellation request to be approved.\r\n */\r\n approveCancellationRequest(cancelId) {\r\n cancelId = encodeURIComponent(cancelId);\r\n return this.post(`/cancellation/${cancelId}/approve`);\r\n }\r\n /**\r\n * Check the eligibility of an order cancellation\r\n *\r\n * @param legacyOrderId The unique ID of the order being canceled or the order being considered for cancellation.\r\n */\r\n checkCancellationEligibility(legacyOrderId) {\r\n return this.post(`/cancellation/check_eligibility`, {\r\n legacyOrderId\r\n });\r\n }\r\n /**\r\n * Buyer confirms the refund from a cancellation was received\r\n *\r\n * @param cancelId The unique eBay-assigned identifier of the cancellation/refund being confirmed.\r\n * @param payload the ConfirmRefundReceivedPayload\r\n */\r\n confirmRefundReceived(cancelId, payload) {\r\n cancelId = encodeURIComponent(cancelId);\r\n return this.post(`/cancellation/${cancelId}/confirm`, payload);\r\n }\r\n /**\r\n * Request or perform an order cancellation.\r\n *\r\n * @param payload the CreateCancelRequest\r\n */\r\n createCancellation(payload) {\r\n return this.post(`/cancellation`, payload);\r\n }\r\n /**\r\n * Retrieve the details of an order cancellation.\r\n *\r\n * @param cancelId Supply in this path parameter the unique eBay-assigned ID of the cancellation request to\r\n * retrieve.\r\n * @param fieldGroups The value set in this query parameter controls the level of detail that is returned in the\r\n * response.\r\n */\r\n getCancellation(cancelId, fieldGroups) {\r\n cancelId = encodeURIComponent(cancelId);\r\n return this.get(`/cancellation/${cancelId}`, {\r\n params: {\r\n fieldgroups: fieldGroups\r\n }\r\n });\r\n }\r\n /**\r\n * Seller rejects a cancellation request.\r\n *\r\n * @param cancelId The unique eBay-assigned identifier of the cancellation request to be rejected.\r\n * @param payload the RejectCancelRequest\r\n */\r\n rejectCancellationRequest(cancelId, payload) {\r\n cancelId = encodeURIComponent(cancelId);\r\n return this.post(`/cancellation/${cancelId}/reject`, payload);\r\n }\r\n /**\r\n * Search for cancellations.\r\n *\r\n * @param params the SearchParams\r\n */\r\n search(params) {\r\n return this.get(`/cancellation/search`, {\r\n params: {\r\n params\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Cancellation;\r\nCancellation.id = 'Cancellation';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Post-Order Case Management API\r\n */\r\nclass Case extends __1.default {\r\n get basePath() {\r\n return '/post-order/v2';\r\n }\r\n get useIaf() {\r\n return true;\r\n }\r\n /**\r\n * Buyer or seller appeals a case decision.\r\n *\r\n * @param caseId The unique identifier of a case.\r\n * @param payload the AppealRequest\r\n */\r\n appealCaseDecision(caseId, payload) {\r\n const id = encodeURIComponent(caseId);\r\n return this.post(`/casemanagement/${id}/appeal`, payload);\r\n }\r\n /**\r\n * Check the eligibility of an order cancellation.\r\n *\r\n * @param caseId The unique identifier of a case.\r\n * @param payload the BuyerCloseCaseRequest\r\n */\r\n closeCase(caseId, payload) {\r\n const id = encodeURIComponent(caseId);\r\n return this.post(`/casemanagement/${id}/close`, payload);\r\n }\r\n /**\r\n * Retrieve the details related to a specific case.\r\n *\r\n * @param caseId The unique identifier of a case.\r\n */\r\n getCase(caseId) {\r\n const id = encodeURIComponent(caseId);\r\n return this.get(`/casemanagement/${id}`);\r\n }\r\n /**\r\n * Seller issues a refund for a case.\r\n *\r\n * @param caseId The unique identifier of a case.\r\n * @param payload the CaseVoluntaryRefundRequest (Text)\r\n */\r\n issueCaseRefund(caseId, payload) {\r\n const id = encodeURIComponent(caseId);\r\n return this.post(`/casemanagement/${id}/issue_refund`, payload);\r\n }\r\n /**\r\n * This call allows the buyer to provide shipment tracking information for the item that is being returned to the\r\n * seller.\r\n *\r\n * @param caseId The unique identifier of a case.\r\n * @param shippingCarrierName The shipping carrier that is used to ship the item, such as 'FedEx', 'UPS', or\r\n * 'USPS'.\r\n * @param trackingNumber The tracking number assigned by the shipping carrier to the item shipment.\r\n */\r\n provideReturnShipmentInfo(caseId, { shippingCarrierName, trackingNumber }) {\r\n const id = encodeURIComponent(caseId);\r\n return this.post(`/casemanagement/${id}/provide_shipment_info`, {\r\n shippingCarrierName,\r\n trackingNumber\r\n });\r\n }\r\n /**\r\n * Seller provides a return address to the buyer.\r\n *\r\n * @param cancelId The unique eBay-assigned identifier of the cancellation request to be rejected.\r\n * @param payload the ReturnAddressRequest\r\n */\r\n providesReturnAddress(cancelId, payload) {\r\n const id = encodeURIComponent(cancelId);\r\n return this.post(`/casemanagement/${id}/provide_return_address`, payload);\r\n }\r\n /**\r\n * This call is used to search for cases using multiple filter types.\r\n *\r\n * @param params the SearchParams\r\n */\r\n search(params) {\r\n return this.get(`/casemanagement/search`, {\r\n params\r\n });\r\n }\r\n}\r\nexports.default = Case;\r\nCase.id = 'Case';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Post-Order Inquiry API\r\n */\r\nclass Inquiry extends __1.default {\r\n get basePath() {\r\n return '/post-order/v2';\r\n }\r\n get useIaf() {\r\n return true;\r\n }\r\n /**\r\n * Check if a buyer is eligible to open an inquiry on an order.\r\n *\r\n * @param payload the CheckInquiryEligibilityRequest\r\n */\r\n checkInquiryEligibility(payload) {\r\n return this.post(`/inquiry/check_eligibility`, payload);\r\n }\r\n /**\r\n * Close an inquiry for the buyer\r\n *\r\n * @param inquiryId The unique ID of the inquiry to be closed.\r\n * @param payload the BuyerCloseInquiryRequest\r\n */\r\n closeInquiry(inquiryId, payload) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n if (typeof payload?.closeReason === 'string') {\r\n payload.closeReason = payload.closeReason.trim();\r\n }\r\n return this.post(`/inquiry/${inquiryId}/close`, payload);\r\n }\r\n /**\r\n * Buyer confirms the refund from an inquiry was received\r\n *\r\n * @param inquiryId The unique identifier of a case.\r\n */\r\n confirmInquiryRefund(inquiryId) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n return this.post(`/inquiry/${inquiryId}/confirm_refund`);\r\n }\r\n /**\r\n * Create an inquiry for the buyer.\r\n *\r\n * @param payload the CreateInquiryRequest\r\n */\r\n createInquiry(payload) {\r\n if (typeof payload.desiredOutcome === 'string') {\r\n payload.desiredOutcome = payload.desiredOutcome.trim();\r\n }\r\n return this.post(`/inquiry`, payload);\r\n }\r\n /**\r\n * Escalate an inquiry to an INR case.\r\n *\r\n * @param inquiryId the unique identifier of the inquiry to be escalated.\r\n * @param payload the EscalateInquiryRequest\r\n */\r\n escalateInquiry(inquiryId, payload) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n payload.escalateInquiryReason = payload.escalateInquiryReason.trim();\r\n return this.post(`/inquiry/${inquiryId}/escalate`, payload);\r\n }\r\n /**\r\n * Retrieve the history and details related to a specific inquiry.\r\n *\r\n * @param inquiryId the unique ID of the inquiry for which details and history are to be retrieved.\r\n */\r\n getInquiry(inquiryId) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n return this.get(`/inquiry/${inquiryId}`);\r\n }\r\n /**\r\n * Issue a refund for an inquiry.\r\n *\r\n * @param inquiryId the unique ID of the inquiry for which a refund is to be issued.\r\n * @param payload the InquiryVoluntaryRefundRequest\r\n */\r\n issueInquiryRefund(inquiryId, payload) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n return this.post(`/inquiry/${inquiryId}/issue_refund`, payload);\r\n }\r\n /**\r\n * Provide refund information about an inquiry to the buyer.\r\n *\r\n * @param inquiryId The unique ID of the inquiry for which to provide refund information.\r\n * @param payload the InquiryVoluntaryRefundRequest\r\n */\r\n provideInquiryRefundInfo(inquiryId, payload) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n return this.post(`/inquiry/${inquiryId}/provide_refund_info`, payload);\r\n }\r\n /**\r\n * Provide shipment information for an inquiry.\r\n *\r\n * @param inquiryId The unique ID of the inquiry for which to provide shipment information.\r\n * @param payload the ShipmentInfoRequest\r\n */\r\n provideInquiryShipmentInfo(inquiryId, payload) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n return this.post(`/inquiry/${inquiryId}/provide_shipment_info`, payload);\r\n }\r\n /**\r\n * This call is used to search for inquiries using multiple filter types.\r\n *\r\n * @param params the InquirySearchParams\r\n */\r\n search(params) {\r\n return this.get(`/inquiry/search`, {\r\n params\r\n });\r\n }\r\n /**\r\n * Contact the buyer or seller about an inquiry.\r\n *\r\n * @param inquiryId The unique ID of the inquiry being discussed.\r\n * @param payload the SendMessageRequest\r\n */\r\n sendInquiryMessage(inquiryId, payload) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n return this.post(`/inquiry/${inquiryId}/send_message`, payload);\r\n }\r\n}\r\nexports.default = Inquiry;\r\nInquiry.id = 'Inquiry';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Post-Order Return API\r\n */\r\nclass Return extends __1.default {\r\n get basePath() {\r\n return '/post-order/v2';\r\n }\r\n get useIaf() {\r\n return true;\r\n }\r\n /**\r\n * Create or update a shipping label provided by the seller.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the ProvideLabelRequest\r\n */\r\n addShippingLabelInfo(returnId, payload) {\r\n const id = encodeURIComponent(returnId);\r\n return this.post(`/return/${id}/add_shipping_label`, payload);\r\n }\r\n /**\r\n * Cancel a return request.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return request.\r\n * @param payload The CloseReturnRequest.\r\n */\r\n cancelReturnRequest(returnId, payload) {\r\n const id = encodeURIComponent(returnId);\r\n if (payload && payload.buyerCloseReason) {\r\n payload.buyerCloseReason = payload.buyerCloseReason.trim();\r\n }\r\n return this.post(`/return/${id}/cancel`, payload);\r\n }\r\n /**\r\n * Check to see if an item is eligible for a return.\r\n *\r\n * @param payload the CheckEligibilityRequest\r\n */\r\n checkReturnEligibility(payload) {\r\n return this.post(`/return/check_eligibility`, payload);\r\n }\r\n /**\r\n * Validate the eligibility of an existing shipping label.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n */\r\n checkShippingLabelEligibility(returnId) {\r\n const id = encodeURIComponent(returnId);\r\n return this.get(`/return/${id}/check_label_print_eligibility`);\r\n }\r\n /**\r\n * Create a return draft.\r\n *\r\n * @param payload the SetReturnCreationSessionRequest\r\n */\r\n createReturnDraft(payload) {\r\n return this.post(`/return/draft`, payload);\r\n }\r\n /**\r\n * Request a return for an item.\r\n *\r\n * @param payload the CreateReturnRequest\r\n * @param fieldGroups can be used in the call URI to control the detail level that is returned in response.\r\n */\r\n createReturnRequest(payload, fieldGroups) {\r\n return this.post(`/return`, payload, {\r\n params: {\r\n fieldgroups: fieldGroups\r\n }\r\n });\r\n }\r\n /**\r\n * Create an eBay shipping label for the buyer.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n */\r\n createReturnShippingLabel(returnId) {\r\n const id = encodeURIComponent(returnId);\r\n return this.post(`/return/${id}/initiate_shipping_label`);\r\n }\r\n /**\r\n * Delete a file associated with a return draft.\r\n *\r\n * @param draftId The unique eBay-assigned ID of the return draft.\r\n * @param fileId The unique eBay-assigned ID of the draft file.\r\n */\r\n deleteReturnDraftFile(draftId, fileId) {\r\n draftId = encodeURIComponent(draftId);\r\n fileId = encodeURIComponent(fileId);\r\n return this.delete(`/return/draft/${draftId}/file/${fileId}`);\r\n }\r\n /**\r\n * Escalate an existing return to eBay customer support.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return request.\r\n * @param payload the EscalateRequest\r\n */\r\n escalateReturn(returnId, payload) {\r\n const id = encodeURIComponent(returnId);\r\n return this.post(`/return/${id}/escalate`, payload);\r\n }\r\n /**\r\n * Retrieve the details of a specific return.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return request.\r\n * @param fieldGroups can be used in the call URI to control the detail level that is returned in response.\r\n */\r\n getReturn(returnId, fieldGroups) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.get(`/return/${returnId}`, {\r\n params: {\r\n fieldgroups: fieldGroups\r\n }\r\n });\r\n }\r\n /**\r\n * Retrieve a return draft.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return request.\r\n */\r\n getReturnDraft(returnId) {\r\n const id = encodeURIComponent(returnId);\r\n return this.get(`/return/draft/${id}`);\r\n }\r\n /**\r\n * Retrieve the files associated with a return draft.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return draft.\r\n */\r\n getReturnDraftFiles(returnId) {\r\n const id = encodeURIComponent(returnId);\r\n return this.get(`/return/draft/${id}/files`);\r\n }\r\n /**\r\n * Retrieve the cost estimate of a refund with its shipping cost.\r\n *\r\n * @param payload the GetEstimateRequest\r\n */\r\n getReturnEstimate(payload) {\r\n return this.post(`/return/estimate`, payload);\r\n }\r\n /**\r\n * Retrieve the cost estimate of a refund with its shipping cost.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n */\r\n getReturnFiles(returnId) {\r\n const id = encodeURIComponent(returnId);\r\n return this.get(`/return/${id}/files`);\r\n }\r\n /**\r\n * Retrieve seller's return preferences.\r\n */\r\n getReturnPreferences() {\r\n return this.get(`/return/preference`);\r\n }\r\n /**\r\n * Retrieve the data for an existing shipping label.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n */\r\n getReturnShippingLabel(returnId) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.get(`/return/${returnId}/get_shipping_label`);\r\n }\r\n /**\r\n * Retrieve shipment tracking activity for a return.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param carrierUsed The shipping carrier used to to ship the package.\r\n * @param trackingNumber The tracking number of the package.\r\n */\r\n getShipmentTrackingInfo(returnId, carrierUsed, trackingNumber) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.get(`/return/${returnId}/tracking`, {\r\n params: {\r\n carrier_used: carrierUsed,\r\n tracking_number: trackingNumber\r\n }\r\n });\r\n }\r\n /**\r\n * Issue a refund.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload The IssueRefundRequest.\r\n */\r\n issueReturnRefund(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/issue_refund`, payload);\r\n }\r\n /**\r\n * Mark a returned item as received.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the MarkAsReceivedRequest\r\n */\r\n markReturnReceived(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/mark_as_received`, payload);\r\n }\r\n /**\r\n * Mark a refund as received.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n */\r\n markReturnRefundReceived(returnId) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/mark_refund_received`);\r\n }\r\n /**\r\n * Notify the buyer that a refund has been issued.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the MarkRefundSentRequest\r\n */\r\n markReturnRefundSent(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/mark_refund_sent`, payload);\r\n }\r\n /**\r\n * Mark a return as shipped.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the MarkAsShippedRequest\r\n */\r\n markReturnShipped(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/mark_as_shipped`, payload);\r\n }\r\n /**\r\n * Perform an action on a return, such as APPROVE.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the DecideReturnRequest\r\n */\r\n processReturnRequest(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/decide`, payload);\r\n }\r\n /**\r\n * Retrieve details on items being returned.\r\n *\r\n * @param params the SearchReturnParams\r\n */\r\n search(params) {\r\n return this.get(`/return/search`, {\r\n params\r\n });\r\n }\r\n /**\r\n * Send a message to the buyer or seller regarding a return.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the SendMessageRequest\r\n */\r\n sendReturnMessage(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/send_message`, payload);\r\n }\r\n /**\r\n * Send a shipping label to an email address.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param toEmailAddress The recipient's email address is specified in this field.\r\n */\r\n sendReturnShippingLabel(returnId, toEmailAddress) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/send_shipping_label`, {}, {\r\n params: {\r\n to_email_address: toEmailAddress\r\n }\r\n });\r\n }\r\n /**\r\n * Send a shipping label to an email address.\r\n *\r\n * @param rmaRequired This field is included and set to true if the seller wishes to require that the buyer provide\r\n * a Return Merchandise Authorization (RMA) when returning an item.\r\n */\r\n setReturnPreferences(rmaRequired) {\r\n return this.post(`/return/preference`, {\r\n rmaRequired\r\n });\r\n }\r\n /**\r\n * Activate the files associated with a return.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param filePurpose This value is used to indicate if the file(s) are being used to provide more information\r\n * about the condition of the item, or intended to provide more information about shipment tracking or about\r\n * the shipping label.\r\n */\r\n submitReturnFile(returnId, filePurpose) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/file/submit`, {\r\n filePurpose\r\n });\r\n }\r\n /**\r\n * Update an existing return draft.\r\n *\r\n * @param draftId The unique eBay-assigned ID of the return draft.\r\n * @param returnRequest the ReturnRequestType\r\n */\r\n updateReturnDraft(draftId, returnRequest) {\r\n draftId = encodeURIComponent(draftId);\r\n return this.put(`/return/draft/${draftId}`, {\r\n returnRequest\r\n });\r\n }\r\n /**\r\n * Update shipment tracking information.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return request.\r\n * @param payload the UpdateTrackingRequest\r\n */\r\n updateShipmentTrackingInfo(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.put(`/return/${returnId}/update_tracking`, payload);\r\n }\r\n /**\r\n * Upload the files relating to a return draft.\r\n *\r\n * @param draftId The unique eBay-assigned ID of the return draft.\r\n * @param payload the UploadFileRequest\r\n */\r\n uploadReturnDraftFile(draftId, payload) {\r\n draftId = encodeURIComponent(draftId);\r\n return this.post(`/return/draft/${draftId}/file/upload`, payload);\r\n }\r\n /**\r\n * Upload the files relating to a return.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the UploadFileRequest\r\n */\r\n uploadReturnFile(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/file/upload`, payload);\r\n }\r\n /**\r\n * Void a shipping label.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the VoidLabelRequest\r\n */\r\n voidShippingLabel(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/void_shipping_label`, payload);\r\n }\r\n}\r\nexports.default = Return;\r\nReturn.id = 'Return';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Return = exports.Inquiry = exports.Case = exports.Cancellation = void 0;\r\nconst cancellation_1 = __importDefault(require(\"./cancellation\"));\r\nexports.Cancellation = cancellation_1.default;\r\nconst case_1 = __importDefault(require(\"./case\"));\r\nexports.Case = case_1.default;\r\nconst inquiry_1 = __importDefault(require(\"./inquiry\"));\r\nexports.Inquiry = inquiry_1.default;\r\nconst return_1 = __importDefault(require(\"./return\"));\r\nexports.Return = return_1.default;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The <b>Account API</b> gives sellers the ability to configure their eBay seller accounts,\r\n * including the seller's policies (the Fulfillment Policy, Payment Policy, and Return Policy),\r\n * opt in and out of eBay seller programs, configure sales tax tables, and get account information.\r\n */\r\nclass Account extends __1.default {\r\n get basePath() {\r\n return '/sell/account/v1';\r\n }\r\n /**\r\n * This method retrieves all the fulfillment policies configured for the marketplace you specify using the\r\n * marketplace_id query parameter.\r\n *\r\n * @param marketplaceId This query parameter specifies the eBay marketplace of the policies you want to retrieve.\r\n */\r\n getFulfillmentPolicies(marketplaceId) {\r\n return this.get(`/fulfillment_policy`, {\r\n params: {\r\n marketplace_id: marketplaceId\r\n }\r\n });\r\n }\r\n /**\r\n * This method creates a new fulfillment policy where the policy encapsulates seller's terms for fulfilling item\r\n * purchases.\r\n *\r\n * @param body Request to create a seller account fulfillment policy.\r\n */\r\n createFulfillmentPolicy(body) {\r\n return this.post(`/fulfillment_policy`, body);\r\n }\r\n /**\r\n * This method updates an existing fulfillment policy.\r\n *\r\n * @param fulfillmentPolicyId This path parameter specifies the ID of the fulfillment policy you want to update.\r\n * @param body Request to create a seller account fulfillment policy.\r\n */\r\n updateFulfillmentPolicy(fulfillmentPolicyId, body) {\r\n const id = encodeURIComponent(fulfillmentPolicyId);\r\n return this.put(`/fulfillment_policy/${id}`, body);\r\n }\r\n /**\r\n * This method deletes a fulfillment policy.\r\n *\r\n * @param fulfillmentPolicyId This path parameter specifies the ID of the fulfillment policy to delete.\r\n */\r\n deleteFulfillmentPolicy(fulfillmentPolicyId) {\r\n const id = encodeURIComponent(fulfillmentPolicyId);\r\n return this.delete(`/fulfillment_policy/${id}`);\r\n }\r\n /**\r\n * This method retrieves the complete details of a fulfillment policy.\r\n * Supply the ID of the policy you want to retrieve using the fulfillmentPolicyId path parameter.\r\n *\r\n * @param fulfillmentPolicyId This path parameter specifies the ID of the fulfillment policy you want to retrieve.\r\n */\r\n getFulfillmentPolicy(fulfillmentPolicyId) {\r\n return this.get(`/fulfillment_policy/${fulfillmentPolicyId}`);\r\n }\r\n /**\r\n * This method retrieves the complete details for a single fulfillment policy.\r\n *\r\n * @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.\r\n * @param name This query parameter specifies the user-defined name of the fulfillment policy you want to retrieve.\r\n */\r\n getFulfillmentPolicyByName(marketplaceId, name) {\r\n return this.get(`/fulfillment_policy/get_by_policy_name`, {\r\n params: {\r\n marketplace_id: marketplaceId,\r\n name\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves all the payment policies configured for the marketplace you specify using the\r\n * marketplace_id query parameter.\r\n *\r\n * @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.\r\n */\r\n getPaymentPolicies(marketplaceId) {\r\n return this.get(`/payment_policy`, {\r\n params: {\r\n marketplace_id: marketplaceId\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the complete details of a payment policy. Supply the ID of the policy you want to retrieve\r\n * using the paymentPolicyId path parameter.\r\n *\r\n * @param paymentPolicyId This path parameter specifies the ID of the payment policy you want to retrieve.\r\n */\r\n getPaymentPolicy(paymentPolicyId) {\r\n paymentPolicyId = encodeURIComponent(paymentPolicyId);\r\n return this.get(`/payment_policy/${paymentPolicyId}`);\r\n }\r\n /**\r\n * This method creates a new payment policy where the policy encapsulates seller's terms for purchase payments.\r\n *\r\n * @param body Payment policy request\r\n */\r\n createPaymentPolicy(body) {\r\n return this.post(`/payment_policy`, body);\r\n }\r\n /**\r\n * This method updates an existing payment policy.\r\n *\r\n * @param paymentPolicyId This path parameter specifies the ID of the payment policy you want to update.\r\n * @param body Payment policy request\r\n */\r\n updatePaymentPolicy(paymentPolicyId, body) {\r\n paymentPolicyId = encodeURIComponent(paymentPolicyId);\r\n return this.put(`/payment_policy/${paymentPolicyId}`, body);\r\n }\r\n /**\r\n * This method updates an existing payment policy.\r\n *\r\n * @param paymentPolicyId This path parameter specifies the ID of the payment policy you want to delete.\r\n */\r\n deletePaymentPolicy(paymentPolicyId) {\r\n paymentPolicyId = encodeURIComponent(paymentPolicyId);\r\n return this.delete(`/payment_policy/${paymentPolicyId}`);\r\n }\r\n /**\r\n * This method retrieves the complete details of a single payment policy.\r\n *\r\n * @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.\r\n * @param name This query parameter specifies the user-defined name of the payment policy you want to retrieve.\r\n */\r\n getPaymentPolicyByName(marketplaceId, name) {\r\n return this.get(`/payment_policy/get_by_policy_name`, {\r\n params: {\r\n marketplace_id: marketplaceId,\r\n name\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns whether or not the user is opted-in to the payment program.\r\n *\r\n * @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.\r\n * @param paymentsProgramType This path parameter specifies the payments program whose status is returned by the\r\n * call.\r\n */\r\n getPaymentsProgram(marketplaceId, paymentsProgramType) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n const type = encodeURIComponent(paymentsProgramType);\r\n return this.get(`/payments_program/${marketplaceId}/${type}`);\r\n }\r\n /**\r\n * This method retrieves a seller's onboarding status of eBay managed payments for a specified marketplace.\r\n *\r\n * @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.\r\n * @param paymentsProgramType This path parameter specifies the payments program whose status is returned by the\r\n * call.\r\n */\r\n getPaymentsProgramOnboarding(marketplaceId, paymentsProgramType) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n const type = encodeURIComponent(paymentsProgramType);\r\n return this.get(`/payments_program/${marketplaceId}/${type}/onboarding`);\r\n }\r\n /**\r\n * This method retrieves the seller's current set of privileges.\r\n */\r\n getPrivileges() {\r\n return this.get(`/privilege`);\r\n }\r\n /**\r\n * This method gets a list of the seller programs that the seller has opted-in to.\r\n */\r\n getOptedInPrograms() {\r\n return this.get(`/program/get_opted_in_programs`);\r\n }\r\n /**\r\n * This method opts the seller in to an eBay seller program.\r\n *\r\n * @param body Program being opted-in to.\r\n */\r\n optInToProgram(body) {\r\n return this.post(`/program/opt_in`, body);\r\n }\r\n /**\r\n * This method opts the seller out of a seller program to which you have previously opted-in to.\r\n *\r\n * @param body Program being opted-out of.\r\n */\r\n optOutOfProgram(body) {\r\n return this.post(`/program/opt_out`, body);\r\n }\r\n /**\r\n * This method retrieves a seller's shipping rate tables for the country specified in the country_code query\r\n * parameter.\r\n *\r\n * @param countryCode This query parameter specifies the two-letter ISO 3166-1 Alpha-2 code of country for which\r\n * you want shipping-rate table information.\r\n */\r\n getRateTables(countryCode) {\r\n return this.get(`/rate_table`, {\r\n params: {\r\n country_code: countryCode\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves all the return policies configured for the marketplace you specify using the\r\n * marketplace_id query parameter.\r\n *\r\n * @param marketplaceId This query parameter specifies the ID of the eBay marketplace of the policy you want to\r\n * retrieve.\r\n */\r\n getReturnPolicies(marketplaceId) {\r\n return this.get(`/return_policy`, {\r\n params: {\r\n marketplace_id: marketplaceId\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the complete details of the return policy specified by the returnPolicyId path parameter.\r\n *\r\n * @param returnPolicyId This path parameter specifies the of the return policy you want to retrieve.\r\n */\r\n getReturnPolicy(returnPolicyId) {\r\n returnPolicyId = encodeURIComponent(returnPolicyId);\r\n return this.get(`/return_policy/${returnPolicyId}`);\r\n }\r\n /**\r\n * This method creates a new return policy where the policy encapsulates seller's terms for returning items.\r\n *\r\n * @param body Return policy request\r\n */\r\n createReturnPolicy(body) {\r\n return this.post(`/return_policy`, body);\r\n }\r\n /**\r\n * This method creates a new return policy where the policy encapsulates seller's terms for returning items.\r\n *\r\n * @param returnPolicyId This path parameter specifies the ID of the return policy you want to update.\r\n * @param body Return policy request\r\n */\r\n updateReturnPolicy(returnPolicyId, body) {\r\n returnPolicyId = encodeURIComponent(returnPolicyId);\r\n return this.put(`/return_policy/${returnPolicyId}`, body);\r\n }\r\n /**\r\n * This method deletes a return policy.\r\n *\r\n * @param returnPolicyId This path parameter specifies the ID of the return policy you want to delete.\r\n */\r\n deleteReturnPolicy(returnPolicyId) {\r\n returnPolicyId = encodeURIComponent(returnPolicyId);\r\n return this.delete(`/return_policy/${returnPolicyId}`);\r\n }\r\n /**\r\n * This method retrieves the complete details of a single return policy.\r\n *\r\n * @param marketplaceId This query parameter specifies the ID of the eBay marketplace of the policy you want to\r\n * retrieve.\r\n * @param name This query parameter specifies the user-defined name of the return policy you want to retrieve.\r\n */\r\n getReturnPolicyByName(marketplaceId, name) {\r\n return this.get(`/return_policy/get_by_policy_name`, {\r\n params: {\r\n marketplace_id: marketplaceId,\r\n name\r\n }\r\n });\r\n }\r\n /**\r\n * This call gets the current tax table entry for a specific tax jurisdiction.\r\n *\r\n * @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 code for the country whose\r\n * tax table you want to retrieve.\r\n * @param jurisdictionId This path parameter specifies the ID of the sales tax jurisdiction for the tax table entry\r\n * you want to retrieve.\r\n */\r\n getSalesTax(countryCode, jurisdictionId) {\r\n countryCode = encodeURIComponent(countryCode);\r\n jurisdictionId = encodeURIComponent(jurisdictionId);\r\n return this.get(`/sales_tax/${countryCode}/${jurisdictionId}`);\r\n }\r\n /**\r\n * This method creates or updates a sales tax table entry for a jurisdiction.\r\n *\r\n * @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 code for the country for\r\n * which you want to create tax table entry.\r\n * @param jurisdictionId This path parameter specifies the ID of the sales-tax jurisdiction for the table entry you\r\n * want to create.\r\n * @param body A container that describes the how the sales tax is calculated.\r\n */\r\n createOrReplaceSalesTax(countryCode, jurisdictionId, body) {\r\n countryCode = encodeURIComponent(countryCode);\r\n jurisdictionId = encodeURIComponent(jurisdictionId);\r\n return this.put(`/sales_tax/${countryCode}/${jurisdictionId}`, body);\r\n }\r\n /**\r\n * This call deletes a tax table entry for a jurisdiction.\r\n *\r\n * @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 code for the country for\r\n * which you want to create tax table entry.\r\n * @param jurisdictionId This path parameter specifies the ID of the sales-tax jurisdiction for the table entry you\r\n * want to delete.\r\n */\r\n deleteSalesTax(countryCode, jurisdictionId) {\r\n countryCode = encodeURIComponent(countryCode);\r\n jurisdictionId = encodeURIComponent(jurisdictionId);\r\n return this.delete(`/sales_tax/${countryCode}/${jurisdictionId}`);\r\n }\r\n /**\r\n * Use this call to retrieve a sales tax table that the seller established for a specific country.\r\n *\r\n * @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 code for the country whose\r\n * tax table you want to retrieve.\r\n */\r\n getSalesTaxes(countryCode) {\r\n return this.get(`/sales_tax`, {\r\n params: {\r\n country_code: countryCode\r\n }\r\n });\r\n }\r\n /**\r\n * his method is used by sellers onboarded for eBay managed payments, or sellers who are currently going through, or who are eligible for onboarding for eBay managed payments.\r\n */\r\n getKYC() {\r\n return this.get(`/kyc`);\r\n }\r\n}\r\nexports.default = Account;\r\nAccount.id = 'Account';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Analytics API provides information about a seller's business performance.\r\n */\r\nclass Analytics extends __1.default {\r\n get basePath() {\r\n return '/sell/analytics/v1';\r\n }\r\n /**\r\n * This call retrieves all the profiles for the associated seller.\r\n */\r\n findSellerStandardsProfiles() {\r\n return this.get(`/seller_standards_profile`);\r\n }\r\n /**\r\n * This call retrieves seller's profiles based on a program or cycle.\r\n *\r\n * @param program Specifies the program of the requested profile.\r\n * @param cycle Specifies the cycle of the requested profile.\r\n */\r\n getSellerStandardsProfile(program, cycle) {\r\n program = encodeURIComponent(program);\r\n cycle = encodeURIComponent(cycle);\r\n return this.get(`/seller_standards_profile/${program}/${cycle}`);\r\n }\r\n /**\r\n * This call returns a report that details the user-traffic a seller's listings receives.\r\n *\r\n * @param dimension Specifies the basis of the report data.\r\n * @param filter Limits the report data returned.\r\n * @param metric Specifies a comma separated list of the metrics you want included in the report.\r\n * @param sort Specifies a single metric to be sorted and whether you want to sort in ascending or descending order.\r\n */\r\n getTrafficReport({ dimension, filter, metric, sort } = {}) {\r\n return this.get(`/traffic_report`, {\r\n params: {\r\n dimension,\r\n filter,\r\n metric,\r\n sort\r\n }\r\n });\r\n }\r\n /**\r\n * Use this method to retrieve a seller's performance and rating for the customer service metric.\r\n *\r\n * @param customerServiceMetricType Use this path parameter to specify the type of customer service metrics and benchmark data you want returned for the seller.\r\n * @param evaluationType Use this query parameter to specify the Marketplace ID to evaluate for the customer service metrics and benchmark data.\r\n */\r\n getCustomerServiceMetric(customerServiceMetricType, evaluationType) {\r\n return this.get(`/customer_service_metric/${customerServiceMetricType}/${evaluationType}`);\r\n }\r\n}\r\nexports.default = Analytics;\r\nAnalytics.id = 'Analytics';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Service for providing the compliance violations of seller account/listings\r\n */\r\nclass Compliance extends __1.default {\r\n get basePath() {\r\n return '/sell/compliance/v1';\r\n }\r\n /**\r\n * This call returns listing violation counts for a seller.\r\n *\r\n * @param complianceType A user passes in one or more compliance type values through this query parameter.\r\n */\r\n getListingViolationsSummary(complianceType) {\r\n return this.get(`/listing_violation_summary`, {\r\n params: {\r\n compliance_type: complianceType\r\n }\r\n });\r\n }\r\n /**\r\n * This call returns specific listing violations for five different compliance types.\r\n *\r\n * @param complianceType A user passes in one or more compliance type values through this query parameter.\r\n * @param offset The first policy violation to return based on its position in the collection of listing\r\n * violations.\r\n * @param listingId\r\n * @param limit This query parameter is used if the user wants to set a limit on the number of listing violations\r\n * that are returned in the current result set.\r\n */\r\n getListingViolations({ complianceType, offset, listingId, limit } = {}) {\r\n return this.get(`/listing_violation`, {\r\n params: {\r\n compliance_type: complianceType,\r\n offset,\r\n listing_id: listingId,\r\n limit\r\n }\r\n });\r\n }\r\n /**\r\n * This call suppresses a listing violation for a specific listing. Only listing violations in the AT_RISK state (returned in the violations.complianceState field of the getListingViolations call) can be suppressed.\r\n *\r\n * @param body SuppressViolationRequest\r\n */\r\n suppressViolation(body) {\r\n return this.post(`/suppress_listing_violation`, body);\r\n }\r\n}\r\nexports.default = Compliance;\r\nCompliance.id = 'Compliance';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Finances API is used by sellers in eBay's managed payments program to retrieve seller payout information.\r\n *\r\n * https://api.ebay.com/oauth/api_scope/sell.finances\r\n *\r\n */\r\nclass Finances extends __1.default {\r\n get basePath() {\r\n return '/sell/finances/v1';\r\n }\r\n get subdomain() {\r\n return 'apiz';\r\n }\r\n /**\r\n * Use this call to retrieve the details of a specific seller payout.\r\n *\r\n * @param payoutId The unique identifier of the payout.\r\n */\r\n getPayout(payoutId) {\r\n payoutId = encodeURIComponent(payoutId);\r\n return this.get(`/payout/${payoutId}`);\r\n }\r\n /**\r\n * Use this call to search for and retrieve one or more payout based on their payout date,\r\n * or payout status using the filter parameter.\r\n *\r\n * @param filter One or more comma-separated criteria for narrowing down the collection of payout returned by this\r\n * call.\r\n * @param limit The number of payouts to return per page of the result set.\r\n * @param offset Specifies the number of payouts to skip in the result set before returning the first payout in the\r\n * paginated response.\r\n * @param sort Allows sorting by payouts date in descending order with '-payoutDate' (default) and ascending with 'payoutDate'\r\n */\r\n getPayouts({ filter, limit, offset, sort, } = {}) {\r\n return this.get(`/payout`, {\r\n params: {\r\n filter,\r\n limit,\r\n offset,\r\n sort,\r\n },\r\n });\r\n }\r\n /**\r\n * Search for and retrieve the details of multiple payouts.\r\n * *\r\n * @param filter One or more comma-separated criteria for narrowing down the collection of payout returned by this\r\n * call.\r\n */\r\n getPayoutSummary({ filter, } = {}) {\r\n return this.get(`/payout_summary`, { params: { filter } });\r\n }\r\n /**\r\n * Retrieve details of one or more monetary transactions.\r\n * @param filter One or more comma-separated criteria for narrowing down the collection of transaction returned by this\r\n * call.\r\n * @param limit The number of transaction to return per page of the result set.\r\n * @param offset Specifies the number of payouts to skip in the result set before returning the first transaction in the\r\n * paginated response.\r\n * @param sort Allows sorting by transaction date in descending order with '-transactionDate' (default) and ascending with 'transactionDate'\r\n */\r\n getTransactions({ filter, limit, offset, sort } = {}) {\r\n return this.get(`/transaction`, {\r\n params: {\r\n filter,\r\n limit,\r\n offset,\r\n sort,\r\n },\r\n });\r\n }\r\n /**\r\n * Retrieve total counts and values of the seller's order sales, seller credits, buyer refunds, and payment holds.\r\n * @param filter One or more comma-separated criteria for narrowing down the collection of transaction returned by this\r\n * call.\r\n * @param limit The number of transaction to return per page of the result set.\r\n */\r\n getTransactionSummary({ filter, } = {}) {\r\n return this.get(`/transaction_summary`, {\r\n params: {\r\n filter,\r\n },\r\n });\r\n }\r\n /**\r\n * Retrieve detailed information on a TRANSFER transaction type.\r\n *\r\n * @param transferId The unique identifier of the transfer.\r\n */\r\n getTransfer(transferId) {\r\n transferId = encodeURIComponent(transferId);\r\n return this.get(`/transfer/${transferId}`);\r\n }\r\n /**\r\n * Retrieve all pending funds that have not yet been distributed through a seller payout.\r\n */\r\n getSellerFundsSummary() {\r\n return this.get(`/seller_funds_summary`);\r\n }\r\n}\r\nexports.default = Finances;\r\nFinances.id = 'Finances';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\nconst request_1 = require(\"../../../../request\");\r\n/**\r\n * Use the Fulfillment API to complete the process of packaging, addressing, handling, and shipping each order on\r\n * behalf of the seller, in accordance with the payment method and timing specified at checkout.\r\n *\r\n * https://api.ebay.com/oauth/api_scope/sell.fulfillment\r\n * https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly\r\n *\r\n */\r\nclass Fulfillment extends __1.default {\r\n get basePath() {\r\n return '/sell/fulfillment/v1';\r\n }\r\n /**\r\n * Use this call to retrieve the contents of an order based on its unique identifier, orderId.\r\n *\r\n * @param orderId The unique identifier of the order.\r\n * @param fieldGroups The response type associated with the order. The only presently supported value is <code>TAX_BREAKDOWN</code>.\r\n */\r\n getOrder(orderId, { fieldGroups } = {}) {\r\n return this.get(`/order/${orderId}`, {\r\n params: {\r\n fieldGroups\r\n }\r\n });\r\n }\r\n /**\r\n * Use this call to search for and retrieve one or more orders based on their creation date, last modification\r\n * date,\r\n * or fulfillment status using the filter parameter.\r\n *\r\n * @param filter One or more comma-separated criteria for narrowing down the collection of orders returned by this\r\n * call.\r\n * @param limit The number of orders to return per page of the result set.\r\n * @param offset Specifies the number of orders to skip in the result set before returning the first order in the\r\n * paginated response.\r\n * @param orderIds A comma-separated list of the unique identifiers of the orders to retrieve (maximum 50).\r\n */\r\n getOrders({ filter, limit, offset, orderIds, fieldGroups, } = {}) {\r\n return this.get(`/order`, {\r\n params: {\r\n filter,\r\n limit,\r\n offset,\r\n orderIds: Array.isArray(orderIds) ? orderIds.join() : orderIds,\r\n fieldGroups\r\n },\r\n });\r\n }\r\n /**\r\n * This method allows a seller (opted in to eBay Managed Payments) to issue a full or partial refund to a buyer for\r\n * an order. auth: https://api.ebay.com/oauth/api_scope/sell.finances\r\n *\r\n * @param orderId The unique identifier of the order. Order IDs are returned in the getOrders method (and GetOrders\r\n * call of Trading API).\r\n * @param body IssueRefundRequest\r\n */\r\n issueRefund(orderId, body) {\r\n orderId = encodeURIComponent(orderId);\r\n return this.post(`/order/${orderId}/issue_refund`, body);\r\n }\r\n /**\r\n * Use this call to retrieve the contents of all fulfillments currently defined for a specified order based on the\r\n * order's unique identifier, orderId.\r\n *\r\n * @param orderId The unique identifier of the order.\r\n */\r\n getShippingFulfillments(orderId) {\r\n orderId = encodeURIComponent(orderId);\r\n return this.get(`/order/${orderId}/shipping_fulfillment`);\r\n }\r\n /**\r\n * Create a Shipping Fulfillment\r\n *\r\n * @param orderId The unique identifier of the order.\r\n * @param body fulfillment payload\r\n */\r\n createShippingFulfillment(orderId, body) {\r\n orderId = encodeURIComponent(orderId);\r\n return this.post(`/order/${orderId}/shipping_fulfillment`, body);\r\n }\r\n /**\r\n * Use this call to retrieve the contents of a fulfillment based on its unique identifier, fulfillmentId (combined\r\n * with the associated order's orderId).\r\n *\r\n * @param orderId The unique identifier of the order.\r\n * @param fulfillmentId The unique identifier of the fulfillment.\r\n */\r\n getShippingFulfillment(orderId, fulfillmentId) {\r\n orderId = encodeURIComponent(orderId);\r\n fulfillmentId = encodeURIComponent(fulfillmentId);\r\n return this.get(`/order/${orderId}/shipping_fulfillment/${fulfillmentId}`);\r\n }\r\n /**\r\n * This method retrieves detailed information on a specific payment dispute.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n */\r\n getPaymentDispute(paymentDisputeId) {\r\n return this.get(`/payment_dispute/${paymentDisputeId}`);\r\n }\r\n /**\r\n * This call retrieves a specific evidence file for a payment dispute.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n */\r\n fetchEvidenceContent(paymentDisputeId) {\r\n return this.get(`/payment_dispute/${paymentDisputeId}/fetch_evidence_content`);\r\n }\r\n /**\r\n * This method retrieve a log of activity for a payment dispute.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n */\r\n getActivities(paymentDisputeId) {\r\n return this.get(`/payment_dispute/${paymentDisputeId}/activity`);\r\n }\r\n /**\r\n * This method is used retrieve one or more payment disputes filed against the seller.\r\n *\r\n * @param orderId This filter is used if the seller wishes to retrieve one or more payment disputes filed against a specific order.\r\n * @param buyerUsername This filter is used if the seller wishes to retrieve one or more payment disputes opened by a specific seller.\r\n * @param openDateFrom The <b>open_date_from</b> and/or <b>open_date_to</b> date filters are used if the seller wishes to retrieve payment disputes opened within a specific date range.\r\n * @param paymentDisputeStatus The <b>open_date_from</b> and/or <b>open_date_to</b> date filters are used if the seller wishes to retrieve payment disputes opened within a specific date range.\r\n * @param paymentDisputeStatus his filter is used if the seller wishes to only retrieve payment disputes in a specific state.\r\n * @param limit The value passed in this query parameter sets the maximum number of payment disputes to return per page of data.\r\n * @param offset This field is used to specify the number of records to skip in the result set before returning the first payment dispute in the paginated response.\r\n */\r\n getPaymentDisputeSummaries({ orderId: order_id, buyerUsername: buyer_username, openDateFrom: open_date_from, openDateTo: open_date_to, paymentDisputeStatus: payment_dispute_status, limit, offset }) {\r\n return this.get(`/payment_dispute_summary`, {\r\n params: {\r\n order_id,\r\n buyer_username,\r\n open_date_from,\r\n open_date_to,\r\n payment_dispute_status,\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method is used if the seller wishes to contest a payment dispute initiated by the buyer.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n * @param body This is the unique identifier of the payment dispute.\r\n */\r\n contestPaymentDispute(paymentDisputeId, body) {\r\n return this.post(`/payment_dispute/${paymentDisputeId}/contest`, body);\r\n }\r\n /**\r\n * This method is used if the seller wishes to accept a payment dispute.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n */\r\n acceptPaymentDispute(paymentDisputeId) {\r\n return this.post(`/payment_dispute/${paymentDisputeId}/accept`);\r\n }\r\n /**\r\n * This method is used to upload an evidence file for a contested payment dispute.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n * @param data uploads an encrypted, binary image file (using multipart/form-data HTTP request header)\r\n */\r\n uploadEvidenceFile(paymentDisputeId, data) {\r\n return this.post(`/payment_dispute/${paymentDisputeId}/upload_evidence_file`, data, {\r\n headers: {\r\n ...request_1.multipartHeader\r\n }\r\n });\r\n }\r\n /**\r\n * This method is used by the seller to add one or more evidence files to address a payment dispute initiated by the buyer.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n * @param body AddEvidencePaymentDisputeRequest\r\n */\r\n addEvidence(paymentDisputeId, body) {\r\n return this.post(`/payment_dispute/${paymentDisputeId}/add_evidence`, body);\r\n }\r\n /**\r\n * This method is used by the seller to update an existing evidence set for a payment dispute with one or more evidence files.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n * @param body AddEvidencePaymentDisputeRequest\r\n */\r\n updateEvidence(paymentDisputeId, body) {\r\n return this.post(`/payment_dispute/${paymentDisputeId}/update_evidence`, body);\r\n }\r\n}\r\nexports.default = Fulfillment;\r\nFulfillment.id = 'Fulfillment';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Inventory API is used to create and manage inventory, and then to publish and manage this inventory on an eBay\r\n * marketplace.\r\n */\r\nclass Inventory extends __1.default {\r\n get basePath() {\r\n return '/sell/inventory/v1';\r\n }\r\n /**\r\n * This call retrieves all defined details of the inventory location that is specified by the\r\n * <b>merchantLocationKey</b> path parameter.\r\n *\r\n * @param merchantLocationKey A unique merchant-defined key (ID) for an inventory location.\r\n */\r\n getInventoryLocation(merchantLocationKey) {\r\n const key = encodeURIComponent(merchantLocationKey);\r\n return this.get(`/location/${key}`);\r\n }\r\n /**\r\n * <p>This call disables the inventory location that is specified in the <code>merchantLocationKey</code> path\r\n * parameter.\r\n *\r\n * @param merchantLocationKey A unique merchant-defined key (ID) for an inventory location.\r\n */\r\n disableInventoryLocation(merchantLocationKey) {\r\n const key = encodeURIComponent(merchantLocationKey);\r\n return this.post(`/location/${key}/disable`);\r\n }\r\n /**\r\n * <p>This call enables a disabled inventory location that is specified in the <code>merchantLocationKey</code>\r\n * path parameter.\r\n *\r\n * @param merchantLocationKey A unique merchant-defined key (ID) for an inventory location.\r\n */\r\n enableInventoryLocation(merchantLocationKey) {\r\n const key = encodeURIComponent(merchantLocationKey);\r\n return this.post(`/location/${key}/enable`);\r\n }\r\n /**\r\n * This call retrieves all defined details for every inventory location associated with the seller's account.\r\n *\r\n * @param limit The value passed in this query parameter sets the maximum number of records to return per page of\r\n * data.\r\n * @param offset The value passed in this query parameter sets the page number to retrieve.\r\n */\r\n getInventoryLocations({ limit, offset, } = {}) {\r\n return this.get(`/location`, {\r\n params: {\r\n limit,\r\n offset,\r\n },\r\n });\r\n }\r\n /**\r\n * <p>Use this call to create a new inventory location.\r\n *\r\n * @param merchantLocationKey A unique merchant-defined key (ID) for an inventory location.\r\n * @param body Inventory Location details\r\n */\r\n createInventoryLocation(merchantLocationKey, body) {\r\n const key = encodeURIComponent(merchantLocationKey);\r\n return this.post(`/location/${key}`, body);\r\n }\r\n /**\r\n * <p>This call deletes the inventory location that is specified in the <code>merchantLocationKey</code> path\r\n * parameter.\r\n *\r\n * @param merchantLocationKey A unique merchant-defined key (ID) for an inventory location.\r\n */\r\n deleteInventoryLocation(merchantLocationKey) {\r\n const key = encodeURIComponent(merchantLocationKey);\r\n return this.delete(`/location/${key}`);\r\n }\r\n /**\r\n * <p>Use this call to update non-physical location details for an existing inventory location.\r\n *\r\n * @param merchantLocationKey A unique merchant-defined key (ID) for an inventory location.\r\n * @param body The inventory location details to be updated (other than the address and geo co-ordinates).\r\n */\r\n updateInventoryLocation(merchantLocationKey, body) {\r\n const key = encodeURIComponent(merchantLocationKey);\r\n return this.post(`/location/${key}/update_location_details`, body);\r\n }\r\n /**\r\n * This call retrieves the inventory item record for a given SKU.\r\n *\r\n * @param sku his is the seller-defined SKU value of the product whose inventory item record you wish to\r\n * retrieve.<br/><br/><strong>Max length</strong>: 50.\r\n */\r\n getInventoryItem(sku) {\r\n sku = encodeURIComponent(sku);\r\n return this.get(`/inventory_item/${sku}`);\r\n }\r\n /**\r\n * This call creates a new inventory item record or replaces an existing inventory item record.\r\n *\r\n * @param sku The seller-defined SKU value for the inventory item is required whether the seller is creating a new\r\n * inventory item, or updating an existing inventory item.\r\n * @param body Details of the inventory item record.\r\n */\r\n createOrReplaceInventoryItem(sku, body) {\r\n sku = encodeURIComponent(sku);\r\n return this.put(`/inventory_item/${sku}`, body);\r\n }\r\n /**\r\n * This call is used to delete an inventory item record associated with a specified SKU.\r\n *\r\n * @param sku The seller-defined SKU value for the inventory item is required whether the seller is creating a new\r\n * inventory item, or updating an existing inventory item.\r\n */\r\n deleteInventoryItem(sku) {\r\n sku = encodeURIComponent(sku);\r\n return this.delete(`/inventory_item/${sku}`);\r\n }\r\n /**\r\n * This call retrieves all inventory item records defined for the seller's account.\r\n *\r\n * @param limit The value passed in this query parameter sets the maximum number of records to return per page of\r\n * data.\r\n * @param offset The value passed in this query parameter sets the page number to retrieve.\r\n */\r\n getInventoryItems({ limit, offset, } = {}) {\r\n return this.get(`/inventory_item`, {\r\n params: {\r\n limit,\r\n offset,\r\n },\r\n });\r\n }\r\n /**\r\n * This call is used by the seller to update the total ship-to-home quantity of one inventory item,\r\n * and/or to update the price and/or quantity of one or more offers associated with one inventory item.\r\n *\r\n * @param body BulkPriceQuantity\r\n */\r\n bulkUpdatePriceQuantity(body) {\r\n return this.post(`/bulk_update_price_quantity`, body);\r\n }\r\n /**\r\n * This call can be used to create and/or update up to 25 new inventory item records.\r\n *\r\n * @param body BulkInventoryItem\r\n */\r\n bulkCreateOrReplaceInventoryItem(body) {\r\n return this.post(`/bulk_create_or_replace_inventory_item`, body);\r\n }\r\n /**\r\n * This call retrieves up to 25 inventory item records. The SKU value of each inventory item record to retrieve is\r\n * specified in the request payload.\r\n *\r\n * @param body BulkInventoryItem\r\n */\r\n bulkGetInventoryItem(body) {\r\n return this.post(`/bulk_get_inventory_item`, body);\r\n }\r\n /**\r\n * This call is used by the seller to retrieve the list of products that are compatible with the inventory item.\r\n *\r\n * @param sku A SKU (stock keeping unit) is an unique identifier defined by a seller for a product\r\n */\r\n getProductCompatibility(sku) {\r\n sku = encodeURIComponent(sku);\r\n return this.get(`/inventory_item/${sku}/product_compatibility`);\r\n }\r\n /**\r\n * This call is used by the seller to create or replace a list of products that are compatible with the inventory\r\n * item.\r\n *\r\n * @param sku A SKU (stock keeping unit) is an unique identifier defined by a seller for a product\r\n * @param body Details of the compatibility\r\n */\r\n createOrReplaceProductCompatibility(sku, body) {\r\n sku = encodeURIComponent(sku);\r\n return this.put(`/inventory_item/${sku}/product_compatibility`, body);\r\n }\r\n /**\r\n * This call is used by the seller to delete the list of products that are compatible with the inventory item that\r\n * is associated with the compatible product list.\r\n *\r\n * @param sku A SKU (stock keeping unit) is an unique identifier defined by a seller for a product\r\n */\r\n deleteProductCompatibility(sku) {\r\n sku = encodeURIComponent(sku);\r\n return this.delete(`/inventory_item/${sku}/product_compatibility`);\r\n }\r\n /**\r\n * This call retrieves all existing offers for the specified SKU value.\r\n *\r\n * @param sku The seller-defined SKU value is passed in as a query parameter.\r\n * @param marketplace_id The unique identifier of the eBay marketplace.\r\n * @param format This enumeration value sets the listing format for the offer.\r\n * @param limit The value passed in this query parameter sets the maximum number of records to return per page of\r\n * data.\r\n * @param offset The value passed in this query parameter sets the page number to retrieve.\r\n */\r\n getOffers({ sku, marketplaceId, format, limit, offset, } = {}) {\r\n return this.get(`/offer`, {\r\n params: {\r\n sku,\r\n marketplace_id: marketplaceId,\r\n format,\r\n limit,\r\n offset,\r\n },\r\n });\r\n }\r\n /**\r\n * This call retrieves a specific published or unpublished offer.\r\n *\r\n * @param offerId The unique identifier of the offer that is to be retrieved.\r\n */\r\n getOffer(offerId) {\r\n offerId = encodeURIComponent(offerId);\r\n return this.get(`/offer/${offerId}`);\r\n }\r\n /**\r\n * This call creates an offer for a specific inventory item on a specific eBay marketplace.\r\n *\r\n * @param body Details of the offer for the channel\r\n */\r\n createOffer(body) {\r\n return this.post(`/offer`, body);\r\n }\r\n /**\r\n * This call updates an existing offer.\r\n *\r\n * @param offerId The unique identifier of the offer that is being updated.\r\n * @param body Details of the offer for the channel\r\n */\r\n updateOffer(offerId, body) {\r\n offerId = encodeURIComponent(offerId);\r\n return this.put(`/offer/${offerId}`, body);\r\n }\r\n /**\r\n * If used against an unpublished offer, this call will permanently delete that offer.\r\n *\r\n * @param offerId The unique identifier of the offer to delete.\r\n */\r\n deleteOffer(offerId) {\r\n return this.delete(`/offer/${offerId}`);\r\n }\r\n /**\r\n * This call is used to convert an unpublished offer into a published offer, or live eBay listing.\r\n *\r\n * @param offerId The unique identifier of the offer that is to be published.\r\n */\r\n publishOffer(offerId) {\r\n const id = encodeURIComponent(offerId);\r\n return this.post(`/offer/${id}/publish/`);\r\n }\r\n /**\r\n * This call is used to convert all unpublished offers associated with an inventory item group into an active,\r\n * multiple-variation listing.\r\n *\r\n * @param body PublishByInventoryItemGroupRequest\r\n */\r\n publishOfferByInventoryItemGroup(body) {\r\n return this.post(`/offer/publish_by_inventory_item_group/`, body);\r\n }\r\n /**\r\n * This call is used to end a multiple-variation eBay listing that is associated with the specified inventory item\r\n * group.\r\n *\r\n * @param body WithdrawByInventoryItemGroupRequest\r\n */\r\n withdrawOfferByInventoryItemGroup(body) {\r\n return this.post(`/offer/withdraw_by_inventory_item_group`, body);\r\n }\r\n /**\r\n * This call is used to retrieve the expected listing fees for up to 250 unpublished offers.\r\n *\r\n * @param body OfferKeysWithId\r\n */\r\n getListingFees(body) {\r\n return this.post(`/offer/get_listing_fees`, body);\r\n }\r\n /**\r\n * This call creates multiple offers (up to 25) for specific inventory items on a specific eBay marketplace.\r\n *\r\n * @param body BulkEbayOfferDetailsWithKeys\r\n */\r\n bulkCreateOffer(body) {\r\n return this.post(`/bulk_create_offer`, body);\r\n }\r\n /**\r\n * This call is used to convert unpublished offers (up to 25) into published offers, or live eBay listings.\r\n *\r\n * @param body BulkOffer\r\n */\r\n bulkPublishOffer(body) {\r\n return this.post(`/bulk_publish_offer`, body);\r\n }\r\n /**\r\n * This call is used to end a single-variation listing that is associated with the specified offer.\r\n *\r\n * @param offerId he unique identifier of the offer that is to be withdrawn.\r\n */\r\n withdrawOffer(offerId) {\r\n const id = encodeURIComponent(offerId);\r\n return this.post(`/offer/${id}/withdraw`);\r\n }\r\n /**\r\n * This call retrieves the inventory item group for a given <strong>inventoryItemGroupKey</strong> value.\r\n *\r\n * @param inventoryItemGroupKey The unique identifier of an inventory item group.\r\n */\r\n getInventoryItemGroup(inventoryItemGroupKey) {\r\n inventoryItemGroupKey = encodeURIComponent(inventoryItemGroupKey);\r\n return this.get(`/inventory_item_group/${inventoryItemGroupKey}`);\r\n }\r\n /**\r\n * This call creates a new inventory item group or updates an existing inventory item group.\r\n *\r\n * @param inventoryItemGroupKey Unique identifier of the inventory item group.\r\n * @param body Details of the inventory Item Group\r\n */\r\n createOrReplaceInventoryItemGroup(inventoryItemGroupKey, body) {\r\n inventoryItemGroupKey = encodeURIComponent(inventoryItemGroupKey);\r\n return this.put(`/inventory_item_group/${inventoryItemGroupKey}`, body);\r\n }\r\n /**\r\n * This call deletes the inventory item group for a given <strong>inventoryItemGroupKey</strong> value.\r\n *\r\n * @param inventoryItemGroupKey Unique identifier of the inventory item group.\r\n */\r\n deleteInventoryItemGroup(inventoryItemGroupKey) {\r\n return this.delete(`/inventory_item_group/${inventoryItemGroupKey}`);\r\n }\r\n /**\r\n * This call is used to convert existing eBay Listings to the corresponding Inventory API objects.\r\n *\r\n * @param body BulkMigrateListing\r\n */\r\n bulkMigrateListing(body) {\r\n return this.post(`/bulk_migrate_listing`, body);\r\n }\r\n}\r\nexports.default = Inventory;\r\nInventory.id = 'Inventory';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * <p>The <i>Marketing API </i> offers two platforms that sellers can use to promote and advertise their products:\r\n * </p> <ul><li><b>Promoted Listings</b> is an eBay ad service that lets sellers set up <i>ad campaigns </i>\r\n * for the products they want to promote. eBay displays the ads in search results and in other\r\n * marketing modules as <b>SPONSORED</b> listings.\r\n */\r\nclass Marketing extends __1.default {\r\n get basePath() {\r\n return '/sell/marketing/v1';\r\n }\r\n /**\r\n * This method creates an ad for each inventory reference ID specified in the request and associates the newly\r\n * created ads with the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created.\r\n * @param body This type defines the fields for the bulkCreateAdsByInventoryReference request.\r\n */\r\n bulkCreateAdsByInventoryReference(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/bulk_create_ads_by_inventory_reference`, body);\r\n }\r\n /**\r\n * This method creates an ad for each listing ID specified in the request and associates the newly created ads with\r\n * the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body The container for the bulk request to create ads for eBay listing IDs. eBay listing IDs are\r\n * generated when the listing is created on eBay.\r\n */\r\n bulkCreateAdsByListingId(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/bulk_create_ads_by_listing_id`, body);\r\n }\r\n /**\r\n * This method deletes a set of ads, as specified by a list of inventory reference IDs, from the specified\r\n * campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body This type defines the fields for a bulkDeleteAdsByInventoryReference request.\r\n */\r\n bulkDeleteAdsByInventoryReference(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/bulk_delete_ads_by_inventory_reference`, body);\r\n }\r\n /**\r\n * This method deletes a set of ads, as specified by a list of listing IDs, from the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body This type defines the fields for the bulkDeleteAdsByListingId request.\r\n */\r\n bulkDeleteAdsByListingId(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/bulk_delete_ads_by_listing_id`, body);\r\n }\r\n /**\r\n * This method replaces an ad bid based on a list of inventory references IDs associated with the specified\r\n * campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created.\r\n * @param body This type defines the fields for the BulkCreateAdsByInventoryReference request.\r\n */\r\n bulkUpdateAdsBidByInventoryReference(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/bulk_update_ads_bid_by_inventory_reference`, body);\r\n }\r\n /**\r\n * This method replaces an ad bid based on a supplied list of listing IDs that are associated with the specified\r\n * campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body Container for the bulk request to update ads.\r\n */\r\n bulkUpdateAdsBidByListingId(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/bulk_update_ads_bid_by_listing_id`, body);\r\n }\r\n /**\r\n * This method retrieves all the ads for the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param limit Specifies the maximum number of ads to return on a page in the paginated response. Default: 10\r\n * Maximum: 500\r\n * @param listingIds A comma separated list of eBay listing IDs. The response includes only active ads (ads\r\n * associated with a RUNNING campaign).\r\n * @param offset Specifies the number of ads to skip in the result set before returning the first ad in the\r\n * paginated response.\r\n */\r\n getAds(campaignId, { limit, listingIds, offset } = {}) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.get(`/ad_campaign/${campaignId}/ad`, {\r\n params: {\r\n limit,\r\n listing_ids: listingIds,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method creates an ad for the specified listing ID, sets the bid percentage for that specific item, and\r\n * associates the ad with the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body This type defines the fields for the createAd request.\r\n */\r\n createAdByListingId(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/ad`, body);\r\n }\r\n /**\r\n * This method creates an ad for the specified inventory reference ID, sets the bid percentage for that specific\r\n * item, and associates the ad with the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body This type defines the fields for the createAdsByInventoryReference request.\r\n */\r\n createAdsByInventoryReference(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/create_ads_by_inventory_reference`, body);\r\n }\r\n /**\r\n * This method retrieves the specified ad from the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param adId Identifier of an ad. This ID was generated when the ad was created.\r\n */\r\n getAd(campaignId, adId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n adId = encodeURIComponent(adId);\r\n return this.get(`/ad_campaign/${campaignId}/ad/${adId}`);\r\n }\r\n /**\r\n * This method retrieves the specified ad from the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created.\r\n * @param adId Identifier of an ad. This ID was generated when the ad was created.\r\n */\r\n deleteAd(campaignId, adId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n adId = encodeURIComponent(adId);\r\n return this.delete(`/ad_campaign/${campaignId}/ad/${adId}`);\r\n }\r\n /**\r\n * This method deletes ads using a list of seller inventory reference IDs that are associated with the specified\r\n * campaign ID.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n */\r\n deleteAdsByInventoryReference(campaignId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/delete_ads_by_inventory_reference`);\r\n }\r\n /**\r\n * This method retrieves ads from the specified campaign using the seller's inventory reference ID and inventory\r\n * reference type.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param inventoryReferenceId The inventory reference ID associated with the ad you want returned.\r\n * @param inventoryReferenceType The type of the inventory reference ID. Set this value to either INVENTORY_ITEM (a\r\n * single listing) or INVENTORY_ITEM_GROUP (a multi-variation listing).\r\n */\r\n getAdsByInventoryReference(campaignId, inventoryReferenceId, inventoryReferenceType) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.get(`/ad_campaign/${campaignId}/get_ads_by_inventory_reference`, {\r\n params: {\r\n inventory_reference_id: inventoryReferenceId,\r\n inventory_reference_type: inventoryReferenceType\r\n }\r\n });\r\n }\r\n /**\r\n * This method updates the bid for the specified ad in the specified campaign. In the request, supply the\r\n * campaign_id and ad_id as a URI parameters.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param adId A unique eBay-assigned ID for an ad that's generated when an ad is created.\r\n * @param body This type defines the fields for the updateBid request.\r\n */\r\n updateBid(campaignId, adId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n adId = encodeURIComponent(adId);\r\n return this.post(`/ad_campaign/${campaignId}/ad/${adId}/update_bid`, body);\r\n }\r\n /**\r\n * This method clones (makes a copy of) the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body This type defines the fields for a clone campaign request.\r\n */\r\n cloneCampaign(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/clone`, body);\r\n }\r\n /**\r\n * This method retrieves the details for all the campaigns of a seller, including the campaign's the selection\r\n * rules.\r\n *\r\n * @param campaignName Specifies the campaign name. The results are filtered to include only the campaign by the\r\n * specified name.\r\n * @param campaignStatus Specifies the campaign status. The results are filtered to include only campaigns that are\r\n * in the specified states.\r\n * @param endDateRange Specifies the range of a campaign's end date. The results are filtered to include only\r\n * campaigns with an end date that is within specified range.\r\n * @param limit Specifies the maximum number of campaigns to return on a page in the paginated response. Default:\r\n * 10 Maximum: 500\r\n * @param offset Specifies the number of campaigns to skip in the result set before returning the first report in\r\n * the paginated response.\r\n * @param startDateRange Specifies the range of a campaign's start date in which to filter the results.\r\n */\r\n getCampaigns({ campaignName, campaignStatus, endDateRange, limit, offset, startDateRange } = {}) {\r\n return this.get(`/ad_campaign`, {\r\n params: {\r\n campaign_name: campaignName,\r\n campaign_status: campaignStatus,\r\n end_date_range: endDateRange,\r\n limit,\r\n offset,\r\n start_date_range: startDateRange\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the details of a single campaign, as specified with the campaign_id query parameter.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n */\r\n getCampaign(campaignId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.get(`/ad_campaign/${campaignId}`);\r\n }\r\n /**\r\n * This method creates a Promoted Listings ad campaign.\r\n *\r\n * @param body his type defines the fields for the create campaign request.\r\n */\r\n createCampaign(body) {\r\n return this.post(`/ad_campaign`, body);\r\n }\r\n /**\r\n * This method deletes the campaign specified by the campaign_id query parameter.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n */\r\n deleteCampaign(campaignId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.delete(`/ad_campaign/${campaignId}`);\r\n }\r\n /**\r\n * This method ends an active (RUNNINGM) or paused campaign. Specify the campaign you want to end by supplying its\r\n * campaign ID in a query parameter.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n */\r\n endCampaign(campaignId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/end`);\r\n }\r\n /**\r\n * This method retrieves the campaign containing the listing that is specified using either an eBay listing ID or\r\n * an inventory reference ID and inventory reference type.\r\n *\r\n * @param inventoryReferenceId The seller's inventory reference ID of the listing to be used to find the campaign\r\n * in which it is associated.\r\n * @param inventoryReferenceType The type of the seller's inventory reference ID, which is a listing or group of\r\n * items.\r\n * @param listingId Identifier of the eBay listing associated with the ad.\r\n */\r\n findCampaignByAdReference({ inventoryReferenceId, inventoryReferenceType, listingId } = {}) {\r\n return this.get(`/ad_campaign/find_campaign_by_ad_reference`, {\r\n params: {\r\n inventory_reference_id: inventoryReferenceId,\r\n inventory_reference_type: inventoryReferenceType,\r\n listing_id: listingId\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the details of a single campaign, as specified with the campaign_name query parameter.\r\n *\r\n * @param campaignName Name of the campaign.\r\n */\r\n getCampaignByName(campaignName) {\r\n return this.get(`/ad_campaign/get_campaign_by_name`, {\r\n params: {\r\n campaign_name: campaignName\r\n }\r\n });\r\n }\r\n /**\r\n * This method pauses an active (RUNNING) campaign. You can restarted by calling resumeCampaign, as long as the\r\n * campaign's end date is in the future..\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n */\r\n pauseCampaign(campaignId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/pause`);\r\n }\r\n /**\r\n * This method resumes a paused campaign, as long as it's end date is in the future.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n */\r\n resumeCampaign(campaignId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/resume`);\r\n }\r\n /**\r\n * This method replaces the name and the start and end dates of a campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body This type defines the fields to updated the campaign name and start and end dates.\r\n */\r\n updateCampaignIdentification(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/update_campaign_identification`, body);\r\n }\r\n /**\r\n * This call downloads the report as specified by the report_id path parameter.\r\n *\r\n * @param reportId The unique ID of the Promoted Listings report you want to get. This ID is generated by eBay when\r\n * you run a report task with a call to createReportTask.\r\n */\r\n getReport(reportId) {\r\n reportId = encodeURIComponent(reportId);\r\n return this.get(`/ad_report/${reportId}`);\r\n }\r\n /**\r\n * This call retrieves information that details the fields used in each of the Promoted Listings reports.\r\n */\r\n getReportMetadata() {\r\n return this.get(`/ad_report_metadata`);\r\n }\r\n /**\r\n * This call retrieves metadata that details the fields used by the Promoted Listings report type that's specified\r\n * by the report_type path parameter.\r\n *\r\n * @param reportType The name of the report type whose metadata you want to get.\r\n */\r\n getReportMetadataForReportType(reportType) {\r\n reportType = encodeURIComponent(reportType);\r\n return this.get(`/ad_report_metadata/${reportType}`);\r\n }\r\n /**\r\n * This method returns information on all the existing report tasks related to a seller.\r\n *\r\n * @param limit Specifies the maximum number of report tasks to return on a page in the paginated response.\r\n * Default: 10 Maximum: 500\r\n * @param offset Specifies the number of report tasks to skip in the result set before returning the first report\r\n * in the paginated response.\r\n * @param reportTaskStatuses This parameter filters the returned report tasks by their status. Supply a\r\n * comma-separated list of the report statuses you want returned.\r\n */\r\n getReportTasks({ limit, offset, reportTaskStatuses } = {}) {\r\n return this.get(`/ad_report_task`, {\r\n params: {\r\n limit,\r\n offset,\r\n report_task_statuses: reportTaskStatuses\r\n }\r\n });\r\n }\r\n /**\r\n * This call returns the details of a specific Promoted Listings report task, as specified by the report_task_id\r\n * path parameter. T\r\n *\r\n * @param reportTaskId A unique eBay-assigned ID for the report task that's generated when the report task is\r\n * created by a call to createReportTask.\r\n */\r\n getReportTask(reportTaskId) {\r\n reportTaskId = encodeURIComponent(reportTaskId);\r\n return this.get(`/ad_report_task/${reportTaskId}`);\r\n }\r\n /**\r\n * This method creates a report task, which generates a Promoted Listings report based on the values specified in\r\n * the call.\r\n *\r\n * @param body The container for the fields that define the report task.\r\n */\r\n createReportTask(body) {\r\n return this.post(`/ad_report_task`, body);\r\n }\r\n /**\r\n * This call deletes the report task specified by the report_task_id path parameter.\r\n *\r\n * @param reportTaskId A unique eBay-assigned ID for the report task that's generated when the report task is\r\n * created by a call to createReportTask.\r\n */\r\n deleteReportTask(reportTaskId) {\r\n reportTaskId = encodeURIComponent(reportTaskId);\r\n return this.delete(`/ad_report_task/${reportTaskId}`);\r\n }\r\n /**\r\n * This method creates an item price markdown promotion (know simply as a &quot;markdown promotion&quot;) where a\r\n * discount amount is applied directly to the items included the promotion.\r\n *\r\n * @param body This type defines the fields that describe an item price markdown promotion.\r\n */\r\n createItemPriceMarkdownPromotion(body) {\r\n return this.post(`/item_price_markdown`, body);\r\n }\r\n /**\r\n * This method updates the specified item price markdown promotion with the new configuration that you supply in\r\n * the payload of the request.\r\n *\r\n * @param promotionId The ID of the promotion you want to update.\r\n * @param body This type defines the fields that describe an item price markdown promotion.\r\n */\r\n updateItemPriceMarkdownPromotion(promotionId, body) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.put(`/item_price_markdown/${promotionId}`, body);\r\n }\r\n /**\r\n * This method deletes the item price markdown promotion specified by the promotion_id path parameter.\r\n *\r\n * @param promotionId The ID of the promotion you want to delete.\r\n */\r\n deleteItemPriceMarkdownPromotion(promotionId) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.delete(`/item_price_markdown/${promotionId}`);\r\n }\r\n /**\r\n * This method returns the complete details of the item price markdown promotion that's indicated by the\r\n * promotion_id path parameter.\r\n *\r\n * @param promotionId The ID of the promotion you want to retrieve.\r\n */\r\n getItemPriceMarkdownPromotion(promotionId) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.get(`/item_price_markdown/${promotionId}`);\r\n }\r\n /**\r\n * This method creates an item promotion (known casually as a &quot;threshold promotion&quot;) where the buyer\r\n * receives a discount when they meet the buying criteria that's set for the promotion.\r\n *\r\n * @param body This type defines the fields that describe an item promotion.\r\n */\r\n createItemPromotion(body) {\r\n return this.post(`/item_promotion`, body);\r\n }\r\n /**\r\n * This method updates the specified threshold promotion with the new configuration that you supply in the request.\r\n *\r\n * @param promotionId The ID of the promotion you want to retrieve. The promotion ID is a unique eBay-assigned\r\n * value that's generated when the promotion is created.\r\n * @param body type defines the fields that describe an item promotion.\r\n */\r\n updateItemPromotion(promotionId, body) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.put(`/item_promotion/${promotionId}`, body);\r\n }\r\n /**\r\n * This method deletes the threshold promotion specified by the promotion_id path parameter.\r\n *\r\n * @param promotionId The ID of the promotion you want to retrieve. The promotion ID is a unique eBay-assigned\r\n * value that's generated when the promotion is created.\r\n */\r\n deleteItemPromotion(promotionId) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.delete(`/item_promotion/${promotionId}`);\r\n }\r\n /**\r\n * This method returns the complete details of the threshold promotion specified by the promotion_id path\r\n * parameter.\r\n *\r\n * @param promotionId The ID of the promotion you want to retrieve. The promotion ID is a unique eBay-assigned\r\n * value that's generated when the promotion is created.\r\n */\r\n getItemPromotion(promotionId) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.get(`/item_promotion/${promotionId}`);\r\n }\r\n /**\r\n * This method returns the set of listings associated with the promotion_id specified in the path parameter.\r\n *\r\n * @param promotionId The ID of the promotion whose associated listings you want to retrieve.\r\n * @param limit Specifies the maximum number of promotions returned on a page from the result set. Default: 200\r\n * Maximum: 200\r\n * @param offset Specifies the number of promotions to skip in the result set before returning the first promotion\r\n * in the paginated response.\r\n * @param q Reserved for future use.\r\n * @param sort Specifies the order in which to sort the associated listings in the response.\r\n * @param status This query parameter applies only to markdown promotions.\r\n */\r\n getListingSet(promotionId, { limit, offset, q, sort, status } = {}) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.get(`/promotion/${promotionId}/get_listing_set`, {\r\n params: {\r\n limit,\r\n offset,\r\n q,\r\n sort,\r\n status\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns a list of a seller's undeleted promotions.\r\n *\r\n * @param marketplaceId The eBay marketplace ID of the site where the promotion is hosted.\r\n * @param limit Specifies the maximum number of promotions returned on a page from the result set. Default: 200\r\n * Maximum: 200\r\n * @param offset Specifies the number of promotions to skip in the result set before returning the first promotion\r\n * in the paginated response.\r\n * @param promotionStatus Specifies the promotion state by which you want to filter the results.\r\n * @param promotionType Filters the returned promotions based on the their campaign promotion type.\r\n * @param q A string consisting of one or more keywords.\r\n * @param sort Specifies the order for how to sort the response.\r\n */\r\n getPromotions(marketplaceId, { limit, offset, promotionStatus, promotionType, q, sort } = {}) {\r\n return this.get(`/promotion`, {\r\n params: {\r\n marketplace_id: marketplaceId,\r\n limit,\r\n offset,\r\n promotion_status: promotionStatus,\r\n promotion_type: promotionType,\r\n q,\r\n sort\r\n }\r\n });\r\n }\r\n /**\r\n * This method pauses a currently-active (RUNNING) threshold promotion and changes the state of the promotion from\r\n * RUNNING to PAUSED.\r\n *\r\n * @param promotionId Identifier of the promotion you want to pause.\r\n */\r\n pausePromotion(promotionId) {\r\n const id = encodeURIComponent(promotionId);\r\n return this.post(`/promotion/${id}/pause`);\r\n }\r\n /**\r\n * This method restarts a threshold promotion that was previously paused and changes the state of the promotion\r\n * from PAUSED to RUNNING.\r\n *\r\n * @param promotionId Identifier of the promotion you want to make active. The ID is a unique eBay-assigned value\r\n * that's generated when the promotion is created.\r\n */\r\n resumePromotion(promotionId) {\r\n const id = encodeURIComponent(promotionId);\r\n return this.post(`/promotion/${id}/resume`);\r\n }\r\n /**\r\n * This method generates a report that lists the seller's running, paused, and ended promotions for the specified\r\n * eBay marketplace.\r\n *\r\n * @param marketplaceId The eBay marketplace ID of the siteId for which you want the promotions report.\r\n * @param limit Specifies the maximum number of promotions returned on a page from the result set. Default: 200\r\n * Maximum: 200\r\n * @param offset Specifies the number of promotions to skip in the result set before returning the first promotion\r\n * in the paginated response.\r\n * @param promotionStatus Limits the results to the promotions that are in the state specified by this query\r\n * parameter.\r\n * @param promotionType Filters the returned promotions in the report based on the their campaign promotion type.\r\n * @param q A string consisting of one or more keywords. eBay filters the response by returning only the promotions\r\n * that contain the supplied keywords in the promotion title.\r\n */\r\n getPromotionReports(marketplaceId, { limit, offset, promotionStatus, promotionType, q } = {}) {\r\n return this.get(`/promotion_report`, {\r\n params: {\r\n marketplace_id: marketplaceId,\r\n limit,\r\n offset,\r\n promotion_status: promotionStatus,\r\n promotion_type: promotionType,\r\n q\r\n }\r\n });\r\n }\r\n /**\r\n * This method generates a report that summarizes the seller's promotions for the specified eBay marketplace.\r\n *\r\n * @param marketplaceId The eBay marketplace ID of the siteId you for which you want a promotion summary report.\r\n */\r\n getPromotionSummaryReport(marketplaceId) {\r\n return this.get(`/promotion_summary_report`, {\r\n params: {\r\n marketplace_id: marketplaceId\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Marketing;\r\nMarketing.id = 'Marketing';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Metadata API has operations that retrieve configuration details pertaining to the different eBay marketplaces.\r\n */\r\nclass Metadata extends __1.default {\r\n get basePath() {\r\n return '/sell/metadata/v1';\r\n }\r\n /**\r\n * This method retrieves all the sales tax jurisdictions for the country that you specify in the countryCode path\r\n * parameter.\r\n *\r\n * @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 country code for the country\r\n * whose jurisdictions you want to retrieve.\r\n */\r\n getSalesTaxJurisdictions(countryCode) {\r\n countryCode = encodeURIComponent(countryCode);\r\n return this.get(`/country/${countryCode}/sales_tax_jurisdiction`);\r\n }\r\n /**\r\n * This method returns the eBay policies that define how to list automotive-parts-compatibility items in the\r\n * categories of a specific marketplace.\r\n *\r\n * @param marketplaceId This path parameter specifies the eBay marketplace for which policy information is\r\n * retrieved.\r\n * @param filter This query parameter limits the response by returning eBay policy information for only the leaf\r\n * categories specified by this parameter.\r\n */\r\n getAutomotivePartsCompatibilityPolicies(marketplaceId, filter) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n return this.get(`/marketplace/${marketplaceId}/get_automotive_parts_compatibility_policies`, {\r\n params: {\r\n filter\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns the eBay policies that define how to specify item conditions in the categories of a specific\r\n * marketplace.\r\n *\r\n * @param marketplaceId This path parameter specifies the eBay marketplace for which policy information is\r\n * retrieved.\r\n * @param filter This query parameter limits the response by returning eBay policy information for only the leaf\r\n * categories specified by this parameter.\r\n */\r\n getItemConditionPolicies(marketplaceId, filter) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n return this.get(`/marketplace/${marketplaceId}/get_item_condition_policies`, {\r\n params: {\r\n filter\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns the eBay policies that define the allowed listing structures for the categories of a\r\n * specific marketplace.\r\n *\r\n * @param marketplaceId This path parameter specifies the eBay marketplace for which policy information is\r\n * retrieved.\r\n * @param filter This query parameter limits the response by returning eBay policy information for only the leaf\r\n * categories specified by this parameter.\r\n */\r\n getListingStructurePolicies(marketplaceId, filter) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n return this.get(`/marketplace/${marketplaceId}/get_listing_structure_policies`, {\r\n params: {\r\n filter\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns the eBay policies that define the supported negotiated price features (like &quot;best\r\n * offer&quot;) for the categories of a specific marketplace.\r\n *\r\n * @param marketplaceId This path parameter specifies the eBay marketplace for which policy information is\r\n * retrieved.\r\n * @param filter This query parameter limits the response by returning eBay policy information for only the leaf\r\n * categories specified by this parameter.\r\n */\r\n getNegotiatedPricePolicies(marketplaceId, filter) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n return this.get(`/marketplace/${marketplaceId}/get_negotiated_price_policies`, {\r\n params: {\r\n filter\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves a list of leaf categories for a marketplace and identifies the categories that require\r\n * items to have an eBay product ID value in order to be listed in those categories.\r\n *\r\n * @param marketplaceId This path parameter specifies the eBay marketplace for which policy information is\r\n * retrieved.\r\n * @param filter This query parameter limits the response by returning eBay policy information for only the leaf\r\n * categories specified by this parameter.\r\n */\r\n getProductAdoptionPolicies(marketplaceId, filter) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n return this.get(`/marketplace/${marketplaceId}/get_product_adoption_policies`, {\r\n params: {\r\n filter\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns the eBay policies that define whether or not you must include a return policy for the\r\n * items you list in the categories of a specific marketplace, plus the guidelines for creating domestic and\r\n * international return policies in the different eBay categories.\r\n *\r\n * @param marketplaceId This path parameter specifies the eBay marketplace for which policy information is\r\n * retrieved.\r\n * @param filter This query parameter limits the response by returning eBay policy information for only the leaf\r\n * categories specified by this parameter.\r\n */\r\n getReturnPolicies(marketplaceId, filter) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n return this.get(`/marketplace/${marketplaceId}/get_return_policies`, {\r\n params: {\r\n filter\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Metadata;\r\nMetadata.id = 'Metadata';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The <b>Recommendation API</b> returns information that sellers can use to optimize the configuration of their\r\n * listings on eBay.\r\n */\r\nclass Recommendation extends __1.default {\r\n get basePath() {\r\n return '/sell/recommendation/v1';\r\n }\r\n /**\r\n * The find method returns recommendations and information that sellers can use to optimize their listing\r\n * configurations.\r\n *\r\n * @param filter Provide a list of key-value pairs to specify the criteria you want to use to filter the response.\r\n * @param limit Use this query parameter to set the maximum number of ads to return on a page from the paginated\r\n * response. Default: 10 Maximum: 500\r\n * @param offset Specifies the number of ads to skip in the result set before returning the first ad in the\r\n * paginated response.\r\n * @param body FindListingRecommendationRequest\r\n */\r\n findListingRecommendations({ filter, limit, offset } = {}, body) {\r\n return this.post(`/find`, {\r\n data: body,\r\n params: {\r\n filter,\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Recommendation;\r\nRecommendation.id = 'Recommendation';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\nconst request_1 = require(\"../../../../request\");\r\n/**\r\n * The <strong>Feed API</strong> lets sellers upload input files, download reports and files including their status, filter reports using URI parameters, and retrieve customer service metrics task details.\r\n */\r\nclass Feed extends __1.default {\r\n get basePath() {\r\n return '/sell/feed/v1';\r\n }\r\n /**\r\n * This method returns the details and status for an array of order tasks based on a specified feed_type or scheduled_id.\r\n *\r\n * @param dateRange The order tasks creation date range.\r\n * @param feedType The feed type associated with the task.\r\n * @param limit The maximum number of order tasks that can be returned on each page of the paginated response.\r\n * @param lookBackDays The number of previous days in which to search for tasks. Do not use with the date_range parameter.\r\n * @param offset The number of order tasks to skip in the result set before returning the first order in the paginated response.\r\n * @param scheduleId The schedule ID associated with the order task.\r\n */\r\n getOrderTasks({ dateRange, feedType, limit, lookBackDays, offset, scheduleId } = {}) {\r\n return this.get(`/order_task`, {\r\n params: {\r\n date_range: dateRange,\r\n feed_type: feedType,\r\n limit,\r\n look_back_days: lookBackDays,\r\n offset,\r\n schedule_id: scheduleId\r\n }\r\n });\r\n }\r\n /**\r\n * This method creates an order download task with filter criteria for the order report.\r\n *\r\n * @param data The CreateOrderTaskRequest\r\n */\r\n createOrderTask(data) {\r\n return this.post(`/order_task`, data);\r\n }\r\n /**\r\n * This method retrieves the task details and status of the specified task.\r\n *\r\n * @param taskId The ID of the task. This ID is generated when the task was created by the createOrderTask method.\r\n */\r\n getOrderTask(taskId) {\r\n taskId = encodeURIComponent(taskId);\r\n return this.get(`/order_task/${taskId}`);\r\n }\r\n /**\r\n * This method retrieves an array containing the details and status of all schedules based on the specified feed_type.\r\n *\r\n * @param feedType The feedType associated with the schedule.\r\n * @param limit The maximum number of schedules that can be returned on each page of the paginated response.\r\n * @param offset The number of schedules to skip in the result set before returning the first schedule in the paginated response.\r\n */\r\n getSchedules({ feedType, limit, offset, } = {}) {\r\n return this.get(`/schedule`, {\r\n params: {\r\n feed_type: feedType,\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method creates a schedule, which is a subscription to the specified schedule template.\r\n *\r\n * @params data The CreateUserScheduleRequest\r\n */\r\n createSchedule(data) {\r\n return this.post(`/schedule`, data);\r\n }\r\n /**\r\n * This method retrieves schedule details and status of the specified schedule.\r\n *\r\n * @param scheduleId The ID of the schedule for which to retrieve the details.\r\n */\r\n getSchedule(scheduleId) {\r\n scheduleId = encodeURIComponent(scheduleId);\r\n return this.get(`/schedule/${scheduleId}`);\r\n }\r\n /**\r\n * This method updates an existing schedule.\r\n *\r\n * @param scheduleId The ID of the schedule to update.\r\n * @param data The UpdateUserScheduleRequest.\r\n */\r\n updateSchedule(scheduleId, data) {\r\n scheduleId = encodeURIComponent(scheduleId);\r\n return this.put(`/schedule/${scheduleId}`, data);\r\n }\r\n /**\r\n * This method deletes an existing schedule.\r\n *\r\n * @param scheduleId The schedule_id of the schedule to delete.\r\n */\r\n deleteSchedule(scheduleId) {\r\n scheduleId = encodeURIComponent(scheduleId);\r\n return this.delete(`/schedule/${scheduleId}`);\r\n }\r\n /**\r\n * This method downloads the latest result file generated by the schedule.\r\n *\r\n * @param scheduleId The ID of the schedule for which to retrieve the latest result file.\r\n */\r\n getLatestResultFile(scheduleId) {\r\n scheduleId = encodeURIComponent(scheduleId);\r\n return this.get(`/schedule/${scheduleId}/download_result_file`);\r\n }\r\n /**\r\n * This method downloads the latest result file generated by the schedule.\r\n *\r\n * @param scheduleTemplateId The ID of the template to retrieve.\r\n */\r\n getScheduleTemplate(scheduleTemplateId) {\r\n scheduleTemplateId = encodeURIComponent(scheduleTemplateId);\r\n return this.get(`/schedule_template/${scheduleTemplateId}`);\r\n }\r\n /**\r\n * This method retrieves an array containing the details and status of all schedule templates based on the specified feed_type.\r\n *\r\n * @param feedType The feedType associated with the schedule.\r\n * @param limit The maximum number of schedules that can be returned on each page of the paginated response.\r\n * @param offset The number of schedules to skip in the result set before returning the first schedule in the paginated response.\r\n */\r\n getScheduleTemplates({ feedType, limit, offset, } = {}) {\r\n return this.get(`/schedule_template`, {\r\n params: {\r\n feed_type: feedType,\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns the details and status for an array of tasks based on a specified feed_type or scheduledId.\r\n *\r\n * @param dateRange The order tasks creation date range.\r\n * @param feedType The feed type associated with the task.\r\n * @param limit The maximum number of order tasks that can be returned on each page of the paginated response.\r\n * @param lookBackDays The number of previous days in which to search for tasks. Do not use with the date_range parameter.\r\n * @param offset The number of order tasks to skip in the result set before returning the first order in the paginated response.\r\n * @param scheduleId The schedule ID associated with the task.\r\n */\r\n getTasks({ dateRange, feedType, limit, lookBackDays, offset, scheduleId } = {}) {\r\n return this.get(`/task`, {\r\n params: {\r\n date_range: dateRange,\r\n feed_type: feedType,\r\n limit,\r\n look_back_days: lookBackDays,\r\n offset,\r\n schedule_id: scheduleId\r\n }\r\n });\r\n }\r\n /**\r\n * This method creates an upload task or a download task without filter criteria.\r\n *\r\n * @param data The CreateTaskRequest.\r\n */\r\n createTask(data) {\r\n return this.post(`/task`, data);\r\n }\r\n /**\r\n * This method downloads the file previously uploaded using uploadFile.\r\n *\r\n * @param taskId The task ID associated with the file to be downloaded.\r\n */\r\n getInputFile(taskId) {\r\n taskId = encodeURIComponent(taskId);\r\n return this.get(`/task/${taskId}/download_input_file`);\r\n }\r\n /**\r\n * This method retrieves the generated file that is associated with the specified task ID.\r\n *\r\n * @param taskId The task ID associated with the file to be downloaded.\r\n */\r\n getResultFile(taskId) {\r\n taskId = encodeURIComponent(taskId);\r\n return this.get(`/task/${taskId}/download_result_file`);\r\n }\r\n /**\r\n * This method retrieves the details and status of the specified task.\r\n *\r\n * @param taskId The ID of the task.\r\n */\r\n getTask(taskId) {\r\n taskId = encodeURIComponent(taskId);\r\n return this.get(`/task/${taskId}`);\r\n }\r\n /**\r\n * This method associates the specified file with the specified task ID and uploads the input file.\r\n *\r\n * @param taskId The task_id associated with the file that will be uploaded.\r\n * @param data FormDataContentDisposition.\r\n */\r\n uploadFile(taskId, data) {\r\n taskId = encodeURIComponent(taskId);\r\n return this.post(`/task/${taskId}/upload_file`, data, {\r\n headers: request_1.multipartHeader,\r\n });\r\n }\r\n /**\r\n * Use this method to return an array of customer service metric tasks.\r\n *\r\n * @param dateRange The order tasks creation date range.\r\n * @param feedType The feed type associated with the task.\r\n * @param limit The maximum number of order tasks that can be returned on each page of the paginated response.\r\n * @param lookBackDays The number of previous days in which to search for tasks. Do not use with the date_range parameter.\r\n * @param offset The number of order tasks to skip in the result set before returning the first order in the paginated response.\r\n * @param scheduleId The schedule ID associated with the task.\r\n */\r\n getCustomerServiceMetricTasks({ dateRange, feedType, limit, lookBackDays, offset, } = {}) {\r\n return this.get(`/customer_service_metric_task`, {\r\n params: {\r\n date_range: dateRange,\r\n feed_type: feedType,\r\n limit,\r\n look_back_days: lookBackDays,\r\n offset,\r\n }\r\n });\r\n }\r\n /**\r\n * Use this method to create a customer service metrics download task with filter criteria for the customer service metrics report.\r\n *\r\n * @params acceptLanguage Use this header to specify the natural language in which the authenticated user desires the response.\r\n * @params data The CreateServiceMetricsTaskRequest\r\n */\r\n createCustomerServiceMetricTask(acceptLanguage, data) {\r\n return this.post(`/customer_service_metric_task`, data, {\r\n headers: {\r\n 'accept-language': acceptLanguage\r\n }\r\n });\r\n }\r\n /**\r\n * Use this method to retrieve customer service metric task details for the specified task.\r\n *\r\n * @param taskId Use this path parameter to specify the task ID value for the customer service metric task to retrieve.\r\n */\r\n getCustomerServiceMetricTask(taskId) {\r\n taskId = encodeURIComponent(taskId);\r\n return this.get(`/customer_service_metric_task/${taskId}`);\r\n }\r\n}\r\nexports.default = Feed;\r\nFeed.id = 'Feed';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The <b>Logistics API</b> resources offer the following capabilities: <ul><li><b>shipping_quote</b> &ndash; Consolidates into a list a set of live shipping rates, or quotes, from which you can select a rate to ship a package.\r\n */\r\nclass Logistics extends __1.default {\r\n get basePath() {\r\n return '/sell/logistics/v1_beta';\r\n }\r\n /**\r\n * The createShippingQuote method returns a shipping quote that contains a list of live &quot;rates.&quot;\r\n *\r\n * @param data The ShippingQuoteRequest\r\n */\r\n createShippingQuote(data) {\r\n return this.post(`/shipping_quote`, data);\r\n }\r\n /**\r\n * This method retrieves the complete details of the shipping quote associated with the specified shippingQuoteId value.\r\n *\r\n * @param shippingQuoteId This path parameter specifies the unique eBay-assigned ID of the shipping quote you want to retrieve.\r\n */\r\n getShippingQuote(shippingQuoteId) {\r\n shippingQuoteId = encodeURIComponent(shippingQuoteId);\r\n return this.get(`/shipping_quote/${shippingQuoteId}`);\r\n }\r\n /**\r\n * This method creates a &quot;shipment&quot; based on the shippingQuoteId and rateId values supplied in the request.\r\n *\r\n * @param data The CreateShipmentFromQuoteRequest\r\n */\r\n createFromShippingQuote(data) {\r\n return this.post(`/shipment/create_from_shipping_quote`, data);\r\n }\r\n /**\r\n * This method retrieves the shipment details for the specified shipment ID.\r\n *\r\n * @param shipmentId This path parameter specifies the unique eBay-assigned ID of the shipment you want to retrieve.\r\n */\r\n getShipment(shipmentId) {\r\n return this.get(`/shipment/${shipmentId}`);\r\n }\r\n /**\r\n * This method returns the shipping label file that was generated for the shipmentId value specified in the request.\r\n *\r\n * @param shipmentId This path parameter specifies the unique eBay-assigned ID of the shipment associated with the shipping label you want to download.\r\n */\r\n downloadLabelFile(shipmentId) {\r\n return this.get(`/shipment/${shipmentId}/download_label_file`);\r\n }\r\n /**\r\n * This method cancels the shipment associated with the specified shipment ID and the associated shipping label is deleted.\r\n *\r\n * @param shipmentId This path parameter specifies the unique eBay-assigned ID of the shipment to be canceled.\r\n */\r\n cancelShipment(shipmentId) {\r\n return this.post(`/shipment/${shipmentId}/cancel`);\r\n }\r\n}\r\nexports.default = Logistics;\r\nLogistics.id = 'Logistics';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The <b>Negotiations API</b> gives sellers the ability to proactively send discount offers to buyers who have shown an \"interest\" in their listings.\r\n */\r\nclass Negotiation extends __1.default {\r\n get basePath() {\r\n return '/sell/negotiation/v1';\r\n }\r\n /**\r\n * This method evaluates a seller's current listings and returns the set of IDs that are eligible for a seller-initiated discount offer to a buyer.\r\n *\r\n * @param limit This query parameter specifies the maximum number of items to return from the result set on a page in the paginated response.\r\n * @param offset This query parameter specifies the number of results to skip in the result set before returning the first result in the paginated response.\r\n */\r\n findEligibleItems({ limit, offset } = {}) {\r\n return this.get(`/find_eligible_items`, {\r\n params: {\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method sends eligible buyers offers to purchase items in a listing at a discount.\r\n *\r\n * @param data The CreateOffersRequest\r\n */\r\n sendOfferToInterestedBuyers(data) {\r\n return this.post(`/send_offer_to_interested_buyers`, data);\r\n }\r\n}\r\nexports.default = Negotiation;\r\nNegotiation.id = 'Negotiation';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Enables a seller adding an ad or item on a Partner's site to automatically create an eBay listing draft using the item details from the Partner's site.\r\n */\r\nclass Listing extends __1.default {\r\n get basePath() {\r\n return '/sell/listing/v1_beta';\r\n }\r\n /**\r\n * This call gives Partners the ability to create an eBay draft of a item for their seller using information from their site.\r\n *\r\n * @param data The ItemDraft\r\n */\r\n createItemDraft(data) {\r\n return this.post(`/item_draft/`, data);\r\n }\r\n}\r\nexports.default = Listing;\r\nListing.id = 'Listing';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Listing = exports.Negotiation = exports.Logistics = exports.Feed = exports.Finances = exports.Recommendation = exports.Metadata = exports.Marketing = exports.Inventory = exports.Fulfillment = exports.Analytics = exports.Compliance = exports.Account = void 0;\r\nconst account_1 = __importDefault(require(\"./account\"));\r\nexports.Account = account_1.default;\r\nconst analytics_1 = __importDefault(require(\"./analytics\"));\r\nexports.Analytics = analytics_1.default;\r\nconst compliance_1 = __importDefault(require(\"./compliance\"));\r\nexports.Compliance = compliance_1.default;\r\nconst finances_1 = __importDefault(require(\"./finances\"));\r\nexports.Finances = finances_1.default;\r\nconst fulfillment_1 = __importDefault(require(\"./fulfillment\"));\r\nexports.Fulfillment = fulfillment_1.default;\r\nconst inventory_1 = __importDefault(require(\"./inventory\"));\r\nexports.Inventory = inventory_1.default;\r\nconst marketing_1 = __importDefault(require(\"./marketing\"));\r\nexports.Marketing = marketing_1.default;\r\nconst metadata_1 = __importDefault(require(\"./metadata\"));\r\nexports.Metadata = metadata_1.default;\r\nconst recommendation_1 = __importDefault(require(\"./recommendation\"));\r\nexports.Recommendation = recommendation_1.default;\r\nconst feed_1 = __importDefault(require(\"./feed\"));\r\nexports.Feed = feed_1.default;\r\nconst logistics_1 = __importDefault(require(\"./logistics\"));\r\nexports.Logistics = logistics_1.default;\r\nconst negotiation_1 = __importDefault(require(\"./negotiation\"));\r\nexports.Negotiation = negotiation_1.default;\r\nconst listing_1 = __importDefault(require(\"./listing\"));\r\nexports.Listing = listing_1.default;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.EventType = void 0;\r\nvar EventType;\r\n(function (EventType) {\r\n EventType[\"AskSellerQuestion\"] = \"AskSellerQuestion\";\r\n EventType[\"BestOffer\"] = \"BestOffer\";\r\n EventType[\"BestOfferDeclined\"] = \"BestOfferDeclined\";\r\n EventType[\"BestOfferPlaced\"] = \"BestOfferPlaced\";\r\n EventType[\"BidPlaced\"] = \"BidPlaced\";\r\n EventType[\"BidReceived\"] = \"BidReceived\";\r\n EventType[\"CounterOfferReceived\"] = \"CounterOfferReceived\";\r\n EventType[\"CustomCode\"] = \"CustomCode\";\r\n EventType[\"EndOfAuction\"] = \"EndOfAuction\";\r\n EventType[\"FeedbackLeft\"] = \"FeedbackLeft\";\r\n EventType[\"FeedbackReceived\"] = \"FeedbackReceived\";\r\n EventType[\"FeedbackStarChanged\"] = \"FeedbackStarChanged\";\r\n EventType[\"FixedPriceEndOfTransaction\"] = \"FixedPriceEndOfTransaction\";\r\n EventType[\"FixedPriceTransaction\"] = \"FixedPriceTransaction\";\r\n EventType[\"ItemAddedToWatchList\"] = \"ItemAddedToWatchList\";\r\n EventType[\"ItemEnded\"] = \"ItemEnded\";\r\n EventType[\"ItemListed\"] = \"ItemListed\";\r\n EventType[\"ItemLost\"] = \"ItemLost\";\r\n EventType[\"ItemMarkedPaid\"] = \"ItemMarkedPaid\";\r\n EventType[\"ItemMarkedShipped\"] = \"ItemMarkedShipped\";\r\n EventType[\"ItemRemovedFromWatchList\"] = \"ItemRemovedFromWatchList\";\r\n EventType[\"ItemSold\"] = \"ItemSold\";\r\n EventType[\"ItemUnsold\"] = \"ItemUnsold\";\r\n EventType[\"ItemWon\"] = \"ItemWon\";\r\n EventType[\"OutBid\"] = \"OutBid\";\r\n EventType[\"PriceChange\"] = \"PriceChange\";\r\n EventType[\"SecondChanceOffer\"] = \"SecondChanceOffer\";\r\n EventType[\"WatchedItemEndingSoon\"] = \"WatchedItemEndingSoon\";\r\n})(EventType || (EventType = {}));\r\nexports.EventType = EventType;\r\n//# sourceMappingURL=types.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.EventType = void 0;\r\nconst types_1 = require(\"./types\");\r\nObject.defineProperty(exports, \"EventType\", { enumerable: true, get: function () { return types_1.EventType; } });\r\n// https://developer.ebay.com/devzone/client-alerts/docs/CallRef/index.html\r\nvar calls;\r\n(function (calls) {\r\n calls[calls[\"GetPublicAlerts\"] = 0] = \"GetPublicAlerts\";\r\n calls[calls[\"GetUserAlerts\"] = 1] = \"GetUserAlerts\";\r\n calls[calls[\"Login\"] = 2] = \"Login\";\r\n calls[calls[\"Logout\"] = 3] = \"Logout\";\r\n})(calls || (calls = {}));\r\nexports.default = calls;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar calls;\r\n(function (calls) {\r\n calls[calls[\"findCompletedItems\"] = 0] = \"findCompletedItems\";\r\n calls[calls[\"findItemsAdvanced\"] = 1] = \"findItemsAdvanced\";\r\n calls[calls[\"findItemsByCategory\"] = 2] = \"findItemsByCategory\";\r\n calls[calls[\"findItemsByKeywords\"] = 3] = \"findItemsByKeywords\";\r\n calls[calls[\"findItemsByProduct\"] = 4] = \"findItemsByProduct\";\r\n calls[calls[\"findItemsIneBayStores\"] = 5] = \"findItemsIneBayStores\";\r\n calls[calls[\"getHistograms\"] = 6] = \"getHistograms\";\r\n calls[calls[\"getSearchKeywordsRecommendation\"] = 7] = \"getSearchKeywordsRecommendation\";\r\n calls[calls[\"getVersion\"] = 8] = \"getVersion\";\r\n})(calls || (calls = {}));\r\nexports.default = calls;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar calls;\r\n(function (calls) {\r\n calls[calls[\"getMostWatchedItems\"] = 0] = \"getMostWatchedItems\";\r\n calls[calls[\"getRelatedCategoryItems\"] = 1] = \"getRelatedCategoryItems\";\r\n calls[calls[\"getSimilarItems\"] = 2] = \"getSimilarItems\";\r\n calls[calls[\"getVersion\"] = 3] = \"getVersion\";\r\n})(calls || (calls = {}));\r\nexports.default = calls;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n// https://developer.ebay.com/devzone/shopping/docs/callref/index.html\r\nvar calls;\r\n(function (calls) {\r\n calls[calls[\"FindProducts\"] = 0] = \"FindProducts\";\r\n calls[calls[\"GetCategoryInfo\"] = 1] = \"GetCategoryInfo\";\r\n calls[calls[\"GeteBayTime\"] = 2] = \"GeteBayTime\";\r\n calls[calls[\"GetItemStatus\"] = 3] = \"GetItemStatus\";\r\n calls[calls[\"GetMultipleItems\"] = 4] = \"GetMultipleItems\";\r\n calls[calls[\"GetShippingCosts\"] = 5] = \"GetShippingCosts\";\r\n calls[calls[\"GetSingleItem\"] = 6] = \"GetSingleItem\";\r\n calls[calls[\"GetUserProfile\"] = 7] = \"GetUserProfile\";\r\n})(calls || (calls = {}));\r\nexports.default = calls;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar calls;\r\n(function (calls) {\r\n calls[calls[\"AddDispute\"] = 0] = \"AddDispute\";\r\n calls[calls[\"AddDisputeResponse\"] = 1] = \"AddDisputeResponse\";\r\n calls[calls[\"AddFixedPriceItem\"] = 2] = \"AddFixedPriceItem\";\r\n calls[calls[\"AddItem\"] = 3] = \"AddItem\";\r\n calls[calls[\"AddItemFromSellingManagerTemplate\"] = 4] = \"AddItemFromSellingManagerTemplate\";\r\n calls[calls[\"AddItems\"] = 5] = \"AddItems\";\r\n calls[calls[\"AddMemberMessageAAQToPartner\"] = 6] = \"AddMemberMessageAAQToPartner\";\r\n calls[calls[\"AddMemberMessageRTQ\"] = 7] = \"AddMemberMessageRTQ\";\r\n calls[calls[\"AddMemberMessagesAAQToBidder\"] = 8] = \"AddMemberMessagesAAQToBidder\";\r\n calls[calls[\"AddOrder\"] = 9] = \"AddOrder\";\r\n calls[calls[\"AddSecondChanceItem\"] = 10] = \"AddSecondChanceItem\";\r\n calls[calls[\"AddSellingManagerInventoryFolder\"] = 11] = \"AddSellingManagerInventoryFolder\";\r\n calls[calls[\"AddSellingManagerProduct\"] = 12] = \"AddSellingManagerProduct\";\r\n calls[calls[\"AddSellingManagerTemplate\"] = 13] = \"AddSellingManagerTemplate\";\r\n calls[calls[\"AddToItemDescription\"] = 14] = \"AddToItemDescription\";\r\n calls[calls[\"AddToWatchList\"] = 15] = \"AddToWatchList\";\r\n calls[calls[\"AddTransactionConfirmationItem\"] = 16] = \"AddTransactionConfirmationItem\";\r\n calls[calls[\"CompleteSale\"] = 17] = \"CompleteSale\";\r\n calls[calls[\"ConfirmIdentity\"] = 18] = \"ConfirmIdentity\";\r\n calls[calls[\"DeleteMyMessages\"] = 19] = \"DeleteMyMessages\";\r\n calls[calls[\"DeleteSellingManagerInventoryFolder\"] = 20] = \"DeleteSellingManagerInventoryFolder\";\r\n calls[calls[\"DeleteSellingManagerItemAutomationRule\"] = 21] = \"DeleteSellingManagerItemAutomationRule\";\r\n calls[calls[\"DeleteSellingManagerProduct\"] = 22] = \"DeleteSellingManagerProduct\";\r\n calls[calls[\"DeleteSellingManagerTemplate\"] = 23] = \"DeleteSellingManagerTemplate\";\r\n calls[calls[\"DeleteSellingManagerTemplateAutomationRule\"] = 24] = \"DeleteSellingManagerTemplateAutomationRule\";\r\n calls[calls[\"DisableUnpaidItemAssistance\"] = 25] = \"DisableUnpaidItemAssistance\";\r\n calls[calls[\"EndFixedPriceItem\"] = 26] = \"EndFixedPriceItem\";\r\n calls[calls[\"EndItem\"] = 27] = \"EndItem\";\r\n calls[calls[\"EndItems\"] = 28] = \"EndItems\";\r\n calls[calls[\"ExtendSiteHostedPictures\"] = 29] = \"ExtendSiteHostedPictures\";\r\n calls[calls[\"FetchToken\"] = 30] = \"FetchToken\";\r\n calls[calls[\"GetAccount\"] = 31] = \"GetAccount\";\r\n calls[calls[\"GetAdFormatLeads\"] = 32] = \"GetAdFormatLeads\";\r\n calls[calls[\"GetAllBidders\"] = 33] = \"GetAllBidders\";\r\n calls[calls[\"GetApiAccessRules\"] = 34] = \"GetApiAccessRules\";\r\n calls[calls[\"GetBestOffers\"] = 35] = \"GetBestOffers\";\r\n calls[calls[\"GetBidderList\"] = 36] = \"GetBidderList\";\r\n calls[calls[\"GetCategories\"] = 37] = \"GetCategories\";\r\n calls[calls[\"GetCategoryFeatures\"] = 38] = \"GetCategoryFeatures\";\r\n calls[calls[\"GetCategoryMappings\"] = 39] = \"GetCategoryMappings\";\r\n calls[calls[\"GetCategorySpecifics\"] = 40] = \"GetCategorySpecifics\";\r\n calls[calls[\"GetChallengeToken\"] = 41] = \"GetChallengeToken\";\r\n calls[calls[\"GetCharities\"] = 42] = \"GetCharities\";\r\n calls[calls[\"GetClientAlertsAuthToken\"] = 43] = \"GetClientAlertsAuthToken\";\r\n calls[calls[\"GetContextualKeywords\"] = 44] = \"GetContextualKeywords\";\r\n calls[calls[\"GetDescriptionTemplates\"] = 45] = \"GetDescriptionTemplates\";\r\n calls[calls[\"GetDispute\"] = 46] = \"GetDispute\";\r\n calls[calls[\"GeteBayDetails\"] = 47] = \"GeteBayDetails\";\r\n calls[calls[\"GeteBayOfficialTime\"] = 48] = \"GeteBayOfficialTime\";\r\n calls[calls[\"GetFeedback\"] = 49] = \"GetFeedback\";\r\n calls[calls[\"GetItem\"] = 50] = \"GetItem\";\r\n calls[calls[\"GetItemsAwaitingFeedback\"] = 51] = \"GetItemsAwaitingFeedback\";\r\n calls[calls[\"GetItemShipping\"] = 52] = \"GetItemShipping\";\r\n calls[calls[\"GetItemTransactions\"] = 53] = \"GetItemTransactions\";\r\n calls[calls[\"GetMemberMessages\"] = 54] = \"GetMemberMessages\";\r\n calls[calls[\"GetMessagePreferences\"] = 55] = \"GetMessagePreferences\";\r\n calls[calls[\"GetMyeBayBuying\"] = 56] = \"GetMyeBayBuying\";\r\n calls[calls[\"GetMyeBayReminders\"] = 57] = \"GetMyeBayReminders\";\r\n calls[calls[\"GetMyeBaySelling\"] = 58] = \"GetMyeBaySelling\";\r\n calls[calls[\"GetMyMessages\"] = 59] = \"GetMyMessages\";\r\n calls[calls[\"GetNotificationPreferences\"] = 60] = \"GetNotificationPreferences\";\r\n calls[calls[\"GetNotificationsUsage\"] = 61] = \"GetNotificationsUsage\";\r\n calls[calls[\"GetOrders\"] = 62] = \"GetOrders\";\r\n calls[calls[\"GetOrderTransactions\"] = 63] = \"GetOrderTransactions\";\r\n calls[calls[\"GetPromotionalSaleDetails\"] = 64] = \"GetPromotionalSaleDetails\";\r\n calls[calls[\"GetSellerDashboard\"] = 65] = \"GetSellerDashboard\";\r\n calls[calls[\"GetSellerEvents\"] = 66] = \"GetSellerEvents\";\r\n calls[calls[\"GetSellerList\"] = 67] = \"GetSellerList\";\r\n calls[calls[\"GetSellerTransactions\"] = 68] = \"GetSellerTransactions\";\r\n calls[calls[\"GetSellingManagerAlerts\"] = 69] = \"GetSellingManagerAlerts\";\r\n calls[calls[\"GetSellingManagerEmailLog\"] = 70] = \"GetSellingManagerEmailLog\";\r\n calls[calls[\"GetSellingManagerInventory\"] = 71] = \"GetSellingManagerInventory\";\r\n calls[calls[\"GetSellingManagerInventoryFolder\"] = 72] = \"GetSellingManagerInventoryFolder\";\r\n calls[calls[\"GetSellingManagerItemAutomationRule\"] = 73] = \"GetSellingManagerItemAutomationRule\";\r\n calls[calls[\"GetSellingManagerSaleRecord\"] = 74] = \"GetSellingManagerSaleRecord\";\r\n calls[calls[\"GetSellingManagerSoldListings\"] = 75] = \"GetSellingManagerSoldListings\";\r\n calls[calls[\"GetSellingManagerTemplateAutomationRule\"] = 76] = \"GetSellingManagerTemplateAutomationRule\";\r\n calls[calls[\"GetSellingManagerTemplates\"] = 77] = \"GetSellingManagerTemplates\";\r\n calls[calls[\"GetSessionID\"] = 78] = \"GetSessionID\";\r\n calls[calls[\"GetShippingDiscountProfiles\"] = 79] = \"GetShippingDiscountProfiles\";\r\n calls[calls[\"GetStore\"] = 80] = \"GetStore\";\r\n calls[calls[\"GetStoreCategoryUpdateStatus\"] = 81] = \"GetStoreCategoryUpdateStatus\";\r\n calls[calls[\"GetStoreCustomPage\"] = 82] = \"GetStoreCustomPage\";\r\n calls[calls[\"GetStoreOptions\"] = 83] = \"GetStoreOptions\";\r\n calls[calls[\"GetStorePreferences\"] = 84] = \"GetStorePreferences\";\r\n calls[calls[\"GetSuggestedCategories\"] = 85] = \"GetSuggestedCategories\";\r\n calls[calls[\"GetTaxTable\"] = 86] = \"GetTaxTable\";\r\n calls[calls[\"GetTokenStatus\"] = 87] = \"GetTokenStatus\";\r\n calls[calls[\"GetUser\"] = 88] = \"GetUser\";\r\n calls[calls[\"GetUserContactDetails\"] = 89] = \"GetUserContactDetails\";\r\n calls[calls[\"GetUserDisputes\"] = 90] = \"GetUserDisputes\";\r\n calls[calls[\"GetUserPreferences\"] = 91] = \"GetUserPreferences\";\r\n calls[calls[\"GetVeROReasonCodeDetails\"] = 92] = \"GetVeROReasonCodeDetails\";\r\n calls[calls[\"GetVeROReportStatus\"] = 93] = \"GetVeROReportStatus\";\r\n calls[calls[\"LeaveFeedback\"] = 94] = \"LeaveFeedback\";\r\n calls[calls[\"MoveSellingManagerInventoryFolder\"] = 95] = \"MoveSellingManagerInventoryFolder\";\r\n calls[calls[\"PlaceOffer\"] = 96] = \"PlaceOffer\";\r\n calls[calls[\"RelistFixedPriceItem\"] = 97] = \"RelistFixedPriceItem\";\r\n calls[calls[\"RelistItem\"] = 98] = \"RelistItem\";\r\n calls[calls[\"RemoveFromWatchList\"] = 99] = \"RemoveFromWatchList\";\r\n calls[calls[\"RespondToBestOffer\"] = 100] = \"RespondToBestOffer\";\r\n calls[calls[\"RespondToFeedback\"] = 101] = \"RespondToFeedback\";\r\n calls[calls[\"ReviseCheckoutStatus\"] = 102] = \"ReviseCheckoutStatus\";\r\n calls[calls[\"ReviseFixedPriceItem\"] = 103] = \"ReviseFixedPriceItem\";\r\n calls[calls[\"ReviseInventoryStatus\"] = 104] = \"ReviseInventoryStatus\";\r\n calls[calls[\"ReviseItem\"] = 105] = \"ReviseItem\";\r\n calls[calls[\"ReviseMyMessages\"] = 106] = \"ReviseMyMessages\";\r\n calls[calls[\"ReviseMyMessagesFolders\"] = 107] = \"ReviseMyMessagesFolders\";\r\n calls[calls[\"ReviseSellingManagerInventoryFolder\"] = 108] = \"ReviseSellingManagerInventoryFolder\";\r\n calls[calls[\"ReviseSellingManagerProduct\"] = 109] = \"ReviseSellingManagerProduct\";\r\n calls[calls[\"ReviseSellingManagerSaleRecord\"] = 110] = \"ReviseSellingManagerSaleRecord\";\r\n calls[calls[\"ReviseSellingManagerTemplate\"] = 111] = \"ReviseSellingManagerTemplate\";\r\n calls[calls[\"RevokeToken\"] = 112] = \"RevokeToken\";\r\n calls[calls[\"SaveItemToSellingManagerTemplate\"] = 113] = \"SaveItemToSellingManagerTemplate\";\r\n calls[calls[\"SellerReverseDispute\"] = 114] = \"SellerReverseDispute\";\r\n calls[calls[\"SendInvoice\"] = 115] = \"SendInvoice\";\r\n calls[calls[\"SetMessagePreferences\"] = 116] = \"SetMessagePreferences\";\r\n calls[calls[\"SetNotificationPreferences\"] = 117] = \"SetNotificationPreferences\";\r\n calls[calls[\"SetPromotionalSale\"] = 118] = \"SetPromotionalSale\";\r\n calls[calls[\"SetPromotionalSaleListings\"] = 119] = \"SetPromotionalSaleListings\";\r\n calls[calls[\"SetSellingManagerFeedbackOptions\"] = 120] = \"SetSellingManagerFeedbackOptions\";\r\n calls[calls[\"SetSellingManagerItemAutomationRule\"] = 121] = \"SetSellingManagerItemAutomationRule\";\r\n calls[calls[\"SetSellingManagerTemplateAutomationRule\"] = 122] = \"SetSellingManagerTemplateAutomationRule\";\r\n calls[calls[\"SetShippingDiscountProfiles\"] = 123] = \"SetShippingDiscountProfiles\";\r\n calls[calls[\"SetStore\"] = 124] = \"SetStore\";\r\n calls[calls[\"SetStoreCategories\"] = 125] = \"SetStoreCategories\";\r\n calls[calls[\"SetStoreCustomPage\"] = 126] = \"SetStoreCustomPage\";\r\n calls[calls[\"SetStorePreferences\"] = 127] = \"SetStorePreferences\";\r\n calls[calls[\"SetTaxTable\"] = 128] = \"SetTaxTable\";\r\n calls[calls[\"SetUserNotes\"] = 129] = \"SetUserNotes\";\r\n calls[calls[\"SetUserPreferences\"] = 130] = \"SetUserPreferences\";\r\n calls[calls[\"UploadSiteHostedPictures\"] = 131] = \"UploadSiteHostedPictures\";\r\n calls[calls[\"ValidateChallengeInput\"] = 132] = \"ValidateChallengeInput\";\r\n calls[calls[\"ValidateTestUserRegistration\"] = 133] = \"ValidateTestUserRegistration\";\r\n calls[calls[\"VerifyAddFixedPriceItem\"] = 134] = \"VerifyAddFixedPriceItem\";\r\n calls[calls[\"VerifyAddItem\"] = 135] = \"VerifyAddItem\";\r\n calls[calls[\"VerifyAddSecondChanceItem\"] = 136] = \"VerifyAddSecondChanceItem\";\r\n calls[calls[\"VerifyRelistItem\"] = 137] = \"VerifyRelistItem\";\r\n calls[calls[\"VeROReportItems\"] = 138] = \"VeROReportItems\";\r\n})(calls || (calls = {}));\r\nexports.default = calls;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst qs_1 = require(\"qs\");\r\nconst __1 = __importDefault(require(\"../\"));\r\nconst errors_1 = require(\"../../errors\");\r\nconst clientAlerts_1 = __importDefault(require(\"./clientAlerts\"));\r\nconst finding_1 = __importDefault(require(\"./finding\"));\r\nconst merchandising_1 = __importDefault(require(\"./merchandising\"));\r\nconst shopping_1 = __importDefault(require(\"./shopping\"));\r\nconst trading_1 = __importDefault(require(\"./trading\"));\r\nconst XMLRequest_1 = __importStar(require(\"./XMLRequest\"));\r\n/**\r\n * Traditional eBay API.\r\n */\r\nclass Traditional extends __1.default {\r\n constructor() {\r\n super(...arguments);\r\n this.createXMLRequest = (callName, api) => async (fields, opts) => {\r\n const apiConfig = { ...XMLRequest_1.defaultApiConfig, ...opts };\r\n try {\r\n return await this.request(apiConfig, api, callName, fields);\r\n }\r\n catch (error) {\r\n // Try to refresh the token.\r\n if (this.config.autoRefreshToken && (error.name === errors_1.EBayIAFTokenExpired.name || error.name === errors_1.EBayIAFTokenInvalid.name)) {\r\n return await this.request(apiConfig, api, callName, fields, true);\r\n }\r\n throw error;\r\n }\r\n };\r\n }\r\n createTradingApi() {\r\n if (!this.config.devId) {\r\n throw new Error('devId is required for trading API.');\r\n }\r\n if (typeof this.config.siteId !== 'number') {\r\n throw new Error('siteId is required for trading API.');\r\n }\r\n return this.createTraditionalXMLApi({\r\n endpoint: {\r\n production: 'https://api.ebay.com/ws/api.dll',\r\n sandbox: 'https://api.sandbox.ebay.com/ws/api.dll'\r\n },\r\n calls: trading_1.default,\r\n xmlns: 'urn:ebay:apis:eBLBaseComponents',\r\n headers: (callName, accessToken) => ({\r\n 'X-EBAY-API-CALL-NAME': callName,\r\n 'X-EBAY-API-CERT-NAME': this.config.certId,\r\n 'X-EBAY-API-APP-NAME': this.config.appId,\r\n 'X-EBAY-API-DEV-NAME': this.config.devId,\r\n 'X-EBAY-API-SITEID': this.config.siteId,\r\n 'X-EBAY-API-COMPATIBILITY-LEVEL': 967,\r\n ...(accessToken && { 'X-EBAY-API-IAF-TOKEN': accessToken })\r\n })\r\n });\r\n }\r\n createShoppingApi() {\r\n if (typeof this.config.siteId !== 'number') {\r\n throw new Error('siteId is required for shopping API.');\r\n }\r\n return this.createTraditionalXMLApi({\r\n endpoint: {\r\n production: 'https://open.api.ebay.com/shopping',\r\n sandbox: 'https://open.api.sandbox.ebay.com/shopping'\r\n },\r\n xmlns: 'urn:ebay:apis:eBLBaseComponents',\r\n calls: shopping_1.default,\r\n headers: (callName, accessToken) => ({\r\n 'X-EBAY-API-CALL-NAME': callName,\r\n // 'X-EBAY-API-APP-ID': this.config.appId, deprecated on June 30, 2021\r\n 'X-EBAY-API-SITE-ID': this.config.siteId,\r\n 'X-EBAY-API-VERSION': 863,\r\n 'X-EBAY-API-REQUEST-ENCODING': 'xml',\r\n ...(accessToken && { 'X-EBAY-API-IAF-TOKEN': accessToken })\r\n })\r\n });\r\n }\r\n createFindingApi() {\r\n return this.createTraditionalXMLApi({\r\n endpoint: {\r\n production: 'https://svcs.ebay.com/services/search/FindingService/v1',\r\n sandbox: 'https://svcs.sandbox.ebay.com/services/search/FindingService/v1'\r\n },\r\n xmlns: 'http://www.ebay.com/marketplace/search/v1/services',\r\n calls: finding_1.default,\r\n headers: (callName) => ({\r\n 'X-EBAY-SOA-SECURITY-APPNAME': this.config.appId,\r\n 'X-EBAY-SOA-OPERATION-NAME': callName\r\n })\r\n });\r\n }\r\n createClientAlertsApi() {\r\n if (typeof this.config.siteId !== 'number') {\r\n throw new Error('siteId is required for client alerts API.');\r\n }\r\n const api = {\r\n endpoint: {\r\n production: 'https://clientalerts.ebay.com/ws/ecasvc/ClientAlerts',\r\n sandbox: 'https://clientalerts.sandbox.ebay.com/ws/ecasvc/ClientAlerts'\r\n },\r\n calls: clientAlerts_1.default\r\n };\r\n const endpoint = api.endpoint[this.config.sandbox ? 'sandbox' : 'production'];\r\n const paramsSerializer = (args) => {\r\n return (0, qs_1.stringify)(args, { allowDots: true })\r\n .replace(/%5B/gi, '(')\r\n .replace(/%5D/gi, ')');\r\n };\r\n const params = {\r\n appid: this.config.appId,\r\n siteid: this.config.siteId,\r\n version: 643\r\n };\r\n const service = {};\r\n Object.keys(api.calls).forEach((callName) => {\r\n service[callName] = async (fields) => {\r\n return this.req.get(endpoint, {\r\n paramsSerializer,\r\n params: {\r\n ...params,\r\n ...fields,\r\n callname: callName\r\n }\r\n });\r\n };\r\n });\r\n return service;\r\n }\r\n createMerchandisingApi() {\r\n return this.createTraditionalXMLApi({\r\n endpoint: {\r\n production: 'https://svcs.ebay.com/MerchandisingService',\r\n sandbox: 'https://svcs.sandbox.ebay.com/MerchandisingService'\r\n },\r\n xmlns: 'http://www.ebay.com/marketplace/services',\r\n calls: merchandising_1.default,\r\n headers: (callName) => ({\r\n 'EBAY-SOA-CONSUMER-ID': this.config.appId,\r\n 'X-EBAY-SOA-OPERATION-NAME': callName\r\n })\r\n });\r\n }\r\n createBusinessPolicyManagementApi() {\r\n throw new Error('Important! This API is deprecated and will be decommissioned on January 31, 2022. We recommend that you migrate to the fulfillment_policy, payment_policy, and return_policy resources of the Account API to set up and manage all of your fulfillment, payment, and return business policies.');\r\n }\r\n async request(apiConfig, api, callName, fields, refreshToken = false) {\r\n try {\r\n if (refreshToken) {\r\n await this.auth.OAuth2.refreshToken();\r\n }\r\n const config = this.getConfig(api, callName, apiConfig);\r\n const xmlRequest = new XMLRequest_1.default(callName, fields, config, this.req);\r\n return await xmlRequest.request();\r\n }\r\n catch (e) {\r\n (0, errors_1.handleEBayError)(e);\r\n }\r\n }\r\n getConfig(api, callName, apiConfig) {\r\n const eBayAuthToken = this.auth.authNAuth.eBayAuthToken;\r\n const userAccessToken = this.auth.OAuth2.getUserAccessToken();\r\n const useIaf = (!eBayAuthToken || userAccessToken && apiConfig.useIaf);\r\n return {\r\n ...apiConfig,\r\n xmlns: api.xmlns,\r\n endpoint: api.endpoint[this.config.sandbox ? 'sandbox' : 'production'],\r\n headers: {\r\n ...api.headers(callName, userAccessToken && useIaf ? userAccessToken : undefined),\r\n ...apiConfig.headers\r\n },\r\n ...(eBayAuthToken && !useIaf && {\r\n eBayAuthToken\r\n })\r\n };\r\n }\r\n createTraditionalXMLApi(traditionalApi) {\r\n const api = {};\r\n Object.keys(traditionalApi.calls).forEach((callName) => {\r\n api[callName] = this.createXMLRequest(callName, traditionalApi);\r\n });\r\n return api;\r\n }\r\n}\r\nexports.default = Traditional;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst _1 = __importDefault(require(\"./\"));\r\nconst buy_1 = require(\"./restful/buy\");\r\nconst commerce_1 = require(\"./restful/commerce\");\r\nconst developer_1 = require(\"./restful/developer\");\r\nconst postOrder_1 = require(\"./restful/postOrder\");\r\nconst sell_1 = require(\"./restful/sell\");\r\nconst traditional_1 = __importDefault(require(\"./traditional\"));\r\n/**\r\n * Factory class to create RESTFul API or Traditional API.\r\n */\r\nclass ApiFactory extends _1.default {\r\n constructor() {\r\n super(...arguments);\r\n this._restful = {};\r\n }\r\n createBuyApi() {\r\n return {\r\n browse: this.createRestfulApi(buy_1.Browse),\r\n feed: this.createRestfulApi(buy_1.Feed),\r\n marketing: this.createRestfulApi(buy_1.Marketing),\r\n offer: this.createRestfulApi(buy_1.Offer),\r\n order: this.createRestfulApi(buy_1.Order),\r\n deal: this.createRestfulApi(buy_1.Deal),\r\n marketplaceInsights: this.createRestfulApi(buy_1.MarketplaceInsights),\r\n };\r\n }\r\n createCommerceApi() {\r\n return {\r\n catalog: this.createRestfulApi(commerce_1.Catalog),\r\n identity: this.createRestfulApi(commerce_1.Identity),\r\n taxonomy: this.createRestfulApi(commerce_1.Taxonomy),\r\n translation: this.createRestfulApi(commerce_1.Translation),\r\n charity: this.createRestfulApi(commerce_1.Charity),\r\n notification: this.createRestfulApi(commerce_1.Notification),\r\n };\r\n }\r\n createDeveloperApi() {\r\n return {\r\n analytics: this.createRestfulApi(developer_1.Analytics),\r\n keyManagement: this.createRestfulApi(developer_1.KeyManagement),\r\n };\r\n }\r\n createPostOrderApi() {\r\n return {\r\n cancellation: this.createRestfulApi(postOrder_1.Cancellation),\r\n case: this.createRestfulApi(postOrder_1.Case),\r\n inquiry: this.createRestfulApi(postOrder_1.Inquiry),\r\n return: this.createRestfulApi(postOrder_1.Return),\r\n };\r\n }\r\n createSellApi() {\r\n return {\r\n account: this.createRestfulApi(sell_1.Account),\r\n analytics: this.createRestfulApi(sell_1.Analytics),\r\n compliance: this.createRestfulApi(sell_1.Compliance),\r\n fulfillment: this.createRestfulApi(sell_1.Fulfillment),\r\n inventory: this.createRestfulApi(sell_1.Inventory),\r\n marketing: this.createRestfulApi(sell_1.Marketing),\r\n metadata: this.createRestfulApi(sell_1.Metadata),\r\n recommendation: this.createRestfulApi(sell_1.Recommendation),\r\n finances: this.createRestfulApi(sell_1.Finances),\r\n feed: this.createRestfulApi(sell_1.Feed),\r\n logistics: this.createRestfulApi(sell_1.Logistics),\r\n negotiation: this.createRestfulApi(sell_1.Negotiation),\r\n listing: this.createRestfulApi(sell_1.Listing),\r\n };\r\n }\r\n get traditional() {\r\n if (this._traditional) {\r\n return this._traditional;\r\n }\r\n return (this._traditional = new traditional_1.default(this.config, this.req, this.auth));\r\n }\r\n createTradingApi() {\r\n return this.traditional.createTradingApi();\r\n }\r\n createShoppingApi() {\r\n return this.traditional.createShoppingApi();\r\n }\r\n createFindingApi() {\r\n return this.traditional.createFindingApi();\r\n }\r\n createClientAlertsApi() {\r\n return this.traditional.createClientAlertsApi();\r\n }\r\n createMerchandisingApi() {\r\n return this.traditional.createMerchandisingApi();\r\n }\r\n // tslint:disable-next-line:variable-name\r\n createRestfulApi(RestfulApiClass) {\r\n const id = RestfulApiClass.id;\r\n return (this._restful[id] || (this._restful[id] = new RestfulApiClass(this.config, this.req, this.auth)));\r\n }\r\n}\r\nexports.default = ApiFactory;\r\n//# sourceMappingURL=apiFactory.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MarketplaceId = exports.SiteId = void 0;\r\nvar SiteId;\r\n(function (SiteId) {\r\n SiteId[SiteId[\"EBAY_US\"] = 0] = \"EBAY_US\";\r\n SiteId[SiteId[\"EBAY_ENCA\"] = 2] = \"EBAY_ENCA\";\r\n SiteId[SiteId[\"EBAY_GB\"] = 3] = \"EBAY_GB\";\r\n SiteId[SiteId[\"EBAY_AU\"] = 15] = \"EBAY_AU\";\r\n SiteId[SiteId[\"EBAY_AT\"] = 16] = \"EBAY_AT\";\r\n SiteId[SiteId[\"EBAY_FRBE\"] = 23] = \"EBAY_FRBE\";\r\n SiteId[SiteId[\"EBAY_FR\"] = 71] = \"EBAY_FR\";\r\n SiteId[SiteId[\"EBAY_DE\"] = 77] = \"EBAY_DE\";\r\n SiteId[SiteId[\"EBAY_MOTOR\"] = 100] = \"EBAY_MOTOR\";\r\n SiteId[SiteId[\"EBAY_IT\"] = 101] = \"EBAY_IT\";\r\n SiteId[SiteId[\"EBAY_NLBE\"] = 123] = \"EBAY_NLBE\";\r\n SiteId[SiteId[\"EBAY_NL\"] = 146] = \"EBAY_NL\";\r\n SiteId[SiteId[\"EBAY_ES\"] = 186] = \"EBAY_ES\";\r\n SiteId[SiteId[\"EBAY_CH\"] = 193] = \"EBAY_CH\";\r\n SiteId[SiteId[\"EBAY_HK\"] = 201] = \"EBAY_HK\";\r\n SiteId[SiteId[\"EBAY_IN\"] = 203] = \"EBAY_IN\";\r\n SiteId[SiteId[\"EBAY_IE\"] = 205] = \"EBAY_IE\";\r\n SiteId[SiteId[\"EBAY_MY\"] = 207] = \"EBAY_MY\";\r\n SiteId[SiteId[\"EBAY_FRCA\"] = 210] = \"EBAY_FRCA\";\r\n SiteId[SiteId[\"EBAY_PH\"] = 211] = \"EBAY_PH\";\r\n SiteId[SiteId[\"EBAY_PL\"] = 212] = \"EBAY_PL\";\r\n SiteId[SiteId[\"EBAY_SG\"] = 216] = \"EBAY_SG\";\r\n})(SiteId = exports.SiteId || (exports.SiteId = {}));\r\nvar MarketplaceId;\r\n(function (MarketplaceId) {\r\n MarketplaceId[\"EBAY_US\"] = \"EBAY_US\";\r\n MarketplaceId[\"EBAY_AT\"] = \"EBAY_AT\";\r\n MarketplaceId[\"EBAY_AU\"] = \"EBAY_AU\";\r\n MarketplaceId[\"EBAY_BE\"] = \"EBAY_BE\";\r\n MarketplaceId[\"EBAY_CA\"] = \"EBAY_CA\";\r\n MarketplaceId[\"EBAY_CH\"] = \"EBAY_CH\";\r\n MarketplaceId[\"EBAY_DE\"] = \"EBAY_DE\";\r\n MarketplaceId[\"EBAY_ES\"] = \"EBAY_ES\";\r\n MarketplaceId[\"EBAY_FR\"] = \"EBAY_FR\";\r\n MarketplaceId[\"EBAY_GB\"] = \"EBAY_GB\";\r\n MarketplaceId[\"EBAY_HK\"] = \"EBAY_HK\";\r\n MarketplaceId[\"EBAY_IE\"] = \"EBAY_IE\";\r\n MarketplaceId[\"EBAY_IN\"] = \"EBAY_IN\";\r\n MarketplaceId[\"EBAY_IT\"] = \"EBAY_IT\";\r\n MarketplaceId[\"EBAY_MY\"] = \"EBAY_MY\";\r\n MarketplaceId[\"EBAY_NL\"] = \"EBAY_NL\";\r\n MarketplaceId[\"EBAY_PH\"] = \"EBAY_PH\";\r\n MarketplaceId[\"EBAY_PL\"] = \"EBAY_PL\";\r\n MarketplaceId[\"EBAY_SG\"] = \"EBAY_SG\";\r\n MarketplaceId[\"EBAY_TH\"] = \"EBAY_TH\";\r\n MarketplaceId[\"EBAY_TW\"] = \"EBAY_TW\";\r\n MarketplaceId[\"EBAY_VN\"] = \"EBAY_VN\";\r\n MarketplaceId[\"EBAY_MOTORS_US\"] = \"EBAY_MOTORS_US\";\r\n})(MarketplaceId = exports.MarketplaceId || (exports.MarketplaceId = {}));\r\n//# sourceMappingURL=apiEnums.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.PackageType = exports.WeightUnitOfMeasure = exports.LengthUnitOfMeasure = exports.CancelReason = exports.ReasonForRefund = exports.RegionType = exports.ReturnShippingCostPayer = exports.ReturnMethod = exports.RefundMethod = exports.Metric = exports.FormatType = exports.Marketplace = exports.ContentLanguage = exports.Locale = exports.Condition = exports.CurrencyCode = exports.CountryCode = exports.RecipientAccountReferenceType = exports.PaymentMethodType = exports.PaymentsProgramStatus = exports.PaymentsProgramType = exports.ShippingCostType = exports.ShippingOptionType = exports.TimeDurationUnit = exports.StoreType = exports.ActivityOption = exports.RefundFeeType = exports.FilePurpose = exports.ReturnState = exports.ReturnCountFilter = exports.CategoryType = exports.Decision = exports.EscalateReason = exports.GetReturnFieldGroupEnum = exports.ReturnType = exports.RequestType = exports.ReturnReason = exports.ShippingCarrier = exports.InquiryStatusFilter = exports.CaseSearchFieldGroup = exports.CaseStatusFilter = exports.InquirySearchFieldGroup = exports.UserRoleFilter = void 0;\r\nvar UserRoleFilter;\r\n(function (UserRoleFilter) {\r\n UserRoleFilter[\"BUYER\"] = \"BUYER\";\r\n UserRoleFilter[\"SELLER\"] = \"SELLER\";\r\n})(UserRoleFilter = exports.UserRoleFilter || (exports.UserRoleFilter = {}));\r\nvar InquirySearchFieldGroup;\r\n(function (InquirySearchFieldGroup) {\r\n InquirySearchFieldGroup[\"DEFAULT\"] = \"DEFAULT\";\r\n InquirySearchFieldGroup[\"SUMMARY\"] = \"SUMMARY\";\r\n})(InquirySearchFieldGroup = exports.InquirySearchFieldGroup || (exports.InquirySearchFieldGroup = {}));\r\nvar CaseStatusFilter;\r\n(function (CaseStatusFilter) {\r\n CaseStatusFilter[\"CLOSED\"] = \"CLOSED\";\r\n CaseStatusFilter[\"CS_CLOSED\"] = \"CS_CLOSED\";\r\n CaseStatusFilter[\"ON_HOLD\"] = \"ON_HOLD\";\r\n CaseStatusFilter[\"OPEN\"] = \"OPEN\";\r\n CaseStatusFilter[\"OTHER\"] = \"OTHER\";\r\n CaseStatusFilter[\"REFUND_AGREED_BUT_FAILED\"] = \"REFUND_AGREED_BUT_FAILED\";\r\n CaseStatusFilter[\"WAITING_CS\"] = \"WAITING_CS\";\r\n CaseStatusFilter[\"WAITING_DELIVERY\"] = \"WAITING_DELIVERY\";\r\n})(CaseStatusFilter = exports.CaseStatusFilter || (exports.CaseStatusFilter = {}));\r\nvar CaseSearchFieldGroup;\r\n(function (CaseSearchFieldGroup) {\r\n CaseSearchFieldGroup[\"DEFAULT\"] = \"DEFAULT\";\r\n CaseSearchFieldGroup[\"SUMMARY\"] = \"SUMMARY\";\r\n})(CaseSearchFieldGroup = exports.CaseSearchFieldGroup || (exports.CaseSearchFieldGroup = {}));\r\nvar InquiryStatusFilter;\r\n(function (InquiryStatusFilter) {\r\n InquiryStatusFilter[\"CLOSED\"] = \"CLOSED\";\r\n InquiryStatusFilter[\"CLOSED_WITH_ESCALATION\"] = \"CLOSED_WITH_ESCALATION\";\r\n InquiryStatusFilter[\"CS_CLOSED\"] = \"CS_CLOSED\";\r\n InquiryStatusFilter[\"OPEN\"] = \"OPEN\";\r\n InquiryStatusFilter[\"OTHER\"] = \"OTHER\";\r\n InquiryStatusFilter[\"PENDING\"] = \"PENDING\";\r\n InquiryStatusFilter[\"WAITING_BUYER_RESPONSE\"] = \"WAITING_BUYER_RESPONSE\";\r\n InquiryStatusFilter[\"WAITING_SELLER_RESPONSE\"] = \"WAITING_SELLER_RESPONSE\";\r\n})(InquiryStatusFilter = exports.InquiryStatusFilter || (exports.InquiryStatusFilter = {}));\r\nvar ShippingCarrier;\r\n(function (ShippingCarrier) {\r\n ShippingCarrier[\"AUSTRALIA_POST\"] = \"AUSTRALIA_POST\";\r\n ShippingCarrier[\"BARTOLINI\"] = \"BARTOLINI\";\r\n ShippingCarrier[\"CANADA_POST\"] = \"CANADA_POST\";\r\n ShippingCarrier[\"COLISSIMO\"] = \"COLISSIMO\";\r\n ShippingCarrier[\"COLLECT_PLUS\"] = \"COLLECT_PLUS\";\r\n ShippingCarrier[\"CORREOS\"] = \"CORREOS\";\r\n ShippingCarrier[\"DEUTSCHE_POST\"] = \"DEUTSCHE_POST\";\r\n ShippingCarrier[\"DHL\"] = \"DHL\";\r\n ShippingCarrier[\"FEDEX\"] = \"FEDEX\";\r\n ShippingCarrier[\"HERMES\"] = \"HERMES\";\r\n ShippingCarrier[\"LA_POSTE\"] = \"LA_POSTE\";\r\n ShippingCarrier[\"MONDIAL_RELAY\"] = \"MONDIAL_RELAY\";\r\n ShippingCarrier[\"MRW\"] = \"MRW\";\r\n ShippingCarrier[\"NEXIVE\"] = \"NEXIVE\";\r\n ShippingCarrier[\"OTHER\"] = \"OTHER\";\r\n ShippingCarrier[\"PARCEL_FORCE\"] = \"PARCEL_FORCE\";\r\n ShippingCarrier[\"POSTE\"] = \"POSTE\";\r\n ShippingCarrier[\"ROYAL_MAIL\"] = \"ROYAL_MAIL\";\r\n ShippingCarrier[\"SEUR\"] = \"SEUR\";\r\n ShippingCarrier[\"UNKNOWN\"] = \"UNKNOWN\";\r\n ShippingCarrier[\"UPS\"] = \"UPS\";\r\n ShippingCarrier[\"USPS\"] = \"USPS\";\r\n})(ShippingCarrier = exports.ShippingCarrier || (exports.ShippingCarrier = {}));\r\nvar ReturnReason;\r\n(function (ReturnReason) {\r\n ReturnReason[\"ARRIVED_DAMAGED\"] = \"ARRIVED_DAMAGED\";\r\n ReturnReason[\"ARRIVED_LATE\"] = \"ARRIVED_LATE\";\r\n ReturnReason[\"BUYER_CANCEL_ORDER\"] = \"BUYER_CANCEL_ORDER\";\r\n ReturnReason[\"BUYER_NO_SHOW\"] = \"BUYER_NO_SHOW\";\r\n ReturnReason[\"BUYER_NOT_SCHEDULED\"] = \"BUYER_NOT_SCHEDULED\";\r\n ReturnReason[\"BUYER_REFUSED_TO_PICKUP\"] = \"BUYER_REFUSED_TO_PICKUP\";\r\n ReturnReason[\"DEFECTIVE_ITEM\"] = \"DEFECTIVE_ITEM\";\r\n ReturnReason[\"DIFFERENT_FROM_LISTING\"] = \"DIFFERENT_FROM_LISTING\";\r\n ReturnReason[\"EXPIRED_ITEM\"] = \"EXPIRED_ITEM\";\r\n ReturnReason[\"FAKE_OR_COUNTERFEIT\"] = \"FAKE_OR_COUNTERFEIT\";\r\n ReturnReason[\"FOUND_BETTER_PRICE\"] = \"FOUND_BETTER_PRICE\";\r\n ReturnReason[\"IN_STORE_RETURN\"] = \"IN_STORE_RETURN\";\r\n ReturnReason[\"MISSING_PARTS\"] = \"MISSING_PARTS\";\r\n ReturnReason[\"NO_LONGER_NEED_ITEM\"] = \"NO_LONGER_NEED_ITEM\";\r\n ReturnReason[\"NO_REASON\"] = \"NO_REASON\";\r\n ReturnReason[\"NOT_AS_DESCRIBED\"] = \"NOT_AS_DESCRIBED\";\r\n ReturnReason[\"ORDERED_ACCIDENTALLY\"] = \"ORDERED_ACCIDENTALLY\";\r\n ReturnReason[\"ORDERED_DIFFERENT_ITEM\"] = \"ORDERED_DIFFERENT_ITEM\";\r\n ReturnReason[\"ORDERED_WRONG_ITEM\"] = \"ORDERED_WRONG_ITEM\";\r\n ReturnReason[\"OTHER\"] = \"OTHER\";\r\n ReturnReason[\"OUT_OF_STOCK\"] = \"OUT_OF_STOCK\";\r\n ReturnReason[\"RETURNING_GIFT\"] = \"RETURNING_GIFT\";\r\n ReturnReason[\"VALET_DELIVERY_ISSUES\"] = \"VALET_DELIVERY_ISSUES\";\r\n ReturnReason[\"VALET_UNAVAILABLE\"] = \"VALET_UNAVAILABLE\";\r\n ReturnReason[\"WRONG_SIZE\"] = \"WRONG_SIZE\";\r\n})(ReturnReason = exports.ReturnReason || (exports.ReturnReason = {}));\r\nvar RequestType;\r\n(function (RequestType) {\r\n RequestType[\"CREATE\"] = \"CREATE\";\r\n RequestType[\"REQUEST\"] = \"REQUEST\";\r\n RequestType[\"UNKNOWN\"] = \"UNKNOWN\";\r\n})(RequestType = exports.RequestType || (exports.RequestType = {}));\r\nvar ReturnType;\r\n(function (ReturnType) {\r\n ReturnType[\"EXCHANGE\"] = \"EXCHANGE\";\r\n ReturnType[\"MONEY_BACK\"] = \"MONEY_BACK\";\r\n ReturnType[\"REPLACEMENT\"] = \"REPLACEMENT\";\r\n ReturnType[\"UNKNOWN\"] = \"UNKNOWN\";\r\n})(ReturnType = exports.ReturnType || (exports.ReturnType = {}));\r\nvar GetReturnFieldGroupEnum;\r\n(function (GetReturnFieldGroupEnum) {\r\n GetReturnFieldGroupEnum[\"FULL\"] = \"FULL\";\r\n GetReturnFieldGroupEnum[\"NONE\"] = \"NONE\";\r\n GetReturnFieldGroupEnum[\"SUMMARY\"] = \"SUMMARY\";\r\n})(GetReturnFieldGroupEnum = exports.GetReturnFieldGroupEnum || (exports.GetReturnFieldGroupEnum = {}));\r\nvar EscalateReason;\r\n(function (EscalateReason) {\r\n EscalateReason[\"BUYER_NORESPONSE\"] = \"BUYER_NORESPONSE\";\r\n EscalateReason[\"BUYER_RETURNED_WRONG_ITEM\"] = \"BUYER_RETURNED_WRONG_ITEM\";\r\n EscalateReason[\"DISAGREE_WITH_RETURN_REASON\"] = \"DISAGREE_WITH_RETURN_REASON\";\r\n EscalateReason[\"ITEM_NOT_RECEIVED\"] = \"ITEM_NOT_RECEIVED\";\r\n EscalateReason[\"ITEM_RECEIVED_IN_DIFFERENT_CONDITION\"] = \"ITEM_RECEIVED_IN_DIFFERENT_CONDITION\";\r\n EscalateReason[\"NEW_ITEM_NOT_RECEIVED\"] = \"NEW_ITEM_NOT_RECEIVED\";\r\n EscalateReason[\"NO_REFUND_FOR_RETURN_SHIPPING\"] = \"NO_REFUND_FOR_RETURN_SHIPPING\";\r\n EscalateReason[\"NO_REFUND_RECEIVED\"] = \"NO_REFUND_RECEIVED\";\r\n EscalateReason[\"OTHER\"] = \"OTHER\";\r\n EscalateReason[\"RECEIVED_WRONG_ITEM\"] = \"RECEIVED_WRONG_ITEM\";\r\n EscalateReason[\"SELLER_NO_RESPONSE\"] = \"SELLER_NO_RESPONSE\";\r\n EscalateReason[\"TROUBLE_COMMUNICATION_WITH_BUYER\"] = \"TROUBLE_COMMUNICATION_WITH_BUYER\";\r\n EscalateReason[\"TROUBLE_COMMUNICATION_WITH_SELLER\"] = \"TROUBLE_COMMUNICATION_WITH_SELLER\";\r\n})(EscalateReason = exports.EscalateReason || (exports.EscalateReason = {}));\r\nvar Decision;\r\n(function (Decision) {\r\n Decision[\"ACCEPT_PARTIAL_REFUND\"] = \"ACCEPT_PARTIAL_REFUND\";\r\n Decision[\"ACCEPT_REPLACEMENT_OFFER\"] = \"ACCEPT_REPLACEMENT_OFFER\";\r\n Decision[\"APPROVE\"] = \"APPROVE\";\r\n Decision[\"APPROVE_WITHOUT_EBAY_LABEL\"] = \"APPROVE_WITHOUT_EBAY_LABEL\";\r\n Decision[\"DECLINE\"] = \"DECLINE\";\r\n Decision[\"DECLINE_PARTIAL_REFUND\"] = \"DECLINE_PARTIAL_REFUND\";\r\n Decision[\"DECLINE_REPLACEMENT_OFFER\"] = \"DECLINE_REPLACEMENT_OFFER\";\r\n Decision[\"OFFER_PARTIAL_REFUND\"] = \"OFFER_PARTIAL_REFUND\";\r\n Decision[\"OFFER_REPLACEMENT\"] = \"OFFER_REPLACEMENT\";\r\n Decision[\"OFFER_RETURN\"] = \"OFFER_RETURN\";\r\n Decision[\"OFFER_RETURN_WITHOUT_LABEL\"] = \"OFFER_RETURN_WITHOUT_LABEL\";\r\n Decision[\"PROVIDE_RMA\"] = \"PROVIDE_RMA\";\r\n Decision[\"UNKNOWN\"] = \"UNKNOWN\";\r\n})(Decision = exports.Decision || (exports.Decision = {}));\r\nvar CategoryType;\r\n(function (CategoryType) {\r\n CategoryType[\"MOTORS_VEHICLES\"] = \"MOTORS_VEHICLES\";\r\n CategoryType[\"ALL_EXCLUDING_MOTORS_VEHICLES\"] = \"ALL_EXCLUDING_MOTORS_VEHICLES\";\r\n})(CategoryType = exports.CategoryType || (exports.CategoryType = {}));\r\nvar ReturnCountFilter;\r\n(function (ReturnCountFilter) {\r\n ReturnCountFilter[\"ALL_OPEN\"] = \"ALL_OPEN\";\r\n ReturnCountFilter[\"ALL_OPEN_REPLACEMENT\"] = \"ALL_OPEN_REPLACEMENT\";\r\n ReturnCountFilter[\"ALL_OPEN_RETURN\"] = \"ALL_OPEN_RETURN\";\r\n ReturnCountFilter[\"CLOSED\"] = \"CLOSED\";\r\n ReturnCountFilter[\"EBAY_PLUS\"] = \"EBAY_PLUS\";\r\n ReturnCountFilter[\"ITEM_DELIVERED\"] = \"ITEM_DELIVERED\";\r\n ReturnCountFilter[\"ITEM_SHIPPED\"] = \"ITEM_SHIPPED\";\r\n ReturnCountFilter[\"RETURN_STARTED\"] = \"RETURN_STARTED\";\r\n ReturnCountFilter[\"SELLER_ACTION_DUE\"] = \"SELLER_ACTION_DUE\";\r\n ReturnCountFilter[\"SELLER_ACTION_OVERDUE\"] = \"SELLER_ACTION_OVERDUE\";\r\n ReturnCountFilter[\"SELLER_NO_ACTION\"] = \"SELLER_NO_ACTION\";\r\n ReturnCountFilter[\"UNKNOWN\"] = \"UNKNOWN\";\r\n})(ReturnCountFilter = exports.ReturnCountFilter || (exports.ReturnCountFilter = {}));\r\nvar ReturnState;\r\n(function (ReturnState) {\r\n ReturnState[\"AUTO_REFUND_INITIATED\"] = \"AUTO_REFUND_INITIATED\";\r\n ReturnState[\"CLOSED\"] = \"CLOSED\";\r\n ReturnState[\"INITIAL\"] = \"INITIAL\";\r\n ReturnState[\"ITEM_DELIVERED\"] = \"ITEM_DELIVERED\";\r\n ReturnState[\"ITEM_KEPT\"] = \"ITEM_KEPT\";\r\n ReturnState[\"ITEM_READY_TO_SHIP\"] = \"ITEM_READY_TO_SHIP\";\r\n ReturnState[\"ITEM_SHIPPED\"] = \"ITEM_SHIPPED\";\r\n ReturnState[\"LESS_THAN_A_FULL_REFUND_ISSUED\"] = \"LESS_THAN_A_FULL_REFUND_ISSUED\";\r\n ReturnState[\"PARTIAL_REFUND_AS_PAYOUT_INITIATED\"] = \"PARTIAL_REFUND_AS_PAYOUT_INITIATED\";\r\n ReturnState[\"PARTIAL_REFUND_DECLINED\"] = \"PARTIAL_REFUND_DECLINED\";\r\n ReturnState[\"PARTIAL_REFUND_FAILED\"] = \"PARTIAL_REFUND_FAILED\";\r\n ReturnState[\"PARTIAL_REFUND_INITIATED\"] = \"PARTIAL_REFUND_INITIATED\";\r\n ReturnState[\"PARTIAL_REFUND_NON_PAYPAL_INITIATED\"] = \"PARTIAL_REFUND_NON_PAYPAL_INITIATED\";\r\n ReturnState[\"PARTIAL_REFUND_REQUESTED\"] = \"PARTIAL_REFUND_REQUESTED\";\r\n ReturnState[\"PARTIAL_REFUNDED\"] = \"PARTIAL_REFUNDED\";\r\n ReturnState[\"PAYOUT_INITIATED\"] = \"PAYOUT_INITIATED\";\r\n ReturnState[\"REFUND_AS_PAYOUT_INITIATED\"] = \"REFUND_AS_PAYOUT_INITIATED\";\r\n ReturnState[\"REFUND_FAILED\"] = \"REFUND_FAILED\";\r\n ReturnState[\"REFUND_INITIATED\"] = \"REFUND_INITIATED\";\r\n ReturnState[\"REFUND_SENT_PENDING_CONFIRMATION\"] = \"REFUND_SENT_PENDING_CONFIRMATION\";\r\n ReturnState[\"REFUND_TIMEOUT\"] = \"REFUND_TIMEOUT\";\r\n ReturnState[\"REPLACED\"] = \"REPLACED\";\r\n ReturnState[\"REPLACEMENT_CLOSED\"] = \"REPLACEMENT_CLOSED\";\r\n ReturnState[\"REPLACEMENT_DELIVERED\"] = \"REPLACEMENT_DELIVERED\";\r\n ReturnState[\"REPLACEMENT_LABEL_PENDING\"] = \"REPLACEMENT_LABEL_PENDING\";\r\n ReturnState[\"REPLACEMENT_LABEL_PENDING_TIMEOUT\"] = \"REPLACEMENT_LABEL_PENDING_TIMEOUT\";\r\n ReturnState[\"REPLACEMENT_LABEL_REQUESTED\"] = \"REPLACEMENT_LABEL_REQUESTED\";\r\n ReturnState[\"REPLACEMENT_LABEL_REQUESTED_TIMEOUT\"] = \"REPLACEMENT_LABEL_REQUESTED_TIMEOUT\";\r\n ReturnState[\"REPLACEMENT_OFFER_PENDING\"] = \"REPLACEMENT_OFFER_PENDING\";\r\n ReturnState[\"REPLACEMENT_REQUEST_TIMEOUT\"] = \"REPLACEMENT_REQUEST_TIMEOUT\";\r\n ReturnState[\"REPLACEMENT_REQUESTED\"] = \"REPLACEMENT_REQUESTED\";\r\n ReturnState[\"REPLACEMENT_RMA_PENDING\"] = \"REPLACEMENT_RMA_PENDING\";\r\n ReturnState[\"REPLACEMENT_SHIPPED\"] = \"REPLACEMENT_SHIPPED\";\r\n ReturnState[\"REPLACEMENT_STARTED\"] = \"REPLACEMENT_STARTED\";\r\n ReturnState[\"RETURN_LABEL_PENDING\"] = \"RETURN_LABEL_PENDING\";\r\n ReturnState[\"RETURN_LABEL_PENDING_TIMEOUT\"] = \"RETURN_LABEL_PENDING_TIMEOUT\";\r\n ReturnState[\"RETURN_LABEL_REQUESTED\"] = \"RETURN_LABEL_REQUESTED\";\r\n ReturnState[\"RETURN_LABEL_REQUESTED_TIMEOUT\"] = \"RETURN_LABEL_REQUESTED_TIMEOUT\";\r\n ReturnState[\"RETURN_REJECTED\"] = \"RETURN_REJECTED\";\r\n ReturnState[\"RETURN_REQUEST_TIMEOUT\"] = \"RETURN_REQUEST_TIMEOUT\";\r\n ReturnState[\"RETURN_REQUESTED\"] = \"RETURN_REQUESTED\";\r\n ReturnState[\"RMA_PENDING\"] = \"RMA_PENDING\";\r\n ReturnState[\"UNKNOWN\"] = \"UNKNOWN\";\r\n})(ReturnState = exports.ReturnState || (exports.ReturnState = {}));\r\nvar FilePurpose;\r\n(function (FilePurpose) {\r\n FilePurpose[\"ITEM_RELATED\"] = \"ITEM_RELATED\";\r\n FilePurpose[\"LABEL_RELATED\"] = \"LABEL_RELATED\";\r\n FilePurpose[\"REFUND_RELATED\"] = \"REFUND_RELATED\";\r\n FilePurpose[\"UNKNOWN\"] = \"UNKNOWN\";\r\n})(FilePurpose = exports.FilePurpose || (exports.FilePurpose = {}));\r\nvar RefundFeeType;\r\n(function (RefundFeeType) {\r\n RefundFeeType[\"DOMESTIC_SHIPPING\"] = \"DOMESTIC_SHIPPING\";\r\n RefundFeeType[\"IMPORT_CHARGE\"] = \"IMPORT_CHARGE\";\r\n RefundFeeType[\"INTERNATIONAL_SHIPPING\"] = \"INTERNATIONAL_SHIPPING\";\r\n RefundFeeType[\"ITEM_IMPORT_TAX\"] = \"ITEM_IMPORT_TAX\";\r\n RefundFeeType[\"ITEM_TAX\"] = \"ITEM_TAX\";\r\n RefundFeeType[\"ORDER_ADJUSTMENT\"] = \"ORDER_ADJUSTMENT\";\r\n RefundFeeType[\"ORIGINAL_SHIPPING\"] = \"ORIGINAL_SHIPPING\";\r\n RefundFeeType[\"OTHER\"] = \"OTHER\";\r\n RefundFeeType[\"PURCHASE_PRICE\"] = \"PURCHASE_PRICE\";\r\n RefundFeeType[\"REFUND_FROM_PAYPAL\"] = \"REFUND_FROM_PAYPAL\";\r\n RefundFeeType[\"RETURN_SHIPPING\"] = \"RETURN_SHIPPING\";\r\n RefundFeeType[\"SHIPPING_IMPORT_TAX\"] = \"SHIPPING_IMPORT_TAX\";\r\n RefundFeeType[\"SHIPPING_TAX\"] = \"SHIPPING_TAX\";\r\n})(RefundFeeType = exports.RefundFeeType || (exports.RefundFeeType = {}));\r\nvar ActivityOption;\r\n(function (ActivityOption) {\r\n ActivityOption[\"AUTO_APPROVE_REMORSE\"] = \"AUTO_APPROVE_REMORSE\";\r\n ActivityOption[\"BUYER_ACCEPT_REPLACEMENT_OFFER\"] = \"BUYER_ACCEPT_REPLACEMENT_OFFER\";\r\n ActivityOption[\"BUYER_ACCEPTS_NON_PAYPAL_PARTIAL_REFUND\"] = \"BUYER_ACCEPTS_NON_PAYPAL_PARTIAL_REFUND\";\r\n ActivityOption[\"BUYER_ACCEPTS_PARTIAL_REFUND\"] = \"BUYER_ACCEPTS_PARTIAL_REFUND\";\r\n ActivityOption[\"BUYER_CLOSE_RETURN\"] = \"BUYER_CLOSE_RETURN\";\r\n ActivityOption[\"BUYER_CREATE_RETURN\"] = \"BUYER_CREATE_RETURN\";\r\n ActivityOption[\"BUYER_DECLINE_PARTIAL_REFUND\"] = \"BUYER_DECLINE_PARTIAL_REFUND\";\r\n ActivityOption[\"BUYER_DECLINE_REPLACEMENT_OFFER\"] = \"BUYER_DECLINE_REPLACEMENT_OFFER\";\r\n ActivityOption[\"BUYER_ESCALATE\"] = \"BUYER_ESCALATE\";\r\n ActivityOption[\"BUYER_MARK_AS_RECEIVED\"] = \"BUYER_MARK_AS_RECEIVED\";\r\n ActivityOption[\"BUYER_MARK_REFUND_RECEIVED\"] = \"BUYER_MARK_REFUND_RECEIVED\";\r\n ActivityOption[\"BUYER_MARK_RETURN_SHIPPED\"] = \"BUYER_MARK_RETURN_SHIPPED\";\r\n ActivityOption[\"BUYER_PRINT_SHIPPING_LABEL\"] = \"BUYER_PRINT_SHIPPING_LABEL\";\r\n ActivityOption[\"BUYER_PROVIDE_LABEL\"] = \"BUYER_PROVIDE_LABEL\";\r\n ActivityOption[\"BUYER_PROVIDE_TRACKING_INFO\"] = \"BUYER_PROVIDE_TRACKING_INFO\";\r\n ActivityOption[\"BUYER_SEND_MESSAGE\"] = \"BUYER_SEND_MESSAGE\";\r\n ActivityOption[\"BUYER_UPDATE_TRACKING\"] = \"BUYER_UPDATE_TRACKING\";\r\n ActivityOption[\"BUYER_VOID_LABEL\"] = \"BUYER_VOID_LABEL\";\r\n ActivityOption[\"CHARGEBACK_OPEN\"] = \"CHARGEBACK_OPEN\";\r\n ActivityOption[\"DELETE_FILE\"] = \"DELETE_FILE\";\r\n ActivityOption[\"EMAIL_SHIPPING_LABEL\"] = \"EMAIL_SHIPPING_LABEL\";\r\n ActivityOption[\"EXTERNAL_CLAIM_OPENED\"] = \"EXTERNAL_CLAIM_OPENED\";\r\n ActivityOption[\"GENERAL_TIME_OUT\"] = \"GENERAL_TIME_OUT\";\r\n ActivityOption[\"NOTIFIED_DELIVERED\"] = \"NOTIFIED_DELIVERED\";\r\n ActivityOption[\"NOTIFIED_SHIPPED\"] = \"NOTIFIED_SHIPPED\";\r\n ActivityOption[\"NOTIFY_REPLACEMENT_DELIVERED\"] = \"NOTIFY_REPLACEMENT_DELIVERED\";\r\n ActivityOption[\"NOTIFY_REPLACEMENT_SHIPPED\"] = \"NOTIFY_REPLACEMENT_SHIPPED\";\r\n ActivityOption[\"NOTIFY_UPDATE_REFUND_STATUS\"] = \"NOTIFY_UPDATE_REFUND_STATUS\";\r\n ActivityOption[\"OTHER\"] = \"OTHER\";\r\n ActivityOption[\"REMINDER_BUYER_TO_RESPOND_RE_OFFER\"] = \"REMINDER_BUYER_TO_RESPOND_RE_OFFER\";\r\n ActivityOption[\"REMINDER_BUYER_TO_SHIP\"] = \"REMINDER_BUYER_TO_SHIP\";\r\n ActivityOption[\"REMINDER_FOR_REFUND\"] = \"REMINDER_FOR_REFUND\";\r\n ActivityOption[\"REMINDER_FOR_REFUND_NO_SHIPPING\"] = \"REMINDER_FOR_REFUND_NO_SHIPPING\";\r\n ActivityOption[\"REMINDER_FOR_RMA\"] = \"REMINDER_FOR_RMA\";\r\n ActivityOption[\"REMINDER_FOR_SHIPPING\"] = \"REMINDER_FOR_SHIPPING\";\r\n ActivityOption[\"REMINDER_SELLER_TO_RESPOND\"] = \"REMINDER_SELLER_TO_RESPOND\";\r\n ActivityOption[\"REMINDER_SELLER_TO_SHIP\"] = \"REMINDER_SELLER_TO_SHIP\";\r\n ActivityOption[\"SELLER_APPROVE_REQUEST\"] = \"SELLER_APPROVE_REQUEST\";\r\n ActivityOption[\"SELLER_DECLINE_REQUEST\"] = \"SELLER_DECLINE_REQUEST\";\r\n ActivityOption[\"SELLER_ESCALATE\"] = \"SELLER_ESCALATE\";\r\n ActivityOption[\"SELLER_ISSUE_REFUND\"] = \"SELLER_ISSUE_REFUND\";\r\n ActivityOption[\"SELLER_ISSUE_STORE_CREDIT_REFUND\"] = \"SELLER_ISSUE_STORE_CREDIT_REFUND\";\r\n ActivityOption[\"SELLER_MARK_AS_RECEIVED\"] = \"SELLER_MARK_AS_RECEIVED\";\r\n ActivityOption[\"SELLER_MARK_REFUND_SENT\"] = \"SELLER_MARK_REFUND_SENT\";\r\n ActivityOption[\"SELLER_MARK_REPLACEMENT_SHIPPED\"] = \"SELLER_MARK_REPLACEMENT_SHIPPED\";\r\n ActivityOption[\"SELLER_OFFER_PARTIAL_REFUND\"] = \"SELLER_OFFER_PARTIAL_REFUND\";\r\n ActivityOption[\"SELLER_OFFER_REPLACEMENT\"] = \"SELLER_OFFER_REPLACEMENT\";\r\n ActivityOption[\"SELLER_OFFER_RETURNS\"] = \"SELLER_OFFER_RETURNS\";\r\n ActivityOption[\"SELLER_PRINT_SHIPPING_LABEL\"] = \"SELLER_PRINT_SHIPPING_LABEL\";\r\n ActivityOption[\"SELLER_PROVIDE_LABEL\"] = \"SELLER_PROVIDE_LABEL\";\r\n ActivityOption[\"SELLER_PROVIDE_RMA\"] = \"SELLER_PROVIDE_RMA\";\r\n ActivityOption[\"SELLER_PROVIDE_TRACKING_INFO\"] = \"SELLER_PROVIDE_TRACKING_INFO\";\r\n ActivityOption[\"SELLER_RETRY_REFUND\"] = \"SELLER_RETRY_REFUND\";\r\n ActivityOption[\"SELLER_SEND_MESSAGE\"] = \"SELLER_SEND_MESSAGE\";\r\n ActivityOption[\"SELLER_UPDATE_TRACKING\"] = \"SELLER_UPDATE_TRACKING\";\r\n ActivityOption[\"SELLER_VOID_LABEL\"] = \"SELLER_VOID_LABEL\";\r\n ActivityOption[\"SUBMIT_FILE\"] = \"SUBMIT_FILE\";\r\n ActivityOption[\"SYSTEM_BUYER_PARTIAL_REFUND_AS_PAYOUT\"] = \"SYSTEM_BUYER_PARTIAL_REFUND_AS_PAYOUT\";\r\n ActivityOption[\"SYSTEM_BUYER_REFUND_AS_PAYOUT\"] = \"SYSTEM_BUYER_REFUND_AS_PAYOUT\";\r\n ActivityOption[\"SYSTEM_CLOSE_RETURN\"] = \"SYSTEM_CLOSE_RETURN\";\r\n ActivityOption[\"SYSTEM_CREATE_RETURN\"] = \"SYSTEM_CREATE_RETURN\";\r\n ActivityOption[\"SYSTEM_IMMEDIATE_REFUND\"] = \"SYSTEM_IMMEDIATE_REFUND\";\r\n ActivityOption[\"TIME_OUT_AFTER_DECLINE\"] = \"TIME_OUT_AFTER_DECLINE\";\r\n ActivityOption[\"TIME_OUT_AFTER_REFUNDED\"] = \"TIME_OUT_AFTER_REFUNDED\";\r\n ActivityOption[\"TIME_OUT_AFTER_REFUNDED_AS_PAYOUT\"] = \"TIME_OUT_AFTER_REFUNDED_AS_PAYOUT\";\r\n ActivityOption[\"TIME_OUT_AFTER_REPLACED\"] = \"TIME_OUT_AFTER_REPLACED\";\r\n ActivityOption[\"TIME_OUT_FOR_AUTHORIZE\"] = \"TIME_OUT_FOR_AUTHORIZE\";\r\n ActivityOption[\"TIME_OUT_FOR_AUTO_REFUND\"] = \"TIME_OUT_FOR_AUTO_REFUND\";\r\n ActivityOption[\"TIME_OUT_FOR_BUYER_RECOUP\"] = \"TIME_OUT_FOR_BUYER_RECOUP\";\r\n ActivityOption[\"TIME_OUT_FOR_DELIVERY\"] = \"TIME_OUT_FOR_DELIVERY\";\r\n ActivityOption[\"TIME_OUT_FOR_ESCALATION\"] = \"TIME_OUT_FOR_ESCALATION\";\r\n ActivityOption[\"TIME_OUT_FOR_ESCALATION_AFTER_SMIR\"] = \"TIME_OUT_FOR_ESCALATION_AFTER_SMIR\";\r\n ActivityOption[\"TIME_OUT_FOR_ITEM_REPLACED\"] = \"TIME_OUT_FOR_ITEM_REPLACED\";\r\n ActivityOption[\"TIME_OUT_FOR_MARK_REFUND_RECEIVED\"] = \"TIME_OUT_FOR_MARK_REFUND_RECEIVED\";\r\n ActivityOption[\"TIME_OUT_FOR_MARK_REFUND_SENT\"] = \"TIME_OUT_FOR_MARK_REFUND_SENT\";\r\n ActivityOption[\"TIME_OUT_FOR_MASS_PAYOUT\"] = \"TIME_OUT_FOR_MASS_PAYOUT\";\r\n ActivityOption[\"TIME_OUT_FOR_PAYOUT\"] = \"TIME_OUT_FOR_PAYOUT\";\r\n ActivityOption[\"TIME_OUT_FOR_PROVIDE_LABEL\"] = \"TIME_OUT_FOR_PROVIDE_LABEL\";\r\n ActivityOption[\"TIME_OUT_FOR_REFUND\"] = \"TIME_OUT_FOR_REFUND\";\r\n ActivityOption[\"TIME_OUT_FOR_REPLACEMENT_DELIVERED_ITEM_NOT_RETURNED\"] = \"TIME_OUT_FOR_REPLACEMENT_DELIVERED_ITEM_NOT_RETURNED\";\r\n ActivityOption[\"TIME_OUT_FOR_REPLACEMENT_SHIPPED\"] = \"TIME_OUT_FOR_REPLACEMENT_SHIPPED\";\r\n ActivityOption[\"TIME_OUT_FOR_RETURN_SHIPPING\"] = \"TIME_OUT_FOR_RETURN_SHIPPING\";\r\n ActivityOption[\"TIME_OUT_FOR_RMA\"] = \"TIME_OUT_FOR_RMA\";\r\n ActivityOption[\"TIME_OUT_FOR_SELLER_INVOICE\"] = \"TIME_OUT_FOR_SELLER_INVOICE\";\r\n ActivityOption[\"TIME_OUT_FOR_SELLER_PAYOUT\"] = \"TIME_OUT_FOR_SELLER_PAYOUT\";\r\n ActivityOption[\"TIME_OUT_FOR_SHIPMENT_TRACKING\"] = \"TIME_OUT_FOR_SHIPMENT_TRACKING\";\r\n ActivityOption[\"TIME_OUT_FOR_SHIPPING\"] = \"TIME_OUT_FOR_SHIPPING\";\r\n ActivityOption[\"TIME_OUT_FOR_SHIPPING_SYSTEM_CLOSE\"] = \"TIME_OUT_FOR_SHIPPING_SYSTEM_CLOSE\";\r\n})(ActivityOption = exports.ActivityOption || (exports.ActivityOption = {}));\r\nvar StoreType;\r\n(function (StoreType) {\r\n StoreType[\"STORE\"] = \"STORE\";\r\n StoreType[\"WAREHOUSE\"] = \"WAREHOUSE\";\r\n})(StoreType = exports.StoreType || (exports.StoreType = {}));\r\nvar TimeDurationUnit;\r\n(function (TimeDurationUnit) {\r\n TimeDurationUnit[\"YEAR\"] = \"YEAR\";\r\n TimeDurationUnit[\"MONTH\"] = \"MONTH\";\r\n TimeDurationUnit[\"DAY\"] = \"DAY\";\r\n TimeDurationUnit[\"HOUR\"] = \"HOUR\";\r\n TimeDurationUnit[\"CALENDAR_DAY\"] = \"CALENDAR_DAY\";\r\n TimeDurationUnit[\"BUSINESS_DAY\"] = \"BUSINESS_DAY\";\r\n TimeDurationUnit[\"MINUTE\"] = \"MINUTE\";\r\n TimeDurationUnit[\"SECOND\"] = \"SECOND\";\r\n TimeDurationUnit[\"MILLISECOND\"] = \"MILLISECOND\";\r\n})(TimeDurationUnit = exports.TimeDurationUnit || (exports.TimeDurationUnit = {}));\r\nvar ShippingOptionType;\r\n(function (ShippingOptionType) {\r\n ShippingOptionType[\"DOMESTIC\"] = \"DOMESTIC\";\r\n ShippingOptionType[\"INTERNATIONAL\"] = \"INTERNATIONAL\";\r\n})(ShippingOptionType = exports.ShippingOptionType || (exports.ShippingOptionType = {}));\r\nvar ShippingCostType;\r\n(function (ShippingCostType) {\r\n ShippingCostType[\"CALCULATED\"] = \"CALCULATED\";\r\n ShippingCostType[\"FLAT_RATE\"] = \"FLAT_RATE\";\r\n ShippingCostType[\"NOT_SPECIFIED\"] = \"NOT_SPECIFIED\";\r\n})(ShippingCostType = exports.ShippingCostType || (exports.ShippingCostType = {}));\r\nvar PaymentsProgramType;\r\n(function (PaymentsProgramType) {\r\n PaymentsProgramType[\"EBAY_PAYMENTS\"] = \"EBAY_PAYMENTS\";\r\n})(PaymentsProgramType = exports.PaymentsProgramType || (exports.PaymentsProgramType = {}));\r\nvar PaymentsProgramStatus;\r\n(function (PaymentsProgramStatus) {\r\n PaymentsProgramStatus[\"OPTED_IN\"] = \"OPTED_IN\";\r\n PaymentsProgramStatus[\"NOT_OPTED_IN\"] = \"NOT_OPTED_IN\";\r\n})(PaymentsProgramStatus = exports.PaymentsProgramStatus || (exports.PaymentsProgramStatus = {}));\r\nvar PaymentMethodType;\r\n(function (PaymentMethodType) {\r\n PaymentMethodType[\"CASH_IN_PERSON\"] = \"CASH_IN_PERSON\";\r\n PaymentMethodType[\"CASH_ON_DELIVERY\"] = \"CASH_ON_DELIVERY\";\r\n PaymentMethodType[\"CASH_ON_PICKUP\"] = \"CASH_ON_PICKUP\";\r\n PaymentMethodType[\"CASHIER_CHECK\"] = \"CASHIER_CHECK\";\r\n PaymentMethodType[\"CREDIT_CARD\"] = \"CREDIT_CARD\";\r\n PaymentMethodType[\"ESCROW\"] = \"ESCROW\";\r\n PaymentMethodType[\"INTEGRATED_MERCHANT_CREDIT_CARD\"] = \"INTEGRATED_MERCHANT_CREDIT_CARD\";\r\n PaymentMethodType[\"LOAN_CHECK\"] = \"LOAN_CHECK\";\r\n PaymentMethodType[\"MONEY_ORDER\"] = \"MONEY_ORDER\";\r\n PaymentMethodType[\"PAISA_PAY\"] = \"PAISA_PAY\";\r\n PaymentMethodType[\"PAISA_PAY_ESCROW\"] = \"PAISA_PAY_ESCROW\";\r\n PaymentMethodType[\"PAISA_PAY_ESCROW_EMI\"] = \"PAISA_PAY_ESCROW_EMI\";\r\n PaymentMethodType[\"PAYPAL\"] = \"PAYPAL\";\r\n PaymentMethodType[\"PERSONAL_CHECK\"] = \"PERSONAL_CHECK\";\r\n PaymentMethodType[\"OTHER\"] = \"OTHER\";\r\n})(PaymentMethodType = exports.PaymentMethodType || (exports.PaymentMethodType = {}));\r\nvar RecipientAccountReferenceType;\r\n(function (RecipientAccountReferenceType) {\r\n RecipientAccountReferenceType[\"PAYPAL_EMAIL\"] = \"PAYPAL_EMAIL\";\r\n})(RecipientAccountReferenceType = exports.RecipientAccountReferenceType || (exports.RecipientAccountReferenceType = {}));\r\nvar CountryCode;\r\n(function (CountryCode) {\r\n CountryCode[\"AD\"] = \"AD\";\r\n CountryCode[\"AE\"] = \"AE\";\r\n CountryCode[\"AF\"] = \"AF\";\r\n CountryCode[\"AG\"] = \"AG\";\r\n CountryCode[\"AI\"] = \"AI\";\r\n CountryCode[\"AL\"] = \"AL\";\r\n CountryCode[\"AM\"] = \"AM\";\r\n CountryCode[\"AN\"] = \"AN\";\r\n CountryCode[\"AO\"] = \"AO\";\r\n CountryCode[\"AQ\"] = \"AQ\";\r\n CountryCode[\"AR\"] = \"AR\";\r\n CountryCode[\"AS\"] = \"AS\";\r\n CountryCode[\"AT\"] = \"AT\";\r\n CountryCode[\"AU\"] = \"AU\";\r\n CountryCode[\"AW\"] = \"AW\";\r\n CountryCode[\"AX\"] = \"AX\";\r\n CountryCode[\"AZ\"] = \"AZ\";\r\n CountryCode[\"BA\"] = \"BA\";\r\n CountryCode[\"BB\"] = \"BB\";\r\n CountryCode[\"BD\"] = \"BD\";\r\n CountryCode[\"BE\"] = \"BE\";\r\n CountryCode[\"BF\"] = \"BF\";\r\n CountryCode[\"BG\"] = \"BG\";\r\n CountryCode[\"BH\"] = \"BH\";\r\n CountryCode[\"BI\"] = \"BI\";\r\n CountryCode[\"BJ\"] = \"BJ\";\r\n CountryCode[\"BL\"] = \"BL\";\r\n CountryCode[\"BM\"] = \"BM\";\r\n CountryCode[\"BN\"] = \"BN\";\r\n CountryCode[\"BO\"] = \"BO\";\r\n CountryCode[\"BQ\"] = \"BQ\";\r\n CountryCode[\"BR\"] = \"BR\";\r\n CountryCode[\"BS\"] = \"BS\";\r\n CountryCode[\"BT\"] = \"BT\";\r\n CountryCode[\"BV\"] = \"BV\";\r\n CountryCode[\"BW\"] = \"BW\";\r\n CountryCode[\"BY\"] = \"BY\";\r\n CountryCode[\"BZ\"] = \"BZ\";\r\n CountryCode[\"CA\"] = \"CA\";\r\n CountryCode[\"CC\"] = \"CC\";\r\n CountryCode[\"CD\"] = \"CD\";\r\n CountryCode[\"CF\"] = \"CF\";\r\n CountryCode[\"CG\"] = \"CG\";\r\n CountryCode[\"CH\"] = \"CH\";\r\n CountryCode[\"CI\"] = \"CI\";\r\n CountryCode[\"CK\"] = \"CK\";\r\n CountryCode[\"CL\"] = \"CL\";\r\n CountryCode[\"CM\"] = \"CM\";\r\n CountryCode[\"CN\"] = \"CN\";\r\n CountryCode[\"CO\"] = \"CO\";\r\n CountryCode[\"CR\"] = \"CR\";\r\n CountryCode[\"CU\"] = \"CU\";\r\n CountryCode[\"CV\"] = \"CV\";\r\n CountryCode[\"CW\"] = \"CW\";\r\n CountryCode[\"CX\"] = \"CX\";\r\n CountryCode[\"CY\"] = \"CY\";\r\n CountryCode[\"CZ\"] = \"CZ\";\r\n CountryCode[\"DE\"] = \"DE\";\r\n CountryCode[\"DJ\"] = \"DJ\";\r\n CountryCode[\"DK\"] = \"DK\";\r\n CountryCode[\"DM\"] = \"DM\";\r\n CountryCode[\"DO\"] = \"DO\";\r\n CountryCode[\"DZ\"] = \"DZ\";\r\n CountryCode[\"EC\"] = \"EC\";\r\n CountryCode[\"EE\"] = \"EE\";\r\n CountryCode[\"EG\"] = \"EG\";\r\n CountryCode[\"EH\"] = \"EH\";\r\n CountryCode[\"ER\"] = \"ER\";\r\n CountryCode[\"ES\"] = \"ES\";\r\n CountryCode[\"ET\"] = \"ET\";\r\n CountryCode[\"FI\"] = \"FI\";\r\n CountryCode[\"FJ\"] = \"FJ\";\r\n CountryCode[\"FK\"] = \"FK\";\r\n CountryCode[\"FM\"] = \"FM\";\r\n CountryCode[\"FO\"] = \"FO\";\r\n CountryCode[\"FR\"] = \"FR\";\r\n CountryCode[\"GA\"] = \"GA\";\r\n CountryCode[\"GB\"] = \"GB\";\r\n CountryCode[\"GD\"] = \"GD\";\r\n CountryCode[\"GE\"] = \"GE\";\r\n CountryCode[\"GF\"] = \"GF\";\r\n CountryCode[\"GG\"] = \"GG\";\r\n CountryCode[\"GH\"] = \"GH\";\r\n CountryCode[\"GI\"] = \"GI\";\r\n CountryCode[\"GL\"] = \"GL\";\r\n CountryCode[\"GM\"] = \"GM\";\r\n CountryCode[\"GN\"] = \"GN\";\r\n CountryCode[\"GP\"] = \"GP\";\r\n CountryCode[\"GQ\"] = \"GQ\";\r\n CountryCode[\"GR\"] = \"GR\";\r\n CountryCode[\"GS\"] = \"GS\";\r\n CountryCode[\"GT\"] = \"GT\";\r\n CountryCode[\"GU\"] = \"GU\";\r\n CountryCode[\"GW\"] = \"GW\";\r\n CountryCode[\"GY\"] = \"GY\";\r\n CountryCode[\"HK\"] = \"HK\";\r\n CountryCode[\"HM\"] = \"HM\";\r\n CountryCode[\"HN\"] = \"HN\";\r\n CountryCode[\"HR\"] = \"HR\";\r\n CountryCode[\"HT\"] = \"HT\";\r\n CountryCode[\"HU\"] = \"HU\";\r\n CountryCode[\"ID\"] = \"ID\";\r\n CountryCode[\"IE\"] = \"IE\";\r\n CountryCode[\"IL\"] = \"IL\";\r\n CountryCode[\"IM\"] = \"IM\";\r\n CountryCode[\"IN\"] = \"IN\";\r\n CountryCode[\"IO\"] = \"IO\";\r\n CountryCode[\"IQ\"] = \"IQ\";\r\n CountryCode[\"IR\"] = \"IR\";\r\n CountryCode[\"IS\"] = \"IS\";\r\n CountryCode[\"IT\"] = \"IT\";\r\n CountryCode[\"JE\"] = \"JE\";\r\n CountryCode[\"JM\"] = \"JM\";\r\n CountryCode[\"JO\"] = \"JO\";\r\n CountryCode[\"JP\"] = \"JP\";\r\n CountryCode[\"KE\"] = \"KE\";\r\n CountryCode[\"KG\"] = \"KG\";\r\n CountryCode[\"KH\"] = \"KH\";\r\n CountryCode[\"KI\"] = \"KI\";\r\n CountryCode[\"KM\"] = \"KM\";\r\n CountryCode[\"KN\"] = \"KN\";\r\n CountryCode[\"KP\"] = \"KP\";\r\n CountryCode[\"KR\"] = \"KR\";\r\n CountryCode[\"KW\"] = \"KW\";\r\n CountryCode[\"KY\"] = \"KY\";\r\n CountryCode[\"KZ\"] = \"KZ\";\r\n CountryCode[\"LA\"] = \"LA\";\r\n CountryCode[\"LB\"] = \"LB\";\r\n CountryCode[\"LC\"] = \"LC\";\r\n CountryCode[\"LI\"] = \"LI\";\r\n CountryCode[\"LK\"] = \"LK\";\r\n CountryCode[\"LR\"] = \"LR\";\r\n CountryCode[\"LS\"] = \"LS\";\r\n CountryCode[\"LT\"] = \"LT\";\r\n CountryCode[\"LU\"] = \"LU\";\r\n CountryCode[\"LV\"] = \"LV\";\r\n CountryCode[\"LY\"] = \"LY\";\r\n CountryCode[\"MA\"] = \"MA\";\r\n CountryCode[\"MC\"] = \"MC\";\r\n CountryCode[\"MD\"] = \"MD\";\r\n CountryCode[\"ME\"] = \"ME\";\r\n CountryCode[\"MF\"] = \"MF\";\r\n CountryCode[\"MG\"] = \"MG\";\r\n CountryCode[\"MH\"] = \"MH\";\r\n CountryCode[\"MK\"] = \"MK\";\r\n CountryCode[\"ML\"] = \"ML\";\r\n CountryCode[\"MM\"] = \"MM\";\r\n CountryCode[\"MN\"] = \"MN\";\r\n CountryCode[\"MO\"] = \"MO\";\r\n CountryCode[\"MP\"] = \"MP\";\r\n CountryCode[\"MQ\"] = \"MQ\";\r\n CountryCode[\"MR\"] = \"MR\";\r\n CountryCode[\"MS\"] = \"MS\";\r\n CountryCode[\"MT\"] = \"MT\";\r\n CountryCode[\"MU\"] = \"MU\";\r\n CountryCode[\"MV\"] = \"MV\";\r\n CountryCode[\"MW\"] = \"MW\";\r\n CountryCode[\"MX\"] = \"MX\";\r\n CountryCode[\"MY\"] = \"MY\";\r\n CountryCode[\"MZ\"] = \"MZ\";\r\n CountryCode[\"NA\"] = \"NA\";\r\n CountryCode[\"NC\"] = \"NC\";\r\n CountryCode[\"NE\"] = \"NE\";\r\n CountryCode[\"NF\"] = \"NF\";\r\n CountryCode[\"NG\"] = \"NG\";\r\n CountryCode[\"NI\"] = \"NI\";\r\n CountryCode[\"NL\"] = \"NL\";\r\n CountryCode[\"NO\"] = \"NO\";\r\n CountryCode[\"NP\"] = \"NP\";\r\n CountryCode[\"NR\"] = \"NR\";\r\n CountryCode[\"NU\"] = \"NU\";\r\n CountryCode[\"NZ\"] = \"NZ\";\r\n CountryCode[\"OM\"] = \"OM\";\r\n CountryCode[\"PA\"] = \"PA\";\r\n CountryCode[\"PE\"] = \"PE\";\r\n CountryCode[\"PF\"] = \"PF\";\r\n CountryCode[\"PG\"] = \"PG\";\r\n CountryCode[\"PH\"] = \"PH\";\r\n CountryCode[\"PK\"] = \"PK\";\r\n CountryCode[\"PL\"] = \"PL\";\r\n CountryCode[\"PM\"] = \"PM\";\r\n CountryCode[\"PN\"] = \"PN\";\r\n CountryCode[\"PR\"] = \"PR\";\r\n CountryCode[\"PS\"] = \"PS\";\r\n CountryCode[\"PT\"] = \"PT\";\r\n CountryCode[\"PW\"] = \"PW\";\r\n CountryCode[\"PY\"] = \"PY\";\r\n CountryCode[\"QA\"] = \"QA\";\r\n CountryCode[\"RE\"] = \"RE\";\r\n CountryCode[\"RO\"] = \"RO\";\r\n CountryCode[\"RS\"] = \"RS\";\r\n CountryCode[\"RU\"] = \"RU\";\r\n CountryCode[\"RW\"] = \"RW\";\r\n CountryCode[\"SA\"] = \"SA\";\r\n CountryCode[\"SB\"] = \"SB\";\r\n CountryCode[\"SC\"] = \"SC\";\r\n CountryCode[\"SD\"] = \"SD\";\r\n CountryCode[\"SE\"] = \"SE\";\r\n CountryCode[\"SG\"] = \"SG\";\r\n CountryCode[\"SH\"] = \"SH\";\r\n CountryCode[\"SI\"] = \"SI\";\r\n CountryCode[\"SJ\"] = \"SJ\";\r\n CountryCode[\"SK\"] = \"SK\";\r\n CountryCode[\"SL\"] = \"SL\";\r\n CountryCode[\"SM\"] = \"SM\";\r\n CountryCode[\"SN\"] = \"SN\";\r\n CountryCode[\"SO\"] = \"SO\";\r\n CountryCode[\"SR\"] = \"SR\";\r\n CountryCode[\"ST\"] = \"ST\";\r\n CountryCode[\"SV\"] = \"SV\";\r\n CountryCode[\"SX\"] = \"SX\";\r\n CountryCode[\"SY\"] = \"SY\";\r\n CountryCode[\"SZ\"] = \"SZ\";\r\n CountryCode[\"TC\"] = \"TC\";\r\n CountryCode[\"TD\"] = \"TD\";\r\n CountryCode[\"TF\"] = \"TF\";\r\n CountryCode[\"TG\"] = \"TG\";\r\n CountryCode[\"TH\"] = \"TH\";\r\n CountryCode[\"TJ\"] = \"TJ\";\r\n CountryCode[\"TK\"] = \"TK\";\r\n CountryCode[\"TL\"] = \"TL\";\r\n CountryCode[\"TM\"] = \"TM\";\r\n CountryCode[\"TN\"] = \"TN\";\r\n CountryCode[\"TO\"] = \"TO\";\r\n CountryCode[\"TR\"] = \"TR\";\r\n CountryCode[\"TT\"] = \"TT\";\r\n CountryCode[\"TV\"] = \"TV\";\r\n CountryCode[\"TW\"] = \"TW\";\r\n CountryCode[\"TZ\"] = \"TZ\";\r\n CountryCode[\"UA\"] = \"UA\";\r\n CountryCode[\"UG\"] = \"UG\";\r\n CountryCode[\"UM\"] = \"UM\";\r\n CountryCode[\"US\"] = \"US\";\r\n CountryCode[\"UY\"] = \"UY\";\r\n CountryCode[\"UZ\"] = \"UZ\";\r\n CountryCode[\"VA\"] = \"VA\";\r\n CountryCode[\"VC\"] = \"VC\";\r\n CountryCode[\"VE\"] = \"VE\";\r\n CountryCode[\"VG\"] = \"VG\";\r\n CountryCode[\"VI\"] = \"VI\";\r\n CountryCode[\"VN\"] = \"VN\";\r\n CountryCode[\"VU\"] = \"VU\";\r\n CountryCode[\"WF\"] = \"WF\";\r\n CountryCode[\"WS\"] = \"WS\";\r\n CountryCode[\"YE\"] = \"YE\";\r\n CountryCode[\"YT\"] = \"YT\";\r\n CountryCode[\"ZA\"] = \"ZA\";\r\n CountryCode[\"ZM\"] = \"ZM\";\r\n CountryCode[\"ZW\"] = \"ZW\";\r\n})(CountryCode = exports.CountryCode || (exports.CountryCode = {}));\r\nvar CurrencyCode;\r\n(function (CurrencyCode) {\r\n CurrencyCode[\"AED\"] = \"AED\";\r\n CurrencyCode[\"AFN\"] = \"AFN\";\r\n CurrencyCode[\"ALL\"] = \"ALL\";\r\n CurrencyCode[\"AMD\"] = \"AMD\";\r\n CurrencyCode[\"ANG\"] = \"ANG\";\r\n CurrencyCode[\"AOA\"] = \"AOA\";\r\n CurrencyCode[\"ARS\"] = \"ARS\";\r\n CurrencyCode[\"AUD\"] = \"AUD\";\r\n CurrencyCode[\"AWG\"] = \"AWG\";\r\n CurrencyCode[\"AZN\"] = \"AZN\";\r\n CurrencyCode[\"BAM\"] = \"BAM\";\r\n CurrencyCode[\"BBD\"] = \"BBD\";\r\n CurrencyCode[\"BDT\"] = \"BDT\";\r\n CurrencyCode[\"BGN\"] = \"BGN\";\r\n CurrencyCode[\"BHD\"] = \"BHD\";\r\n CurrencyCode[\"BIF\"] = \"BIF\";\r\n CurrencyCode[\"BMD\"] = \"BMD\";\r\n CurrencyCode[\"BND\"] = \"BND\";\r\n CurrencyCode[\"BOB\"] = \"BOB\";\r\n CurrencyCode[\"BRL\"] = \"BRL\";\r\n CurrencyCode[\"BSD\"] = \"BSD\";\r\n CurrencyCode[\"BTN\"] = \"BTN\";\r\n CurrencyCode[\"BWP\"] = \"BWP\";\r\n CurrencyCode[\"BYR\"] = \"BYR\";\r\n CurrencyCode[\"BZD\"] = \"BZD\";\r\n CurrencyCode[\"CAD\"] = \"CAD\";\r\n CurrencyCode[\"CDF\"] = \"CDF\";\r\n CurrencyCode[\"CHF\"] = \"CHF\";\r\n CurrencyCode[\"CLP\"] = \"CLP\";\r\n CurrencyCode[\"CNY\"] = \"CNY\";\r\n CurrencyCode[\"COP\"] = \"COP\";\r\n CurrencyCode[\"CRC\"] = \"CRC\";\r\n CurrencyCode[\"CUP\"] = \"CUP\";\r\n CurrencyCode[\"CVE\"] = \"CVE\";\r\n CurrencyCode[\"CZK\"] = \"CZK\";\r\n CurrencyCode[\"DJF\"] = \"DJF\";\r\n CurrencyCode[\"DKK\"] = \"DKK\";\r\n CurrencyCode[\"DOP\"] = \"DOP\";\r\n CurrencyCode[\"DZD\"] = \"DZD\";\r\n CurrencyCode[\"EGP\"] = \"EGP\";\r\n CurrencyCode[\"ERN\"] = \"ERN\";\r\n CurrencyCode[\"ETB\"] = \"ETB\";\r\n CurrencyCode[\"EUR\"] = \"EUR\";\r\n CurrencyCode[\"FJD\"] = \"FJD\";\r\n CurrencyCode[\"FKP\"] = \"FKP\";\r\n CurrencyCode[\"GBP\"] = \"GBP\";\r\n CurrencyCode[\"GEL\"] = \"GEL\";\r\n CurrencyCode[\"GHS\"] = \"GHS\";\r\n CurrencyCode[\"GIP\"] = \"GIP\";\r\n CurrencyCode[\"GMD\"] = \"GMD\";\r\n CurrencyCode[\"GNF\"] = \"GNF\";\r\n CurrencyCode[\"GTQ\"] = \"GTQ\";\r\n CurrencyCode[\"GYD\"] = \"GYD\";\r\n CurrencyCode[\"HKD\"] = \"HKD\";\r\n CurrencyCode[\"HNL\"] = \"HNL\";\r\n CurrencyCode[\"HRK\"] = \"HRK\";\r\n CurrencyCode[\"HTG\"] = \"HTG\";\r\n CurrencyCode[\"HUF\"] = \"HUF\";\r\n CurrencyCode[\"IDR\"] = \"IDR\";\r\n CurrencyCode[\"ILS\"] = \"ILS\";\r\n CurrencyCode[\"INR\"] = \"INR\";\r\n CurrencyCode[\"IQD\"] = \"IQD\";\r\n CurrencyCode[\"IRR\"] = \"IRR\";\r\n CurrencyCode[\"ISK\"] = \"ISK\";\r\n CurrencyCode[\"JMD\"] = \"JMD\";\r\n CurrencyCode[\"JOD\"] = \"JOD\";\r\n CurrencyCode[\"JPY\"] = \"JPY\";\r\n CurrencyCode[\"KES\"] = \"KES\";\r\n CurrencyCode[\"KGS\"] = \"KGS\";\r\n CurrencyCode[\"KHR\"] = \"KHR\";\r\n CurrencyCode[\"KMF\"] = \"KMF\";\r\n CurrencyCode[\"KPW\"] = \"KPW\";\r\n CurrencyCode[\"KRW\"] = \"KRW\";\r\n CurrencyCode[\"KWD\"] = \"KWD\";\r\n CurrencyCode[\"KYD\"] = \"KYD\";\r\n CurrencyCode[\"KZT\"] = \"KZT\";\r\n CurrencyCode[\"LAK\"] = \"LAK\";\r\n CurrencyCode[\"LBP\"] = \"LBP\";\r\n CurrencyCode[\"LKR\"] = \"LKR\";\r\n CurrencyCode[\"LRD\"] = \"LRD\";\r\n CurrencyCode[\"LSL\"] = \"LSL\";\r\n CurrencyCode[\"LTL\"] = \"LTL\";\r\n CurrencyCode[\"LYD\"] = \"LYD\";\r\n CurrencyCode[\"MAD\"] = \"MAD\";\r\n CurrencyCode[\"MDL\"] = \"MDL\";\r\n CurrencyCode[\"MGA\"] = \"MGA\";\r\n CurrencyCode[\"MKD\"] = \"MKD\";\r\n CurrencyCode[\"MMK\"] = \"MMK\";\r\n CurrencyCode[\"MNT\"] = \"MNT\";\r\n CurrencyCode[\"MOP\"] = \"MOP\";\r\n CurrencyCode[\"MRO\"] = \"MRO\";\r\n CurrencyCode[\"MUR\"] = \"MUR\";\r\n CurrencyCode[\"MVR\"] = \"MVR\";\r\n CurrencyCode[\"MWK\"] = \"MWK\";\r\n CurrencyCode[\"MXN\"] = \"MXN\";\r\n CurrencyCode[\"MYR\"] = \"MYR\";\r\n CurrencyCode[\"MZN\"] = \"MZN\";\r\n CurrencyCode[\"NAD\"] = \"NAD\";\r\n CurrencyCode[\"NGN\"] = \"NGN\";\r\n CurrencyCode[\"NIO\"] = \"NIO\";\r\n CurrencyCode[\"NOK\"] = \"NOK\";\r\n CurrencyCode[\"NPR\"] = \"NPR\";\r\n CurrencyCode[\"NZD\"] = \"NZD\";\r\n CurrencyCode[\"OMR\"] = \"OMR\";\r\n CurrencyCode[\"PAB\"] = \"PAB\";\r\n CurrencyCode[\"PEN\"] = \"PEN\";\r\n CurrencyCode[\"PGK\"] = \"PGK\";\r\n CurrencyCode[\"PHP\"] = \"PHP\";\r\n CurrencyCode[\"PKR\"] = \"PKR\";\r\n CurrencyCode[\"PLN\"] = \"PLN\";\r\n CurrencyCode[\"PYG\"] = \"PYG\";\r\n CurrencyCode[\"QAR\"] = \"QAR\";\r\n CurrencyCode[\"RON\"] = \"RON\";\r\n CurrencyCode[\"RSD\"] = \"RSD\";\r\n CurrencyCode[\"RUB\"] = \"RUB\";\r\n CurrencyCode[\"RWF\"] = \"RWF\";\r\n CurrencyCode[\"SAR\"] = \"SAR\";\r\n CurrencyCode[\"SBD\"] = \"SBD\";\r\n CurrencyCode[\"SCR\"] = \"SCR\";\r\n CurrencyCode[\"SDG\"] = \"SDG\";\r\n CurrencyCode[\"SEK\"] = \"SEK\";\r\n CurrencyCode[\"SGD\"] = \"SGD\";\r\n CurrencyCode[\"SHP\"] = \"SHP\";\r\n CurrencyCode[\"SLL\"] = \"SLL\";\r\n CurrencyCode[\"SOS\"] = \"SOS\";\r\n CurrencyCode[\"SRD\"] = \"SRD\";\r\n CurrencyCode[\"STD\"] = \"STD\";\r\n CurrencyCode[\"SYP\"] = \"SYP\";\r\n CurrencyCode[\"SZL\"] = \"SZL\";\r\n CurrencyCode[\"THB\"] = \"THB\";\r\n CurrencyCode[\"TJS\"] = \"TJS\";\r\n CurrencyCode[\"TMT\"] = \"TMT\";\r\n CurrencyCode[\"TND\"] = \"TND\";\r\n CurrencyCode[\"TOP\"] = \"TOP\";\r\n CurrencyCode[\"TRY\"] = \"TRY\";\r\n CurrencyCode[\"TTD\"] = \"TTD\";\r\n CurrencyCode[\"TWD\"] = \"TWD\";\r\n CurrencyCode[\"TZS\"] = \"TZS\";\r\n CurrencyCode[\"UAH\"] = \"UAH\";\r\n CurrencyCode[\"UGX\"] = \"UGX\";\r\n CurrencyCode[\"USD\"] = \"USD\";\r\n CurrencyCode[\"UYU\"] = \"UYU\";\r\n CurrencyCode[\"UZS\"] = \"UZS\";\r\n CurrencyCode[\"VEF\"] = \"VEF\";\r\n CurrencyCode[\"VND\"] = \"VND\";\r\n CurrencyCode[\"VUV\"] = \"VUV\";\r\n CurrencyCode[\"WST\"] = \"WST\";\r\n CurrencyCode[\"XAF\"] = \"XAF\";\r\n CurrencyCode[\"XCD\"] = \"XCD\";\r\n CurrencyCode[\"XOF\"] = \"XOF\";\r\n CurrencyCode[\"XPF\"] = \"XPF\";\r\n CurrencyCode[\"YER\"] = \"YER\";\r\n CurrencyCode[\"ZAR\"] = \"ZAR\";\r\n CurrencyCode[\"ZMW\"] = \"ZMW\";\r\n CurrencyCode[\"ZWL\"] = \"ZWL\";\r\n})(CurrencyCode = exports.CurrencyCode || (exports.CurrencyCode = {}));\r\nvar Condition;\r\n(function (Condition) {\r\n Condition[\"NEW\"] = \"NEW\";\r\n Condition[\"LIKE_NEW\"] = \"LIKE_NEW\";\r\n Condition[\"NEW_OTHER\"] = \"NEW_OTHER\";\r\n Condition[\"NEW_WITH_DEFECTS\"] = \"NEW_WITH_DEFECTS\";\r\n Condition[\"MANUFACTURER_REFURBISHED\"] = \"MANUFACTURER_REFURBISHED\";\r\n Condition[\"SELLER_REFURBISHED\"] = \"SELLER_REFURBISHED\";\r\n Condition[\"USED_EXCELLENT\"] = \"USED_EXCELLENT\";\r\n Condition[\"USED_VERY_GOOD\"] = \"USED_VERY_GOOD\";\r\n Condition[\"USED_GOOD\"] = \"USED_GOOD\";\r\n Condition[\"USED_ACCEPTABLE\"] = \"USED_ACCEPTABLE\";\r\n Condition[\"FOR_PARTS_OR_NOT_WORKING\"] = \"FOR_PARTS_OR_NOT_WORKING\";\r\n})(Condition = exports.Condition || (exports.Condition = {}));\r\nvar Locale;\r\n(function (Locale) {\r\n Locale[\"en_US\"] = \"en_US\";\r\n Locale[\"en_CA\"] = \"en_CA\";\r\n Locale[\"fr_CA\"] = \"fr_CA\";\r\n Locale[\"en_GB\"] = \"en_GB\";\r\n Locale[\"en_AU\"] = \"en_AU\";\r\n Locale[\"en_IN\"] = \"en_IN\";\r\n Locale[\"de_AT\"] = \"de_AT\";\r\n Locale[\"fr_BE\"] = \"fr_BE\";\r\n Locale[\"fr_FR\"] = \"fr_FR\";\r\n Locale[\"de_DE\"] = \"de_DE\";\r\n Locale[\"it_IT\"] = \"it_IT\";\r\n Locale[\"nl_BE\"] = \"nl_BE\";\r\n Locale[\"nl_NL\"] = \"nl_NL\";\r\n Locale[\"es_ES\"] = \"es_ES\";\r\n Locale[\"de_CH\"] = \"de_CH\";\r\n Locale[\"fi_FI\"] = \"fi_FI\";\r\n Locale[\"zh_HK\"] = \"zh_HK\";\r\n Locale[\"hu_HU\"] = \"hu_HU\";\r\n Locale[\"en_PH\"] = \"en_PH\";\r\n Locale[\"pl_PL\"] = \"pl_PL\";\r\n Locale[\"pt_PT\"] = \"pt_PT\";\r\n Locale[\"ru_RU\"] = \"ru_RU\";\r\n Locale[\"en_SG\"] = \"en_SG\";\r\n Locale[\"en_IE\"] = \"en_IE\";\r\n Locale[\"en_MY\"] = \"en_MY\";\r\n})(Locale = exports.Locale || (exports.Locale = {}));\r\nvar ContentLanguage;\r\n(function (ContentLanguage) {\r\n ContentLanguage[\"de_AT\"] = \"de-AT\";\r\n ContentLanguage[\"de_CH\"] = \"de-CH\";\r\n ContentLanguage[\"de_DE\"] = \"de-DE\";\r\n ContentLanguage[\"en_AU\"] = \"en-AU\";\r\n ContentLanguage[\"en_CA\"] = \"en-CA\";\r\n ContentLanguage[\"en_GB\"] = \"en-GB\";\r\n ContentLanguage[\"en_IE\"] = \"en-IE\";\r\n ContentLanguage[\"en_PH\"] = \"en-PH\";\r\n ContentLanguage[\"en_US\"] = \"en-US\";\r\n ContentLanguage[\"es_ES\"] = \"es-ES\";\r\n ContentLanguage[\"fr_BE\"] = \"fr-BE\";\r\n ContentLanguage[\"fr_CA\"] = \"fr-CA\";\r\n ContentLanguage[\"fr_FR\"] = \"fr-FR\";\r\n ContentLanguage[\"it_IT\"] = \"it-IT\";\r\n ContentLanguage[\"nl_BE\"] = \"nl-BE\";\r\n ContentLanguage[\"nl_NL\"] = \"nl-NL\";\r\n ContentLanguage[\"pl_PL\"] = \"pl-PL\";\r\n ContentLanguage[\"th_TH\"] = \"th-TH\";\r\n ContentLanguage[\"zh_HK\"] = \"zh-HK\";\r\n ContentLanguage[\"zh_TW\"] = \"zh-TW\";\r\n})(ContentLanguage = exports.ContentLanguage || (exports.ContentLanguage = {}));\r\nvar Marketplace;\r\n(function (Marketplace) {\r\n Marketplace[\"EBAY_US\"] = \"EBAY_US\";\r\n Marketplace[\"EBAY_MOTORS\"] = \"EBAY_MOTORS\";\r\n Marketplace[\"EBAY_CA\"] = \"EBAY_CA\";\r\n Marketplace[\"EBAY_GB\"] = \"EBAY_GB\";\r\n Marketplace[\"EBAY_AU\"] = \"EBAY_AU\";\r\n Marketplace[\"EBAY_AT\"] = \"EBAY_AT\";\r\n Marketplace[\"EBAY_BE\"] = \"EBAY_BE\";\r\n Marketplace[\"EBAY_FR\"] = \"EBAY_FR\";\r\n Marketplace[\"EBAY_DE\"] = \"EBAY_DE\";\r\n Marketplace[\"EBAY_IT\"] = \"EBAY_IT\";\r\n Marketplace[\"EBAY_NL\"] = \"EBAY_NL\";\r\n Marketplace[\"EBAY_ES\"] = \"EBAY_ES\";\r\n Marketplace[\"EBAY_CH\"] = \"EBAY_CH\";\r\n Marketplace[\"EBAY_TW\"] = \"EBAY_TW\";\r\n Marketplace[\"EBAY_CZ\"] = \"EBAY_CZ\";\r\n Marketplace[\"EBAY_DK\"] = \"EBAY_DK\";\r\n Marketplace[\"EBAY_FI\"] = \"EBAY_FI\";\r\n Marketplace[\"EBAY_GR\"] = \"EBAY_GR\";\r\n Marketplace[\"EBAY_HK\"] = \"EBAY_HK\";\r\n Marketplace[\"EBAY_HU\"] = \"EBAY_HU\";\r\n Marketplace[\"EBAY_IN\"] = \"EBAY_IN\";\r\n Marketplace[\"EBAY_ID\"] = \"EBAY_ID\";\r\n Marketplace[\"EBAY_IE\"] = \"EBAY_IE\";\r\n Marketplace[\"EBAY_IL\"] = \"EBAY_IL\";\r\n Marketplace[\"EBAY_MY\"] = \"EBAY_MY\";\r\n Marketplace[\"EBAY_NZ\"] = \"EBAY_NZ\";\r\n Marketplace[\"EBAY_NO\"] = \"EBAY_NO\";\r\n Marketplace[\"EBAY_PH\"] = \"EBAY_PH\";\r\n Marketplace[\"EBAY_PL\"] = \"EBAY_PL\";\r\n Marketplace[\"EBAY_PT\"] = \"EBAY_PT\";\r\n Marketplace[\"EBAY_PR\"] = \"EBAY_PR\";\r\n Marketplace[\"EBAY_RU\"] = \"EBAY_RU\";\r\n Marketplace[\"EBAY_SG\"] = \"EBAY_SG\";\r\n Marketplace[\"EBAY_ZA\"] = \"EBAY_ZA\";\r\n Marketplace[\"EBAY_SE\"] = \"EBAY_SE\";\r\n Marketplace[\"EBAY_TH\"] = \"EBAY_TH\";\r\n Marketplace[\"EBAY_VN\"] = \"EBAY_VN\";\r\n Marketplace[\"EBAY_CN\"] = \"EBAY_CN\";\r\n Marketplace[\"EBAY_PE\"] = \"EBAY_PE\";\r\n Marketplace[\"EBAY_JP\"] = \"EBAY_JP\";\r\n})(Marketplace = exports.Marketplace || (exports.Marketplace = {}));\r\nvar FormatType;\r\n(function (FormatType) {\r\n FormatType[\"AUCTION\"] = \"AUCTION\";\r\n FormatType[\"FIXED_PRICE\"] = \"FIXED_PRICE\";\r\n})(FormatType = exports.FormatType || (exports.FormatType = {}));\r\nvar Metric;\r\n(function (Metric) {\r\n Metric[Metric[\"CLICK_THROUGH_RATE\"] = 0] = \"CLICK_THROUGH_RATE\";\r\n Metric[Metric[\"LISTING_IMPRESSION_STORE\"] = 1] = \"LISTING_IMPRESSION_STORE\";\r\n Metric[Metric[\"LISTING_IMPRESSION_TOTAL\"] = 2] = \"LISTING_IMPRESSION_TOTAL\";\r\n Metric[Metric[\"LISTING_VIEWS_SOURCE_DIRECT\"] = 3] = \"LISTING_VIEWS_SOURCE_DIRECT\";\r\n Metric[Metric[\"LISTING_VIEWS_SOURCE_OFF_EBAY\"] = 4] = \"LISTING_VIEWS_SOURCE_OFF_EBAY\";\r\n Metric[Metric[\"LISTING_VIEWS_SOURCE_OTHER_EBAY\"] = 5] = \"LISTING_VIEWS_SOURCE_OTHER_EBAY\";\r\n Metric[Metric[\"LISTING_VIEWS_SOURCE_SEARCH_RESULTS_PAGE\"] = 6] = \"LISTING_VIEWS_SOURCE_SEARCH_RESULTS_PAGE\";\r\n Metric[Metric[\"LISTING_VIEWS_SOURCE_STORE\"] = 7] = \"LISTING_VIEWS_SOURCE_STORE\";\r\n Metric[Metric[\"LISTING_VIEWS_TOTAL\"] = 8] = \"LISTING_VIEWS_TOTAL\";\r\n Metric[Metric[\"SALES_CONVERSION_RATE\"] = 9] = \"SALES_CONVERSION_RATE\";\r\n Metric[Metric[\"TRANSACTION\"] = 10] = \"TRANSACTION\";\r\n})(Metric = exports.Metric || (exports.Metric = {}));\r\nvar RefundMethod;\r\n(function (RefundMethod) {\r\n RefundMethod[\"MERCHANDISE_CREDIT\"] = \"MERCHANDISE_CREDIT\";\r\n RefundMethod[\"MONEY_BACK\"] = \"MONEY_BACK\";\r\n})(RefundMethod = exports.RefundMethod || (exports.RefundMethod = {}));\r\nvar ReturnMethod;\r\n(function (ReturnMethod) {\r\n ReturnMethod[\"EXCHANGE\"] = \"EXCHANGE\";\r\n ReturnMethod[\"REPLACEMENT\"] = \"REPLACEMENT\";\r\n})(ReturnMethod = exports.ReturnMethod || (exports.ReturnMethod = {}));\r\nvar ReturnShippingCostPayer;\r\n(function (ReturnShippingCostPayer) {\r\n ReturnShippingCostPayer[\"BUYER\"] = \"BUYER\";\r\n ReturnShippingCostPayer[\"SELLER\"] = \"SELLER\";\r\n})(ReturnShippingCostPayer = exports.ReturnShippingCostPayer || (exports.ReturnShippingCostPayer = {}));\r\nvar RegionType;\r\n(function (RegionType) {\r\n RegionType[\"COUNTRY\"] = \"COUNTRY\";\r\n RegionType[\"COUNTRY_REGION\"] = \"COUNTRY_REGION\";\r\n RegionType[\"STATE_OR_PROVINCE\"] = \"STATE_OR_PROVINCE\";\r\n RegionType[\"WORLD_REGION\"] = \"WORLD_REGION\";\r\n RegionType[\"WORLDWIDE\"] = \"WORLDWIDE\";\r\n})(RegionType = exports.RegionType || (exports.RegionType = {}));\r\nvar ReasonForRefund;\r\n(function (ReasonForRefund) {\r\n ReasonForRefund[\"BUYER_CANCEL\"] = \"BUYER_CANCEL\";\r\n ReasonForRefund[\"SELLER_CANCEL\"] = \"SELLER_CANCEL\";\r\n ReasonForRefund[\"ITEM_NOT_RECEIVED\"] = \"ITEM_NOT_RECEIVED\";\r\n ReasonForRefund[\"BUYER_RETURN\"] = \"BUYER_RETURN\";\r\n ReasonForRefund[\"ITEM_NOT_AS_DESCRIBED\"] = \"ITEM_NOT_AS_DESCRIBED\";\r\n ReasonForRefund[\"OTHER_ADJUSTMENT\"] = \"OTHER_ADJUSTMENT\";\r\n ReasonForRefund[\"SHIPPING_DISCOUNT\"] = \"SHIPPING_DISCOUNT\";\r\n})(ReasonForRefund = exports.ReasonForRefund || (exports.ReasonForRefund = {}));\r\nvar CancelReason;\r\n(function (CancelReason) {\r\n CancelReason[\"ADDRESS_ISSUES\"] = \"ADDRESS_ISSUES\";\r\n CancelReason[\"BUYER_ASKED_CANCEL\"] = \"BUYER_ASKED_CANCEL\";\r\n CancelReason[\"BUYER_CANCEL_OR_ADDRESS_ISSUE\"] = \"BUYER_CANCEL_OR_ADDRESS_ISSUE\";\r\n CancelReason[\"FOUND_CHEAPER_PRICE\"] = \"FOUND_CHEAPER_PRICE\";\r\n CancelReason[\"ORDER_MISTAKE\"] = \"ORDER_MISTAKE\";\r\n CancelReason[\"ORDER_UNPAID\"] = \"ORDER_UNPAID\";\r\n CancelReason[\"OTHER\"] = \"OTHER\";\r\n CancelReason[\"OUT_OF_STOCK_OR_CANNOT_FULFILL\"] = \"OUT_OF_STOCK_OR_CANNOT_FULFILL\";\r\n CancelReason[\"PRICE_TOO_HIGH\"] = \"PRICE_TOO_HIGH\";\r\n CancelReason[\"UNKNOWN\"] = \"UNKNOWN\";\r\n CancelReason[\"WONT_ARRIVE_IN_TIME\"] = \"WONT_ARRIVE_IN_TIME\";\r\n CancelReason[\"WRONG_PAYMENT_METHOD\"] = \"WRONG_PAYMENT_METHOD\";\r\n CancelReason[\"WRONG_SHIPPING_ADDRESS\"] = \"WRONG_SHIPPING_ADDRESS\";\r\n CancelReason[\"WRONG_SHIPPING_METHOD\"] = \"WRONG_SHIPPING_METHOD\";\r\n})(CancelReason = exports.CancelReason || (exports.CancelReason = {}));\r\nvar LengthUnitOfMeasure;\r\n(function (LengthUnitOfMeasure) {\r\n LengthUnitOfMeasure[\"INCH\"] = \"INCH\";\r\n LengthUnitOfMeasure[\"FEET\"] = \"FEET\";\r\n LengthUnitOfMeasure[\"CENTIMETER\"] = \"CENTIMETER\";\r\n LengthUnitOfMeasure[\"METER\"] = \"METER\";\r\n})(LengthUnitOfMeasure = exports.LengthUnitOfMeasure || (exports.LengthUnitOfMeasure = {}));\r\nvar WeightUnitOfMeasure;\r\n(function (WeightUnitOfMeasure) {\r\n WeightUnitOfMeasure[\"POUND\"] = \"POUND\";\r\n WeightUnitOfMeasure[\"KILOGRAM\"] = \"KILOGRAM\";\r\n WeightUnitOfMeasure[\"OUNCE\"] = \"OUNCE\";\r\n WeightUnitOfMeasure[\"GRAM\"] = \"GRAM\";\r\n})(WeightUnitOfMeasure = exports.WeightUnitOfMeasure || (exports.WeightUnitOfMeasure = {}));\r\nvar PackageType;\r\n(function (PackageType) {\r\n PackageType[\"LETTER\"] = \"LETTER\";\r\n PackageType[\"BULKY_GOODS\"] = \"BULKY_GOODS\";\r\n PackageType[\"CARAVAN\"] = \"CARAVAN\";\r\n PackageType[\"CARS\"] = \"CARS\";\r\n PackageType[\"EUROPALLET\"] = \"EUROPALLET\";\r\n PackageType[\"EXPANDABLE_TOUGH_BAGS\"] = \"EXPANDABLE_TOUGH_BAGS\";\r\n PackageType[\"EXTRA_LARGE_PACK\"] = \"EXTRA_LARGE_PACK\";\r\n PackageType[\"FURNITURE\"] = \"FURNITURE\";\r\n PackageType[\"INDUSTRY_VEHICLES\"] = \"INDUSTRY_VEHICLES\";\r\n PackageType[\"LARGE_CANADA_POSTBOX\"] = \"LARGE_CANADA_POSTBOX\";\r\n PackageType[\"LARGE_CANADA_POST_BUBBLE_MAILER\"] = \"LARGE_CANADA_POST_BUBBLE_MAILER\";\r\n PackageType[\"LARGE_ENVELOPE\"] = \"LARGE_ENVELOPE\";\r\n PackageType[\"MAILING_BOX\"] = \"MAILING_BOX\";\r\n PackageType[\"MEDIUM_CANADA_POST_BOX\"] = \"MEDIUM_CANADA_POST_BOX\";\r\n PackageType[\"MEDIUM_CANADA_POST_BUBBLE_MAILER\"] = \"MEDIUM_CANADA_POST_BUBBLE_MAILER\";\r\n PackageType[\"MOTORBIKES\"] = \"MOTORBIKES\";\r\n PackageType[\"ONE_WAY_PALLET\"] = \"ONE_WAY_PALLET\";\r\n PackageType[\"PACKAGE_THICK_ENVELOPE\"] = \"PACKAGE_THICK_ENVELOPE\";\r\n PackageType[\"PADDED_BAGS\"] = \"PADDED_BAGS\";\r\n PackageType[\"PARCEL_OR_PADDED_ENVELOPE\"] = \"PARCEL_OR_PADDED_ENVELOPE\";\r\n PackageType[\"ROLL\"] = \"ROLL\";\r\n PackageType[\"SMALL_CANADA_POST_BOX\"] = \"SMALL_CANADA_POST_BOX\";\r\n PackageType[\"SMALL_CANADA_POST_BUBBLE_MAILER\"] = \"SMALL_CANADA_POST_BUBBLE_MAILER\";\r\n PackageType[\"TOUGH_BAGS\"] = \"TOUGH_BAGS\";\r\n PackageType[\"UPS_LETTER\"] = \"UPS_LETTER\";\r\n PackageType[\"USPS_FLAT_RATE_ENVELOPE\"] = \"USPS_FLAT_RATE_ENVELOPE\";\r\n PackageType[\"USPS_LARGE_PACK\"] = \"USPS_LARGE_PACK\";\r\n PackageType[\"VERY_LARGE_PACK\"] = \"VERY_LARGE_PACK\";\r\n PackageType[\"WINE_PAK\"] = \"WINE_PAK\";\r\n})(PackageType = exports.PackageType || (exports.PackageType = {}));\r\n//# sourceMappingURL=restfulEnums.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__exportStar(require(\"./apiEnums\"), exports);\r\n__exportStar(require(\"./restfulEnums\"), exports);\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nconst api_1 = __importDefault(require(\"./api\"));\r\nconst apiFactory_1 = __importDefault(require(\"./api/apiFactory\"));\r\nconst enums_1 = require(\"./enums\");\r\nconst errors_1 = require(\"./errors\");\r\nconst defaultConfig = {\r\n sandbox: false,\r\n autoRefreshToken: true,\r\n siteId: enums_1.SiteId.EBAY_US,\r\n marketplaceId: enums_1.MarketplaceId.EBAY_US,\r\n acceptLanguage: enums_1.Locale.en_US,\r\n contentLanguage: enums_1.ContentLanguage.en_US\r\n};\r\n// tslint:disable-next-line:class-name\r\nclass eBayApi extends api_1.default {\r\n /**\r\n * @param {AppConfig} config the app config\r\n * @param {IEBayApiRequest} req the request\r\n */\r\n constructor(config, req) {\r\n super({ ...defaultConfig, ...config }, req);\r\n this.factory = new apiFactory_1.default(this.config, this.req, this.auth);\r\n // Shortcuts\r\n this.authNAuth = this.auth.authNAuth;\r\n this.OAuth2 = this.auth.OAuth2;\r\n this.oAuth2 = this.OAuth2;\r\n }\r\n /**\r\n * Loads config from `process.env`\r\n *\r\n * @return {eBayApi} a new eBayApi instance\r\n * @param {request} req request\r\n * @throws {ApiEnvError}\r\n */\r\n static fromEnv(req) {\r\n if (!process.env.EBAY_APP_ID) {\r\n throw new errors_1.ApiEnvError('EBAY_APP_ID');\r\n }\r\n if (!process.env.EBAY_CERT_ID) {\r\n throw new errors_1.ApiEnvError('EBAY_CERT_ID');\r\n }\r\n return new eBayApi({\r\n appId: process.env.EBAY_APP_ID,\r\n certId: process.env.EBAY_CERT_ID,\r\n devId: process.env.EBAY_DEV_ID,\r\n authToken: process.env.EBAY_AUTH_TOKEN,\r\n siteId: process.env.EBAY_SITE_ID ? parseInt(process.env.EBAY_SITE_ID, 10) : enums_1.SiteId.EBAY_US,\r\n marketplaceId: process.env.EBAY_MARKETPLACE_ID && process.env.EBAY_MARKETPLACE_ID in enums_1.MarketplaceId ?\r\n enums_1.MarketplaceId[process.env.EBAY_MARKETPLACE_ID] :\r\n enums_1.MarketplaceId.EBAY_US,\r\n ruName: process.env.EBAY_RU_NAME,\r\n sandbox: (process.env.EBAY_SANDBOX === 'true')\r\n }, req);\r\n }\r\n get buy() {\r\n return this._buy || (this._buy = this.factory.createBuyApi());\r\n }\r\n get commerce() {\r\n return this._commerce || (this._commerce = this.factory.createCommerceApi());\r\n }\r\n get developer() {\r\n return this._developer || (this._developer = this.factory.createDeveloperApi());\r\n }\r\n get postOrder() {\r\n return this._postOrder || (this._postOrder = this.factory.createPostOrderApi());\r\n }\r\n get sell() {\r\n return this._sell || (this._sell = this.factory.createSellApi());\r\n }\r\n // Traditional\r\n get trading() {\r\n return this._trading || (this._trading = this.factory.createTradingApi());\r\n }\r\n get finding() {\r\n return this._finding || (this._finding = this.factory.createFindingApi());\r\n }\r\n get shopping() {\r\n return this._shopping || (this._shopping = this.factory.createShoppingApi());\r\n }\r\n get clientAlerts() {\r\n return this._clientAlerts || (this._clientAlerts = this.factory.createClientAlertsApi());\r\n }\r\n get merchandising() {\r\n return this._merchandising || (this._merchandising = this.factory.createMerchandisingApi());\r\n }\r\n}\r\neBayApi.default = eBayApi;\r\neBayApi.SiteId = enums_1.SiteId;\r\neBayApi.MarketplaceId = enums_1.MarketplaceId;\r\neBayApi.ContentLanguage = enums_1.ContentLanguage;\r\neBayApi.Locale = enums_1.Locale;\r\nmodule.exports = eBayApi;\r\n//# sourceMappingURL=index.js.map"],"names":["module","NanoEvents","this","events","prototype","emit","event","args","slice","call","arguments","filter","i","apply","on","cb","process","env","NODE_ENV","Error","push","bind","fn","thisArg","wrap","Array","length","toString","Object","isArray","val","isUndefined","isObject","isPlainObject","getPrototypeOf","isFunction","forEach","obj","l","key","hasOwnProperty","isArrayBuffer","isBuffer","constructor","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","window","document","merge","result","assignValue","extend","a","b","trim","str","replace","stripBOM","content","charCodeAt","encode","encodeURIComponent","buildURL","url","params","paramsSerializer","serializedParams","utils","parts","serialize","parseValue","v","toISOString","JSON","stringify","join","hashmarkIndex","indexOf","InterceptorManager","handlers","use","fulfilled","rejected","options","synchronous","runWhen","eject","id","forEachHandler","h","normalizeHeaderName","headers","normalizedName","processHeader","value","name","toUpperCase","enhanceError","error","config","code","request","response","isAxiosError","toJSON","message","description","number","fileName","lineNumber","columnNumber","stack","createError","standardBrowserEnv","write","expires","path","domain","secure","cookie","Date","toGMTString","read","match","RegExp","decodeURIComponent","remove","now","ignoreDuplicateOf","originURL","msie","test","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","isURLSameOrigin","requestURL","parsed","xhrAdapter","Promise","dispatchXhrRequest","resolve","reject","requestData","data","requestHeaders","responseType","XMLHttpRequest","auth","username","password","unescape","Authorization","btoa","fullPath","buildFullPath","baseURL","requestedURL","isAbsoluteURL","combineURLs","relativeURL","onloadend","responseHeaders","parseHeaders","split","parser","line","substr","toLowerCase","concat","getAllResponseHeaders","responseText","status","statusText","settle","validateStatus","open","method","timeout","onreadystatechange","handleLoad","readyState","responseURL","setTimeout","onabort","handleAbort","onerror","handleError","ontimeout","handleTimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","xsrfValue","withCredentials","xsrfCookieName","cookies","undefined","xsrfHeaderName","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","onCanceled","cancel","abort","send","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","defaults","silentJSONParsing","forcedJSONParsing","adapter","getDefaultAdapter","require$$0","transformRequest","stringifySafely","rawValue","encoder","parse","e","transformResponse","strictJSONParsing","maxContentLength","maxBodyLength","common","Accept","forEachMethodNoData","forEachMethodWithData","transformData","fns","context","transform","isCancel","__CANCEL__","throwIfCancellationRequested","throwIfRequested","dispatchRequest","cleanHeaderConfig","onAdapterResolution","onAdapterRejection","reason","mergeConfig","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","source","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","axiosKeys","otherKeys","keys","filterAxiosKeys","validators","type","validator","thing","deprecatedWarnings","currentVerArr","pkg","version","isOlderVersion","thanVersion","pkgVersionArr","destVer","isDeprecated","formatMessage","opt","desc","opts","console","warn","assertOptions","schema","allowUnknown","TypeError","Axios","instanceConfig","interceptors","boolean","requestInterceptorChain","synchronousRequestInterceptors","unshiftRequestInterceptors","interceptor","unshift","responseInterceptorChain","pushResponseInterceptors","chain","shift","newConfig","onFulfilled","onRejected","getUri","Cancel","CancelToken","executor","resolvePromise","promiseExecutor","token","c","createInstance","defaultConfig","instance","axios","create","require$$1","require$$2","all","promises","spread","callback","arr","payload","s","m","d","y","String","exec","n","parseFloat","isNaN","long","fmtLong","ms","plural","fmtShort","Math","round","floor","ceil","prevTime","createDebug","namespace","debug","enabled","self","curr","diff","prev","exports","coerce","index","format","formatter","formatters","splice","formatArgs","logFn","log","useColors","color","selectColor","colors","abs","init","disable","enable","namespaces","save","len","skips","names","load","r","storage","DEBUG","Function","humanize","lastC","removeItem","documentElement","style","WebkitAppearance","firebug","exception","table","parseInt","$1","chrome","local","localstorage","localStorage","j","err","origSymbol","Symbol","ERROR_MESSAGE","toStr","funcType","that","bound","binder","boundLength","max","boundArgs","Empty","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","$gOPD","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","get","gOPDthrows","hasSymbols","hasNativeSymbols","getOwnPropertySymbols","iterator","sym","symObj","getOwnPropertyNames","syms","propertyIsEnumerable","descriptor","enumerable","hasSymbolSham","getProto","x","__proto__","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","Atomics","BigInt","Boolean","DataView","decodeURI","encodeURI","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","Map","Number","Proxy","RangeError","ReferenceError","Reflect","Set","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","doEval","gen","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","rePropName","reEscapeChar","stringToPath","string","first","last","quote","subString","getBaseIntrinsic","allowMissing","alias","intrinsicName","hasOwn","GetIntrinsic","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","$apply","$call","$reflectApply","$defineProperty","$max","callBind","originalFunction","func","configurable","applyBind","$indexOf","callBoundIntrinsic","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","has","weakSetHas","weakRefDeref","deref","booleanValueOf","valueOf","objectToString","functionToString","bigIntValueOf","gOPS","symToString","hasShammedSymbols","isEnumerable","gPO","O","inspectCustom","custom","inspectSymbol","isSymbol","toStringTag","inspect_","depth","seen","quoteStyle","maxStringLength","Infinity","customInspect","indent","inspectString","maxDepth","getIndent","baseIndent","base","inspect","from","noIndent","newOpts","nameOf","f","arrObjKeys","symString","markBoxed","isElement","HTMLElement","nodeName","getAttribute","attrs","attributes","wrapQuotes","childNodes","xs","singleLineValues","indentedJoin","isError","isMap","mapParts","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isBigInt","isBoolean","isRegExp","ys","protoTag","stringTag","tag","defaultStyle","quoteChar","remaining","trailer","lowbyte","size","entries","lineJoiner","isArr","symMap","k","$WeakMap","$Map","$weakMapGet","callBound","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","list","next","getSideChannel","$wm","$m","$o","channel","assert","objects","node","listGet","listHas","set","listSet","percentTwenties","Format","default","RFC1738","RFC3986","hexTable","array","arrayToObject","plainObjects","assign","assignSingleSource","reduce","acc","combine","compact","queue","o","refs","item","compactQueue","pop","compacted","decode","decoder","charset","strWithoutPlus","defaultEncoder","kind","escape","$0","out","formats","maybeMap","mapped","allowPrototypes","mergeTarget","targetItem","arrayPrefixGenerators","brackets","prefix","comma","indices","repeat","pushToArray","valueOrArray","toISO","defaultFormat","addQueryPrefix","allowDots","charsetSentinel","delimiter","encodeValuesOnly","serializeDate","date","skipNulls","strictNullHandling","object","generateArrayPrefix","sort","sideChannel","isNonNullishPrimitive","objKeys","values","keyPrefix","valueSideChannel","allowSparse","arrayLimit","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","numberStr","fromCharCode","parseArrayValue","parseKeys","parseQueryStringKeys","givenKey","valuesParsed","child","segment","parent","leaf","root","cleanRoot","parseObject","normalizeParseOptions","tempObj","parseQueryStringValues","cleanStr","limit","skipIndex","bracketEqualsPos","pos","encodedVal","parseValues","newObj","normalizeStringifyOptions","arrayFormat","joined","__importDefault","mod","__esModule","defineProperty","axios_1","debug_1","qs_1","AxiosRequest","defaultGlobalHeaders","post","delete","put","postForm","body","nanoevents_1","Base","req","request_1","axiosConfig","emitter","callBack","nameStartChar","nameRegexp","regexName","arrayMode","isExist","defaultOptions","props","newOptions","tagName","parentTagName","regex","matches","allmatches","convertToJson","jObj","util","isEmptyObject","attrsMap","cdataPositionChar","asArray","isTagNameInArrayMode","tagname","textNodeName","addChild","buildOptions","attributeNamePrefix","attrNodeName","ignoreAttributes","ignoreNameSpace","allowBooleanAttributes","parseNodeValue","parseAttributeValue","trimValues","cdataTagName","tagValueProcessor","attrValueProcessor","attrName","stopNodes","processTagValue","parseTrueNumberOnly","resolveNameSpace","tags","shouldParse","attrsRegx","buildAttributesMap","attrStr","getAllMatches","attrCollection","closingIndexForOpeningTag","attrBoundary","tagExp","ch","findClosingIndex","xmlData","errMsg","closingIndex","xmlObj","xmlNode","currentNode","textData","closeIndex","substring","colonIndex","getValue","includes","startIndex","childNode","separatorIndex","shouldBuildAttributesMap","lastIndexOf","readPI","start","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","readAttributeStr","startChar","tagClosed","validAttrStrRegxp","validateAttributeString","attrNames","getPositionFromMatch","validateAttrName","validateAmpersand","validateNumberAmpersand","re","count","msg","isName","tagFound","reachedRoot","closingTag","isValid","otg","afterAmp","char","chars","nilChar","missingChar","nilPremitive","missingPremitive","emptyChar","emptyValue","boundryChar","objStart","arrStart","arrayEnd","charsArr","_e","e_schema","hasValidData","hasData","itemSchema","arr_len","arr_i","processValue","isAppChar","x2j","_cToJsonStr","level","stringval","indentBy","supressEmptyNode","Parser","isAttribute","attrPrefixLen","isCDATA","replaceCDATAstr","replaceCDATAarr","indentate","tagEndChar","newLine","buildTextNode","buildEmptyTextNode","buildObjNode","buildEmptyObjNode","buildTextValNode","buildObjectNode","cdata","startsWith","j2x","attr","arrLen","Ks","L","x2xmlnode","xmlToNodeobj","validationOption","traversableObj","getTraversalObj","nodeToJson","convert2nimn","convertToJsonString","require$$3","convertTonimn","EBayError","meta","super","setPrototypeOf","EbayNoCallError","ApiEnvError","errors","errorMessage","Errors","ShortMessage","error_description","longMessage","LongMessage","EbayApiError","mapEBayError","EBayAccessDenied","EBayInvalidGrant","EBayNotFound","EBayInvalidAccessToken","EBayIAFTokenExpired","EBayIAFTokenInvalid","EBayTokenRequired","EBayInvalidScope","eBayError","getErrorMessage","getErrorDescription","rawError","res","errorId","Ack","ErrorCode","__createBinding","k2","__setModuleDefault","__importStar","fast_xml_parser_1","suppressEmptyNode","_","parentTageName","raw","parseOptions","defaultXML2JSONParseOptions","useIaf","returnResponse","XMLRequest","callName","fields","errors_1","defaultApiConfig","getResponseWrapper","getCredentials","eBayAuthToken","RequesterCredentials","getParseOptions","getHeaders","defaultHeaders","xml","toXML","xmlns","async","hook","endpoint","json","xml2JSON","checkEBayResponse","j2xParser","defaultJSON2XMLOptions","base_1","XMLRequest_1","AuthNAuth","authToken","setAuthToken","static","sandbox","ruName","sessionId","prompt","SIGNIN_ENDPOINT","production","apiEndpoint","API_ENDPOINT","devId","xmlApi","RuName","getRequestConfig","SessionID","generateAuthUrl","mintToken","getAuthToken","siteId","certId","appId","OAuth2","scope","defaultScopes","state","AUTHORIZE_ENDPOINT","identityEndpoint","IDENTITY_ENDPOINT","getUserAccessToken","getApplicationAccessToken","_authToken","access_token","_clientToken","obtainApplicationAccessToken","setClientToken","clientToken","setScope","getScope","grant_type","mintApplicationAccessToken","redirect_uri","mintUserAccessToken","refresh_token","refreshedToken","setCredentials","getToken","expires_in","refresh_token_expires_in","token_type","refreshUserAccessToken","authNAuth_1","oAuth2_1","Auth","authNAuth","oAuth2","getAccessToken","auth_1","Api","__1","additionalHeaders","marketplaceId","endUserCtx","acceptLanguage","contentLanguage","Restful","apiConfig","getApiConfig","subdomain","tld","apiVersionPath","getServerUrl","apiVersion","basePath","buildServerUrl","baseUrl","api","apix","apiz","doRequest","authHeader","getHeaderAuthorization","defaultApiHeaders","shouldRefreshToken","autoRefreshToken","apiRequest","refreshToken","apiCfg","enrichedConfig","enrichRequestConfig","ex","handleEBayError","Browse","searchByImage","getItems","itemIds","item_ids","itemGroupIds","item_group_ids","getItem","itemId","fieldgroups","getItemByLegacyId","getItemsByItemGroup","itemGroupId","item_group_id","checkCompatibility","addItem","getShoppingCart","updateQuantity","Feed","getItemFeed","range","Range","getItemGroupFeed","getItemSnapshotFeed","snapshotDate","snapshot_date","getProductFeed","Marketing","getAlsoBoughtByProduct","getAlsoViewedByProduct","getMerchandisedProducts","Offer","getBidding","placeProxyBid","Order","applyCoupon","checkoutSessionId","getCheckoutSession","initiateCheckoutSession","placeOrder","removeCoupon","updatePaymentInfo","updateShippingAddress","updateShippingOption","applyGuestCoupon","getGuestCheckoutSession","initiateGuestCheckoutSession","initiateGuestPayment","placeGuestOrder","removeGuestCoupon","updateGuestPaymentInfo","updateGuestQuantity","updateGuestShippingAddress","updateGuestShippingOption","applyProxyGuestCoupon","getProxyGuestCheckoutSession","initiateProxyGuestCheckoutSession","placeProxyGuestOrder","removeProxyGuestCoupon","updateProxyGuestPaymentInfo","authorization","requestNonce","signature","updateProxyGuestQuantity","updateProxyGuestShippingAddress","updateProxyGuestShippingOption","getGuestPurchaseOrder","purchaseOrderId","getPurchaseOrder","Deal","getDealItems","categoryIds","commissionable","deliveryCountry","offset","category_ids","delivery_country","getEvent","eventId","getEvents","getEventItems","eventIds","event_ids","MarketplaceInsights","aspectFilter","epid","gtin","q","aspect_filter","browse_1","feed_1","marketing_1","offer_1","order_1","require$$4","deal_1","require$$5","marketplaceInsights_1","require$$6","Catalog","getChangeRequest","changeRequestId","getChangeRequests","getProduct","getProductMetadata","otherApplicableCategoryIds","primaryCategoryId","other_applicable_category_ids","primary_category_id","getProductMetadataForCategories","Charity","getCharityOrg","charityOrgId","getCharityOrgs","registrationIds","registration_ids","getCharityOrgByLegacyId","legacyCharityOrgId","legacy_charity_org_id","Identity","getUser","Notification","getPublicKey","publicKeyId","getTopic","topicId","getTopics","continuationToken","continuation_token","getSubscriptions","createSubscription","getSubscription","subscriptionId","updateSubscription","deleteSubscription","enableSubscription","disableSubscription","getDestinations","createDestination","getDestination","destinationId","updateDestination","deleteDestination","getConfig","updateConfig","Taxonomy","getDefaultCategoryTreeId","marketplace_id","getCategoryTree","categoryTreeId","cId","getCategorySubtree","categoryId","category_id","getCategorySuggestions","getItemAspectsForCategory","getCompatibilityProperties","getCompatibilityPropertyValues","compatibilityProperty","compatibility_property","fetchItemAspects","Translation","translate","catalog_1","charity_1","identity_1","notification_1","taxonomy_1","translation_1","Analytics","getRateLimits","apiContext","apiName","api_context","api_name","getUserRateLimits","KeyManagement","getSigningKeys","createSigningKey","getSigningKey","signingKeyId","analytics_1","keyManagement_1","Cancellation","approveCancellationRequest","cancelId","checkCancellationEligibility","legacyOrderId","confirmRefundReceived","createCancellation","getCancellation","fieldGroups","rejectCancellationRequest","Case","appealCaseDecision","caseId","closeCase","getCase","issueCaseRefund","provideReturnShipmentInfo","shippingCarrierName","trackingNumber","providesReturnAddress","Inquiry","checkInquiryEligibility","closeInquiry","inquiryId","closeReason","confirmInquiryRefund","createInquiry","desiredOutcome","escalateInquiry","escalateInquiryReason","getInquiry","issueInquiryRefund","provideInquiryRefundInfo","provideInquiryShipmentInfo","sendInquiryMessage","Return","addShippingLabelInfo","returnId","cancelReturnRequest","buyerCloseReason","checkReturnEligibility","checkShippingLabelEligibility","createReturnDraft","createReturnRequest","createReturnShippingLabel","deleteReturnDraftFile","draftId","fileId","escalateReturn","getReturn","getReturnDraft","getReturnDraftFiles","getReturnEstimate","getReturnFiles","getReturnPreferences","getReturnShippingLabel","getShipmentTrackingInfo","carrierUsed","carrier_used","tracking_number","issueReturnRefund","markReturnReceived","markReturnRefundReceived","markReturnRefundSent","markReturnShipped","processReturnRequest","sendReturnMessage","sendReturnShippingLabel","toEmailAddress","to_email_address","setReturnPreferences","rmaRequired","submitReturnFile","filePurpose","updateReturnDraft","returnRequest","updateShipmentTrackingInfo","uploadReturnDraftFile","uploadReturnFile","voidShippingLabel","cancellation_1","case_1","inquiry_1","return_1","Account","getFulfillmentPolicies","createFulfillmentPolicy","updateFulfillmentPolicy","fulfillmentPolicyId","deleteFulfillmentPolicy","getFulfillmentPolicy","getFulfillmentPolicyByName","getPaymentPolicies","getPaymentPolicy","paymentPolicyId","createPaymentPolicy","updatePaymentPolicy","deletePaymentPolicy","getPaymentPolicyByName","getPaymentsProgram","paymentsProgramType","getPaymentsProgramOnboarding","getPrivileges","getOptedInPrograms","optInToProgram","optOutOfProgram","getRateTables","countryCode","country_code","getReturnPolicies","getReturnPolicy","returnPolicyId","createReturnPolicy","updateReturnPolicy","deleteReturnPolicy","getReturnPolicyByName","getSalesTax","jurisdictionId","createOrReplaceSalesTax","deleteSalesTax","getSalesTaxes","getKYC","findSellerStandardsProfiles","getSellerStandardsProfile","program","cycle","getTrafficReport","dimension","metric","getCustomerServiceMetric","customerServiceMetricType","evaluationType","Compliance","getListingViolationsSummary","complianceType","compliance_type","getListingViolations","listingId","listing_id","suppressViolation","Finances","getPayout","payoutId","getPayouts","getPayoutSummary","getTransactions","getTransactionSummary","getTransfer","transferId","getSellerFundsSummary","Fulfillment","getOrder","orderId","getOrders","orderIds","issueRefund","getShippingFulfillments","createShippingFulfillment","getShippingFulfillment","fulfillmentId","getPaymentDispute","paymentDisputeId","fetchEvidenceContent","getActivities","getPaymentDisputeSummaries","order_id","buyerUsername","buyer_username","openDateFrom","open_date_from","openDateTo","open_date_to","paymentDisputeStatus","payment_dispute_status","contestPaymentDispute","acceptPaymentDispute","uploadEvidenceFile","multipartHeader","addEvidence","updateEvidence","Inventory","getInventoryLocation","merchantLocationKey","disableInventoryLocation","enableInventoryLocation","getInventoryLocations","createInventoryLocation","deleteInventoryLocation","updateInventoryLocation","getInventoryItem","sku","createOrReplaceInventoryItem","deleteInventoryItem","getInventoryItems","bulkUpdatePriceQuantity","bulkCreateOrReplaceInventoryItem","bulkGetInventoryItem","getProductCompatibility","createOrReplaceProductCompatibility","deleteProductCompatibility","getOffers","getOffer","offerId","createOffer","updateOffer","deleteOffer","publishOffer","publishOfferByInventoryItemGroup","withdrawOfferByInventoryItemGroup","getListingFees","bulkCreateOffer","bulkPublishOffer","withdrawOffer","getInventoryItemGroup","inventoryItemGroupKey","createOrReplaceInventoryItemGroup","deleteInventoryItemGroup","bulkMigrateListing","bulkCreateAdsByInventoryReference","campaignId","bulkCreateAdsByListingId","bulkDeleteAdsByInventoryReference","bulkDeleteAdsByListingId","bulkUpdateAdsBidByInventoryReference","bulkUpdateAdsBidByListingId","getAds","listingIds","listing_ids","createAdByListingId","createAdsByInventoryReference","getAd","adId","deleteAd","deleteAdsByInventoryReference","getAdsByInventoryReference","inventoryReferenceId","inventoryReferenceType","inventory_reference_id","inventory_reference_type","updateBid","cloneCampaign","getCampaigns","campaignName","campaignStatus","endDateRange","startDateRange","campaign_name","campaign_status","end_date_range","start_date_range","getCampaign","createCampaign","deleteCampaign","endCampaign","findCampaignByAdReference","getCampaignByName","pauseCampaign","resumeCampaign","updateCampaignIdentification","getReport","reportId","getReportMetadata","getReportMetadataForReportType","reportType","getReportTasks","reportTaskStatuses","report_task_statuses","getReportTask","reportTaskId","createReportTask","deleteReportTask","createItemPriceMarkdownPromotion","updateItemPriceMarkdownPromotion","promotionId","deleteItemPriceMarkdownPromotion","getItemPriceMarkdownPromotion","createItemPromotion","updateItemPromotion","deleteItemPromotion","getItemPromotion","getListingSet","getPromotions","promotionStatus","promotionType","promotion_status","promotion_type","pausePromotion","resumePromotion","getPromotionReports","getPromotionSummaryReport","Metadata","getSalesTaxJurisdictions","getAutomotivePartsCompatibilityPolicies","getItemConditionPolicies","getListingStructurePolicies","getNegotiatedPricePolicies","getProductAdoptionPolicies","Recommendation","findListingRecommendations","getOrderTasks","dateRange","feedType","lookBackDays","scheduleId","date_range","feed_type","look_back_days","schedule_id","createOrderTask","getOrderTask","taskId","getSchedules","createSchedule","getSchedule","updateSchedule","deleteSchedule","getLatestResultFile","getScheduleTemplate","scheduleTemplateId","getScheduleTemplates","getTasks","createTask","getInputFile","getResultFile","getTask","uploadFile","getCustomerServiceMetricTasks","createCustomerServiceMetricTask","getCustomerServiceMetricTask","Logistics","createShippingQuote","getShippingQuote","shippingQuoteId","createFromShippingQuote","getShipment","shipmentId","downloadLabelFile","cancelShipment","Negotiation","findEligibleItems","sendOfferToInterestedBuyers","Listing","createItemDraft","account_1","compliance_1","finances_1","fulfillment_1","inventory_1","metadata_1","require$$7","recommendation_1","require$$8","require$$9","logistics_1","require$$10","negotiation_1","require$$11","listing_1","require$$12","EventType","calls","types_1","clientAlerts_1","finding_1","merchandising_1","shopping_1","trading_1","Traditional","createXMLRequest","createTradingApi","createTraditionalXMLApi","accessToken","createShoppingApi","createFindingApi","createClientAlertsApi","appid","siteid","service","callname","createMerchandisingApi","createBusinessPolicyManagementApi","xmlRequest","userAccessToken","traditionalApi","_1","traditional_1","ApiFactory","_restful","createBuyApi","browse","createRestfulApi","buy_1","feed","marketing","offer","order","deal","marketplaceInsights","createCommerceApi","catalog","commerce_1","identity","taxonomy","translation","charity","notification","createDeveloperApi","analytics","developer_1","keyManagement","createPostOrderApi","cancellation","postOrder_1","case","inquiry","return","createSellApi","account","sell_1","compliance","fulfillment","inventory","metadata","recommendation","finances","logistics","negotiation","listing","traditional","_traditional","RestfulApiClass","SiteId","MarketplaceId","UserRoleFilter","InquirySearchFieldGroup","CaseStatusFilter","CaseSearchFieldGroup","InquiryStatusFilter","ShippingCarrier","ReturnReason","RequestType","ReturnType","GetReturnFieldGroupEnum","EscalateReason","Decision","CategoryType","ReturnCountFilter","ReturnState","FilePurpose","RefundFeeType","ActivityOption","StoreType","TimeDurationUnit","ShippingOptionType","ShippingCostType","PaymentsProgramStatus","PaymentMethodType","CountryCode","CurrencyCode","Condition","Locale","ContentLanguage","Marketplace","FormatType","Metric","RefundMethod","ReturnMethod","ReturnShippingCostPayer","RegionType","ReasonForRefund","CancelReason","LengthUnitOfMeasure","WeightUnitOfMeasure","PackageType","PaymentsProgramType","RecipientAccountReferenceType","__exportStar","p","api_1","apiFactory_1","enums_1","EBAY_US","en_US","eBayApi","factory","EBAY_APP_ID","EBAY_CERT_ID","EBAY_DEV_ID","EBAY_AUTH_TOKEN","EBAY_SITE_ID","EBAY_MARKETPLACE_ID","EBAY_RU_NAME","EBAY_SANDBOX","buy","_buy","commerce","_commerce","developer","_developer","postOrder","_postOrder","sell","_sell","trading","_trading","finding","_finding","shopping","_shopping","clientAlerts","_clientAlerts","merchandising","_merchandising"],"mappings":"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EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,MAGbC,EA4JOx0C,EAAQw0C,eAAiBx0C,eAAuB,KA3J5C,IAAI,MACtBw0C,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EA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"}
1
+ {"version":3,"file":"ebay-api.min.js","sources":["../node_modules/nanoevents/index.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/index.js","../node_modules/ms/index.js","../node_modules/get-intrinsic/index.js","../node_modules/debug/src/debug.js","../node_modules/debug/src/browser.js","../node_modules/has-symbols/index.js","../node_modules/function-bind/implementation.js","../node_modules/function-bind/index.js","../node_modules/has/src/index.js","../node_modules/has-symbols/shams.js","../node_modules/call-bind/index.js","../node_modules/call-bind/callBound.js","../node_modules/object-inspect/index.js","../node_modules/side-channel/index.js","../node_modules/qs/lib/formats.js","../node_modules/qs/lib/utils.js","../node_modules/qs/lib/stringify.js","../node_modules/qs/lib/parse.js","../node_modules/qs/lib/index.js","request.js","api/base.js","../node_modules/fast-xml-parser/src/util.js","../node_modules/fast-xml-parser/src/node2json.js","../node_modules/fast-xml-parser/src/xmlNode.js","../node_modules/strnum/strnum.js","../node_modules/fast-xml-parser/src/xmlstr2xmlnode.js","../node_modules/fast-xml-parser/src/validator.js","../node_modules/fast-xml-parser/src/nimndata.js","../node_modules/fast-xml-parser/src/node2json_str.js","../node_modules/fast-xml-parser/src/json2xml.js","../node_modules/fast-xml-parser/src/parser.js","errors/index.js","api/traditional/XMLRequest.js","auth/authNAuth.js","auth/oAuth2.js","auth/index.js","api/index.js","api/restful/index.js","api/restful/buy/browse/index.js","api/restful/buy/feed/index.js","api/restful/buy/marketing/index.js","api/restful/buy/offer/index.js","api/restful/buy/order/index.js","api/restful/buy/deal/index.js","api/restful/buy/marketplaceInsights/index.js","api/restful/buy/index.js","api/restful/commerce/catalog/index.js","api/restful/commerce/charity/index.js","api/restful/commerce/identity/index.js","api/restful/commerce/notification/index.js","api/restful/commerce/taxonomy/index.js","api/restful/commerce/translation/index.js","api/restful/commerce/index.js","api/restful/developer/analytics/index.js","api/restful/developer/keyManagement/index.js","api/restful/developer/index.js","api/restful/postOrder/cancellation/index.js","api/restful/postOrder/case/index.js","api/restful/postOrder/inquiry/index.js","api/restful/postOrder/return/index.js","api/restful/postOrder/index.js","api/restful/sell/account/index.js","api/restful/sell/analytics/index.js","api/restful/sell/compliance/index.js","api/restful/sell/finances/index.js","api/restful/sell/fulfillment/index.js","api/restful/sell/inventory/index.js","api/restful/sell/marketing/index.js","api/restful/sell/metadata/index.js","api/restful/sell/recommendation/index.js","api/restful/sell/feed/index.js","api/restful/sell/logistics/index.js","api/restful/sell/negotiation/index.js","api/restful/sell/listing/index.js","api/restful/sell/index.js","api/traditional/clientAlerts/types.js","api/traditional/clientAlerts/index.js","api/traditional/finding/index.js","api/traditional/merchandising/index.js","api/traditional/shopping/index.js","api/traditional/trading/index.js","api/traditional/index.js","api/apiFactory.js","enums/apiEnums.js","enums/restfulEnums.js","enums/index.js","index.js"],"sourcesContent":["(\n /**\n * Interface for event subscription.\n *\n * @example\n * var NanoEvents = require('nanoevents')\n *\n * class Ticker {\n * constructor() {\n * this.emitter = new NanoEvents()\n * }\n * on() {\n * return this.emitter.on.apply(this.events, arguments)\n * }\n * tick() {\n * this.emitter.emit('tick')\n * }\n * }\n *\n * @alias NanoEvents\n * @class\n */\n module.exports = function NanoEvents () {\n /**\n * Event names in keys and arrays with listeners in values.\n * @type {object}\n *\n * @example\n * Object.keys(ee.events)\n *\n * @alias NanoEvents#events\n */\n this.events = { }\n }\n).prototype = {\n\n /**\n * Calls each of the listeners registered for a given event.\n *\n * @param {string} event The event name.\n * @param {...*} arguments The arguments for listeners.\n *\n * @return {undefined}\n *\n * @example\n * ee.emit('tick', tickType, tickDuration)\n *\n * @alias NanoEvents#emit\n * @method\n */\n emit: function emit (event) {\n var args = [].slice.call(arguments, 1)\n // Array.prototype.call() returns empty array if context is not array-like\n ;[].slice.call(this.events[event] || []).filter(function (i) {\n i.apply(null, args)\n })\n },\n\n /**\n * Add a listener for a given event.\n *\n * @param {string} event The event name.\n * @param {function} cb The listener function.\n *\n * @return {function} Unbind listener from event.\n *\n * @example\n * const unbind = ee.on('tick', (tickType, tickDuration) => {\n * count += 1\n * })\n *\n * disable () {\n * unbind()\n * }\n *\n * @alias NanoEvents#on\n * @method\n */\n on: function on (event, cb) {\n if (process.env.NODE_ENV !== 'production' && typeof cb !== 'function') {\n throw new Error('Listener must be a function')\n }\n\n (this.events[event] = this.events[event] || []).push(cb)\n\n return function () {\n this.events[event] = this.events[event].filter(function (i) {\n return i !== cb\n })\n }.bind(this)\n }\n}\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\nvar pkg = require('./../../package.json');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.version + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed in ' + version));\n }\n\n if (isDeprecated && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n isOlderVersion: isOlderVersion,\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","module.exports = require('./lib/axios');","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Previous log timestamp.\n */\n\nvar prevTime;\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n return debug;\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (var i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n 'lightseagreen',\n 'forestgreen',\n 'goldenrod',\n 'dodgerblue',\n 'darkorchid',\n 'crimson'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar match = String.prototype.match;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nvar inspectCustom = require('./util.inspect').custom;\nvar inspectSymbol = inspectCustom && isSymbol(inspectCustom) ? inspectCustom : null;\nvar toStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag !== 'undefined' ? Symbol.toStringTag : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('options \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n return String(obj);\n }\n if (typeof obj === 'bigint') {\n return String(obj) + 'n';\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = seen.slice();\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function') {\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + keys.join(', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? String(obj).replace(/^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + String(obj.nodeName).toLowerCase();\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + String(obj.nodeName).toLowerCase() + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + xs.join(', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + parts.join(', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function') {\n return obj[inspectSymbol]();\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? toStr(obj).slice(8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + [].concat(stringTag || [], protoTag || []).join(': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + ys.join(', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return String(s).replace(/\"/g, '&quot;');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString(str.slice(0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = str.replace(/(['\\\\])/g, '\\\\$1').replace(/[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + n.toString(16).toUpperCase();\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : entries.join(', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = Array(opts.indent + 1).join(' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: Array(depth + 1).join(baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + xs.join(',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ((/[^\\w$]/).test(key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n if (sideChannel.has(object)) {\n throw new RangeError('Cyclic object value');\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n var value = typeof key === 'object' && key.value !== undefined ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix\n : prefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, true);\n var valueSideChannel = getSideChannel();\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('&#10003;'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.AxiosRequest = exports.multipartHeader = exports.defaultGlobalHeaders = void 0;\r\nconst axios_1 = __importDefault(require(\"axios\"));\r\nconst debug_1 = __importDefault(require(\"debug\"));\r\nconst qs_1 = __importDefault(require(\"qs\"));\r\nconst log = (0, debug_1.default)('ebay:request');\r\nexports.defaultGlobalHeaders = {\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Headers': 'X-Requested-With, Origin, Content-Type, X-Auth-Token',\r\n 'Access-Control-Allow-Methods': 'GET, PUT, POST, DELETE'\r\n};\r\nexports.multipartHeader = {\r\n 'Content-Type': 'multipart/form-data'\r\n};\r\nclass AxiosRequest {\r\n constructor(config = {}) {\r\n this.instance = axios_1.default.create({\r\n headers: {\r\n ...exports.defaultGlobalHeaders\r\n },\r\n ...config\r\n });\r\n }\r\n get(url, config) {\r\n log('get: ' + url, config);\r\n return this.instance.get(url, config);\r\n }\r\n post(url, payload, config) {\r\n log('post: ' + url, { payload, config });\r\n return this.instance.post(url, payload, config);\r\n }\r\n delete(url, config) {\r\n log('delete: ' + url, config);\r\n return this.instance.delete(url, config);\r\n }\r\n put(url, payload, config) {\r\n log('put: ' + url, { payload, config });\r\n return this.instance.put(url, payload, config);\r\n }\r\n postForm(url, payload, config) {\r\n log('postForm: ' + url);\r\n const body = qs_1.default.stringify(payload);\r\n return this.instance.post(url, body, config);\r\n }\r\n}\r\nexports.AxiosRequest = AxiosRequest;\r\n//# sourceMappingURL=request.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst nanoevents_1 = __importDefault(require(\"nanoevents\"));\r\nconst request_1 = require(\"../request\");\r\n/**\r\n * Abstract superclass.\r\n */\r\nclass Base {\r\n constructor(config, req) {\r\n this.config = config;\r\n this.req = req || new request_1.AxiosRequest(config.axiosConfig);\r\n this.emitter = new nanoevents_1.default();\r\n }\r\n on(name, callBack) {\r\n return this.emitter.on(name, callBack);\r\n }\r\n emit(name, value) {\r\n return this.emitter.emit(name, value);\r\n }\r\n}\r\nexports.default = Base;\r\n//# sourceMappingURL=base.js.map","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.buildOptions = function(options, defaultOptions, props) {\n let newOptions = {};\n if (!options) {\n return defaultOptions; //if there are not options\n }\n\n for (let i = 0; i < props.length; i++) {\n if (options[props[i]] !== undefined) {\n newOptions[props[i]] = options[props[i]];\n } else {\n newOptions[props[i]] = defaultOptions[props[i]];\n }\n }\n return newOptions;\n};\n\n/**\n * Check if a tag name should be treated as array\n *\n * @param tagName the node tagname\n * @param arrayMode the array mode option\n * @param parentTagName the parent tag name\n * @returns {boolean} true if node should be parsed as array\n */\nexports.isTagNameInArrayMode = function (tagName, arrayMode, parentTagName) {\n if (arrayMode === false) {\n return false;\n } else if (arrayMode instanceof RegExp) {\n return arrayMode.test(tagName);\n } else if (typeof arrayMode === 'function') {\n return !!arrayMode(tagName, parentTagName);\n }\n\n return arrayMode === \"strict\";\n}\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst convertToJson = function(node, options, parentTagName) {\n const jObj = {};\n\n // when no child node or attr is present\n if (!options.alwaysCreateTextNode && (!node.child || util.isEmptyObject(node.child)) && (!node.attrsMap || util.isEmptyObject(node.attrsMap))) {\n return util.isExist(node.val) ? node.val : '';\n }\n\n // otherwise create a textnode if node has some text\n if (util.isExist(node.val) && !(typeof node.val === 'string' && (node.val === '' || node.val === options.cdataPositionChar))) {\n const asArray = util.isTagNameInArrayMode(node.tagname, options.arrayMode, parentTagName)\n jObj[options.textNodeName] = asArray ? [node.val] : node.val;\n }\n\n util.merge(jObj, node.attrsMap, options.arrayMode);\n\n const keys = Object.keys(node.child);\n for (let index = 0; index < keys.length; index++) {\n const tagName = keys[index];\n if (node.child[tagName] && node.child[tagName].length > 1) {\n jObj[tagName] = [];\n for (let tag in node.child[tagName]) {\n if (node.child[tagName].hasOwnProperty(tag)) {\n jObj[tagName].push(convertToJson(node.child[tagName][tag], options, tagName));\n }\n }\n } else {\n const result = convertToJson(node.child[tagName][0], options, tagName);\n const asArray = (options.arrayMode === true && typeof result === 'object') || util.isTagNameInArrayMode(tagName, options.arrayMode, parentTagName);\n jObj[tagName] = asArray ? [result] : result;\n }\n }\n\n //add value\n return jObj;\n};\n\nexports.convertToJson = convertToJson;\n","'use strict';\n\nmodule.exports = function(tagname, parent, val) {\n this.tagname = tagname;\n this.parent = parent;\n this.child = {}; //child tags\n this.attrsMap = {}; //attributes map\n this.val = val; //text only\n this.addChild = function(child) {\n if (Array.isArray(this.child[child.tagname])) {\n //already presents\n this.child[child.tagname].push(child);\n } else {\n this.child[child.tagname] = [child];\n }\n };\n};\n","const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","'use strict';\n\nconst util = require('./util');\nconst buildOptions = require('./util').buildOptions;\nconst xmlNode = require('./xmlNode');\nconst toNumber = require(\"strnum\");\n\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attrNodeName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n ignoreNameSpace: false,\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseNodeValue: true,\n parseAttributeValue: false,\n arrayMode: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataTagName: false,\n cdataPositionChar: '\\\\c',\n numParseOptions: {\n hex: true,\n leadingZeros: true\n },\n tagValueProcessor: function(a, tagName) {\n return a;\n },\n attrValueProcessor: function(a, attrName) {\n return a;\n },\n stopNodes: [],\n alwaysCreateTextNode: false\n //decodeStrict: false,\n};\n\nexports.defaultOptions = defaultOptions;\n\nconst props = [\n 'attributeNamePrefix',\n 'attrNodeName',\n 'textNodeName',\n 'ignoreAttributes',\n 'ignoreNameSpace',\n 'allowBooleanAttributes',\n 'parseNodeValue',\n 'parseAttributeValue',\n 'arrayMode',\n 'trimValues',\n 'cdataTagName',\n 'cdataPositionChar',\n 'tagValueProcessor',\n 'attrValueProcessor',\n 'parseTrueNumberOnly',\n 'numParseOptions',\n 'stopNodes',\n 'alwaysCreateTextNode'\n];\nexports.props = props;\n\n/**\n * Trim -> valueProcessor -> parse value\n * @param {string} tagName\n * @param {string} val\n * @param {object} options\n */\nfunction processTagValue(tagName, val, options) {\n if (val) {\n if (options.trimValues) {\n val = val.trim();\n }\n val = options.tagValueProcessor(val, tagName);\n val = parseValue(val, options.parseNodeValue, options.numParseOptions);\n }\n\n return val;\n}\n\nfunction resolveNameSpace(tagname, options) {\n if (options.ignoreNameSpace) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])(.*?)\\\\3)?', 'g');\n\nfunction buildAttributesMap(attrStr, options) {\n if (!options.ignoreAttributes && typeof attrStr === 'string') {\n attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = resolveNameSpace(matches[i][1], options);\n if (attrName.length) {\n if (matches[i][4] !== undefined) {\n if (options.trimValues) {\n matches[i][4] = matches[i][4].trim();\n }\n matches[i][4] = options.attrValueProcessor(matches[i][4], attrName);\n attrs[options.attributeNamePrefix + attrName] = parseValue(\n matches[i][4],\n options.parseAttributeValue,\n options.numParseOptions\n );\n } else if (options.allowBooleanAttributes) {\n attrs[options.attributeNamePrefix + attrName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (options.attrNodeName) {\n const attrCollection = {};\n attrCollection[options.attrNodeName] = attrs;\n return attrCollection;\n }\n return attrs;\n }\n}\n\nconst getTraversalObj = function(xmlData, options) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\");\n options = buildOptions(options, defaultOptions, props);\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n\n//function match(xmlData){\n for(let i=0; i< xmlData.length; i++){\n const ch = xmlData[i];\n if(ch === '<'){\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(options.ignoreNameSpace){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n /* if (currentNode.parent) {\n currentNode.parent.val = util.getValue(currentNode.parent.val) + '' + processTagValue2(tagName, textData , options);\n } */\n if(currentNode){\n if(currentNode.val){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue(tagName, textData , options);\n }else{\n currentNode.val = processTagValue(tagName, textData , options);\n }\n }\n\n if (options.stopNodes.length && options.stopNodes.includes(currentNode.tagname)) {\n currentNode.child = []\n if (currentNode.attrsMap == undefined) { currentNode.attrsMap = {}}\n currentNode.val = xmlData.substr(currentNode.startIndex + 1, i - currentNode.startIndex - 1)\n }\n currentNode = currentNode.parent;\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n i = findClosingIndex(xmlData, \"?>\", i, \"Pi Tag is not closed.\")\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n i = findClosingIndex(xmlData, \"-->\", i, \"Comment is not closed.\")\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"DOCTYPE is not closed.\")\n const tagExp = xmlData.substring(i, closeIndex);\n if(tagExp.indexOf(\"[\") >= 0){\n i = xmlData.indexOf(\"]>\", i) + 1;\n }else{\n i = closeIndex;\n }\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n //considerations\n //1. CDATA will always have parent node\n //2. A tag with CDATA is not a leaf node so it's value would be string type.\n if(textData){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue(currentNode.tagname, textData , options);\n textData = \"\";\n }\n\n if (options.cdataTagName) {\n //add cdata node\n const childNode = new xmlNode(options.cdataTagName, currentNode, tagExp);\n currentNode.addChild(childNode);\n //for backtracking\n currentNode.val = util.getValue(currentNode.val) + options.cdataPositionChar;\n //add rest value to parent node\n if (tagExp) {\n childNode.val = tagExp;\n }\n } else {\n currentNode.val = (currentNode.val || '') + (tagExp || '');\n }\n\n i = closeIndex + 2;\n }else {//Opening tag\n const result = closingIndexForOpeningTag(xmlData, i+1)\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.indexOf(\" \");\n let tagName = tagExp;\n let shouldBuildAttributesMap = true;\n if(separatorIndex !== -1){\n tagName = tagExp.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(options.ignoreNameSpace){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n shouldBuildAttributesMap = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n //save text to parent node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n currentNode.val = util.getValue(currentNode.val) + '' + processTagValue( currentNode.tagname, textData, options);\n }\n }\n\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){//selfClosing tag\n\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n\n const childNode = new xmlNode(tagName, currentNode, '');\n if(tagName !== tagExp){\n childNode.attrsMap = buildAttributesMap(tagExp, options);\n }\n currentNode.addChild(childNode);\n }else{//opening tag\n\n const childNode = new xmlNode( tagName, currentNode );\n if (options.stopNodes.length && options.stopNodes.includes(childNode.tagname)) {\n childNode.startIndex=closeIndex;\n }\n if(tagName !== tagExp && shouldBuildAttributesMap){\n childNode.attrsMap = buildAttributesMap(tagExp, options);\n }\n currentNode.addChild(childNode);\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj;\n}\n\nfunction closingIndexForOpeningTag(data, i){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < data.length; index++) {\n let ch = data[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === '>') {\n return {\n data: tagExp,\n index: index\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nexports.getTraversalObj = getTraversalObj;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n};\n\nconst props = ['allowBooleanAttributes'];\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = util.buildOptions(options, defaultOptions, props);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/(<!DOCTYPE[\\s\\w\\\"\\.\\/\\-\\:]+(\\[.*\\])*\\s*>)/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n\n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if (xmlData[i] === ' ' || xmlData[i] === '\\t' || xmlData[i] === '\\n' || xmlData[i] === '\\r') {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","'use strict';\nconst char = function(a) {\n return String.fromCharCode(a);\n};\n\nconst chars = {\n nilChar: char(176),\n missingChar: char(201),\n nilPremitive: char(175),\n missingPremitive: char(200),\n\n emptyChar: char(178),\n emptyValue: char(177), //empty Premitive\n\n boundryChar: char(179),\n\n objStart: char(198),\n arrStart: char(204),\n arrayEnd: char(185),\n};\n\nconst charsArr = [\n chars.nilChar,\n chars.nilPremitive,\n chars.missingChar,\n chars.missingPremitive,\n chars.boundryChar,\n chars.emptyChar,\n chars.emptyValue,\n chars.arrayEnd,\n chars.objStart,\n chars.arrStart,\n];\n\nconst _e = function(node, e_schema, options) {\n if (typeof e_schema === 'string') {\n //premitive\n if (node && node[0] && node[0].val !== undefined) {\n return getValue(node[0].val, e_schema);\n } else {\n return getValue(node, e_schema);\n }\n } else {\n const hasValidData = hasData(node);\n if (hasValidData === true) {\n let str = '';\n if (Array.isArray(e_schema)) {\n //attributes can't be repeated. hence check in children tags only\n str += chars.arrStart;\n const itemSchema = e_schema[0];\n //const itemSchemaType = itemSchema;\n const arr_len = node.length;\n\n if (typeof itemSchema === 'string') {\n for (let arr_i = 0; arr_i < arr_len; arr_i++) {\n const r = getValue(node[arr_i].val, itemSchema);\n str = processValue(str, r);\n }\n } else {\n for (let arr_i = 0; arr_i < arr_len; arr_i++) {\n const r = _e(node[arr_i], itemSchema, options);\n str = processValue(str, r);\n }\n }\n str += chars.arrayEnd; //indicates that next item is not array item\n } else {\n //object\n str += chars.objStart;\n const keys = Object.keys(e_schema);\n if (Array.isArray(node)) {\n node = node[0];\n }\n for (let i in keys) {\n const key = keys[i];\n //a property defined in schema can be present either in attrsMap or children tags\n //options.textNodeName will not present in both maps, take it's value from val\n //options.attrNodeName will be present in attrsMap\n let r;\n if (!options.ignoreAttributes && node.attrsMap && node.attrsMap[key]) {\n r = _e(node.attrsMap[key], e_schema[key], options);\n } else if (key === options.textNodeName) {\n r = _e(node.val, e_schema[key], options);\n } else {\n r = _e(node.child[key], e_schema[key], options);\n }\n str = processValue(str, r);\n }\n }\n return str;\n } else {\n return hasValidData;\n }\n }\n};\n\nconst getValue = function(a /*, type*/) {\n switch (a) {\n case undefined:\n return chars.missingPremitive;\n case null:\n return chars.nilPremitive;\n case '':\n return chars.emptyValue;\n default:\n return a;\n }\n};\n\nconst processValue = function(str, r) {\n if (!isAppChar(r[0]) && !isAppChar(str[str.length - 1])) {\n str += chars.boundryChar;\n }\n return str + r;\n};\n\nconst isAppChar = function(ch) {\n return charsArr.indexOf(ch) !== -1;\n};\n\nfunction hasData(jObj) {\n if (jObj === undefined) {\n return chars.missingChar;\n } else if (jObj === null) {\n return chars.nilChar;\n } else if (\n jObj.child &&\n Object.keys(jObj.child).length === 0 &&\n (!jObj.attrsMap || Object.keys(jObj.attrsMap).length === 0)\n ) {\n return chars.emptyChar;\n } else {\n return true;\n }\n}\n\nconst x2j = require('./xmlstr2xmlnode');\nconst buildOptions = require('./util').buildOptions;\n\nconst convert2nimn = function(node, e_schema, options) {\n options = buildOptions(options, x2j.defaultOptions, x2j.props);\n return _e(node, e_schema, options);\n};\n\nexports.convert2nimn = convert2nimn;\n","'use strict';\n\nconst util = require('./util');\nconst buildOptions = require('./util').buildOptions;\nconst x2j = require('./xmlstr2xmlnode');\n\n//TODO: do it later\nconst convertToJsonString = function(node, options) {\n options = buildOptions(options, x2j.defaultOptions, x2j.props);\n\n options.indentBy = options.indentBy || '';\n return _cToJsonStr(node, options, 0);\n};\n\nconst _cToJsonStr = function(node, options, level) {\n let jObj = '{';\n\n //traver through all the children\n const keys = Object.keys(node.child);\n\n for (let index = 0; index < keys.length; index++) {\n const tagname = keys[index];\n if (node.child[tagname] && node.child[tagname].length > 1) {\n jObj += '\"' + tagname + '\" : [ ';\n for (let tag in node.child[tagname]) {\n jObj += _cToJsonStr(node.child[tagname][tag], options) + ' , ';\n }\n jObj = jObj.substr(0, jObj.length - 1) + ' ] '; //remove extra comma in last\n } else {\n jObj += '\"' + tagname + '\" : ' + _cToJsonStr(node.child[tagname][0], options) + ' ,';\n }\n }\n util.merge(jObj, node.attrsMap);\n //add attrsMap as new children\n if (util.isEmptyObject(jObj)) {\n return util.isExist(node.val) ? node.val : '';\n } else {\n if (util.isExist(node.val)) {\n if (!(typeof node.val === 'string' && (node.val === '' || node.val === options.cdataPositionChar))) {\n jObj += '\"' + options.textNodeName + '\" : ' + stringval(node.val);\n }\n }\n }\n //add value\n if (jObj[jObj.length - 1] === ',') {\n jObj = jObj.substr(0, jObj.length - 2);\n }\n return jObj + '}';\n};\n\nfunction stringval(v) {\n if (v === true || v === false || !isNaN(v)) {\n return v;\n } else {\n return '\"' + v + '\"';\n }\n}\n\nfunction indentate(options, level) {\n return options.indentBy.repeat(level);\n}\n\nexports.convertToJsonString = convertToJsonString;\n","'use strict';\n//parse Empty Node as self closing node\nconst buildOptions = require('./util').buildOptions;\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attrNodeName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataTagName: false,\n cdataPositionChar: '\\\\c',\n format: false,\n indentBy: ' ',\n supressEmptyNode: false,\n tagValueProcessor: function(a) {\n return a;\n },\n attrValueProcessor: function(a) {\n return a;\n },\n};\n\nconst props = [\n 'attributeNamePrefix',\n 'attrNodeName',\n 'textNodeName',\n 'ignoreAttributes',\n 'cdataTagName',\n 'cdataPositionChar',\n 'format',\n 'indentBy',\n 'supressEmptyNode',\n 'tagValueProcessor',\n 'attrValueProcessor',\n 'rootNodeName', //when array as root\n];\n\nfunction Parser(options) {\n this.options = buildOptions(options, defaultOptions, props);\n if (this.options.ignoreAttributes || this.options.attrNodeName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n if (this.options.cdataTagName) {\n this.isCDATA = isCDATA;\n } else {\n this.isCDATA = function(/*a*/) {\n return false;\n };\n }\n this.replaceCDATAstr = replaceCDATAstr;\n this.replaceCDATAarr = replaceCDATAarr;\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n\n if (this.options.supressEmptyNode) {\n this.buildTextNode = buildEmptyTextNode;\n this.buildObjNode = buildEmptyObjNode;\n } else {\n this.buildTextNode = buildTextValNode;\n this.buildObjNode = buildObjectNode;\n }\n\n this.buildTextValNode = buildTextValNode;\n this.buildObjectNode = buildObjectNode;\n}\n\nParser.prototype.parse = function(jObj) {\n if(Array.isArray(jObj) && this.options.rootNodeName && this.options.rootNodeName.length > 1){\n jObj = {\n [this.options.rootNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0).val;\n};\n\nParser.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += ' ' + attr + '=\"' + this.options.attrValueProcessor('' + jObj[key]) + '\"';\n } else if (this.isCDATA(key)) {\n if (jObj[this.options.textNodeName]) {\n val += this.replaceCDATAstr(jObj[this.options.textNodeName], jObj[key]);\n } else {\n val += this.replaceCDATAstr('', jObj[key]);\n }\n } else {\n //tag value\n if (key === this.options.textNodeName) {\n if (jObj[this.options.cdataTagName]) {\n //value will added while processing cdata\n } else {\n val += this.options.tagValueProcessor('' + jObj[key]);\n }\n } else {\n val += this.buildTextNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n if (this.isCDATA(key)) {\n val += this.indentate(level);\n if (jObj[this.options.textNodeName]) {\n val += this.replaceCDATAarr(jObj[this.options.textNodeName], jObj[key]);\n } else {\n val += this.replaceCDATAarr('', jObj[key]);\n }\n } else {\n //nested nodes\n const arrLen = jObj[key].length;\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n val += this.processTextOrObjNode(item, key, level)\n } else {\n val += this.buildTextNode(item, key, '', level);\n }\n }\n }\n } else {\n //nested node\n if (this.options.attrNodeName && key === this.options.attrNodeName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += ' ' + Ks[j] + '=\"' + this.options.attrValueProcessor('' + jObj[key][Ks[j]]) + '\"';\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nfunction processTextOrObjNode (object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextNode(result.val, key, result.attrStr, level);\n } else {\n return this.buildObjNode(result.val, key, result.attrStr, level);\n }\n}\n\nfunction replaceCDATAstr(str, cdata) {\n str = this.options.tagValueProcessor('' + str);\n if (this.options.cdataPositionChar === '' || str === '') {\n return str + '<![CDATA[' + cdata + ']]' + this.tagEndChar;\n } else {\n return str.replace(this.options.cdataPositionChar, '<![CDATA[' + cdata + ']]' + this.tagEndChar);\n }\n}\n\nfunction replaceCDATAarr(str, cdata) {\n str = this.options.tagValueProcessor('' + str);\n if (this.options.cdataPositionChar === '' || str === '') {\n return str + '<![CDATA[' + cdata.join(']]><![CDATA[') + ']]' + this.tagEndChar;\n } else {\n for (let v in cdata) {\n str = str.replace(this.options.cdataPositionChar, '<![CDATA[' + cdata[v] + ']]>');\n }\n return str + this.newLine;\n }\n}\n\nfunction buildObjectNode(val, key, attrStr, level) {\n if (attrStr && val.indexOf('<') === -1) {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n '>' +\n val +\n //+ this.newLine\n // + this.indentate(level)\n '</' +\n key +\n this.tagEndChar\n );\n } else {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n this.tagEndChar +\n val +\n //+ this.newLine\n this.indentate(level) +\n '</' +\n key +\n this.tagEndChar\n );\n }\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n //+ this.newLine\n }\n}\n\nfunction buildTextValNode(val, key, attrStr, level) {\n return (\n this.indentate(level) +\n '<' +\n key +\n attrStr +\n '>' +\n this.options.tagValueProcessor(val) +\n '</' +\n key +\n this.tagEndChar\n );\n}\n\nfunction buildEmptyTextNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildTextValNode(val, key, attrStr, level);\n } else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n }\n}\n\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\n\nfunction isAttribute(name /*, options*/) {\n if (name.startsWith(this.options.attributeNamePrefix)) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\n\nfunction isCDATA(name) {\n return name === this.options.cdataTagName;\n}\n\n//formatting\n//indentation\n//\\n after each closing or self closing tag\n\nmodule.exports = Parser;\n","'use strict';\n\nconst nodeToJson = require('./node2json');\nconst xmlToNodeobj = require('./xmlstr2xmlnode');\nconst x2xmlnode = require('./xmlstr2xmlnode');\nconst buildOptions = require('./util').buildOptions;\nconst validator = require('./validator');\n\nexports.parse = function(xmlData, givenOptions = {}, validationOption) {\n if( validationOption){\n if(validationOption === true) validationOption = {}\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( result.err.msg)\n }\n }\n if(givenOptions.parseTrueNumberOnly \n && givenOptions.parseNodeValue !== false\n && !givenOptions.numParseOptions){\n \n givenOptions.numParseOptions = {\n leadingZeros: false,\n }\n }\n let options = buildOptions(givenOptions, x2xmlnode.defaultOptions, x2xmlnode.props);\n\n const traversableObj = xmlToNodeobj.getTraversalObj(xmlData, options)\n //print(traversableObj, \" \");\n return nodeToJson.convertToJson(traversableObj, options);\n};\nexports.convertTonimn = require('./nimndata').convert2nimn;\nexports.getTraversalObj = xmlToNodeobj.getTraversalObj;\nexports.convertToJson = nodeToJson.convertToJson;\nexports.convertToJsonString = require('./node2json_str').convertToJsonString;\nexports.validate = validator.validate;\nexports.j2xParser = require('./json2xml');\nexports.parseToNimn = function(xmlData, schema, options) {\n return exports.convertTonimn(exports.getTraversalObj(xmlData, options), schema, options);\n};\n\n\nfunction print(xmlNode, indentation){\n if(xmlNode){\n console.log(indentation + \"{\")\n console.log(indentation + \" \\\"tagName\\\": \\\"\" + xmlNode.tagname + \"\\\", \");\n if(xmlNode.parent){\n console.log(indentation + \" \\\"parent\\\": \\\"\" + xmlNode.parent.tagname + \"\\\", \");\n }\n console.log(indentation + \" \\\"val\\\": \\\"\" + xmlNode.val + \"\\\", \");\n console.log(indentation + \" \\\"attrs\\\": \" + JSON.stringify(xmlNode.attrsMap,null,4) + \", \");\n\n if(xmlNode.child){\n console.log(indentation + \"\\\"child\\\": {\")\n const indentation2 = indentation + indentation;\n Object.keys(xmlNode.child).forEach( function(key) {\n const node = xmlNode.child[key];\n\n if(Array.isArray(node)){\n console.log(indentation + \"\\\"\"+key+\"\\\" :[\")\n node.forEach( function(item,index) {\n //console.log(indentation + \" \\\"\"+index+\"\\\" : [\")\n print(item, indentation2);\n })\n console.log(indentation + \"],\") \n }else{\n console.log(indentation + \" \\\"\"+key+\"\\\" : {\")\n print(node, indentation2);\n console.log(indentation + \"},\") \n }\n });\n console.log(indentation + \"},\")\n }\n console.log(indentation + \"},\")\n }\n}\n","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.checkEBayResponse = exports.handleEBayError = exports.mapEBayError = exports.EBayInvalidScope = exports.EBayTokenRequired = exports.EBayIAFTokenInvalid = exports.EBayIAFTokenExpired = exports.EBayInvalidAccessToken = exports.EBayNotFound = exports.EBayInvalidGrant = exports.EBayAccessDenied = exports.EbayApiError = exports.getErrorDescription = exports.getErrorMessage = exports.ApiEnvError = exports.EbayNoCallError = exports.EBayError = exports.rawError = void 0;\r\n// tslint:disable:max-classes-per-file\r\nconst debug_1 = __importDefault(require(\"debug\"));\r\nconst log = (0, debug_1.default)('ebay:error');\r\nexports.rawError = Symbol('raw-error');\r\n/**\r\n * Error object for ease of capturing if some service depends on .toJSON() method to log something\r\n *\r\n * @ignore\r\n */\r\nclass EBayError extends Error {\r\n constructor(message, description = '', meta = {}) {\r\n super(message);\r\n Object.setPrototypeOf(this, new.target.prototype);\r\n this.name = this.constructor.name;\r\n this.description = description;\r\n this.meta = meta;\r\n }\r\n /**\r\n * returns a JSON representation of the Error\r\n *\r\n * @return {Object} json representation of the Error\r\n */\r\n toJSON() {\r\n return {\r\n message: this.message,\r\n description: this.description,\r\n stack: this.stack,\r\n type: this.constructor.name,\r\n meta: this.meta || null\r\n };\r\n }\r\n}\r\nexports.EBayError = EBayError;\r\n/**\r\n * thrown when Request.prototype.run() is called without having defined an eBay API call\r\n */\r\nclass EbayNoCallError extends EBayError {\r\n constructor(msg = 'No eBay API call defined, please invoke one.') {\r\n super(msg);\r\n }\r\n}\r\nexports.EbayNoCallError = EbayNoCallError;\r\n/**\r\n * thrown when attempting to load environment variables that don't exist\r\n */\r\nclass ApiEnvError extends EBayError {\r\n constructor(key) {\r\n super(`Could not find ${key} in process.env.`);\r\n }\r\n}\r\nexports.ApiEnvError = ApiEnvError;\r\nconst getErrorMessage = (err) => err.response?.data?.message\r\n || err.response?.data?.error?.[0]?.message\r\n || err.response?.data?.errors?.[0]?.message\r\n || err.errorMessage?.error?.message\r\n || err.Errors?.ShortMessage\r\n || err.message\r\n || 'eBay API request error';\r\nexports.getErrorMessage = getErrorMessage;\r\nconst getErrorDescription = (err) => err.response?.data?.error_description\r\n || err.response?.data?.error?.[0]?.longMessage\r\n || err.response?.data?.errors?.[0]?.longMessage\r\n || err.longMessage\r\n || err.Errors?.LongMessage\r\n || err.response?.statusText\r\n || '';\r\nexports.getErrorDescription = getErrorDescription;\r\n/**\r\n * Thrown when an Error occurs on eBay's side.\r\n */\r\nclass EbayApiError extends EBayError {\r\n constructor(err) {\r\n const { message, description, meta } = (0, exports.mapEBayError)(err);\r\n super(message, description, meta);\r\n }\r\n}\r\nexports.EbayApiError = EbayApiError;\r\nclass EBayAccessDenied extends EbayApiError {\r\n}\r\nexports.EBayAccessDenied = EBayAccessDenied;\r\nclass EBayInvalidGrant extends EbayApiError {\r\n}\r\nexports.EBayInvalidGrant = EBayInvalidGrant;\r\nclass EBayNotFound extends EbayApiError {\r\n}\r\nexports.EBayNotFound = EBayNotFound;\r\nEBayNotFound.code = 11001;\r\nclass EBayInvalidAccessToken extends EbayApiError {\r\n}\r\nexports.EBayInvalidAccessToken = EBayInvalidAccessToken;\r\nclass EBayIAFTokenExpired extends EbayApiError {\r\n}\r\nexports.EBayIAFTokenExpired = EBayIAFTokenExpired;\r\nEBayIAFTokenExpired.code = 21917053;\r\nclass EBayIAFTokenInvalid extends EbayApiError {\r\n}\r\nexports.EBayIAFTokenInvalid = EBayIAFTokenInvalid;\r\nEBayIAFTokenInvalid.code = 21916984;\r\nclass EBayTokenRequired extends EbayApiError {\r\n}\r\nexports.EBayTokenRequired = EBayTokenRequired;\r\nEBayTokenRequired.code = 930;\r\nclass EBayInvalidScope extends EbayApiError {\r\n}\r\nexports.EBayInvalidScope = EBayInvalidScope;\r\nconst mapEBayError = (err) => {\r\n if (!err) {\r\n return {};\r\n }\r\n let eBayError = {};\r\n if (err.response?.data) {\r\n const data = err.response.data;\r\n if (Array.isArray(data.error)) {\r\n eBayError = data.error[0] ?? data;\r\n }\r\n else if (Array.isArray(data.errors)) {\r\n eBayError = data.errors[0] ?? data;\r\n }\r\n else if (typeof data.error === 'string') {\r\n eBayError = {\r\n message: data.error,\r\n description: data.error_description || ''\r\n };\r\n }\r\n else {\r\n eBayError = data;\r\n }\r\n }\r\n else if (err.Errors) {\r\n eBayError = err;\r\n }\r\n const error = {\r\n message: eBayError.message || (0, exports.getErrorMessage)(err),\r\n description: eBayError.description || (0, exports.getErrorDescription)(err),\r\n meta: {\r\n ...eBayError,\r\n [exports.rawError]: err\r\n }\r\n };\r\n if (err.response) {\r\n error.meta.res = {\r\n status: err.response.status,\r\n statusText: err.response.statusText,\r\n headers: err.response.headers,\r\n data: err.response.data ?? {}\r\n };\r\n }\r\n if (err.request && err.config) {\r\n error.meta.req = {\r\n url: err.config.url,\r\n method: err.config.method,\r\n headers: err.config.headers,\r\n params: err.config.params\r\n };\r\n }\r\n return error;\r\n};\r\nexports.mapEBayError = mapEBayError;\r\nconst handleEBayError = (err) => {\r\n log('handleEBayError', err);\r\n if (err instanceof EBayError) {\r\n throw err;\r\n }\r\n const { message, meta, description } = (0, exports.mapEBayError)(err);\r\n if (meta.domain === 'ACCESS') {\r\n throw new EBayAccessDenied(err);\r\n }\r\n else if (meta.message === 'invalid_grant') {\r\n throw new EBayInvalidGrant(err);\r\n }\r\n else if (meta.errorId === EBayNotFound.code) {\r\n throw new EBayNotFound(err);\r\n }\r\n else if (meta.message === 'invalid_scope') {\r\n throw new EBayInvalidScope(err);\r\n }\r\n else if (meta.message === 'Invalid access token') {\r\n throw new EBayInvalidAccessToken(err);\r\n }\r\n throw new EBayError(message, description, meta);\r\n};\r\nexports.handleEBayError = handleEBayError;\r\nconst checkEBayResponse = (data) => {\r\n if (data.Ack === 'Failure') {\r\n if (data.Errors?.ErrorCode) {\r\n switch (data.Errors.ErrorCode) {\r\n case EBayIAFTokenExpired.code:\r\n throw new EBayIAFTokenExpired(data);\r\n case EBayIAFTokenInvalid.code:\r\n throw new EBayIAFTokenInvalid(data);\r\n case EBayTokenRequired.code:\r\n throw new EBayTokenRequired(data);\r\n }\r\n }\r\n throw new EbayApiError(data);\r\n }\r\n else if (data.errorMessage) {\r\n throw new EbayApiError(data);\r\n }\r\n};\r\nexports.checkEBayResponse = checkEBayResponse;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.defaultHeaders = exports.defaultApiConfig = exports.defaultXML2JSONParseOptions = exports.defaultJSON2XMLOptions = void 0;\r\nconst debug_1 = __importDefault(require(\"debug\"));\r\nconst fast_xml_parser_1 = __importStar(require(\"fast-xml-parser\"));\r\nconst errors_1 = require(\"../../errors\");\r\nconst log = (0, debug_1.default)('ebay:xml:request');\r\nexports.defaultJSON2XMLOptions = {\r\n attributeNamePrefix: '@_',\r\n textNodeName: '#value',\r\n ignoreAttributes: false,\r\n cdataTagName: '__cdata',\r\n cdataPositionChar: '\\\\c',\r\n format: false,\r\n indentBy: ' ',\r\n suppressEmptyNode: false\r\n};\r\nexports.defaultXML2JSONParseOptions = {\r\n attributeNamePrefix: '',\r\n textNodeName: 'value',\r\n ignoreAttributes: false,\r\n parseAttributeValue: true,\r\n parseNodeValue: true,\r\n ignoreNameSpace: true,\r\n parseTrueNumberOnly: true,\r\n arrayMode: (_, parentTageName) => {\r\n return /Array$/.test(parentTageName);\r\n }\r\n};\r\nexports.defaultApiConfig = {\r\n raw: false,\r\n parseOptions: exports.defaultXML2JSONParseOptions,\r\n useIaf: true,\r\n headers: {},\r\n returnResponse: false\r\n};\r\nexports.defaultHeaders = {\r\n 'Content-Type': 'text/xml'\r\n};\r\n/**\r\n * XML request for making eBay API call.\r\n */\r\nclass XMLRequest {\r\n /**\r\n * Creates the new Request object\r\n *\r\n * @private\r\n * @param {string} callName the callname\r\n * @param {Object} fields the fields\r\n * @param {Object} req the request\r\n * @param {XMLReqConfig} config\r\n */\r\n constructor(callName, fields, config, req) {\r\n if (!callName) {\r\n throw new errors_1.EbayNoCallError();\r\n }\r\n this.callName = callName;\r\n this.fields = fields || {};\r\n this.config = { ...exports.defaultApiConfig, ...config };\r\n this.req = req;\r\n }\r\n /**\r\n * returns the expected name of XML node of a Request\r\n *\r\n * @private\r\n * @return {String} callnameReponse\r\n */\r\n getResponseWrapper() {\r\n return `${this.callName}Response`;\r\n }\r\n /**\r\n * returns the XML structure for the SOAP auth\r\n *\r\n * @private\r\n * @return {Object} the RequesterCredentials\r\n */\r\n getCredentials() {\r\n return this.config.eBayAuthToken ? {\r\n RequesterCredentials: {\r\n eBayAuthToken: this.config.eBayAuthToken\r\n }\r\n } : {};\r\n }\r\n getParseOptions() {\r\n return {\r\n ...exports.defaultXML2JSONParseOptions,\r\n ...this.config.parseOptions\r\n };\r\n }\r\n getHeaders() {\r\n return {\r\n ...exports.defaultHeaders,\r\n ...this.config.headers,\r\n };\r\n }\r\n /**\r\n * Converts an XML response to JSON\r\n *\r\n * @param {string} xml the xml\r\n * @return {JSON} resolves to a JSON representation of the HTML\r\n */\r\n toJSON(xml) {\r\n const parseOptions = this.getParseOptions();\r\n log('parseOption', parseOptions);\r\n return fast_xml_parser_1.default.parse(xml, parseOptions);\r\n }\r\n /**\r\n * returns the XML document for the request\r\n *\r\n * @private\r\n * @param {Fields} fields the fields\r\n * @return {String} The XML string of the Request\r\n */\r\n toXML(fields) {\r\n const HEADING = '<?xml version=\"1.0\" encoding=\"utf-8\"?>';\r\n return HEADING + XMLRequest.j2x.parse({\r\n [this.callName + 'Request']: {\r\n '@_xmlns': this.config.xmlns,\r\n ...this.getCredentials(),\r\n ...fields\r\n }\r\n });\r\n }\r\n /**\r\n * Call the xml api endpoint.\r\n *\r\n * @private\r\n * @return {Promise} resolves to the response\r\n *\r\n */\r\n async request() {\r\n const xml = this.toXML(this.fields);\r\n log('xml', xml);\r\n try {\r\n const { body, headers = {} } = this.config.hook?.(xml) ?? { body: xml };\r\n const config = {\r\n headers: {\r\n ...this.getHeaders(),\r\n ...(headers ? headers : {})\r\n }\r\n };\r\n log('config', config);\r\n const response = await this.req.post(this.config.endpoint, body, config);\r\n log('response', response);\r\n if (this.config.returnResponse) {\r\n return response;\r\n }\r\n const { data } = response;\r\n // return raw XML\r\n if (this.config.raw) {\r\n return data;\r\n }\r\n const json = this.xml2JSON(data);\r\n (0, errors_1.checkEBayResponse)(json);\r\n return json;\r\n }\r\n catch (error) {\r\n log('error', error);\r\n if (error.response?.data) {\r\n const json = this.toJSON(error.response.data);\r\n (0, errors_1.checkEBayResponse)(json);\r\n }\r\n throw error;\r\n }\r\n }\r\n xml2JSON(xml) {\r\n const json = this.toJSON(xml);\r\n // Unwrap\r\n return json[this.getResponseWrapper()] ?? json;\r\n }\r\n}\r\nexports.default = XMLRequest;\r\nXMLRequest.j2x = new fast_xml_parser_1.j2xParser(exports.defaultJSON2XMLOptions);\r\n//# sourceMappingURL=XMLRequest.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst debug_1 = __importDefault(require(\"debug\"));\r\nconst base_1 = __importDefault(require(\"../api/base\"));\r\nconst XMLRequest_1 = __importDefault(require(\"../api/traditional/XMLRequest\"));\r\nconst log = (0, debug_1.default)('ebay:authNAuth');\r\nclass AuthNAuth extends base_1.default {\r\n constructor(config, req) {\r\n super(config, req);\r\n if (this.config.authToken) {\r\n this.setAuthToken(this.config.authToken);\r\n }\r\n }\r\n static generateAuthUrl(sandbox, ruName, sessionId, prompt = false) {\r\n return [\r\n sandbox ? AuthNAuth.SIGNIN_ENDPOINT.sandbox : AuthNAuth.SIGNIN_ENDPOINT.production,\r\n '?SignIn',\r\n '&RuName=', encodeURIComponent(ruName),\r\n '&SessID=', encodeURIComponent(sessionId),\r\n prompt ? '&prompt=login' : ''\r\n ].join('');\r\n }\r\n get apiEndpoint() {\r\n return this.config.sandbox ? AuthNAuth.API_ENDPOINT.sandbox : AuthNAuth.API_ENDPOINT.production;\r\n }\r\n /**\r\n * Generates URL for consent page landing.\r\n *\r\n * @param ruName RuName\r\n */\r\n async getSessionIdAndAuthUrl(ruName) {\r\n if (!this.config.devId) {\r\n throw new Error('DevId is required.');\r\n }\r\n ruName = ruName || this.config.ruName;\r\n if (!ruName) {\r\n throw new Error('RuName is required.');\r\n }\r\n const xmlApi = new XMLRequest_1.default('GetSessionID', {\r\n RuName: ruName\r\n }, this.getRequestConfig('GetSessionID'), this.req);\r\n const data = await xmlApi.request();\r\n log('GetSessionID data', data);\r\n return {\r\n sessionId: data.SessionID,\r\n url: AuthNAuth.generateAuthUrl(this.config.sandbox, ruName, data.SessionID)\r\n };\r\n }\r\n async mintToken(sessionId) {\r\n if (!this.config.devId) {\r\n throw new Error('DevId is required.');\r\n }\r\n const xmlApi = new XMLRequest_1.default('FetchToken', {\r\n SessionID: sessionId\r\n }, this.getRequestConfig('FetchToken'), this.req);\r\n try {\r\n return await xmlApi.request();\r\n }\r\n catch (error) {\r\n log('Fetch auth token failed', error);\r\n throw error;\r\n }\r\n }\r\n async obtainToken(sessionId) {\r\n const token = await this.mintToken(sessionId);\r\n log('Obtain auth token', token);\r\n this.setAuthToken(token);\r\n return token;\r\n }\r\n setAuthToken(authToken) {\r\n if (typeof authToken === 'string') {\r\n this.authToken = {\r\n eBayAuthToken: authToken\r\n };\r\n }\r\n else {\r\n this.authToken = authToken;\r\n }\r\n }\r\n getAuthToken() {\r\n if (!this.authToken) {\r\n return null;\r\n }\r\n return {\r\n ...this.authToken\r\n };\r\n }\r\n get eBayAuthToken() {\r\n return this.authToken?.eBayAuthToken ?? null;\r\n }\r\n getRequestConfig(callName) {\r\n if (typeof this.config.siteId !== 'number') {\r\n throw new Error('\"siteId\" is required for Auth\\'n\\'Auth.');\r\n }\r\n return {\r\n useIaf: false,\r\n xmlns: 'urn:ebay:apis:eBLBaseComponents',\r\n endpoint: this.apiEndpoint,\r\n headers: {\r\n 'X-EBAY-API-CALL-NAME': callName,\r\n 'X-EBAY-API-CERT-NAME': this.config.certId,\r\n 'X-EBAY-API-APP-NAME': this.config.appId,\r\n 'X-EBAY-API-DEV-NAME': this.config.devId,\r\n 'X-EBAY-API-SITEID': this.config.siteId,\r\n 'X-EBAY-API-COMPATIBILITY-LEVEL': 967\r\n }\r\n };\r\n }\r\n}\r\nexports.default = AuthNAuth;\r\nAuthNAuth.SIGNIN_ENDPOINT = {\r\n sandbox: 'https://signin.sandbox.ebay.com/ws/eBayISAPI.dll',\r\n production: 'https://signin.ebay.com/ws/eBayISAPI.dll'\r\n};\r\nAuthNAuth.API_ENDPOINT = {\r\n production: 'https://api.ebay.com/ws/api.dll',\r\n sandbox: 'https://api.sandbox.ebay.com/ws/api.dll'\r\n};\r\n//# sourceMappingURL=authNAuth.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst debug_1 = __importDefault(require(\"debug\"));\r\nconst base_1 = __importDefault(require(\"../api/base\"));\r\nconst log = (0, debug_1.default)('ebay:oauth2');\r\n/**\r\n * https://developer.ebay.com/api-docs/static/oauth-tokens.html\r\n *\r\n * Client credentials grant flow mints a new Application access token that you can use to access the resources owned by the application.\r\n * Authorization code grant flow mints a new User access token that you can use to access the resources owned by the user.\r\n */\r\nclass OAuth2 extends base_1.default {\r\n constructor() {\r\n super(...arguments);\r\n this.scope = this.config.scope || OAuth2.defaultScopes;\r\n }\r\n static generateAuthUrl(sandbox, appId, ruName, scope, state = '') {\r\n return [\r\n sandbox ? OAuth2.AUTHORIZE_ENDPOINT.sandbox : OAuth2.AUTHORIZE_ENDPOINT.production,\r\n '?client_id=', encodeURIComponent(appId),\r\n '&redirect_uri=', encodeURIComponent(ruName),\r\n '&response_type=code',\r\n '&state=', encodeURIComponent(state),\r\n '&scope=', encodeURIComponent(scope.join(' '))\r\n ].join('');\r\n }\r\n get identityEndpoint() {\r\n return this.config.sandbox ? OAuth2.IDENTITY_ENDPOINT.sandbox : OAuth2.IDENTITY_ENDPOINT.production;\r\n }\r\n /**\r\n * Return the access token.\r\n * First return user access token, if not set Application Access Token.\r\n */\r\n async getAccessToken() {\r\n return this.getUserAccessToken() || this.getApplicationAccessToken();\r\n }\r\n getUserAccessToken() {\r\n return this._authToken?.access_token ?? null;\r\n }\r\n async getApplicationAccessToken() {\r\n if (this._clientToken) {\r\n log('Return existing application access token: ', this._clientToken);\r\n return this._clientToken.access_token;\r\n }\r\n try {\r\n const token = await this.obtainApplicationAccessToken();\r\n return token.access_token;\r\n }\r\n catch (error) {\r\n throw error;\r\n }\r\n }\r\n setClientToken(clientToken) {\r\n this._clientToken = clientToken;\r\n }\r\n setScope(scope) {\r\n this.scope = scope;\r\n }\r\n getScope() {\r\n return [...this.scope];\r\n }\r\n /**\r\n * Client credentials grant flow.\r\n */\r\n async mintApplicationAccessToken() {\r\n if (!this.config.appId) {\r\n throw new Error('Missing App ID (Client Id)');\r\n }\r\n if (!this.config.certId) {\r\n throw new Error('Missing Cert Id (Client Secret)');\r\n }\r\n try {\r\n const response = await this.req.postForm(this.identityEndpoint, {\r\n scope: this.scope.join(' '),\r\n grant_type: 'client_credentials'\r\n }, {\r\n auth: {\r\n username: this.config.appId,\r\n password: this.config.certId\r\n }\r\n });\r\n return response.data;\r\n }\r\n catch (error) {\r\n log('Failed to mint application token', error);\r\n throw error;\r\n }\r\n }\r\n /**\r\n * Client credentials grant flow.\r\n */\r\n async obtainApplicationAccessToken() {\r\n log('Obtain a new application access token with scope: ', this.scope.join(','));\r\n try {\r\n const token = await this.mintApplicationAccessToken();\r\n log('Obtained a new application access token:', token);\r\n this.setClientToken(token);\r\n this.emit('refreshClientToken', token);\r\n return token;\r\n }\r\n catch (error) {\r\n log('Failed to obtain application token', error);\r\n throw error;\r\n }\r\n }\r\n /**\r\n * Generates URL for consent page landing.\r\n *\r\n * @param ruName RuName\r\n * @param scope the scopes\r\n * @param state state parameter returned in the redirect URL\r\n */\r\n generateAuthUrl(ruName, scope = this.scope, state = '') {\r\n ruName = ruName || this.config.ruName;\r\n if (!ruName) {\r\n throw new Error('RuName is required.');\r\n }\r\n return OAuth2.generateAuthUrl(this.config.sandbox, this.config.appId, ruName, scope, state);\r\n }\r\n /**\r\n * Authorization code grant flow.\r\n *\r\n * Mint the user access token for the given code.\r\n *\r\n * @param code the code\r\n * @param ruName the redirectUri\r\n */\r\n async mintUserAccessToken(code, ruName = this.config.ruName) {\r\n try {\r\n const response = await this.req.postForm(this.identityEndpoint, {\r\n grant_type: 'authorization_code',\r\n code,\r\n redirect_uri: ruName\r\n }, {\r\n auth: {\r\n username: this.config.appId,\r\n password: this.config.certId\r\n }\r\n });\r\n const token = response.data;\r\n log('User Access Token', token);\r\n return token;\r\n }\r\n catch (error) {\r\n log('Failed to get the token', error);\r\n throw error;\r\n }\r\n }\r\n /**\r\n * Authorization code grant flow.\r\n *\r\n * Mint the access token for the given code.\r\n *\r\n * @param code the code\r\n * @param ruName the redirectUri\r\n */\r\n async getToken(code, ruName = this.config.ruName) {\r\n return await this.mintUserAccessToken(code, ruName);\r\n }\r\n /**\r\n * Authorization code grant flow.\r\n */\r\n async refreshUserAccessToken() {\r\n if (!this._authToken || !this._authToken.refresh_token) {\r\n log('Tried to refresh user access token before it was set.');\r\n throw new Error('Failed to refresh the user access token. Token or refresh_token is not set.');\r\n }\r\n try {\r\n const response = await this.req.postForm(this.identityEndpoint, {\r\n grant_type: 'refresh_token',\r\n refresh_token: this._authToken.refresh_token,\r\n scope: this.scope.join(' ')\r\n }, {\r\n auth: {\r\n username: this.config.appId,\r\n password: this.config.certId\r\n }\r\n });\r\n const token = response.data;\r\n log('Successfully refreshed token', token);\r\n const refreshedToken = {\r\n ...this._authToken,\r\n ...token\r\n };\r\n this.setCredentials(refreshedToken);\r\n this.emit('refreshAuthToken', refreshedToken);\r\n return refreshedToken;\r\n }\r\n catch (error) {\r\n log('Failed to refresh the token', error);\r\n throw error;\r\n }\r\n }\r\n /**\r\n * Gets and sets the user access token for the given code.\r\n *\r\n * Authorization code grant flow.\r\n *\r\n * @param code the code\r\n */\r\n async obtainToken(code) {\r\n const token = await this.getToken(code);\r\n log('Obtain user access token', token);\r\n this.setCredentials(token);\r\n return token;\r\n }\r\n getCredentials() {\r\n if (this._authToken) {\r\n return {\r\n ...this._authToken\r\n };\r\n }\r\n else if (this._clientToken) {\r\n return {\r\n ...this._clientToken\r\n };\r\n }\r\n return null;\r\n }\r\n setCredentials(authToken) {\r\n if (typeof authToken === 'string') {\r\n this._authToken = {\r\n refresh_token: '',\r\n expires_in: 7200,\r\n refresh_token_expires_in: 47304000,\r\n token_type: 'User Access Token',\r\n access_token: authToken\r\n };\r\n }\r\n else {\r\n this._authToken = authToken;\r\n }\r\n }\r\n /**\r\n * Refresh the user access token if set or application access token\r\n */\r\n async refreshToken() {\r\n if (this._authToken) {\r\n return await this.refreshUserAccessToken();\r\n }\r\n else if (this._clientToken) {\r\n return await this.obtainApplicationAccessToken();\r\n }\r\n throw new Error('Missing credentials. To refresh a token an application access token or user access token must be already set.');\r\n }\r\n}\r\nexports.default = OAuth2;\r\n// If all the calls in our application require just an Application access token we can use this endpoint\r\nOAuth2.IDENTITY_ENDPOINT = {\r\n production: 'https://api.ebay.com/identity/v1/oauth2/token',\r\n sandbox: 'https://api.sandbox.ebay.com/identity/v1/oauth2/token'\r\n};\r\nOAuth2.AUTHORIZE_ENDPOINT = {\r\n production: 'https://auth.ebay.com/oauth2/authorize',\r\n sandbox: 'https://auth.sandbox.ebay.com/oauth2/authorize'\r\n};\r\nOAuth2.defaultScopes = ['https://api.ebay.com/oauth/api_scope'];\r\n//# sourceMappingURL=oAuth2.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst base_1 = __importDefault(require(\"../api/base\"));\r\nconst authNAuth_1 = __importDefault(require(\"./authNAuth\"));\r\nconst oAuth2_1 = __importDefault(require(\"./oAuth2\"));\r\n/**\r\n * Container with Auth'N'Auth and OAuth2.\r\n */\r\nclass Auth extends base_1.default {\r\n constructor(config, req) {\r\n super(config, req);\r\n this.authNAuth = new authNAuth_1.default(this.config, this.req);\r\n this.OAuth2 = new oAuth2_1.default(this.config, this.req);\r\n this.oAuth2 = this.OAuth2;\r\n }\r\n async getHeaderAuthorization(useIaf) {\r\n if (this.authNAuth.eBayAuthToken) {\r\n return {\r\n Authorization: 'Token ' + this.authNAuth.eBayAuthToken\r\n };\r\n }\r\n const accessToken = await this.OAuth2.getAccessToken();\r\n return {\r\n Authorization: (useIaf ? 'IAF ' : 'Bearer ') + accessToken\r\n };\r\n }\r\n}\r\nexports.default = Auth;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst auth_1 = __importDefault(require(\"../auth\"));\r\nconst base_1 = __importDefault(require(\"./base\"));\r\n/**\r\n * Superclass with Auth container.\r\n */\r\nclass Api extends base_1.default {\r\n constructor(config, req, auth) {\r\n super(config, req);\r\n this.auth = auth || new auth_1.default(this.config, this.req);\r\n }\r\n}\r\nexports.default = Api;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.defaultApiHeaders = void 0;\r\nconst __1 = __importDefault(require(\"../\"));\r\nconst errors_1 = require(\"../../errors\");\r\nexports.defaultApiHeaders = {\r\n 'Content-Type': 'application/json',\r\n 'Cache-Control': 'no-cache',\r\n // @ts-ignore\r\n ...(typeof window === 'undefined' ? {\r\n 'Accept-Encoding': 'application/gzip'\r\n } : {})\r\n};\r\nconst additionalHeaders = {\r\n marketplaceId: 'X-EBAY-C-MARKETPLACE-ID',\r\n endUserCtx: 'X-EBAY-C-ENDUSERCTX',\r\n acceptLanguage: 'Accept-Language',\r\n contentLanguage: 'Content-Language',\r\n};\r\nclass Restful extends __1.default {\r\n constructor(config, req, auth, apiConfig = {}) {\r\n super(config, req, auth);\r\n this.apiConfig = {\r\n ...this.getApiConfig(),\r\n ...apiConfig\r\n };\r\n }\r\n static buildServerUrl(schema, subdomain, sandbox, tld) {\r\n return `${schema}${subdomain}.${sandbox ? 'sandbox.' : ''}${tld}`;\r\n }\r\n /**\r\n * Enable to supports the use of OAuth tokens for user authorization.\r\n */\r\n get useIaf() {\r\n return false;\r\n }\r\n get schema() {\r\n return 'https://';\r\n }\r\n get subdomain() {\r\n return 'api';\r\n }\r\n get apiVersionPath() {\r\n return '';\r\n }\r\n getServerUrl({ schema, subdomain, apiVersion, basePath, sandbox, tld }) {\r\n return Restful.buildServerUrl(schema, subdomain, sandbox, tld) + apiVersion + basePath;\r\n }\r\n getApiConfig() {\r\n return {\r\n subdomain: this.subdomain,\r\n useIaf: this.useIaf,\r\n apiVersion: this.apiVersionPath,\r\n basePath: this.basePath,\r\n schema: this.schema,\r\n sandbox: this.config.sandbox,\r\n tld: 'ebay.com',\r\n headers: {},\r\n returnResponse: false\r\n };\r\n }\r\n get baseUrl() {\r\n return this.getServerUrl(this.apiConfig);\r\n }\r\n /**\r\n * Create a new instances of it self with specified api config.\r\n * @param apiConfig\r\n */\r\n api(apiConfig) {\r\n // @ts-ignore\r\n return new this.constructor(this.config, this.req, this.auth, apiConfig);\r\n }\r\n /**\r\n * Use \"apix\" subdomain\r\n */\r\n get apix() {\r\n return this.api({ subdomain: 'apix' });\r\n }\r\n /**\r\n * Use \"apiz\" subdomain\r\n */\r\n get apiz() {\r\n return this.api({ subdomain: 'apiz' });\r\n }\r\n async get(url, config = {}, apiConfig) {\r\n return this.doRequest({ method: 'get', url, config }, apiConfig);\r\n }\r\n async delete(url, config = {}, apiConfig) {\r\n return this.doRequest({ method: 'delete', url, config }, apiConfig);\r\n }\r\n async post(url, data, config = {}, apiConfig) {\r\n return this.doRequest({ method: 'post', url, data, config }, apiConfig);\r\n }\r\n async put(url, data, config = {}, apiConfig) {\r\n return this.doRequest({ method: 'put', url, data, config }, apiConfig);\r\n }\r\n get additionalHeaders() {\r\n return Object.keys(additionalHeaders)\r\n // @ts-ignore\r\n .filter(key => typeof this.config[key] !== 'undefined')\r\n .reduce((headers, key) => {\r\n // @ts-ignore\r\n headers[additionalHeaders[key]] = this.config[key];\r\n return headers;\r\n }, {});\r\n }\r\n async enrichRequestConfig(config = {}, apiConfig = this.apiConfig) {\r\n const authHeader = await this.auth.getHeaderAuthorization(apiConfig.useIaf);\r\n const headers = {\r\n ...exports.defaultApiHeaders,\r\n ...this.additionalHeaders,\r\n ...authHeader,\r\n ...apiConfig.headers\r\n };\r\n return {\r\n ...config,\r\n headers: {\r\n ...(config.headers || {}),\r\n ...headers\r\n }\r\n };\r\n }\r\n async doRequest(payload, apiConfig) {\r\n try {\r\n return await this.request(payload, apiConfig);\r\n }\r\n catch (error) {\r\n if (this.shouldRefreshToken(error)) {\r\n // Try again and refresh token\r\n return await this.request(payload, apiConfig, true /* refresh token */);\r\n }\r\n throw error;\r\n }\r\n }\r\n shouldRefreshToken(error) {\r\n if (!this.config.autoRefreshToken) {\r\n return false;\r\n }\r\n if (error.name === errors_1.EBayInvalidAccessToken.name) {\r\n return true;\r\n }\r\n return error?.meta?.res?.status === 401 && this.apiConfig.basePath === '/post-order/v2';\r\n }\r\n async request(apiRequest, apiConfig = this.apiConfig, refreshToken = false) {\r\n const { url, method, data, config } = apiRequest;\r\n const apiCfg = { ...this.apiConfig, ...apiConfig };\r\n const endpoint = this.getServerUrl(apiCfg) + url;\r\n try {\r\n if (refreshToken) {\r\n await this.auth.OAuth2.refreshToken();\r\n }\r\n const enrichedConfig = await this.enrichRequestConfig(config, apiCfg);\r\n const args = ['get', 'delete'].includes(method) ? [enrichedConfig] : [data, enrichedConfig];\r\n // @ts-ignore\r\n const response = await this.req[method](endpoint, ...args);\r\n if (this.apiConfig.returnResponse) {\r\n return response;\r\n }\r\n else {\r\n return response.data;\r\n }\r\n }\r\n catch (ex) {\r\n (0, errors_1.handleEBayError)(ex);\r\n }\r\n }\r\n}\r\nexports.default = Restful;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Browse API has the following resources: item_summary: Lets shoppers search for specific items by keyword, GTIN,\r\n * category, charity, product, or item aspects and refine the results by using filters, such as aspects, compatibility,\r\n * and fields values.\r\n */\r\nclass Browse extends __1.default {\r\n get basePath() {\r\n return '/buy/browse/v1';\r\n }\r\n //\r\n // Item\r\n // Client Credentials: https://api.ebay.com/oauth/api_scope\r\n //\r\n /**\r\n * This method searches for eBay items by various query parameters and retrieves summaries of the items.\r\n *\r\n * @param {BrowseSearchParams} params\r\n */\r\n search(params) {\r\n return this.get(`/item_summary/search`, {\r\n params\r\n });\r\n }\r\n /**\r\n * This is an Experimental method. This method searches for eBay items based on a image and retrieves summaries of\r\n * the items.\r\n *\r\n * @param {BrowseSearchParams} params\r\n * @param {Object} body The container for the image information fields.\r\n */\r\n searchByImage(params, body = {}) {\r\n return this.post(`/item_summary/search_by_image`, body, {\r\n params\r\n });\r\n }\r\n /**\r\n * This method retrieves the details of specific items that the buyer needs to make a purchasing decision.\r\n *\r\n * @param itemIds A list of item IDs. Item IDs are the eBay RESTful identifier of items.\r\n * @param itemGroupIds A list of item group IDs.\r\n */\r\n getItems({ itemIds: item_ids, itemGroupIds: item_group_ids }) {\r\n return this.get(`/item/`, {\r\n params: {\r\n item_ids,\r\n item_group_ids\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the details of a specific item, such as description, price, category, all item aspects,\r\n * condition, return policies, seller feedback and score, shipping options, shipping costs, estimated delivery,\r\n * and other information the buyer needs to make a purchasing decision.\r\n *\r\n * @param {String} itemId The eBay RESTful identifier of an item.\r\n * @param {String} fieldgroups\r\n */\r\n getItem(itemId, fieldgroups) {\r\n const id = encodeURIComponent(itemId);\r\n return this.get(`/item/${id}`, {\r\n params: {\r\n fieldgroups\r\n }\r\n });\r\n }\r\n /**\r\n * This method is a bridge between the eBay legacy APIs, such as Shopping, and Finding and the eBay Api APIs.\r\n *\r\n * @param {LegacyItemParams} params\r\n */\r\n getItemByLegacyId(params) {\r\n return this.get(`/item/get_item_by_legacy_id`, {\r\n params\r\n });\r\n }\r\n /**\r\n * This method retrieves the details of the individual items in an item group.\r\n *\r\n * @param itemGroupId\r\n */\r\n getItemsByItemGroup(itemGroupId) {\r\n return this.get(`/item/get_items_by_item_group`, {\r\n params: {\r\n item_group_id: itemGroupId\r\n }\r\n });\r\n }\r\n /**\r\n * This method checks if a product is compatible with the specified item.\r\n * @param {String} itemId The eBay RESTful identifier of an item (such as a part you want to check).\r\n * @param {Object} body CompatibilityPayload\r\n */\r\n checkCompatibility(itemId, body) {\r\n const id = encodeURIComponent(itemId);\r\n return this.post(`/item/${id}/check_compatibility`, body);\r\n }\r\n //\r\n // Shopping Cart\r\n //\r\n /**\r\n * This is an Experimental method. This method creates an eBay cart for the eBay member, if one does not exist, and\r\n * adds items to that cart.\r\n *\r\n * @param {Object} item AddCartItemInput\r\n */\r\n addItem(item) {\r\n return this.post(`/shopping_cart/add_item`, item);\r\n }\r\n /**\r\n * This is an experimental method. This method retrieves all the items in the eBay member's cart;\r\n * items added to the cart while on ebay.com as well as items added to the cart using the Browse API.\r\n */\r\n getShoppingCart() {\r\n return this.get(`/shopping_cart/`);\r\n }\r\n /**\r\n * This is an experimental method. This method removes a specific item from the eBay member's cart.\r\n *\r\n * @param {Object} item RemoveCartItemInput\r\n */\r\n removeItem(item) {\r\n return this.post(`/shopping_cart/remove_item`, item);\r\n }\r\n /**\r\n * This is an experimental method. This method updates the quantity value of a specific item in the eBay member's\r\n * cart.\r\n *\r\n * @param {UpdateCartItemInput} item UpdateCartItemInput\r\n */\r\n updateQuantity(item) {\r\n return this.post(`/shopping_cart/update_quantity`, item);\r\n }\r\n}\r\nexports.default = Browse;\r\nBrowse.id = 'Browse';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Feed API provides the ability to download TSV_GZIP feed files containing eBay items and an hourly snapshot file\r\n * of the items that have changed within an hour for a specific category, date and marketplace.\r\n */\r\nclass Feed extends __1.default {\r\n get basePath() {\r\n return '/buy/feed/v1_beta';\r\n }\r\n /**\r\n * This method lets you download a TSV_GZIP (tab separated value gzip) Item feed file.\r\n *\r\n * @param {BuyFeedParams} params\r\n * @param range his header specifies the range in bytes of the chunks of the gzip file being returned.\r\n * Format: bytes=startpos-endpos For example, the following retrieves the first 10 MBs of the feed file.\r\n */\r\n getItemFeed(params, range) {\r\n return this.get(`/item`, {\r\n params,\r\n headers: {\r\n 'Range': range\r\n }\r\n });\r\n }\r\n /**\r\n * This method lets you download a TSV_GZIP (tab separated value gzip) Item Group feed file.\r\n * @param {BuyFeedParams} params\r\n * @param range his header specifies the range in bytes of the chunks of the gzip file being returned.\r\n * Format: bytes=startpos-endpos For example, the following retrieves the first 10 MBs of the feed file.\r\n */\r\n getItemGroupFeed(params, range) {\r\n return this.get(`/item_group`, {\r\n params,\r\n headers: {\r\n 'Range': range\r\n }\r\n });\r\n }\r\n /**\r\n * The Hourly Snapshot feed file is generated each hour every day for all categories.\r\n *\r\n * @param {BuyFeedParams} params\r\n * @param {String} snapshotDate\r\n * @param range his header specifies the range in bytes of the chunks of the gzip file being returned.\r\n * Format: bytes=startpos-endpos For example, the following retrieves the first 10 MBs of the feed file.\r\n */\r\n getItemSnapshotFeed(params, snapshotDate, range) {\r\n return this.get(`/item_snapshot`, {\r\n params: {\r\n ...params,\r\n snapshot_date: snapshotDate\r\n },\r\n headers: {\r\n 'Range': range\r\n }\r\n });\r\n }\r\n /**\r\n * The Hourly Snapshot feed file is generated each hour every day for all categories.\r\n *\r\n * @param {BuyFeedParams} params\r\n * @param {String} snapshotDate\r\n * @param range his header specifies the range in bytes of the chunks of the gzip file being returned.\r\n * Format: bytes=startpos-endpos For example, the following retrieves the first 10 MBs of the feed file.\r\n */\r\n getProductFeed(params, snapshotDate, range) {\r\n return this.get(`/product`, {\r\n params: {\r\n ...params,\r\n snapshot_date: snapshotDate\r\n },\r\n headers: {\r\n 'Range': range\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Feed;\r\nFeed.id = 'Feed';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Marketing API retrieves eBay products based on a metric, such as Best Selling, as well as products that were\r\n * also bought and also viewed.\r\n */\r\nclass Marketing extends __1.default {\r\n get basePath() {\r\n return '/buy/marketing/v1_beta';\r\n }\r\n //\r\n // Marketing\r\n // Client Credentials: https://api.ebay.com/oauth/api_scope/buy.marketing\r\n //\r\n /**\r\n * This call returns products that were also bought when shoppers bought the product specified in the request.\r\n * @param params\r\n */\r\n getAlsoBoughtByProduct(params) {\r\n return this.get(`/merchandised_product/get_also_bought_products`, {\r\n params\r\n });\r\n }\r\n /**\r\n * This call returns products that were also viewed when shoppers viewed the product specified in the request.\r\n *\r\n * @param params\r\n */\r\n getAlsoViewedByProduct(params) {\r\n return this.get(`/merchandised_product/get_also_viewed_products`, {\r\n params\r\n });\r\n }\r\n /**\r\n * This call returns an array of products based on the category and metric specified.\r\n *\r\n * @param params\r\n */\r\n getMerchandisedProducts(params) {\r\n return this.get(`/merchandised_product`, {\r\n params\r\n });\r\n }\r\n}\r\nexports.default = Marketing;\r\nMarketing.id = 'Marketing';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Api Offer API enables Partners to place proxy bids for a buyer and retrieve the auctions where the buyer is\r\n * bidding. Client Credentials: https://api.ebay.com/oauth/api_scope/buy.offer.auction\r\n */\r\nclass Offer extends __1.default {\r\n get basePath() {\r\n return '/buy/offer/v1_beta';\r\n }\r\n /**\r\n * This method retrieves the bidding details that are specific to the buyer of the specified auction.\r\n *\r\n * @param itemId\r\n */\r\n getBidding(itemId) {\r\n const id = encodeURIComponent(itemId);\r\n return this.get(`/bidding/${id}`);\r\n }\r\n /**\r\n * This method uses a user access token to place a proxy bid for the buyer on a specific auction item.\r\n *\r\n * @param itemId\r\n * @param {PlaceProxyBidRequest} body\r\n */\r\n placeProxyBid(itemId, body) {\r\n const id = encodeURIComponent(itemId);\r\n return this.post(`/bidding/${id}/place_proxy_bid`, body);\r\n }\r\n}\r\nexports.default = Offer;\r\nOffer.id = 'Offer';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Order API provides interfaces that lets shoppers pay for items (for both eBay guest and eBay member buyers).\r\n * Client Credentials: https://api.ebay.com/oauth/api_scope/buy.order\r\n */\r\nclass Order extends __1.default {\r\n get basePath() {\r\n return '/buy/order/v1';\r\n }\r\n /**\r\n * (Limited Release) You must be whitelisted to use this method.\r\n * This method adds a coupon to an eBay proxy guest checkout session and applies it to all the eligible items in\r\n * the order.\r\n *\r\n * @param {String} checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is\r\n * returned by the initiateCheckoutSession method.\r\n * @param body The container for the fields used to apply a coupon to a checkout session.\r\n */\r\n applyCoupon(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/apply_coupon`, body);\r\n }\r\n /**\r\n * This method returns the details of the specified eBay member checkout session.\r\n *\r\n * @param {String} checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is\r\n * returned by the initiateCheckoutSession method.\r\n */\r\n getCheckoutSession(checkoutSessionId) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.get(`/checkout_session/${checkoutSessionId}`);\r\n }\r\n /**\r\n * This method creates a eBay member checkout session, which is the first step in performing a checkout.\r\n *\r\n * @param body The container for the fields used by the initiateCheckoutSession method.\r\n */\r\n initiateCheckoutSession(body) {\r\n return this.post(`/checkout_session/initiate`, body);\r\n }\r\n /**\r\n * This method creates the purchase order, pays for the items, and terminates the specified eBay member checkout\r\n * session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n */\r\n placeOrder(checkoutSessionId) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/place_order`);\r\n }\r\n /**\r\n * (Limited Release) You must be whitelisted to use this method. This method removes a coupon from an eBay member\r\n * checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body CouponRequest\r\n */\r\n removeCoupon(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/remove_coupon`, body);\r\n }\r\n /**\r\n * This method changes the payment method information of the specified eBay member checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdatePaymentInformation\r\n */\r\n updatePaymentInfo(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/update_payment_info`, body);\r\n }\r\n /**\r\n * This method changes the quantity of the specified line item in an eBay member checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateQuantity\r\n */\r\n updateQuantity(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/update_quantity`, body);\r\n }\r\n /**\r\n * This method changes the quantity of the specified line item in an eBay member checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateQuantity\r\n */\r\n checkoutSessionId(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/update_quantity`, body);\r\n }\r\n /**\r\n * This method changes the shipping address for in an eBay member checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body ShippingAddressImpl\r\n */\r\n updateShippingAddress(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/update_shipping_address`, body);\r\n }\r\n /**\r\n * This method changes the shipping method for the specified line item in an eBay member checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateShippingOption\r\n */\r\n updateShippingOption(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/checkout_session/${checkoutSessionId}/update_shipping_option`, body);\r\n }\r\n /**\r\n * (Limited Release) You must be whitelisted to use this method. This method adds a coupon to an eBay guest\r\n * checkout\r\n * session and applies it to all the eligible items in the order.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body CouponRequest\r\n */\r\n applyGuestCoupon(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/apply_coupon`, body);\r\n }\r\n /**\r\n * This method returns the details of the specified guest checkout session. The checkoutSessionId is passed in as a\r\n * URI parameter and is required.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n */\r\n getGuestCheckoutSession(checkoutSessionId) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.get(`/guest_checkout_session/${checkoutSessionId}`);\r\n }\r\n /**\r\n * This method creates an eBay guest checkout session, which is the first step in performing a checkout.\r\n *\r\n * @param body CheckoutSessionRequest\r\n */\r\n initiateGuestCheckoutSession(body) {\r\n return this.post(`/guest_checkout_session/initiate`, body);\r\n }\r\n /**\r\n * This method is used only in the PayPal Smart Button eBay guest payment flow.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body InitiatePaymentRequest\r\n */\r\n initiateGuestPayment(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/initiate_payment`, body);\r\n }\r\n /**\r\n * This method creates the purchase order, pays for the items, and terminates the specified guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body GuestPlaceOrderRequest\r\n */\r\n placeGuestOrder(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/place_order`, body);\r\n }\r\n /**\r\n * (Limited Release) You must be whitelisted to use this method. This method removes a coupon from an eBay guest\r\n * checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body CouponRequest\r\n */\r\n removeGuestCoupon(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/remove_coupon`, body);\r\n }\r\n /**\r\n * This method changes the payment method information of the specified guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdatePaymentInformation\r\n */\r\n updateGuestPaymentInfo(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/update_payment_info`, body);\r\n }\r\n /**\r\n * This method changes the quantity of the specified line item in an eBay guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateQuantity\r\n */\r\n updateGuestQuantity(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/update_quantity`, body);\r\n }\r\n /**\r\n * This method changes the shipping address for the order in an eBay guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body ShippingAddressImpl\r\n */\r\n updateGuestShippingAddress(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/update_shipping_address`, body);\r\n }\r\n /**\r\n * This method changes the shipping method for the specified line item in an eBay guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateShippingOption\r\n */\r\n updateGuestShippingOption(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/guest_checkout_session/${checkoutSessionId}/update_shipping_option`, body);\r\n }\r\n /**\r\n * (Limited Release) You must be whitelisted to use this method. This method adds a coupon to an eBay proxy guest\r\n * checkout session and applies it to all the eligible items in the order.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body CouponRequest\r\n */\r\n applyProxyGuestCoupon(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/apply_coupon`, body);\r\n }\r\n /**\r\n * This method returns the details of the specified eBay proxy guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n */\r\n getProxyGuestCheckoutSession(checkoutSessionId) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.get(`/proxy_guest_checkout_session/${checkoutSessionId}`);\r\n }\r\n /**\r\n * This method creates an eBay proxy guest checkout session, which is a payment flow that requires integration\r\n * with a VSP (vault service provider), such as Braintree. The VSP handles only the methods within this flow that\r\n * contain payment information.\r\n *\r\n * @param body CheckoutSessionRequest\r\n */\r\n initiateProxyGuestCheckoutSession(body) {\r\n return this.post(`/proxy_guest_checkout_session/initiate`, body);\r\n }\r\n /**\r\n * This method creates the proxy guest purchase order, pays for the items, and terminates the specified guest\r\n * checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body GuestPlaceOrderRequest\r\n */\r\n placeProxyGuestOrder(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/place_order`, body);\r\n }\r\n /**\r\n * (Limited Release) You must be whitelisted to use this method. This method removes a coupon from an eBay proxy\r\n * guest checkout session. The checkoutSessionId is passed in as a URI parameter and is required.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body CouponRequest\r\n */\r\n removeProxyGuestCoupon(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/remove_coupon`, body);\r\n }\r\n /**\r\n * This method adds or changes the payment information of the specified proxy guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param authorization The oAuth2 token. Note: The eBay partner must include this header in the request.\r\n * @param date The UTC timestamp of the request, which is generated and added to the request by the VSP.\r\n * @param requestNonce A UUID (a 128-bit universal unique ID), which is generated and added to the request by the\r\n * VSP.\r\n * @param signature The HMAC signature, which is generated and added to the request by the VSP.\r\n * @param body UpdatePaymentInformation\r\n */\r\n updateProxyGuestPaymentInfo(checkoutSessionId, authorization, date, requestNonce, signature, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/update_payment_info`, body, {\r\n headers: {\r\n 'Authorization': authorization,\r\n 'X-EBAY-C-DATE': date,\r\n 'X-EBAY-C-REQUEST-NONCE': requestNonce,\r\n 'X-EBAY-C-SIGNATURE': signature\r\n }\r\n });\r\n }\r\n /**\r\n * This method changes the quantity of the specified line item in an eBay proxy guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateQuantity\r\n */\r\n updateProxyGuestQuantity(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/update_quantity`, body);\r\n }\r\n /**\r\n * This method changes the shipping address for the order in an eBay proxy guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body ShippingAddressImpl\r\n */\r\n updateProxyGuestShippingAddress(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/update_shipping_address`, body);\r\n }\r\n /**\r\n * This method changes the shipping method for the specified line item in an eBay proxy guest checkout session.\r\n *\r\n * @param checkoutSessionId The eBay-assigned session ID, for a specific eBay marketplace, that is returned by the\r\n * initiateCheckoutSession method.\r\n * @param body UpdateShippingOption\r\n */\r\n updateProxyGuestShippingOption(checkoutSessionId, body) {\r\n checkoutSessionId = encodeURIComponent(checkoutSessionId);\r\n return this.post(`/proxy_guest_checkout_session/${checkoutSessionId}/update_shipping_option`, body);\r\n }\r\n /**\r\n * This method retrieves the details about a specific guest purchase order.\r\n *\r\n * @param purchaseOrderId The unique identifier of a purchase order made by a guest buyer, for which details are to\r\n * be retrieved.\r\n */\r\n getGuestPurchaseOrder(purchaseOrderId) {\r\n purchaseOrderId = encodeURIComponent(purchaseOrderId);\r\n return this.get(`/guest_purchase_order/${purchaseOrderId}`);\r\n }\r\n /**\r\n * This method retrieves the details about a specific eBay member purchase order.\r\n *\r\n * @param purchaseOrderId The unique identifier of a purchase order made by an eBay member, for which details are\r\n * to be retrieved.\r\n */\r\n getPurchaseOrder(purchaseOrderId) {\r\n purchaseOrderId = encodeURIComponent(purchaseOrderId);\r\n return this.get(`/purchase_order/${purchaseOrderId}`);\r\n }\r\n}\r\nexports.default = Order;\r\nOrder.id = 'Order';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * This API allows third-party developers to search for and retrieve details about eBay deals and events, as well as the items associated with those deals and events.\r\n */\r\nclass Deal extends __1.default {\r\n get basePath() {\r\n return '/buy/deal/v1';\r\n }\r\n /**\r\n * This method retrieves a paginated set of deal items.\r\n *\r\n * @param categoryIds The unique identifier of the eBay category for the search.\r\n * @param commissionable A filter for commissionable deals. Restriction: This filter is currently only supported for the US marketplace.\r\n * @param deliveryCountry A filter for items that can be shipped to the specified country.\r\n * @param limit The maximum number of items, from the current result set, returned on a single page.\r\n * @param offset The number of items that will be skipped in the result set.\r\n */\r\n getDealItems({ categoryIds, commissionable, deliveryCountry, limit, offset }) {\r\n return this.get(`/deal_item`, {\r\n params: {\r\n category_ids: categoryIds,\r\n commissionable,\r\n delivery_country: deliveryCountry,\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the details for an eBay event.\r\n *\r\n * @param eventId The unique identifier for the eBay event.\r\n */\r\n getEvent(eventId) {\r\n eventId = encodeURIComponent(eventId);\r\n return this.get(`/event/${eventId}`);\r\n }\r\n /**\r\n * This method returns paginated results containing all eBay events for the specified marketplace.\r\n *\r\n * @param limit The maximum number of items, from the current result set, returned on a single page. Default: 20 Maximum Value: 100\r\n * @param offset The number of items that will be skipped in the result set.\r\n */\r\n getEvents({ limit, offset }) {\r\n return this.get(`/event`, {\r\n params: {\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns paginated results containing all eBay events for the specified marketplace.\r\n *\r\n * @param eventIds The unique identifiers for the eBay events. Maximum Value: 1\r\n * @param categoryIds The unique identifier of the eBay category for the search. Maximum Value: 1\r\n * @param deliveryCountry A filter for items that can be shipped to the specified country.\r\n * @param limit The maximum number of items, from the current result set, returned on a single page. Default: 20 Maximum Value: 100\r\n * @param offset The number of items that will be skipped in the result set.\r\n */\r\n getEventItems(eventIds, { categoryIds, deliveryCountry, limit, offset } = {}) {\r\n return this.get(`/event_item`, {\r\n params: {\r\n event_ids: eventIds,\r\n limit,\r\n offset,\r\n category_ids: categoryIds,\r\n delivery_country: deliveryCountry\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Deal;\r\nDeal.id = 'Deal';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * (Limited Release) The Marketplace Insights API provides the ability to search for sold items on eBay by keyword,\r\n * GTIN, category, and product and returns the of sales history of those items.\r\n */\r\nclass MarketplaceInsights extends __1.default {\r\n get basePath() {\r\n return '/buy/marketplace_insights/v1_beta';\r\n }\r\n /**\r\n * (Limited Release) This method searches for sold eBay items by various URI query parameters and retrieves the sales\r\n * history of the items for the last 90 days. You can search by keyword, category, eBay product ID (ePID), or GTIN,\r\n * or a combination of these.\r\n *\r\n * @param itemId\r\n * @param aspectFilter This field lets you filter by item aspects.\r\n * @param categoryIds The category ID is required and is used to limit the results.\r\n * @param epid The ePID is the eBay product identifier of a product from the eBay product catalog.\r\n * @param fieldgroups This field lets you control what is to be returned in the response and accepts a comma separated list of values.\r\n * @param filter This field supports multiple field filters that can be used to limit/customize the result set.\r\n * @param gtin This field lets you search by the Global Trade Item Number of the item as defined by https://www.gtin.info.\r\n * @param limit The number of items, from the result set, returned in a single page.\r\n * @param offset Specifies the number of items to skip in the result set.\r\n * @param q A string consisting of one or more keywords that are used to search for items on eBay.\r\n * @param sort This field specifies the order and the field name to use to sort the items.\r\n */\r\n search({ aspectFilter, categoryIds, epid, fieldgroups, filter, gtin, limit, offset, q, sort, }) {\r\n return this.get(`/item_sales/search`, {\r\n params: {\r\n aspect_filter: aspectFilter,\r\n category_ids: categoryIds,\r\n epid,\r\n fieldgroups,\r\n filter,\r\n gtin,\r\n limit,\r\n offset,\r\n q,\r\n sort,\r\n }\r\n });\r\n }\r\n}\r\nexports.default = MarketplaceInsights;\r\nMarketplaceInsights.id = 'MarketplaceInsights';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Order = exports.Offer = exports.MarketplaceInsights = exports.Marketing = exports.Feed = exports.Deal = exports.Browse = void 0;\r\nconst browse_1 = __importDefault(require(\"./browse\"));\r\nexports.Browse = browse_1.default;\r\nconst feed_1 = __importDefault(require(\"./feed\"));\r\nexports.Feed = feed_1.default;\r\nconst marketing_1 = __importDefault(require(\"./marketing\"));\r\nexports.Marketing = marketing_1.default;\r\nconst offer_1 = __importDefault(require(\"./offer\"));\r\nexports.Offer = offer_1.default;\r\nconst order_1 = __importDefault(require(\"./order\"));\r\nexports.Order = order_1.default;\r\nconst deal_1 = __importDefault(require(\"./deal\"));\r\nexports.Deal = deal_1.default;\r\nconst marketplaceInsights_1 = __importDefault(require(\"./marketplaceInsights\"));\r\nexports.MarketplaceInsights = marketplaceInsights_1.default;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Use the Catalog API to search the eBay catalog for products on which to base a seller's item listing;\r\n */\r\nclass Catalog extends __1.default {\r\n get basePath() {\r\n return '/commerce/catalog/v1_beta';\r\n }\r\n /**\r\n * Note: The three catalog change request methods in the Catalog API are deprecated, and are scheduled to be\r\n * decommissioned in Q1 of 2020.\r\n *\r\n * @param changeRequestId The unique identifier of the change request being requested.\r\n */\r\n getChangeRequest(changeRequestId) {\r\n return this.get(`/change_request/${changeRequestId}`);\r\n }\r\n /**\r\n * Note: The three catalog change request methods in the Catalog API are deprecated, and are scheduled to be\r\n * decommissioned in Q1 of 2020.\r\n *\r\n * @param filter One or more comma-separated criteria for narrowing down the collection of change requests returned\r\n * by this call.\r\n * @param limit The number of change requests to return. This is the result set, a subset of the full collection of\r\n * change requests that match the filter criteria of this call.\r\n * @param offset The first change request to return based on its position in the returned collection of change\r\n * requests.\r\n */\r\n getChangeRequests({ filter, limit, offset } = {}) {\r\n return this.get(`/change_request`, {\r\n params: {\r\n filter,\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This call retrieves details of the catalog product identified by the eBay product identifier (ePID) specified in\r\n * the request.\r\n *\r\n * @param epid The ePID of the product being requested.\r\n */\r\n getProduct(epid) {\r\n const e = encodeURIComponent(epid);\r\n return this.get(`/product/${e}`);\r\n }\r\n /**\r\n * This call searches for and retrieves summaries of one or more products in the eBay catalog that match the search\r\n * criteria provided by a seller.\r\n *\r\n * @param params SearchCatalogParams\r\n */\r\n search(params) {\r\n return this.get(`/product_summary/search`, {\r\n params: {\r\n ...(params && params)\r\n }\r\n });\r\n }\r\n /**\r\n * This call retrieves an array of all supported aspects, aspect constraints, and aspect values for the specified\r\n * catalog product and its associated or suggested categories, as well as the values currently associated with that\r\n * product.\r\n *\r\n * @param epid The unique eBay product identifier of the catalog product that you want to update.\r\n * @param acceptLanguage This request header sets the natural language that will be provided in the field values of\r\n * the response payload.\r\n * @param otherApplicableCategoryIds Use only if you are also including the primary_category_id parameter in the\r\n * request.\r\n * @param primaryCategoryId Use only if the seller believes this product is associated with the wrong primary\r\n * category.\r\n * @param marketplaceId Use this header to specify the eBay marketplace identifier.\r\n */\r\n getProductMetadata(epid, { otherApplicableCategoryIds, primaryCategoryId } = {}) {\r\n return this.get(`/get_product_metadata`, {\r\n params: {\r\n epid,\r\n other_applicable_category_ids: otherApplicableCategoryIds,\r\n primary_category_id: primaryCategoryId\r\n }\r\n });\r\n }\r\n /**\r\n * This call retrieves an array of all supported aspects, aspect constraints, and aspect values for the specified\r\n * eBay categories.\r\n *\r\n * @param primaryCategoryId The unique identifier of the primary eBay category for which you will retrieve product\r\n * aspects.\r\n * @param otherApplicableCategoryIds A string of comma-separated category IDs.\r\n */\r\n getProductMetadataForCategories(primaryCategoryId, otherApplicableCategoryIds) {\r\n return this.get(`/get_product_metadata_for_categories`, {\r\n params: {\r\n primary_category_id: primaryCategoryId,\r\n other_applicable_category_ids: otherApplicableCategoryIds\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Catalog;\r\nCatalog.id = 'Catalog';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Charity API allows third-party developers to search for and access details on supported charitable organizations.\r\n */\r\nclass Charity extends __1.default {\r\n get basePath() {\r\n return '/commerce/charity/v1';\r\n }\r\n /**\r\n * This call is used to retrieve detailed information about supported charitable organizations.\r\n *\r\n * @param charityOrgId The unique ID of the charitable organization.\r\n */\r\n getCharityOrg(charityOrgId) {\r\n charityOrgId = encodeURIComponent(charityOrgId);\r\n return this.get(`/charity_org/${charityOrgId}`);\r\n }\r\n /**\r\n * This call is used to retrieve detailed information about supported charitable organizations.\r\n *\r\n * @param limit The number of items, from the result set, returned in a single page. Valid Values: 1-100 Default: 20\r\n * @param offset The number of items that will be skipped in the result set.\r\n * @param q A query string that matches the keywords in name, mission statement, or description.\r\n * @param registrationIds A comma-separated list of charitable organization registration IDs.\r\n */\r\n getCharityOrgs({ limit, offset, q, registrationIds }) {\r\n return this.get(`/charity_org`, {\r\n params: {\r\n limit,\r\n offset,\r\n q,\r\n registration_ids: registrationIds\r\n }\r\n });\r\n }\r\n /**\r\n * This call allows users to retrieve the details for a specific charitable organization using its legacy charity ID, which has also been referred to as the charity number, external ID, and PayPal Giving Fund ID.\r\n *\r\n * @param legacyCharityOrgId The legacy ID of the charitable organization.\r\n */\r\n getCharityOrgByLegacyId(legacyCharityOrgId) {\r\n return this.get(`/charity_org/get_charity_org_by_legacy_id`, {\r\n params: {\r\n legacy_charity_org_id: legacyCharityOrgId\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Charity;\r\nCharity.id = 'Charity';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Retrieves the authenticated user's account profile information.\r\n */\r\nclass Identity extends __1.default {\r\n get basePath() {\r\n return '/commerce/identity/v1';\r\n }\r\n get subdomain() {\r\n return 'apiz';\r\n }\r\n /**\r\n * This method retrieves the account profile information for an authenticated user, which requires a User access\r\n * token. What is returned is controlled by the scopes.\r\n */\r\n getUser() {\r\n return this.get(`/user/`);\r\n }\r\n}\r\nexports.default = Identity;\r\nIdentity.id = 'Identity';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The eBay Notification API allows third-party developers and applications to process eBay notifications and verify the integrity of the notification message payload.\r\n */\r\nclass Notification extends __1.default {\r\n get basePath() {\r\n return '/commerce/notification/v1';\r\n }\r\n /**\r\n * This method allows users to retrieve a public key using a specified key ID.\r\n *\r\n * @param publicKeyId The unique key ID that is used to retrieve the public key\r\n */\r\n getPublicKey(publicKeyId) {\r\n publicKeyId = encodeURIComponent(publicKeyId);\r\n return this.get(`/public_key/${publicKeyId}`);\r\n }\r\n /**\r\n * This method allows applications to retrieve details for the specified topic.\r\n *\r\n * @param topicId The ID of the topic for which to retrieve the details.\r\n */\r\n getTopic(topicId) {\r\n topicId = encodeURIComponent(topicId);\r\n return this.get(`/topic/${topicId}`);\r\n }\r\n /**\r\n * This method returns a paginated collection of all supported topics, along with the details for the topics.\r\n *\r\n * @param limit The maximum number of items to return per page from the result set.\r\n * @param continuationToken The token used to access the next set of results.\r\n */\r\n getTopics({ limit, continuationToken: continuation_token }) {\r\n return this.get(`/topic`, {\r\n params: {\r\n limit,\r\n continuation_token\r\n }\r\n });\r\n }\r\n /**\r\n * This method allows applications to retrieve a list of all subscriptions.\r\n *\r\n * @param limit The number of items, from the result set, returned in a single page.\r\n * @param continuation_token The continuation token for the next set of results.\r\n */\r\n getSubscriptions({ limit, continuationToken: continuation_token }) {\r\n return this.get(`/subscription`, {\r\n params: {\r\n limit,\r\n continuation_token\r\n }\r\n });\r\n }\r\n /**\r\n * This method allows applications to retrieve a list of all subscriptions.\r\n *\r\n * @param body The create subscription request.\r\n */\r\n createSubscription(body) {\r\n return this.post(`/subscription`, body);\r\n }\r\n /**\r\n * This method allows applications to retrieve subscription details for the specified subscription.\r\n *\r\n * @param subscriptionId The unique identifier for the subscription.\r\n */\r\n getSubscription(subscriptionId) {\r\n subscriptionId = encodeURIComponent(subscriptionId);\r\n return this.get(`/subscription/${subscriptionId}`);\r\n }\r\n /**\r\n * This method allows applications to retrieve subscription details for the specified subscription.\r\n *\r\n * @param subscriptionId The unique identifier for the subscription.\r\n * @param body The update subscription request.\r\n */\r\n updateSubscription(subscriptionId, body) {\r\n subscriptionId = encodeURIComponent(subscriptionId);\r\n return this.put(`/subscription/${subscriptionId}`, body);\r\n }\r\n /**\r\n * This method allows applications to delete a subscription.\r\n *\r\n * @param subscriptionId The unique identifier for the subscription.\r\n */\r\n deleteSubscription(subscriptionId) {\r\n subscriptionId = encodeURIComponent(subscriptionId);\r\n return this.delete(`/subscription/${subscriptionId}`);\r\n }\r\n /**\r\n * This method allows applications to enable a disabled subscription.\r\n *\r\n * @param subscriptionId The unique identifier for the subscription.\r\n */\r\n enableSubscription(subscriptionId) {\r\n subscriptionId = encodeURIComponent(subscriptionId);\r\n return this.post(`/subscription/${subscriptionId}/enable`);\r\n }\r\n /**\r\n * This method disables a subscription, which prevents the subscription from providing notifications.\r\n * @param subscriptionId The unique identifier for the subscription.\r\n */\r\n disableSubscription(subscriptionId) {\r\n subscriptionId = encodeURIComponent(subscriptionId);\r\n return this.post(`/subscription/${subscriptionId}/disable`);\r\n }\r\n /**\r\n * This method triggers a mocked test payload that includes a notification ID, publish date, and so on.\r\n *\r\n * @param subscriptionId The unique identifier for the subscription.\r\n */\r\n test(subscriptionId) {\r\n subscriptionId = encodeURIComponent(subscriptionId);\r\n return this.post(`/subscription/${subscriptionId}/test`);\r\n }\r\n /**\r\n * This method allows applications to retrieve a paginated collection of destination resources and related details.\r\n * @param subscriptionId The unique identifier for the subscription.\r\n */\r\n getDestinations({ limit, continuationToken: continuation_token }) {\r\n return this.get(`/destination`, {\r\n params: {\r\n limit,\r\n continuation_token\r\n }\r\n });\r\n }\r\n /**\r\n * This method allows applications to create a destination.\r\n *\r\n * @param body The create destination request.\r\n */\r\n createDestination(body) {\r\n return this.post(`/destination`, body);\r\n }\r\n /**\r\n * This method allows applications to fetch the details for a destination.\r\n *\r\n * @param destinationId The unique identifier for the destination.\r\n */\r\n getDestination(destinationId) {\r\n destinationId = encodeURIComponent(destinationId);\r\n return this.get(`/destination/${destinationId}`);\r\n }\r\n /**\r\n * This method allows applications to update a destination.\r\n *\r\n * @param destinationId The unique identifier for the destination.\r\n * @param body The create subscription request.\r\n */\r\n updateDestination(destinationId, body) {\r\n destinationId = encodeURIComponent(destinationId);\r\n return this.put(`/destination/${destinationId}`, body);\r\n }\r\n /**\r\n * his method provides applications a way to delete a destination.\r\n *\r\n * @param destinationId The unique identifier for the destination.\r\n */\r\n deleteDestination(destinationId) {\r\n destinationId = encodeURIComponent(destinationId);\r\n return this.delete(`/destination/${destinationId}`);\r\n }\r\n /**\r\n * This method allows applications to retrieve a previously created configuration.\r\n */\r\n getConfig() {\r\n return this.get(`/config`);\r\n }\r\n /**\r\n * This method allows applications to create a new configuration or update an existing configuration.\r\n *\r\n * @param body The configurations for this application.\r\n */\r\n updateConfig(body) {\r\n return this.put(`/config`, body);\r\n }\r\n}\r\nexports.default = Notification;\r\nNotification.id = 'Notification';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Use the Taxonomy API to discover the most appropriate eBay categories under which sellers can offer inventory items\r\n * for sale, and the most likely categories under which buyers can browse or search for items to purchase.\r\n */\r\nclass Taxonomy extends __1.default {\r\n get basePath() {\r\n return '/commerce/taxonomy/v1';\r\n }\r\n /**\r\n * A given eBay marketplace might use multiple category trees, but one of those trees is considered to be the\r\n * default for that marketplace.\r\n *\r\n * @param marketplaceId The ID of the eBay marketplace for which the category tree ID is being requested.\r\n */\r\n getDefaultCategoryTreeId(marketplaceId) {\r\n return this.get(`/get_default_category_tree_id`, {\r\n params: {\r\n marketplace_id: marketplaceId\r\n }\r\n });\r\n }\r\n /**\r\n * This call retrieves the complete category tree that is identified by the category_tree_id parameter.\r\n *\r\n * @param categoryTreeId\r\n */\r\n getCategoryTree(categoryTreeId) {\r\n const cId = encodeURIComponent(categoryTreeId);\r\n return this.get(`/category_tree/${cId}`);\r\n }\r\n /**\r\n * This call retrieves the details of all nodes of the category tree hierarchy (the subtree) below a specified\r\n * category of a category tree.\r\n *\r\n * @param categoryTreeId The unique identifier of the eBay category tree from which a category subtree is being\r\n * requested.\r\n * @param categoryId The unique identifier of the category at the top of the subtree being requested.\r\n */\r\n getCategorySubtree(categoryTreeId, categoryId) {\r\n categoryTreeId = encodeURIComponent(categoryTreeId);\r\n return this.get(`/category_tree/${categoryTreeId}/get_category_subtree`, {\r\n params: {\r\n category_id: categoryId\r\n }\r\n });\r\n }\r\n /**\r\n * This call returns an array of category tree leaf nodes in the specified category tree that are considered by eBay\r\n * to most closely correspond to the query string q.\r\n *\r\n * @param categoryTreeId The unique identifier of the eBay category tree for which suggested nodes are being\r\n * requested.\r\n * @param q A quoted string that describes or characterizes the item being offered for sale.\r\n */\r\n getCategorySuggestions(categoryTreeId, q) {\r\n return this.get(`/category_tree/${categoryTreeId}/get_category_suggestions`, {\r\n params: {\r\n q\r\n }\r\n });\r\n }\r\n /**\r\n * This call returns a list of aspects that are appropriate or necessary for accurately describing items in the\r\n * specified leaf category.\r\n *\r\n * @param categoryTreeId The unique identifier of the eBay category tree from which the specified category's\r\n * aspects are being requested.\r\n * @param categoryId The unique identifier of the leaf category for which aspects are being requested.\r\n */\r\n getItemAspectsForCategory(categoryTreeId, categoryId) {\r\n categoryTreeId = encodeURIComponent(categoryTreeId);\r\n return this.get(`/category_tree/${categoryTreeId}/get_item_aspects_for_category`, {\r\n params: {\r\n category_id: categoryId\r\n }\r\n });\r\n }\r\n /**\r\n * This call retrieves the compatible vehicle aspects that are used to define a motor vehicle that is compatible\r\n * with a motor vehicle part or accessory.\r\n *\r\n * @param categoryTreeId This is the unique identifier of category tree. The following is the list of\r\n * category_tree_id values and the eBay marketplaces that they represent.\r\n *\r\n * @param categoryId The unique identifier of an eBay category.\r\n */\r\n getCompatibilityProperties(categoryTreeId, categoryId) {\r\n categoryTreeId = encodeURIComponent(categoryTreeId);\r\n return this.get(`/category_tree/${categoryTreeId}/get_compatibility_properties`, {\r\n params: {\r\n category_id: categoryId\r\n }\r\n });\r\n }\r\n /**\r\n * This call retrieves applicable compatible vehicle property values based on the specified eBay marketplace,\r\n * specified eBay category, and filters used in the request.\r\n *\r\n * @param categoryTreeId This is the unique identifier of the category tree.\r\n * @param categoryId The unique identifier of an eBay category.\r\n * @param compatibilityProperty One compatible vehicle property applicable to the specified eBay marketplace and\r\n * eBay category is specified in this required filter.\r\n */\r\n getCompatibilityPropertyValues(categoryTreeId, categoryId, compatibilityProperty) {\r\n categoryTreeId = encodeURIComponent(categoryTreeId);\r\n return this.get(`/category_tree/${categoryTreeId}/get_compatibility_property_values`, {\r\n params: {\r\n category_id: categoryId,\r\n compatibility_property: compatibilityProperty\r\n }\r\n });\r\n }\r\n /**\r\n * This call returns a complete list of aspects for all of the leaf categories that belong to an eBay marketplace.\r\n *\r\n * @param categoryTreeId\r\n *\r\n * @return A JSON GZIP compressed file buffer\r\n */\r\n fetchItemAspects(categoryTreeId) {\r\n categoryTreeId = encodeURIComponent(categoryTreeId);\r\n return this.get(`/category_tree/${categoryTreeId}/fetch_item_aspects`, {\r\n responseType: 'arraybuffer'\r\n });\r\n }\r\n}\r\nexports.default = Taxonomy;\r\nTaxonomy.id = 'Taxonomy';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * This API allows 3rd party developers to translate item title, description, search query.\r\n */\r\nclass Translation extends __1.default {\r\n get basePath() {\r\n return '/commerce/translation/v1_beta';\r\n }\r\n /**\r\n * Translates input text inot a given language.\r\n *\r\n * @param body TranslateRequest\r\n */\r\n translate(body) {\r\n return this.post(`/translate`, body);\r\n }\r\n}\r\nexports.default = Translation;\r\nTranslation.id = 'Translation';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Translation = exports.Taxonomy = exports.Notification = exports.Identity = exports.Charity = exports.Catalog = void 0;\r\nconst catalog_1 = __importDefault(require(\"./catalog\"));\r\nexports.Catalog = catalog_1.default;\r\nconst charity_1 = __importDefault(require(\"./charity\"));\r\nexports.Charity = charity_1.default;\r\nconst identity_1 = __importDefault(require(\"./identity\"));\r\nexports.Identity = identity_1.default;\r\nconst notification_1 = __importDefault(require(\"./notification\"));\r\nexports.Notification = notification_1.default;\r\nconst taxonomy_1 = __importDefault(require(\"./taxonomy\"));\r\nexports.Taxonomy = taxonomy_1.default;\r\nconst translation_1 = __importDefault(require(\"./translation\"));\r\nexports.Translation = translation_1.default;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * This method retrieves the call limit and utilization data for an application.\r\n */\r\nclass Analytics extends __1.default {\r\n get basePath() {\r\n return '/developer/analytics/v1_beta';\r\n }\r\n /**\r\n * This method retrieves the call limit and utilization data for an application.\r\n *\r\n * @param apiContext This optional query parameter filters the result to include only the specified API context.\r\n * @param apiName This optional query parameter filters the result to include only the APIs specified.\r\n */\r\n getRateLimits(apiContext, apiName) {\r\n return this.get(`/rate_limit/`, {\r\n params: {\r\n api_context: apiContext,\r\n api_name: apiName\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the call limit and utilization data for an application user.\r\n *\r\n * @param apiContext This optional query parameter filters the result to include only the specified API context.\r\n * @param apiName This optional query parameter filters the result to include only the APIs specified.\r\n */\r\n getUserRateLimits(apiContext, apiName) {\r\n return this.get(`/user_rate_limit/`, {\r\n params: {\r\n api_context: apiContext,\r\n api_name: apiName\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Analytics;\r\nAnalytics.id = 'Analytics';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * This method retrieves the call limit and utilization data for an application.\r\n */\r\nclass KeyManagement extends __1.default {\r\n get subdomain() {\r\n return 'apiz';\r\n }\r\n get basePath() {\r\n return '/developer/key_management/v1';\r\n }\r\n /**\r\n * This method returns the <b>Public Key</b>, <b>Public Key as JWE</b>,\r\n * and metadata for all keypairs associated with the application key making the call.\r\n */\r\n getSigningKeys() {\r\n return this.get(`/signing_key`);\r\n }\r\n /**\r\n * his method creates keypairs.\r\n */\r\n createSigningKey(data) {\r\n return this.post(`/signing_key`, data);\r\n }\r\n /**\r\n * This method returns the <b>Public Key</b>, <b>Public Key as JWE</b>,\r\n * and metadata for a specified <code>signingKeyId</code> associated with the application key making the call.\r\n * @param signingKeyId the signin key\r\n */\r\n getSigningKey(signingKeyId) {\r\n return this.get(`/signing_key/${signingKeyId}`);\r\n }\r\n}\r\nexports.default = KeyManagement;\r\nKeyManagement.id = 'KeyManagement';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.KeyManagement = exports.Analytics = void 0;\r\nconst analytics_1 = __importDefault(require(\"./analytics\"));\r\nexports.Analytics = analytics_1.default;\r\nconst keyManagement_1 = __importDefault(require(\"./keyManagement\"));\r\nexports.KeyManagement = keyManagement_1.default;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Post-Order Cancellation API\r\n */\r\nclass Cancellation extends __1.default {\r\n get basePath() {\r\n return '/post-order/v2';\r\n }\r\n get useIaf() {\r\n return true;\r\n }\r\n /**\r\n * Seller approves a cancellation request\r\n *\r\n * @param cancelId The unique eBay-assigned identifier of the cancellation request to be approved.\r\n */\r\n approveCancellationRequest(cancelId) {\r\n cancelId = encodeURIComponent(cancelId);\r\n return this.post(`/cancellation/${cancelId}/approve`);\r\n }\r\n /**\r\n * Check the eligibility of an order cancellation\r\n *\r\n * @param legacyOrderId The unique ID of the order being canceled or the order being considered for cancellation.\r\n */\r\n checkCancellationEligibility(legacyOrderId) {\r\n return this.post(`/cancellation/check_eligibility`, {\r\n legacyOrderId\r\n });\r\n }\r\n /**\r\n * Buyer confirms the refund from a cancellation was received\r\n *\r\n * @param cancelId The unique eBay-assigned identifier of the cancellation/refund being confirmed.\r\n * @param payload the ConfirmRefundReceivedPayload\r\n */\r\n confirmRefundReceived(cancelId, payload) {\r\n cancelId = encodeURIComponent(cancelId);\r\n return this.post(`/cancellation/${cancelId}/confirm`, payload);\r\n }\r\n /**\r\n * Request or perform an order cancellation.\r\n *\r\n * @param payload the CreateCancelRequest\r\n */\r\n createCancellation(payload) {\r\n return this.post(`/cancellation`, payload);\r\n }\r\n /**\r\n * Retrieve the details of an order cancellation.\r\n *\r\n * @param cancelId Supply in this path parameter the unique eBay-assigned ID of the cancellation request to\r\n * retrieve.\r\n * @param fieldGroups The value set in this query parameter controls the level of detail that is returned in the\r\n * response.\r\n */\r\n getCancellation(cancelId, fieldGroups) {\r\n cancelId = encodeURIComponent(cancelId);\r\n return this.get(`/cancellation/${cancelId}`, {\r\n params: {\r\n fieldgroups: fieldGroups\r\n }\r\n });\r\n }\r\n /**\r\n * Seller rejects a cancellation request.\r\n *\r\n * @param cancelId The unique eBay-assigned identifier of the cancellation request to be rejected.\r\n * @param payload the RejectCancelRequest\r\n */\r\n rejectCancellationRequest(cancelId, payload) {\r\n cancelId = encodeURIComponent(cancelId);\r\n return this.post(`/cancellation/${cancelId}/reject`, payload);\r\n }\r\n /**\r\n * Search for cancellations.\r\n *\r\n * @param params the SearchParams\r\n */\r\n search(params) {\r\n return this.get(`/cancellation/search`, {\r\n params: {\r\n params\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Cancellation;\r\nCancellation.id = 'Cancellation';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Post-Order Case Management API\r\n */\r\nclass Case extends __1.default {\r\n get basePath() {\r\n return '/post-order/v2';\r\n }\r\n get useIaf() {\r\n return true;\r\n }\r\n /**\r\n * Buyer or seller appeals a case decision.\r\n *\r\n * @param caseId The unique identifier of a case.\r\n * @param payload the AppealRequest\r\n */\r\n appealCaseDecision(caseId, payload) {\r\n const id = encodeURIComponent(caseId);\r\n return this.post(`/casemanagement/${id}/appeal`, payload);\r\n }\r\n /**\r\n * Check the eligibility of an order cancellation.\r\n *\r\n * @param caseId The unique identifier of a case.\r\n * @param payload the BuyerCloseCaseRequest\r\n */\r\n closeCase(caseId, payload) {\r\n const id = encodeURIComponent(caseId);\r\n return this.post(`/casemanagement/${id}/close`, payload);\r\n }\r\n /**\r\n * Retrieve the details related to a specific case.\r\n *\r\n * @param caseId The unique identifier of a case.\r\n */\r\n getCase(caseId) {\r\n const id = encodeURIComponent(caseId);\r\n return this.get(`/casemanagement/${id}`);\r\n }\r\n /**\r\n * Seller issues a refund for a case.\r\n *\r\n * @param caseId The unique identifier of a case.\r\n * @param payload the CaseVoluntaryRefundRequest (Text)\r\n */\r\n issueCaseRefund(caseId, payload) {\r\n const id = encodeURIComponent(caseId);\r\n return this.post(`/casemanagement/${id}/issue_refund`, payload);\r\n }\r\n /**\r\n * This call allows the buyer to provide shipment tracking information for the item that is being returned to the\r\n * seller.\r\n *\r\n * @param caseId The unique identifier of a case.\r\n * @param shippingCarrierName The shipping carrier that is used to ship the item, such as 'FedEx', 'UPS', or\r\n * 'USPS'.\r\n * @param trackingNumber The tracking number assigned by the shipping carrier to the item shipment.\r\n */\r\n provideReturnShipmentInfo(caseId, { shippingCarrierName, trackingNumber }) {\r\n const id = encodeURIComponent(caseId);\r\n return this.post(`/casemanagement/${id}/provide_shipment_info`, {\r\n shippingCarrierName,\r\n trackingNumber\r\n });\r\n }\r\n /**\r\n * Seller provides a return address to the buyer.\r\n *\r\n * @param cancelId The unique eBay-assigned identifier of the cancellation request to be rejected.\r\n * @param payload the ReturnAddressRequest\r\n */\r\n providesReturnAddress(cancelId, payload) {\r\n const id = encodeURIComponent(cancelId);\r\n return this.post(`/casemanagement/${id}/provide_return_address`, payload);\r\n }\r\n /**\r\n * This call is used to search for cases using multiple filter types.\r\n *\r\n * @param params the SearchParams\r\n */\r\n search(params) {\r\n return this.get(`/casemanagement/search`, {\r\n params\r\n });\r\n }\r\n}\r\nexports.default = Case;\r\nCase.id = 'Case';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Post-Order Inquiry API\r\n */\r\nclass Inquiry extends __1.default {\r\n get basePath() {\r\n return '/post-order/v2';\r\n }\r\n get useIaf() {\r\n return true;\r\n }\r\n /**\r\n * Check if a buyer is eligible to open an inquiry on an order.\r\n *\r\n * @param payload the CheckInquiryEligibilityRequest\r\n */\r\n checkInquiryEligibility(payload) {\r\n return this.post(`/inquiry/check_eligibility`, payload);\r\n }\r\n /**\r\n * Close an inquiry for the buyer\r\n *\r\n * @param inquiryId The unique ID of the inquiry to be closed.\r\n * @param payload the BuyerCloseInquiryRequest\r\n */\r\n closeInquiry(inquiryId, payload) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n if (typeof payload?.closeReason === 'string') {\r\n payload.closeReason = payload.closeReason.trim();\r\n }\r\n return this.post(`/inquiry/${inquiryId}/close`, payload);\r\n }\r\n /**\r\n * Buyer confirms the refund from an inquiry was received\r\n *\r\n * @param inquiryId The unique identifier of a case.\r\n */\r\n confirmInquiryRefund(inquiryId) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n return this.post(`/inquiry/${inquiryId}/confirm_refund`);\r\n }\r\n /**\r\n * Create an inquiry for the buyer.\r\n *\r\n * @param payload the CreateInquiryRequest\r\n */\r\n createInquiry(payload) {\r\n if (typeof payload.desiredOutcome === 'string') {\r\n payload.desiredOutcome = payload.desiredOutcome.trim();\r\n }\r\n return this.post(`/inquiry`, payload);\r\n }\r\n /**\r\n * Escalate an inquiry to an INR case.\r\n *\r\n * @param inquiryId the unique identifier of the inquiry to be escalated.\r\n * @param payload the EscalateInquiryRequest\r\n */\r\n escalateInquiry(inquiryId, payload) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n payload.escalateInquiryReason = payload.escalateInquiryReason.trim();\r\n return this.post(`/inquiry/${inquiryId}/escalate`, payload);\r\n }\r\n /**\r\n * Retrieve the history and details related to a specific inquiry.\r\n *\r\n * @param inquiryId the unique ID of the inquiry for which details and history are to be retrieved.\r\n */\r\n getInquiry(inquiryId) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n return this.get(`/inquiry/${inquiryId}`);\r\n }\r\n /**\r\n * Issue a refund for an inquiry.\r\n *\r\n * @param inquiryId the unique ID of the inquiry for which a refund is to be issued.\r\n * @param payload the InquiryVoluntaryRefundRequest\r\n */\r\n issueInquiryRefund(inquiryId, payload) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n return this.post(`/inquiry/${inquiryId}/issue_refund`, payload);\r\n }\r\n /**\r\n * Provide refund information about an inquiry to the buyer.\r\n *\r\n * @param inquiryId The unique ID of the inquiry for which to provide refund information.\r\n * @param payload the InquiryVoluntaryRefundRequest\r\n */\r\n provideInquiryRefundInfo(inquiryId, payload) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n return this.post(`/inquiry/${inquiryId}/provide_refund_info`, payload);\r\n }\r\n /**\r\n * Provide shipment information for an inquiry.\r\n *\r\n * @param inquiryId The unique ID of the inquiry for which to provide shipment information.\r\n * @param payload the ShipmentInfoRequest\r\n */\r\n provideInquiryShipmentInfo(inquiryId, payload) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n return this.post(`/inquiry/${inquiryId}/provide_shipment_info`, payload);\r\n }\r\n /**\r\n * This call is used to search for inquiries using multiple filter types.\r\n *\r\n * @param params the InquirySearchParams\r\n */\r\n search(params) {\r\n return this.get(`/inquiry/search`, {\r\n params\r\n });\r\n }\r\n /**\r\n * Contact the buyer or seller about an inquiry.\r\n *\r\n * @param inquiryId The unique ID of the inquiry being discussed.\r\n * @param payload the SendMessageRequest\r\n */\r\n sendInquiryMessage(inquiryId, payload) {\r\n inquiryId = encodeURIComponent(inquiryId);\r\n return this.post(`/inquiry/${inquiryId}/send_message`, payload);\r\n }\r\n}\r\nexports.default = Inquiry;\r\nInquiry.id = 'Inquiry';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Post-Order Return API\r\n */\r\nclass Return extends __1.default {\r\n get basePath() {\r\n return '/post-order/v2';\r\n }\r\n get useIaf() {\r\n return true;\r\n }\r\n /**\r\n * Create or update a shipping label provided by the seller.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the ProvideLabelRequest\r\n */\r\n addShippingLabelInfo(returnId, payload) {\r\n const id = encodeURIComponent(returnId);\r\n return this.post(`/return/${id}/add_shipping_label`, payload);\r\n }\r\n /**\r\n * Cancel a return request.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return request.\r\n * @param payload The CloseReturnRequest.\r\n */\r\n cancelReturnRequest(returnId, payload) {\r\n const id = encodeURIComponent(returnId);\r\n if (payload && payload.buyerCloseReason) {\r\n payload.buyerCloseReason = payload.buyerCloseReason.trim();\r\n }\r\n return this.post(`/return/${id}/cancel`, payload);\r\n }\r\n /**\r\n * Check to see if an item is eligible for a return.\r\n *\r\n * @param payload the CheckEligibilityRequest\r\n */\r\n checkReturnEligibility(payload) {\r\n return this.post(`/return/check_eligibility`, payload);\r\n }\r\n /**\r\n * Validate the eligibility of an existing shipping label.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n */\r\n checkShippingLabelEligibility(returnId) {\r\n const id = encodeURIComponent(returnId);\r\n return this.get(`/return/${id}/check_label_print_eligibility`);\r\n }\r\n /**\r\n * Create a return draft.\r\n *\r\n * @param payload the SetReturnCreationSessionRequest\r\n */\r\n createReturnDraft(payload) {\r\n return this.post(`/return/draft`, payload);\r\n }\r\n /**\r\n * Request a return for an item.\r\n *\r\n * @param payload the CreateReturnRequest\r\n * @param fieldGroups can be used in the call URI to control the detail level that is returned in response.\r\n */\r\n createReturnRequest(payload, fieldGroups) {\r\n return this.post(`/return`, payload, {\r\n params: {\r\n fieldgroups: fieldGroups\r\n }\r\n });\r\n }\r\n /**\r\n * Create an eBay shipping label for the buyer.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n */\r\n createReturnShippingLabel(returnId) {\r\n const id = encodeURIComponent(returnId);\r\n return this.post(`/return/${id}/initiate_shipping_label`);\r\n }\r\n /**\r\n * Delete a file associated with a return draft.\r\n *\r\n * @param draftId The unique eBay-assigned ID of the return draft.\r\n * @param fileId The unique eBay-assigned ID of the draft file.\r\n */\r\n deleteReturnDraftFile(draftId, fileId) {\r\n draftId = encodeURIComponent(draftId);\r\n fileId = encodeURIComponent(fileId);\r\n return this.delete(`/return/draft/${draftId}/file/${fileId}`);\r\n }\r\n /**\r\n * Escalate an existing return to eBay customer support.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return request.\r\n * @param payload the EscalateRequest\r\n */\r\n escalateReturn(returnId, payload) {\r\n const id = encodeURIComponent(returnId);\r\n return this.post(`/return/${id}/escalate`, payload);\r\n }\r\n /**\r\n * Retrieve the details of a specific return.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return request.\r\n * @param fieldGroups can be used in the call URI to control the detail level that is returned in response.\r\n */\r\n getReturn(returnId, fieldGroups) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.get(`/return/${returnId}`, {\r\n params: {\r\n fieldgroups: fieldGroups\r\n }\r\n });\r\n }\r\n /**\r\n * Retrieve a return draft.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return request.\r\n */\r\n getReturnDraft(returnId) {\r\n const id = encodeURIComponent(returnId);\r\n return this.get(`/return/draft/${id}`);\r\n }\r\n /**\r\n * Retrieve the files associated with a return draft.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return draft.\r\n */\r\n getReturnDraftFiles(returnId) {\r\n const id = encodeURIComponent(returnId);\r\n return this.get(`/return/draft/${id}/files`);\r\n }\r\n /**\r\n * Retrieve the cost estimate of a refund with its shipping cost.\r\n *\r\n * @param payload the GetEstimateRequest\r\n */\r\n getReturnEstimate(payload) {\r\n return this.post(`/return/estimate`, payload);\r\n }\r\n /**\r\n * Retrieve the cost estimate of a refund with its shipping cost.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n */\r\n getReturnFiles(returnId) {\r\n const id = encodeURIComponent(returnId);\r\n return this.get(`/return/${id}/files`);\r\n }\r\n /**\r\n * Retrieve seller's return preferences.\r\n */\r\n getReturnPreferences() {\r\n return this.get(`/return/preference`);\r\n }\r\n /**\r\n * Retrieve the data for an existing shipping label.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n */\r\n getReturnShippingLabel(returnId) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.get(`/return/${returnId}/get_shipping_label`);\r\n }\r\n /**\r\n * Retrieve shipment tracking activity for a return.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param carrierUsed The shipping carrier used to to ship the package.\r\n * @param trackingNumber The tracking number of the package.\r\n */\r\n getShipmentTrackingInfo(returnId, carrierUsed, trackingNumber) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.get(`/return/${returnId}/tracking`, {\r\n params: {\r\n carrier_used: carrierUsed,\r\n tracking_number: trackingNumber\r\n }\r\n });\r\n }\r\n /**\r\n * Issue a refund.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload The IssueRefundRequest.\r\n */\r\n issueReturnRefund(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/issue_refund`, payload);\r\n }\r\n /**\r\n * Mark a returned item as received.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the MarkAsReceivedRequest\r\n */\r\n markReturnReceived(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/mark_as_received`, payload);\r\n }\r\n /**\r\n * Mark a refund as received.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n */\r\n markReturnRefundReceived(returnId) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/mark_refund_received`);\r\n }\r\n /**\r\n * Notify the buyer that a refund has been issued.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the MarkRefundSentRequest\r\n */\r\n markReturnRefundSent(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/mark_refund_sent`, payload);\r\n }\r\n /**\r\n * Mark a return as shipped.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the MarkAsShippedRequest\r\n */\r\n markReturnShipped(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/mark_as_shipped`, payload);\r\n }\r\n /**\r\n * Perform an action on a return, such as APPROVE.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the DecideReturnRequest\r\n */\r\n processReturnRequest(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/decide`, payload);\r\n }\r\n /**\r\n * Retrieve details on items being returned.\r\n *\r\n * @param params the SearchReturnParams\r\n */\r\n search(params) {\r\n return this.get(`/return/search`, {\r\n params\r\n });\r\n }\r\n /**\r\n * Send a message to the buyer or seller regarding a return.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the SendMessageRequest\r\n */\r\n sendReturnMessage(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/send_message`, payload);\r\n }\r\n /**\r\n * Send a shipping label to an email address.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param toEmailAddress The recipient's email address is specified in this field.\r\n */\r\n sendReturnShippingLabel(returnId, toEmailAddress) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/send_shipping_label`, {}, {\r\n params: {\r\n to_email_address: toEmailAddress\r\n }\r\n });\r\n }\r\n /**\r\n * Send a shipping label to an email address.\r\n *\r\n * @param rmaRequired This field is included and set to true if the seller wishes to require that the buyer provide\r\n * a Return Merchandise Authorization (RMA) when returning an item.\r\n */\r\n setReturnPreferences(rmaRequired) {\r\n return this.post(`/return/preference`, {\r\n rmaRequired\r\n });\r\n }\r\n /**\r\n * Activate the files associated with a return.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param filePurpose This value is used to indicate if the file(s) are being used to provide more information\r\n * about the condition of the item, or intended to provide more information about shipment tracking or about\r\n * the shipping label.\r\n */\r\n submitReturnFile(returnId, filePurpose) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/file/submit`, {\r\n filePurpose\r\n });\r\n }\r\n /**\r\n * Update an existing return draft.\r\n *\r\n * @param draftId The unique eBay-assigned ID of the return draft.\r\n * @param returnRequest the ReturnRequestType\r\n */\r\n updateReturnDraft(draftId, returnRequest) {\r\n draftId = encodeURIComponent(draftId);\r\n return this.put(`/return/draft/${draftId}`, {\r\n returnRequest\r\n });\r\n }\r\n /**\r\n * Update shipment tracking information.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return request.\r\n * @param payload the UpdateTrackingRequest\r\n */\r\n updateShipmentTrackingInfo(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.put(`/return/${returnId}/update_tracking`, payload);\r\n }\r\n /**\r\n * Upload the files relating to a return draft.\r\n *\r\n * @param draftId The unique eBay-assigned ID of the return draft.\r\n * @param payload the UploadFileRequest\r\n */\r\n uploadReturnDraftFile(draftId, payload) {\r\n draftId = encodeURIComponent(draftId);\r\n return this.post(`/return/draft/${draftId}/file/upload`, payload);\r\n }\r\n /**\r\n * Upload the files relating to a return.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the UploadFileRequest\r\n */\r\n uploadReturnFile(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/file/upload`, payload);\r\n }\r\n /**\r\n * Void a shipping label.\r\n *\r\n * @param returnId The unique eBay-assigned ID of the return.\r\n * @param payload the VoidLabelRequest\r\n */\r\n voidShippingLabel(returnId, payload) {\r\n returnId = encodeURIComponent(returnId);\r\n return this.post(`/return/${returnId}/void_shipping_label`, payload);\r\n }\r\n}\r\nexports.default = Return;\r\nReturn.id = 'Return';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Return = exports.Inquiry = exports.Case = exports.Cancellation = void 0;\r\nconst cancellation_1 = __importDefault(require(\"./cancellation\"));\r\nexports.Cancellation = cancellation_1.default;\r\nconst case_1 = __importDefault(require(\"./case\"));\r\nexports.Case = case_1.default;\r\nconst inquiry_1 = __importDefault(require(\"./inquiry\"));\r\nexports.Inquiry = inquiry_1.default;\r\nconst return_1 = __importDefault(require(\"./return\"));\r\nexports.Return = return_1.default;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The <b>Account API</b> gives sellers the ability to configure their eBay seller accounts,\r\n * including the seller's policies (the Fulfillment Policy, Payment Policy, and Return Policy),\r\n * opt in and out of eBay seller programs, configure sales tax tables, and get account information.\r\n */\r\nclass Account extends __1.default {\r\n get basePath() {\r\n return '/sell/account/v1';\r\n }\r\n /**\r\n * This method retrieves all the fulfillment policies configured for the marketplace you specify using the\r\n * marketplace_id query parameter.\r\n *\r\n * @param marketplaceId This query parameter specifies the eBay marketplace of the policies you want to retrieve.\r\n */\r\n getFulfillmentPolicies(marketplaceId) {\r\n return this.get(`/fulfillment_policy`, {\r\n params: {\r\n marketplace_id: marketplaceId\r\n }\r\n });\r\n }\r\n /**\r\n * This method creates a new fulfillment policy where the policy encapsulates seller's terms for fulfilling item\r\n * purchases.\r\n *\r\n * @param body Request to create a seller account fulfillment policy.\r\n */\r\n createFulfillmentPolicy(body) {\r\n return this.post(`/fulfillment_policy`, body);\r\n }\r\n /**\r\n * This method updates an existing fulfillment policy.\r\n *\r\n * @param fulfillmentPolicyId This path parameter specifies the ID of the fulfillment policy you want to update.\r\n * @param body Request to create a seller account fulfillment policy.\r\n */\r\n updateFulfillmentPolicy(fulfillmentPolicyId, body) {\r\n const id = encodeURIComponent(fulfillmentPolicyId);\r\n return this.put(`/fulfillment_policy/${id}`, body);\r\n }\r\n /**\r\n * This method deletes a fulfillment policy.\r\n *\r\n * @param fulfillmentPolicyId This path parameter specifies the ID of the fulfillment policy to delete.\r\n */\r\n deleteFulfillmentPolicy(fulfillmentPolicyId) {\r\n const id = encodeURIComponent(fulfillmentPolicyId);\r\n return this.delete(`/fulfillment_policy/${id}`);\r\n }\r\n /**\r\n * This method retrieves the complete details of a fulfillment policy.\r\n * Supply the ID of the policy you want to retrieve using the fulfillmentPolicyId path parameter.\r\n *\r\n * @param fulfillmentPolicyId This path parameter specifies the ID of the fulfillment policy you want to retrieve.\r\n */\r\n getFulfillmentPolicy(fulfillmentPolicyId) {\r\n return this.get(`/fulfillment_policy/${fulfillmentPolicyId}`);\r\n }\r\n /**\r\n * This method retrieves the complete details for a single fulfillment policy.\r\n *\r\n * @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.\r\n * @param name This query parameter specifies the user-defined name of the fulfillment policy you want to retrieve.\r\n */\r\n getFulfillmentPolicyByName(marketplaceId, name) {\r\n return this.get(`/fulfillment_policy/get_by_policy_name`, {\r\n params: {\r\n marketplace_id: marketplaceId,\r\n name\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves all the payment policies configured for the marketplace you specify using the\r\n * marketplace_id query parameter.\r\n *\r\n * @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.\r\n */\r\n getPaymentPolicies(marketplaceId) {\r\n return this.get(`/payment_policy`, {\r\n params: {\r\n marketplace_id: marketplaceId\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the complete details of a payment policy. Supply the ID of the policy you want to retrieve\r\n * using the paymentPolicyId path parameter.\r\n *\r\n * @param paymentPolicyId This path parameter specifies the ID of the payment policy you want to retrieve.\r\n */\r\n getPaymentPolicy(paymentPolicyId) {\r\n paymentPolicyId = encodeURIComponent(paymentPolicyId);\r\n return this.get(`/payment_policy/${paymentPolicyId}`);\r\n }\r\n /**\r\n * This method creates a new payment policy where the policy encapsulates seller's terms for purchase payments.\r\n *\r\n * @param body Payment policy request\r\n */\r\n createPaymentPolicy(body) {\r\n return this.post(`/payment_policy`, body);\r\n }\r\n /**\r\n * This method updates an existing payment policy.\r\n *\r\n * @param paymentPolicyId This path parameter specifies the ID of the payment policy you want to update.\r\n * @param body Payment policy request\r\n */\r\n updatePaymentPolicy(paymentPolicyId, body) {\r\n paymentPolicyId = encodeURIComponent(paymentPolicyId);\r\n return this.put(`/payment_policy/${paymentPolicyId}`, body);\r\n }\r\n /**\r\n * This method updates an existing payment policy.\r\n *\r\n * @param paymentPolicyId This path parameter specifies the ID of the payment policy you want to delete.\r\n */\r\n deletePaymentPolicy(paymentPolicyId) {\r\n paymentPolicyId = encodeURIComponent(paymentPolicyId);\r\n return this.delete(`/payment_policy/${paymentPolicyId}`);\r\n }\r\n /**\r\n * This method retrieves the complete details of a single payment policy.\r\n *\r\n * @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.\r\n * @param name This query parameter specifies the user-defined name of the payment policy you want to retrieve.\r\n */\r\n getPaymentPolicyByName(marketplaceId, name) {\r\n return this.get(`/payment_policy/get_by_policy_name`, {\r\n params: {\r\n marketplace_id: marketplaceId,\r\n name\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns whether or not the user is opted-in to the payment program.\r\n *\r\n * @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.\r\n * @param paymentsProgramType This path parameter specifies the payments program whose status is returned by the\r\n * call.\r\n */\r\n getPaymentsProgram(marketplaceId, paymentsProgramType) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n const type = encodeURIComponent(paymentsProgramType);\r\n return this.get(`/payments_program/${marketplaceId}/${type}`);\r\n }\r\n /**\r\n * This method retrieves a seller's onboarding status of eBay managed payments for a specified marketplace.\r\n *\r\n * @param marketplaceId This query parameter specifies the eBay marketplace of the policy you want to retrieve.\r\n * @param paymentsProgramType This path parameter specifies the payments program whose status is returned by the\r\n * call.\r\n */\r\n getPaymentsProgramOnboarding(marketplaceId, paymentsProgramType) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n const type = encodeURIComponent(paymentsProgramType);\r\n return this.get(`/payments_program/${marketplaceId}/${type}/onboarding`);\r\n }\r\n /**\r\n * This method retrieves the seller's current set of privileges.\r\n */\r\n getPrivileges() {\r\n return this.get(`/privilege`);\r\n }\r\n /**\r\n * This method gets a list of the seller programs that the seller has opted-in to.\r\n */\r\n getOptedInPrograms() {\r\n return this.get(`/program/get_opted_in_programs`);\r\n }\r\n /**\r\n * This method opts the seller in to an eBay seller program.\r\n *\r\n * @param body Program being opted-in to.\r\n */\r\n optInToProgram(body) {\r\n return this.post(`/program/opt_in`, body);\r\n }\r\n /**\r\n * This method opts the seller out of a seller program to which you have previously opted-in to.\r\n *\r\n * @param body Program being opted-out of.\r\n */\r\n optOutOfProgram(body) {\r\n return this.post(`/program/opt_out`, body);\r\n }\r\n /**\r\n * This method retrieves a seller's shipping rate tables for the country specified in the country_code query\r\n * parameter.\r\n *\r\n * @param countryCode This query parameter specifies the two-letter ISO 3166-1 Alpha-2 code of country for which\r\n * you want shipping-rate table information.\r\n */\r\n getRateTables(countryCode) {\r\n return this.get(`/rate_table`, {\r\n params: {\r\n country_code: countryCode\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves all the return policies configured for the marketplace you specify using the\r\n * marketplace_id query parameter.\r\n *\r\n * @param marketplaceId This query parameter specifies the ID of the eBay marketplace of the policy you want to\r\n * retrieve.\r\n */\r\n getReturnPolicies(marketplaceId) {\r\n return this.get(`/return_policy`, {\r\n params: {\r\n marketplace_id: marketplaceId\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the complete details of the return policy specified by the returnPolicyId path parameter.\r\n *\r\n * @param returnPolicyId This path parameter specifies the of the return policy you want to retrieve.\r\n */\r\n getReturnPolicy(returnPolicyId) {\r\n returnPolicyId = encodeURIComponent(returnPolicyId);\r\n return this.get(`/return_policy/${returnPolicyId}`);\r\n }\r\n /**\r\n * This method creates a new return policy where the policy encapsulates seller's terms for returning items.\r\n *\r\n * @param body Return policy request\r\n */\r\n createReturnPolicy(body) {\r\n return this.post(`/return_policy`, body);\r\n }\r\n /**\r\n * This method creates a new return policy where the policy encapsulates seller's terms for returning items.\r\n *\r\n * @param returnPolicyId This path parameter specifies the ID of the return policy you want to update.\r\n * @param body Return policy request\r\n */\r\n updateReturnPolicy(returnPolicyId, body) {\r\n returnPolicyId = encodeURIComponent(returnPolicyId);\r\n return this.put(`/return_policy/${returnPolicyId}`, body);\r\n }\r\n /**\r\n * This method deletes a return policy.\r\n *\r\n * @param returnPolicyId This path parameter specifies the ID of the return policy you want to delete.\r\n */\r\n deleteReturnPolicy(returnPolicyId) {\r\n returnPolicyId = encodeURIComponent(returnPolicyId);\r\n return this.delete(`/return_policy/${returnPolicyId}`);\r\n }\r\n /**\r\n * This method retrieves the complete details of a single return policy.\r\n *\r\n * @param marketplaceId This query parameter specifies the ID of the eBay marketplace of the policy you want to\r\n * retrieve.\r\n * @param name This query parameter specifies the user-defined name of the return policy you want to retrieve.\r\n */\r\n getReturnPolicyByName(marketplaceId, name) {\r\n return this.get(`/return_policy/get_by_policy_name`, {\r\n params: {\r\n marketplace_id: marketplaceId,\r\n name\r\n }\r\n });\r\n }\r\n /**\r\n * This call gets the current tax table entry for a specific tax jurisdiction.\r\n *\r\n * @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 code for the country whose\r\n * tax table you want to retrieve.\r\n * @param jurisdictionId This path parameter specifies the ID of the sales tax jurisdiction for the tax table entry\r\n * you want to retrieve.\r\n */\r\n getSalesTax(countryCode, jurisdictionId) {\r\n countryCode = encodeURIComponent(countryCode);\r\n jurisdictionId = encodeURIComponent(jurisdictionId);\r\n return this.get(`/sales_tax/${countryCode}/${jurisdictionId}`);\r\n }\r\n /**\r\n * This method creates or updates a sales tax table entry for a jurisdiction.\r\n *\r\n * @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 code for the country for\r\n * which you want to create tax table entry.\r\n * @param jurisdictionId This path parameter specifies the ID of the sales-tax jurisdiction for the table entry you\r\n * want to create.\r\n * @param body A container that describes the how the sales tax is calculated.\r\n */\r\n createOrReplaceSalesTax(countryCode, jurisdictionId, body) {\r\n countryCode = encodeURIComponent(countryCode);\r\n jurisdictionId = encodeURIComponent(jurisdictionId);\r\n return this.put(`/sales_tax/${countryCode}/${jurisdictionId}`, body);\r\n }\r\n /**\r\n * This call deletes a tax table entry for a jurisdiction.\r\n *\r\n * @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 code for the country for\r\n * which you want to create tax table entry.\r\n * @param jurisdictionId This path parameter specifies the ID of the sales-tax jurisdiction for the table entry you\r\n * want to delete.\r\n */\r\n deleteSalesTax(countryCode, jurisdictionId) {\r\n countryCode = encodeURIComponent(countryCode);\r\n jurisdictionId = encodeURIComponent(jurisdictionId);\r\n return this.delete(`/sales_tax/${countryCode}/${jurisdictionId}`);\r\n }\r\n /**\r\n * Use this call to retrieve a sales tax table that the seller established for a specific country.\r\n *\r\n * @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 code for the country whose\r\n * tax table you want to retrieve.\r\n */\r\n getSalesTaxes(countryCode) {\r\n return this.get(`/sales_tax`, {\r\n params: {\r\n country_code: countryCode\r\n }\r\n });\r\n }\r\n /**\r\n * his method is used by sellers onboarded for eBay managed payments, or sellers who are currently going through, or who are eligible for onboarding for eBay managed payments.\r\n */\r\n getKYC() {\r\n return this.get(`/kyc`);\r\n }\r\n}\r\nexports.default = Account;\r\nAccount.id = 'Account';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Analytics API provides information about a seller's business performance.\r\n */\r\nclass Analytics extends __1.default {\r\n get basePath() {\r\n return '/sell/analytics/v1';\r\n }\r\n /**\r\n * This call retrieves all the profiles for the associated seller.\r\n */\r\n findSellerStandardsProfiles() {\r\n return this.get(`/seller_standards_profile`);\r\n }\r\n /**\r\n * This call retrieves seller's profiles based on a program or cycle.\r\n *\r\n * @param program Specifies the program of the requested profile.\r\n * @param cycle Specifies the cycle of the requested profile.\r\n */\r\n getSellerStandardsProfile(program, cycle) {\r\n program = encodeURIComponent(program);\r\n cycle = encodeURIComponent(cycle);\r\n return this.get(`/seller_standards_profile/${program}/${cycle}`);\r\n }\r\n /**\r\n * This call returns a report that details the user-traffic a seller's listings receives.\r\n *\r\n * @param dimension Specifies the basis of the report data.\r\n * @param filter Limits the report data returned.\r\n * @param metric Specifies a comma separated list of the metrics you want included in the report.\r\n * @param sort Specifies a single metric to be sorted and whether you want to sort in ascending or descending order.\r\n */\r\n getTrafficReport({ dimension, filter, metric, sort } = {}) {\r\n return this.get(`/traffic_report`, {\r\n params: {\r\n dimension,\r\n filter,\r\n metric,\r\n sort\r\n }\r\n });\r\n }\r\n /**\r\n * Use this method to retrieve a seller's performance and rating for the customer service metric.\r\n *\r\n * @param customerServiceMetricType Use this path parameter to specify the type of customer service metrics and benchmark data you want returned for the seller.\r\n * @param evaluationType Use this query parameter to specify the Marketplace ID to evaluate for the customer service metrics and benchmark data.\r\n */\r\n getCustomerServiceMetric(customerServiceMetricType, evaluationType) {\r\n return this.get(`/customer_service_metric/${customerServiceMetricType}/${evaluationType}`);\r\n }\r\n}\r\nexports.default = Analytics;\r\nAnalytics.id = 'Analytics';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Service for providing the compliance violations of seller account/listings\r\n */\r\nclass Compliance extends __1.default {\r\n get basePath() {\r\n return '/sell/compliance/v1';\r\n }\r\n /**\r\n * This call returns listing violation counts for a seller.\r\n *\r\n * @param complianceType A user passes in one or more compliance type values through this query parameter.\r\n */\r\n getListingViolationsSummary(complianceType) {\r\n return this.get(`/listing_violation_summary`, {\r\n params: {\r\n compliance_type: complianceType\r\n }\r\n });\r\n }\r\n /**\r\n * This call returns specific listing violations for five different compliance types.\r\n *\r\n * @param complianceType A user passes in one or more compliance type values through this query parameter.\r\n * @param offset The first policy violation to return based on its position in the collection of listing\r\n * violations.\r\n * @param listingId\r\n * @param limit This query parameter is used if the user wants to set a limit on the number of listing violations\r\n * that are returned in the current result set.\r\n */\r\n getListingViolations({ complianceType, offset, listingId, limit } = {}) {\r\n return this.get(`/listing_violation`, {\r\n params: {\r\n compliance_type: complianceType,\r\n offset,\r\n listing_id: listingId,\r\n limit\r\n }\r\n });\r\n }\r\n /**\r\n * This call suppresses a listing violation for a specific listing. Only listing violations in the AT_RISK state (returned in the violations.complianceState field of the getListingViolations call) can be suppressed.\r\n *\r\n * @param body SuppressViolationRequest\r\n */\r\n suppressViolation(body) {\r\n return this.post(`/suppress_listing_violation`, body);\r\n }\r\n}\r\nexports.default = Compliance;\r\nCompliance.id = 'Compliance';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Finances API is used by sellers in eBay's managed payments program to retrieve seller payout information.\r\n *\r\n * https://api.ebay.com/oauth/api_scope/sell.finances\r\n *\r\n */\r\nclass Finances extends __1.default {\r\n get basePath() {\r\n return '/sell/finances/v1';\r\n }\r\n get subdomain() {\r\n return 'apiz';\r\n }\r\n /**\r\n * Use this call to retrieve the details of a specific seller payout.\r\n *\r\n * @param payoutId The unique identifier of the payout.\r\n */\r\n getPayout(payoutId) {\r\n payoutId = encodeURIComponent(payoutId);\r\n return this.get(`/payout/${payoutId}`);\r\n }\r\n /**\r\n * Use this call to search for and retrieve one or more payout based on their payout date,\r\n * or payout status using the filter parameter.\r\n *\r\n * @param filter One or more comma-separated criteria for narrowing down the collection of payout returned by this\r\n * call.\r\n * @param limit The number of payouts to return per page of the result set.\r\n * @param offset Specifies the number of payouts to skip in the result set before returning the first payout in the\r\n * paginated response.\r\n * @param sort Allows sorting by payouts date in descending order with '-payoutDate' (default) and ascending with 'payoutDate'\r\n */\r\n getPayouts({ filter, limit, offset, sort, } = {}) {\r\n return this.get(`/payout`, {\r\n params: {\r\n filter,\r\n limit,\r\n offset,\r\n sort,\r\n },\r\n });\r\n }\r\n /**\r\n * Search for and retrieve the details of multiple payouts.\r\n * *\r\n * @param filter One or more comma-separated criteria for narrowing down the collection of payout returned by this\r\n * call.\r\n */\r\n getPayoutSummary({ filter, } = {}) {\r\n return this.get(`/payout_summary`, { params: { filter } });\r\n }\r\n /**\r\n * Retrieve details of one or more monetary transactions.\r\n * @param filter One or more comma-separated criteria for narrowing down the collection of transaction returned by this\r\n * call.\r\n * @param limit The number of transaction to return per page of the result set.\r\n * @param offset Specifies the number of payouts to skip in the result set before returning the first transaction in the\r\n * paginated response.\r\n * @param sort Allows sorting by transaction date in descending order with '-transactionDate' (default) and ascending with 'transactionDate'\r\n */\r\n getTransactions({ filter, limit, offset, sort } = {}) {\r\n return this.get(`/transaction`, {\r\n params: {\r\n filter,\r\n limit,\r\n offset,\r\n sort,\r\n },\r\n });\r\n }\r\n /**\r\n * Retrieve total counts and values of the seller's order sales, seller credits, buyer refunds, and payment holds.\r\n * @param filter One or more comma-separated criteria for narrowing down the collection of transaction returned by this\r\n * call.\r\n * @param limit The number of transaction to return per page of the result set.\r\n */\r\n getTransactionSummary({ filter, } = {}) {\r\n return this.get(`/transaction_summary`, {\r\n params: {\r\n filter,\r\n },\r\n });\r\n }\r\n /**\r\n * Retrieve detailed information on a TRANSFER transaction type.\r\n *\r\n * @param transferId The unique identifier of the transfer.\r\n */\r\n getTransfer(transferId) {\r\n transferId = encodeURIComponent(transferId);\r\n return this.get(`/transfer/${transferId}`);\r\n }\r\n /**\r\n * Retrieve all pending funds that have not yet been distributed through a seller payout.\r\n */\r\n getSellerFundsSummary() {\r\n return this.get(`/seller_funds_summary`);\r\n }\r\n}\r\nexports.default = Finances;\r\nFinances.id = 'Finances';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\nconst request_1 = require(\"../../../../request\");\r\n/**\r\n * Use the Fulfillment API to complete the process of packaging, addressing, handling, and shipping each order on\r\n * behalf of the seller, in accordance with the payment method and timing specified at checkout.\r\n *\r\n * https://api.ebay.com/oauth/api_scope/sell.fulfillment\r\n * https://api.ebay.com/oauth/api_scope/sell.fulfillment.readonly\r\n *\r\n */\r\nclass Fulfillment extends __1.default {\r\n get basePath() {\r\n return '/sell/fulfillment/v1';\r\n }\r\n /**\r\n * Use this call to retrieve the contents of an order based on its unique identifier, orderId.\r\n *\r\n * @param orderId The unique identifier of the order.\r\n * @param fieldGroups The response type associated with the order. The only presently supported value is <code>TAX_BREAKDOWN</code>.\r\n */\r\n getOrder(orderId, { fieldGroups } = {}) {\r\n return this.get(`/order/${orderId}`, {\r\n params: {\r\n fieldGroups\r\n }\r\n });\r\n }\r\n /**\r\n * Use this call to search for and retrieve one or more orders based on their creation date, last modification\r\n * date,\r\n * or fulfillment status using the filter parameter.\r\n *\r\n * @param filter One or more comma-separated criteria for narrowing down the collection of orders returned by this\r\n * call.\r\n * @param limit The number of orders to return per page of the result set.\r\n * @param offset Specifies the number of orders to skip in the result set before returning the first order in the\r\n * paginated response.\r\n * @param orderIds A comma-separated list of the unique identifiers of the orders to retrieve (maximum 50).\r\n */\r\n getOrders({ filter, limit, offset, orderIds, fieldGroups, } = {}) {\r\n return this.get(`/order`, {\r\n params: {\r\n filter,\r\n limit,\r\n offset,\r\n orderIds: Array.isArray(orderIds) ? orderIds.join() : orderIds,\r\n fieldGroups\r\n },\r\n });\r\n }\r\n /**\r\n * This method allows a seller (opted in to eBay Managed Payments) to issue a full or partial refund to a buyer for\r\n * an order. auth: https://api.ebay.com/oauth/api_scope/sell.finances\r\n *\r\n * @param orderId The unique identifier of the order. Order IDs are returned in the getOrders method (and GetOrders\r\n * call of Trading API).\r\n * @param body IssueRefundRequest\r\n */\r\n issueRefund(orderId, body) {\r\n orderId = encodeURIComponent(orderId);\r\n return this.post(`/order/${orderId}/issue_refund`, body);\r\n }\r\n /**\r\n * Use this call to retrieve the contents of all fulfillments currently defined for a specified order based on the\r\n * order's unique identifier, orderId.\r\n *\r\n * @param orderId The unique identifier of the order.\r\n */\r\n getShippingFulfillments(orderId) {\r\n orderId = encodeURIComponent(orderId);\r\n return this.get(`/order/${orderId}/shipping_fulfillment`);\r\n }\r\n /**\r\n * Create a Shipping Fulfillment\r\n *\r\n * @param orderId The unique identifier of the order.\r\n * @param body fulfillment payload\r\n */\r\n createShippingFulfillment(orderId, body) {\r\n orderId = encodeURIComponent(orderId);\r\n return this.post(`/order/${orderId}/shipping_fulfillment`, body);\r\n }\r\n /**\r\n * Use this call to retrieve the contents of a fulfillment based on its unique identifier, fulfillmentId (combined\r\n * with the associated order's orderId).\r\n *\r\n * @param orderId The unique identifier of the order.\r\n * @param fulfillmentId The unique identifier of the fulfillment.\r\n */\r\n getShippingFulfillment(orderId, fulfillmentId) {\r\n orderId = encodeURIComponent(orderId);\r\n fulfillmentId = encodeURIComponent(fulfillmentId);\r\n return this.get(`/order/${orderId}/shipping_fulfillment/${fulfillmentId}`);\r\n }\r\n /**\r\n * This method retrieves detailed information on a specific payment dispute.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n */\r\n getPaymentDispute(paymentDisputeId) {\r\n return this.get(`/payment_dispute/${paymentDisputeId}`);\r\n }\r\n /**\r\n * This call retrieves a specific evidence file for a payment dispute.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n */\r\n fetchEvidenceContent(paymentDisputeId) {\r\n return this.get(`/payment_dispute/${paymentDisputeId}/fetch_evidence_content`);\r\n }\r\n /**\r\n * This method retrieve a log of activity for a payment dispute.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n */\r\n getActivities(paymentDisputeId) {\r\n return this.get(`/payment_dispute/${paymentDisputeId}/activity`);\r\n }\r\n /**\r\n * This method is used retrieve one or more payment disputes filed against the seller.\r\n *\r\n * @param orderId This filter is used if the seller wishes to retrieve one or more payment disputes filed against a specific order.\r\n * @param buyerUsername This filter is used if the seller wishes to retrieve one or more payment disputes opened by a specific seller.\r\n * @param openDateFrom The <b>open_date_from</b> and/or <b>open_date_to</b> date filters are used if the seller wishes to retrieve payment disputes opened within a specific date range.\r\n * @param paymentDisputeStatus The <b>open_date_from</b> and/or <b>open_date_to</b> date filters are used if the seller wishes to retrieve payment disputes opened within a specific date range.\r\n * @param paymentDisputeStatus his filter is used if the seller wishes to only retrieve payment disputes in a specific state.\r\n * @param limit The value passed in this query parameter sets the maximum number of payment disputes to return per page of data.\r\n * @param offset This field is used to specify the number of records to skip in the result set before returning the first payment dispute in the paginated response.\r\n */\r\n getPaymentDisputeSummaries({ orderId: order_id, buyerUsername: buyer_username, openDateFrom: open_date_from, openDateTo: open_date_to, paymentDisputeStatus: payment_dispute_status, limit, offset }) {\r\n return this.get(`/payment_dispute_summary`, {\r\n params: {\r\n order_id,\r\n buyer_username,\r\n open_date_from,\r\n open_date_to,\r\n payment_dispute_status,\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method is used if the seller wishes to contest a payment dispute initiated by the buyer.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n * @param body This is the unique identifier of the payment dispute.\r\n */\r\n contestPaymentDispute(paymentDisputeId, body) {\r\n return this.post(`/payment_dispute/${paymentDisputeId}/contest`, body);\r\n }\r\n /**\r\n * This method is used if the seller wishes to accept a payment dispute.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n */\r\n acceptPaymentDispute(paymentDisputeId) {\r\n return this.post(`/payment_dispute/${paymentDisputeId}/accept`);\r\n }\r\n /**\r\n * This method is used to upload an evidence file for a contested payment dispute.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n * @param data uploads an encrypted, binary image file (using multipart/form-data HTTP request header)\r\n */\r\n uploadEvidenceFile(paymentDisputeId, data) {\r\n return this.post(`/payment_dispute/${paymentDisputeId}/upload_evidence_file`, data, {\r\n headers: {\r\n ...request_1.multipartHeader\r\n }\r\n });\r\n }\r\n /**\r\n * This method is used by the seller to add one or more evidence files to address a payment dispute initiated by the buyer.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n * @param body AddEvidencePaymentDisputeRequest\r\n */\r\n addEvidence(paymentDisputeId, body) {\r\n return this.post(`/payment_dispute/${paymentDisputeId}/add_evidence`, body);\r\n }\r\n /**\r\n * This method is used by the seller to update an existing evidence set for a payment dispute with one or more evidence files.\r\n *\r\n * @param paymentDisputeId This is the unique identifier of the payment dispute.\r\n * @param body AddEvidencePaymentDisputeRequest\r\n */\r\n updateEvidence(paymentDisputeId, body) {\r\n return this.post(`/payment_dispute/${paymentDisputeId}/update_evidence`, body);\r\n }\r\n}\r\nexports.default = Fulfillment;\r\nFulfillment.id = 'Fulfillment';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Inventory API is used to create and manage inventory, and then to publish and manage this inventory on an eBay\r\n * marketplace.\r\n */\r\nclass Inventory extends __1.default {\r\n get basePath() {\r\n return '/sell/inventory/v1';\r\n }\r\n /**\r\n * This call retrieves all defined details of the inventory location that is specified by the\r\n * <b>merchantLocationKey</b> path parameter.\r\n *\r\n * @param merchantLocationKey A unique merchant-defined key (ID) for an inventory location.\r\n */\r\n getInventoryLocation(merchantLocationKey) {\r\n const key = encodeURIComponent(merchantLocationKey);\r\n return this.get(`/location/${key}`);\r\n }\r\n /**\r\n * <p>This call disables the inventory location that is specified in the <code>merchantLocationKey</code> path\r\n * parameter.\r\n *\r\n * @param merchantLocationKey A unique merchant-defined key (ID) for an inventory location.\r\n */\r\n disableInventoryLocation(merchantLocationKey) {\r\n const key = encodeURIComponent(merchantLocationKey);\r\n return this.post(`/location/${key}/disable`);\r\n }\r\n /**\r\n * <p>This call enables a disabled inventory location that is specified in the <code>merchantLocationKey</code>\r\n * path parameter.\r\n *\r\n * @param merchantLocationKey A unique merchant-defined key (ID) for an inventory location.\r\n */\r\n enableInventoryLocation(merchantLocationKey) {\r\n const key = encodeURIComponent(merchantLocationKey);\r\n return this.post(`/location/${key}/enable`);\r\n }\r\n /**\r\n * This call retrieves all defined details for every inventory location associated with the seller's account.\r\n *\r\n * @param limit The value passed in this query parameter sets the maximum number of records to return per page of\r\n * data.\r\n * @param offset The value passed in this query parameter sets the page number to retrieve.\r\n */\r\n getInventoryLocations({ limit, offset, } = {}) {\r\n return this.get(`/location`, {\r\n params: {\r\n limit,\r\n offset,\r\n },\r\n });\r\n }\r\n /**\r\n * <p>Use this call to create a new inventory location.\r\n *\r\n * @param merchantLocationKey A unique merchant-defined key (ID) for an inventory location.\r\n * @param body Inventory Location details\r\n */\r\n createInventoryLocation(merchantLocationKey, body) {\r\n const key = encodeURIComponent(merchantLocationKey);\r\n return this.post(`/location/${key}`, body);\r\n }\r\n /**\r\n * <p>This call deletes the inventory location that is specified in the <code>merchantLocationKey</code> path\r\n * parameter.\r\n *\r\n * @param merchantLocationKey A unique merchant-defined key (ID) for an inventory location.\r\n */\r\n deleteInventoryLocation(merchantLocationKey) {\r\n const key = encodeURIComponent(merchantLocationKey);\r\n return this.delete(`/location/${key}`);\r\n }\r\n /**\r\n * <p>Use this call to update non-physical location details for an existing inventory location.\r\n *\r\n * @param merchantLocationKey A unique merchant-defined key (ID) for an inventory location.\r\n * @param body The inventory location details to be updated (other than the address and geo co-ordinates).\r\n */\r\n updateInventoryLocation(merchantLocationKey, body) {\r\n const key = encodeURIComponent(merchantLocationKey);\r\n return this.post(`/location/${key}/update_location_details`, body);\r\n }\r\n /**\r\n * This call retrieves the inventory item record for a given SKU.\r\n *\r\n * @param sku his is the seller-defined SKU value of the product whose inventory item record you wish to\r\n * retrieve.<br/><br/><strong>Max length</strong>: 50.\r\n */\r\n getInventoryItem(sku) {\r\n sku = encodeURIComponent(sku);\r\n return this.get(`/inventory_item/${sku}`);\r\n }\r\n /**\r\n * This call creates a new inventory item record or replaces an existing inventory item record.\r\n *\r\n * @param sku The seller-defined SKU value for the inventory item is required whether the seller is creating a new\r\n * inventory item, or updating an existing inventory item.\r\n * @param body Details of the inventory item record.\r\n */\r\n createOrReplaceInventoryItem(sku, body) {\r\n sku = encodeURIComponent(sku);\r\n return this.put(`/inventory_item/${sku}`, body);\r\n }\r\n /**\r\n * This call is used to delete an inventory item record associated with a specified SKU.\r\n *\r\n * @param sku The seller-defined SKU value for the inventory item is required whether the seller is creating a new\r\n * inventory item, or updating an existing inventory item.\r\n */\r\n deleteInventoryItem(sku) {\r\n sku = encodeURIComponent(sku);\r\n return this.delete(`/inventory_item/${sku}`);\r\n }\r\n /**\r\n * This call retrieves all inventory item records defined for the seller's account.\r\n *\r\n * @param limit The value passed in this query parameter sets the maximum number of records to return per page of\r\n * data.\r\n * @param offset The value passed in this query parameter sets the page number to retrieve.\r\n */\r\n getInventoryItems({ limit, offset, } = {}) {\r\n return this.get(`/inventory_item`, {\r\n params: {\r\n limit,\r\n offset,\r\n },\r\n });\r\n }\r\n /**\r\n * This call is used by the seller to update the total ship-to-home quantity of one inventory item,\r\n * and/or to update the price and/or quantity of one or more offers associated with one inventory item.\r\n *\r\n * @param body BulkPriceQuantity\r\n */\r\n bulkUpdatePriceQuantity(body) {\r\n return this.post(`/bulk_update_price_quantity`, body);\r\n }\r\n /**\r\n * This call can be used to create and/or update up to 25 new inventory item records.\r\n *\r\n * @param body BulkInventoryItem\r\n */\r\n bulkCreateOrReplaceInventoryItem(body) {\r\n return this.post(`/bulk_create_or_replace_inventory_item`, body);\r\n }\r\n /**\r\n * This call retrieves up to 25 inventory item records. The SKU value of each inventory item record to retrieve is\r\n * specified in the request payload.\r\n *\r\n * @param body BulkInventoryItem\r\n */\r\n bulkGetInventoryItem(body) {\r\n return this.post(`/bulk_get_inventory_item`, body);\r\n }\r\n /**\r\n * This call is used by the seller to retrieve the list of products that are compatible with the inventory item.\r\n *\r\n * @param sku A SKU (stock keeping unit) is an unique identifier defined by a seller for a product\r\n */\r\n getProductCompatibility(sku) {\r\n sku = encodeURIComponent(sku);\r\n return this.get(`/inventory_item/${sku}/product_compatibility`);\r\n }\r\n /**\r\n * This call is used by the seller to create or replace a list of products that are compatible with the inventory\r\n * item.\r\n *\r\n * @param sku A SKU (stock keeping unit) is an unique identifier defined by a seller for a product\r\n * @param body Details of the compatibility\r\n */\r\n createOrReplaceProductCompatibility(sku, body) {\r\n sku = encodeURIComponent(sku);\r\n return this.put(`/inventory_item/${sku}/product_compatibility`, body);\r\n }\r\n /**\r\n * This call is used by the seller to delete the list of products that are compatible with the inventory item that\r\n * is associated with the compatible product list.\r\n *\r\n * @param sku A SKU (stock keeping unit) is an unique identifier defined by a seller for a product\r\n */\r\n deleteProductCompatibility(sku) {\r\n sku = encodeURIComponent(sku);\r\n return this.delete(`/inventory_item/${sku}/product_compatibility`);\r\n }\r\n /**\r\n * This call retrieves all existing offers for the specified SKU value.\r\n *\r\n * @param sku The seller-defined SKU value is passed in as a query parameter.\r\n * @param marketplace_id The unique identifier of the eBay marketplace.\r\n * @param format This enumeration value sets the listing format for the offer.\r\n * @param limit The value passed in this query parameter sets the maximum number of records to return per page of\r\n * data.\r\n * @param offset The value passed in this query parameter sets the page number to retrieve.\r\n */\r\n getOffers({ sku, marketplaceId, format, limit, offset, } = {}) {\r\n return this.get(`/offer`, {\r\n params: {\r\n sku,\r\n marketplace_id: marketplaceId,\r\n format,\r\n limit,\r\n offset,\r\n },\r\n });\r\n }\r\n /**\r\n * This call retrieves a specific published or unpublished offer.\r\n *\r\n * @param offerId The unique identifier of the offer that is to be retrieved.\r\n */\r\n getOffer(offerId) {\r\n offerId = encodeURIComponent(offerId);\r\n return this.get(`/offer/${offerId}`);\r\n }\r\n /**\r\n * This call creates an offer for a specific inventory item on a specific eBay marketplace.\r\n *\r\n * @param body Details of the offer for the channel\r\n */\r\n createOffer(body) {\r\n return this.post(`/offer`, body);\r\n }\r\n /**\r\n * This call updates an existing offer.\r\n *\r\n * @param offerId The unique identifier of the offer that is being updated.\r\n * @param body Details of the offer for the channel\r\n */\r\n updateOffer(offerId, body) {\r\n offerId = encodeURIComponent(offerId);\r\n return this.put(`/offer/${offerId}`, body);\r\n }\r\n /**\r\n * If used against an unpublished offer, this call will permanently delete that offer.\r\n *\r\n * @param offerId The unique identifier of the offer to delete.\r\n */\r\n deleteOffer(offerId) {\r\n return this.delete(`/offer/${offerId}`);\r\n }\r\n /**\r\n * This call is used to convert an unpublished offer into a published offer, or live eBay listing.\r\n *\r\n * @param offerId The unique identifier of the offer that is to be published.\r\n */\r\n publishOffer(offerId) {\r\n const id = encodeURIComponent(offerId);\r\n return this.post(`/offer/${id}/publish/`);\r\n }\r\n /**\r\n * This call is used to convert all unpublished offers associated with an inventory item group into an active,\r\n * multiple-variation listing.\r\n *\r\n * @param body PublishByInventoryItemGroupRequest\r\n */\r\n publishOfferByInventoryItemGroup(body) {\r\n return this.post(`/offer/publish_by_inventory_item_group/`, body);\r\n }\r\n /**\r\n * This call is used to end a multiple-variation eBay listing that is associated with the specified inventory item\r\n * group.\r\n *\r\n * @param body WithdrawByInventoryItemGroupRequest\r\n */\r\n withdrawOfferByInventoryItemGroup(body) {\r\n return this.post(`/offer/withdraw_by_inventory_item_group`, body);\r\n }\r\n /**\r\n * This call is used to retrieve the expected listing fees for up to 250 unpublished offers.\r\n *\r\n * @param body OfferKeysWithId\r\n */\r\n getListingFees(body) {\r\n return this.post(`/offer/get_listing_fees`, body);\r\n }\r\n /**\r\n * This call creates multiple offers (up to 25) for specific inventory items on a specific eBay marketplace.\r\n *\r\n * @param body BulkEbayOfferDetailsWithKeys\r\n */\r\n bulkCreateOffer(body) {\r\n return this.post(`/bulk_create_offer`, body);\r\n }\r\n /**\r\n * This call is used to convert unpublished offers (up to 25) into published offers, or live eBay listings.\r\n *\r\n * @param body BulkOffer\r\n */\r\n bulkPublishOffer(body) {\r\n return this.post(`/bulk_publish_offer`, body);\r\n }\r\n /**\r\n * This call is used to end a single-variation listing that is associated with the specified offer.\r\n *\r\n * @param offerId he unique identifier of the offer that is to be withdrawn.\r\n */\r\n withdrawOffer(offerId) {\r\n const id = encodeURIComponent(offerId);\r\n return this.post(`/offer/${id}/withdraw`);\r\n }\r\n /**\r\n * This call retrieves the inventory item group for a given <strong>inventoryItemGroupKey</strong> value.\r\n *\r\n * @param inventoryItemGroupKey The unique identifier of an inventory item group.\r\n */\r\n getInventoryItemGroup(inventoryItemGroupKey) {\r\n inventoryItemGroupKey = encodeURIComponent(inventoryItemGroupKey);\r\n return this.get(`/inventory_item_group/${inventoryItemGroupKey}`);\r\n }\r\n /**\r\n * This call creates a new inventory item group or updates an existing inventory item group.\r\n *\r\n * @param inventoryItemGroupKey Unique identifier of the inventory item group.\r\n * @param body Details of the inventory Item Group\r\n */\r\n createOrReplaceInventoryItemGroup(inventoryItemGroupKey, body) {\r\n inventoryItemGroupKey = encodeURIComponent(inventoryItemGroupKey);\r\n return this.put(`/inventory_item_group/${inventoryItemGroupKey}`, body);\r\n }\r\n /**\r\n * This call deletes the inventory item group for a given <strong>inventoryItemGroupKey</strong> value.\r\n *\r\n * @param inventoryItemGroupKey Unique identifier of the inventory item group.\r\n */\r\n deleteInventoryItemGroup(inventoryItemGroupKey) {\r\n return this.delete(`/inventory_item_group/${inventoryItemGroupKey}`);\r\n }\r\n /**\r\n * This call is used to convert existing eBay Listings to the corresponding Inventory API objects.\r\n *\r\n * @param body BulkMigrateListing\r\n */\r\n bulkMigrateListing(body) {\r\n return this.post(`/bulk_migrate_listing`, body);\r\n }\r\n}\r\nexports.default = Inventory;\r\nInventory.id = 'Inventory';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * <p>The <i>Marketing API </i> offers two platforms that sellers can use to promote and advertise their products:\r\n * </p> <ul><li><b>Promoted Listings</b> is an eBay ad service that lets sellers set up <i>ad campaigns </i>\r\n * for the products they want to promote. eBay displays the ads in search results and in other\r\n * marketing modules as <b>SPONSORED</b> listings.\r\n */\r\nclass Marketing extends __1.default {\r\n get basePath() {\r\n return '/sell/marketing/v1';\r\n }\r\n /**\r\n * This method creates an ad for each inventory reference ID specified in the request and associates the newly\r\n * created ads with the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created.\r\n * @param body This type defines the fields for the bulkCreateAdsByInventoryReference request.\r\n */\r\n bulkCreateAdsByInventoryReference(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/bulk_create_ads_by_inventory_reference`, body);\r\n }\r\n /**\r\n * This method creates an ad for each listing ID specified in the request and associates the newly created ads with\r\n * the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body The container for the bulk request to create ads for eBay listing IDs. eBay listing IDs are\r\n * generated when the listing is created on eBay.\r\n */\r\n bulkCreateAdsByListingId(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/bulk_create_ads_by_listing_id`, body);\r\n }\r\n /**\r\n * This method deletes a set of ads, as specified by a list of inventory reference IDs, from the specified\r\n * campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body This type defines the fields for a bulkDeleteAdsByInventoryReference request.\r\n */\r\n bulkDeleteAdsByInventoryReference(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/bulk_delete_ads_by_inventory_reference`, body);\r\n }\r\n /**\r\n * This method deletes a set of ads, as specified by a list of listing IDs, from the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body This type defines the fields for the bulkDeleteAdsByListingId request.\r\n */\r\n bulkDeleteAdsByListingId(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/bulk_delete_ads_by_listing_id`, body);\r\n }\r\n /**\r\n * This method replaces an ad bid based on a list of inventory references IDs associated with the specified\r\n * campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created.\r\n * @param body This type defines the fields for the BulkCreateAdsByInventoryReference request.\r\n */\r\n bulkUpdateAdsBidByInventoryReference(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/bulk_update_ads_bid_by_inventory_reference`, body);\r\n }\r\n /**\r\n * This method replaces an ad bid based on a supplied list of listing IDs that are associated with the specified\r\n * campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body Container for the bulk request to update ads.\r\n */\r\n bulkUpdateAdsBidByListingId(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/bulk_update_ads_bid_by_listing_id`, body);\r\n }\r\n /**\r\n * This method retrieves all the ads for the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param limit Specifies the maximum number of ads to return on a page in the paginated response. Default: 10\r\n * Maximum: 500\r\n * @param listingIds A comma separated list of eBay listing IDs. The response includes only active ads (ads\r\n * associated with a RUNNING campaign).\r\n * @param offset Specifies the number of ads to skip in the result set before returning the first ad in the\r\n * paginated response.\r\n */\r\n getAds(campaignId, { limit, listingIds, offset } = {}) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.get(`/ad_campaign/${campaignId}/ad`, {\r\n params: {\r\n limit,\r\n listing_ids: listingIds,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method creates an ad for the specified listing ID, sets the bid percentage for that specific item, and\r\n * associates the ad with the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body This type defines the fields for the createAd request.\r\n */\r\n createAdByListingId(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/ad`, body);\r\n }\r\n /**\r\n * This method creates an ad for the specified inventory reference ID, sets the bid percentage for that specific\r\n * item, and associates the ad with the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body This type defines the fields for the createAdsByInventoryReference request.\r\n */\r\n createAdsByInventoryReference(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/create_ads_by_inventory_reference`, body);\r\n }\r\n /**\r\n * This method retrieves the specified ad from the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param adId Identifier of an ad. This ID was generated when the ad was created.\r\n */\r\n getAd(campaignId, adId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n adId = encodeURIComponent(adId);\r\n return this.get(`/ad_campaign/${campaignId}/ad/${adId}`);\r\n }\r\n /**\r\n * This method retrieves the specified ad from the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created.\r\n * @param adId Identifier of an ad. This ID was generated when the ad was created.\r\n */\r\n deleteAd(campaignId, adId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n adId = encodeURIComponent(adId);\r\n return this.delete(`/ad_campaign/${campaignId}/ad/${adId}`);\r\n }\r\n /**\r\n * This method deletes ads using a list of seller inventory reference IDs that are associated with the specified\r\n * campaign ID.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n */\r\n deleteAdsByInventoryReference(campaignId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/delete_ads_by_inventory_reference`);\r\n }\r\n /**\r\n * This method retrieves ads from the specified campaign using the seller's inventory reference ID and inventory\r\n * reference type.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param inventoryReferenceId The inventory reference ID associated with the ad you want returned.\r\n * @param inventoryReferenceType The type of the inventory reference ID. Set this value to either INVENTORY_ITEM (a\r\n * single listing) or INVENTORY_ITEM_GROUP (a multi-variation listing).\r\n */\r\n getAdsByInventoryReference(campaignId, inventoryReferenceId, inventoryReferenceType) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.get(`/ad_campaign/${campaignId}/get_ads_by_inventory_reference`, {\r\n params: {\r\n inventory_reference_id: inventoryReferenceId,\r\n inventory_reference_type: inventoryReferenceType\r\n }\r\n });\r\n }\r\n /**\r\n * This method updates the bid for the specified ad in the specified campaign. In the request, supply the\r\n * campaign_id and ad_id as a URI parameters.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param adId A unique eBay-assigned ID for an ad that's generated when an ad is created.\r\n * @param body This type defines the fields for the updateBid request.\r\n */\r\n updateBid(campaignId, adId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n adId = encodeURIComponent(adId);\r\n return this.post(`/ad_campaign/${campaignId}/ad/${adId}/update_bid`, body);\r\n }\r\n /**\r\n * This method clones (makes a copy of) the specified campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body This type defines the fields for a clone campaign request.\r\n */\r\n cloneCampaign(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/clone`, body);\r\n }\r\n /**\r\n * This method retrieves the details for all the campaigns of a seller, including the campaign's the selection\r\n * rules.\r\n *\r\n * @param campaignName Specifies the campaign name. The results are filtered to include only the campaign by the\r\n * specified name.\r\n * @param campaignStatus Specifies the campaign status. The results are filtered to include only campaigns that are\r\n * in the specified states.\r\n * @param endDateRange Specifies the range of a campaign's end date. The results are filtered to include only\r\n * campaigns with an end date that is within specified range.\r\n * @param limit Specifies the maximum number of campaigns to return on a page in the paginated response. Default:\r\n * 10 Maximum: 500\r\n * @param offset Specifies the number of campaigns to skip in the result set before returning the first report in\r\n * the paginated response.\r\n * @param startDateRange Specifies the range of a campaign's start date in which to filter the results.\r\n */\r\n getCampaigns({ campaignName, campaignStatus, endDateRange, limit, offset, startDateRange } = {}) {\r\n return this.get(`/ad_campaign`, {\r\n params: {\r\n campaign_name: campaignName,\r\n campaign_status: campaignStatus,\r\n end_date_range: endDateRange,\r\n limit,\r\n offset,\r\n start_date_range: startDateRange\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the details of a single campaign, as specified with the campaign_id query parameter.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n */\r\n getCampaign(campaignId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.get(`/ad_campaign/${campaignId}`);\r\n }\r\n /**\r\n * This method creates a Promoted Listings ad campaign.\r\n *\r\n * @param body his type defines the fields for the create campaign request.\r\n */\r\n createCampaign(body) {\r\n return this.post(`/ad_campaign`, body);\r\n }\r\n /**\r\n * This method deletes the campaign specified by the campaign_id query parameter.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n */\r\n deleteCampaign(campaignId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.delete(`/ad_campaign/${campaignId}`);\r\n }\r\n /**\r\n * This method ends an active (RUNNINGM) or paused campaign. Specify the campaign you want to end by supplying its\r\n * campaign ID in a query parameter.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n */\r\n endCampaign(campaignId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/end`);\r\n }\r\n /**\r\n * This method retrieves the campaign containing the listing that is specified using either an eBay listing ID or\r\n * an inventory reference ID and inventory reference type.\r\n *\r\n * @param inventoryReferenceId The seller's inventory reference ID of the listing to be used to find the campaign\r\n * in which it is associated.\r\n * @param inventoryReferenceType The type of the seller's inventory reference ID, which is a listing or group of\r\n * items.\r\n * @param listingId Identifier of the eBay listing associated with the ad.\r\n */\r\n findCampaignByAdReference({ inventoryReferenceId, inventoryReferenceType, listingId } = {}) {\r\n return this.get(`/ad_campaign/find_campaign_by_ad_reference`, {\r\n params: {\r\n inventory_reference_id: inventoryReferenceId,\r\n inventory_reference_type: inventoryReferenceType,\r\n listing_id: listingId\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves the details of a single campaign, as specified with the campaign_name query parameter.\r\n *\r\n * @param campaignName Name of the campaign.\r\n */\r\n getCampaignByName(campaignName) {\r\n return this.get(`/ad_campaign/get_campaign_by_name`, {\r\n params: {\r\n campaign_name: campaignName\r\n }\r\n });\r\n }\r\n /**\r\n * This method pauses an active (RUNNING) campaign. You can restarted by calling resumeCampaign, as long as the\r\n * campaign's end date is in the future..\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n */\r\n pauseCampaign(campaignId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/pause`);\r\n }\r\n /**\r\n * This method resumes a paused campaign, as long as it's end date is in the future.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n */\r\n resumeCampaign(campaignId) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/resume`);\r\n }\r\n /**\r\n * This method replaces the name and the start and end dates of a campaign.\r\n *\r\n * @param campaignId A unique eBay-assigned ID for an ad campaign that's generated when a campaign is created. Get\r\n * a seller's campaign IDs by calling getCampaigns.\r\n * @param body This type defines the fields to updated the campaign name and start and end dates.\r\n */\r\n updateCampaignIdentification(campaignId, body) {\r\n campaignId = encodeURIComponent(campaignId);\r\n return this.post(`/ad_campaign/${campaignId}/update_campaign_identification`, body);\r\n }\r\n /**\r\n * This call downloads the report as specified by the report_id path parameter.\r\n *\r\n * @param reportId The unique ID of the Promoted Listings report you want to get. This ID is generated by eBay when\r\n * you run a report task with a call to createReportTask.\r\n */\r\n getReport(reportId) {\r\n reportId = encodeURIComponent(reportId);\r\n return this.get(`/ad_report/${reportId}`);\r\n }\r\n /**\r\n * This call retrieves information that details the fields used in each of the Promoted Listings reports.\r\n */\r\n getReportMetadata() {\r\n return this.get(`/ad_report_metadata`);\r\n }\r\n /**\r\n * This call retrieves metadata that details the fields used by the Promoted Listings report type that's specified\r\n * by the report_type path parameter.\r\n *\r\n * @param reportType The name of the report type whose metadata you want to get.\r\n */\r\n getReportMetadataForReportType(reportType) {\r\n reportType = encodeURIComponent(reportType);\r\n return this.get(`/ad_report_metadata/${reportType}`);\r\n }\r\n /**\r\n * This method returns information on all the existing report tasks related to a seller.\r\n *\r\n * @param limit Specifies the maximum number of report tasks to return on a page in the paginated response.\r\n * Default: 10 Maximum: 500\r\n * @param offset Specifies the number of report tasks to skip in the result set before returning the first report\r\n * in the paginated response.\r\n * @param reportTaskStatuses This parameter filters the returned report tasks by their status. Supply a\r\n * comma-separated list of the report statuses you want returned.\r\n */\r\n getReportTasks({ limit, offset, reportTaskStatuses } = {}) {\r\n return this.get(`/ad_report_task`, {\r\n params: {\r\n limit,\r\n offset,\r\n report_task_statuses: reportTaskStatuses\r\n }\r\n });\r\n }\r\n /**\r\n * This call returns the details of a specific Promoted Listings report task, as specified by the report_task_id\r\n * path parameter. T\r\n *\r\n * @param reportTaskId A unique eBay-assigned ID for the report task that's generated when the report task is\r\n * created by a call to createReportTask.\r\n */\r\n getReportTask(reportTaskId) {\r\n reportTaskId = encodeURIComponent(reportTaskId);\r\n return this.get(`/ad_report_task/${reportTaskId}`);\r\n }\r\n /**\r\n * This method creates a report task, which generates a Promoted Listings report based on the values specified in\r\n * the call.\r\n *\r\n * @param body The container for the fields that define the report task.\r\n */\r\n createReportTask(body) {\r\n return this.post(`/ad_report_task`, body);\r\n }\r\n /**\r\n * This call deletes the report task specified by the report_task_id path parameter.\r\n *\r\n * @param reportTaskId A unique eBay-assigned ID for the report task that's generated when the report task is\r\n * created by a call to createReportTask.\r\n */\r\n deleteReportTask(reportTaskId) {\r\n reportTaskId = encodeURIComponent(reportTaskId);\r\n return this.delete(`/ad_report_task/${reportTaskId}`);\r\n }\r\n /**\r\n * This method creates an item price markdown promotion (know simply as a &quot;markdown promotion&quot;) where a\r\n * discount amount is applied directly to the items included the promotion.\r\n *\r\n * @param body This type defines the fields that describe an item price markdown promotion.\r\n */\r\n createItemPriceMarkdownPromotion(body) {\r\n return this.post(`/item_price_markdown`, body);\r\n }\r\n /**\r\n * This method updates the specified item price markdown promotion with the new configuration that you supply in\r\n * the payload of the request.\r\n *\r\n * @param promotionId The ID of the promotion you want to update.\r\n * @param body This type defines the fields that describe an item price markdown promotion.\r\n */\r\n updateItemPriceMarkdownPromotion(promotionId, body) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.put(`/item_price_markdown/${promotionId}`, body);\r\n }\r\n /**\r\n * This method deletes the item price markdown promotion specified by the promotion_id path parameter.\r\n *\r\n * @param promotionId The ID of the promotion you want to delete.\r\n */\r\n deleteItemPriceMarkdownPromotion(promotionId) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.delete(`/item_price_markdown/${promotionId}`);\r\n }\r\n /**\r\n * This method returns the complete details of the item price markdown promotion that's indicated by the\r\n * promotion_id path parameter.\r\n *\r\n * @param promotionId The ID of the promotion you want to retrieve.\r\n */\r\n getItemPriceMarkdownPromotion(promotionId) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.get(`/item_price_markdown/${promotionId}`);\r\n }\r\n /**\r\n * This method creates an item promotion (known casually as a &quot;threshold promotion&quot;) where the buyer\r\n * receives a discount when they meet the buying criteria that's set for the promotion.\r\n *\r\n * @param body This type defines the fields that describe an item promotion.\r\n */\r\n createItemPromotion(body) {\r\n return this.post(`/item_promotion`, body);\r\n }\r\n /**\r\n * This method updates the specified threshold promotion with the new configuration that you supply in the request.\r\n *\r\n * @param promotionId The ID of the promotion you want to retrieve. The promotion ID is a unique eBay-assigned\r\n * value that's generated when the promotion is created.\r\n * @param body type defines the fields that describe an item promotion.\r\n */\r\n updateItemPromotion(promotionId, body) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.put(`/item_promotion/${promotionId}`, body);\r\n }\r\n /**\r\n * This method deletes the threshold promotion specified by the promotion_id path parameter.\r\n *\r\n * @param promotionId The ID of the promotion you want to retrieve. The promotion ID is a unique eBay-assigned\r\n * value that's generated when the promotion is created.\r\n */\r\n deleteItemPromotion(promotionId) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.delete(`/item_promotion/${promotionId}`);\r\n }\r\n /**\r\n * This method returns the complete details of the threshold promotion specified by the promotion_id path\r\n * parameter.\r\n *\r\n * @param promotionId The ID of the promotion you want to retrieve. The promotion ID is a unique eBay-assigned\r\n * value that's generated when the promotion is created.\r\n */\r\n getItemPromotion(promotionId) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.get(`/item_promotion/${promotionId}`);\r\n }\r\n /**\r\n * This method returns the set of listings associated with the promotion_id specified in the path parameter.\r\n *\r\n * @param promotionId The ID of the promotion whose associated listings you want to retrieve.\r\n * @param limit Specifies the maximum number of promotions returned on a page from the result set. Default: 200\r\n * Maximum: 200\r\n * @param offset Specifies the number of promotions to skip in the result set before returning the first promotion\r\n * in the paginated response.\r\n * @param q Reserved for future use.\r\n * @param sort Specifies the order in which to sort the associated listings in the response.\r\n * @param status This query parameter applies only to markdown promotions.\r\n */\r\n getListingSet(promotionId, { limit, offset, q, sort, status } = {}) {\r\n promotionId = encodeURIComponent(promotionId);\r\n return this.get(`/promotion/${promotionId}/get_listing_set`, {\r\n params: {\r\n limit,\r\n offset,\r\n q,\r\n sort,\r\n status\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns a list of a seller's undeleted promotions.\r\n *\r\n * @param marketplaceId The eBay marketplace ID of the site where the promotion is hosted.\r\n * @param limit Specifies the maximum number of promotions returned on a page from the result set. Default: 200\r\n * Maximum: 200\r\n * @param offset Specifies the number of promotions to skip in the result set before returning the first promotion\r\n * in the paginated response.\r\n * @param promotionStatus Specifies the promotion state by which you want to filter the results.\r\n * @param promotionType Filters the returned promotions based on the their campaign promotion type.\r\n * @param q A string consisting of one or more keywords.\r\n * @param sort Specifies the order for how to sort the response.\r\n */\r\n getPromotions(marketplaceId, { limit, offset, promotionStatus, promotionType, q, sort } = {}) {\r\n return this.get(`/promotion`, {\r\n params: {\r\n marketplace_id: marketplaceId,\r\n limit,\r\n offset,\r\n promotion_status: promotionStatus,\r\n promotion_type: promotionType,\r\n q,\r\n sort\r\n }\r\n });\r\n }\r\n /**\r\n * This method pauses a currently-active (RUNNING) threshold promotion and changes the state of the promotion from\r\n * RUNNING to PAUSED.\r\n *\r\n * @param promotionId Identifier of the promotion you want to pause.\r\n */\r\n pausePromotion(promotionId) {\r\n const id = encodeURIComponent(promotionId);\r\n return this.post(`/promotion/${id}/pause`);\r\n }\r\n /**\r\n * This method restarts a threshold promotion that was previously paused and changes the state of the promotion\r\n * from PAUSED to RUNNING.\r\n *\r\n * @param promotionId Identifier of the promotion you want to make active. The ID is a unique eBay-assigned value\r\n * that's generated when the promotion is created.\r\n */\r\n resumePromotion(promotionId) {\r\n const id = encodeURIComponent(promotionId);\r\n return this.post(`/promotion/${id}/resume`);\r\n }\r\n /**\r\n * This method generates a report that lists the seller's running, paused, and ended promotions for the specified\r\n * eBay marketplace.\r\n *\r\n * @param marketplaceId The eBay marketplace ID of the siteId for which you want the promotions report.\r\n * @param limit Specifies the maximum number of promotions returned on a page from the result set. Default: 200\r\n * Maximum: 200\r\n * @param offset Specifies the number of promotions to skip in the result set before returning the first promotion\r\n * in the paginated response.\r\n * @param promotionStatus Limits the results to the promotions that are in the state specified by this query\r\n * parameter.\r\n * @param promotionType Filters the returned promotions in the report based on the their campaign promotion type.\r\n * @param q A string consisting of one or more keywords. eBay filters the response by returning only the promotions\r\n * that contain the supplied keywords in the promotion title.\r\n */\r\n getPromotionReports(marketplaceId, { limit, offset, promotionStatus, promotionType, q } = {}) {\r\n return this.get(`/promotion_report`, {\r\n params: {\r\n marketplace_id: marketplaceId,\r\n limit,\r\n offset,\r\n promotion_status: promotionStatus,\r\n promotion_type: promotionType,\r\n q\r\n }\r\n });\r\n }\r\n /**\r\n * This method generates a report that summarizes the seller's promotions for the specified eBay marketplace.\r\n *\r\n * @param marketplaceId The eBay marketplace ID of the siteId you for which you want a promotion summary report.\r\n */\r\n getPromotionSummaryReport(marketplaceId) {\r\n return this.get(`/promotion_summary_report`, {\r\n params: {\r\n marketplace_id: marketplaceId\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Marketing;\r\nMarketing.id = 'Marketing';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The Metadata API has operations that retrieve configuration details pertaining to the different eBay marketplaces.\r\n */\r\nclass Metadata extends __1.default {\r\n get basePath() {\r\n return '/sell/metadata/v1';\r\n }\r\n /**\r\n * This method retrieves all the sales tax jurisdictions for the country that you specify in the countryCode path\r\n * parameter.\r\n *\r\n * @param countryCode This path parameter specifies the two-letter ISO 3166-1 Alpha-2 country code for the country\r\n * whose jurisdictions you want to retrieve.\r\n */\r\n getSalesTaxJurisdictions(countryCode) {\r\n countryCode = encodeURIComponent(countryCode);\r\n return this.get(`/country/${countryCode}/sales_tax_jurisdiction`);\r\n }\r\n /**\r\n * This method returns the eBay policies that define how to list automotive-parts-compatibility items in the\r\n * categories of a specific marketplace.\r\n *\r\n * @param marketplaceId This path parameter specifies the eBay marketplace for which policy information is\r\n * retrieved.\r\n * @param filter This query parameter limits the response by returning eBay policy information for only the leaf\r\n * categories specified by this parameter.\r\n */\r\n getAutomotivePartsCompatibilityPolicies(marketplaceId, filter) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n return this.get(`/marketplace/${marketplaceId}/get_automotive_parts_compatibility_policies`, {\r\n params: {\r\n filter\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns the eBay policies that define how to specify item conditions in the categories of a specific\r\n * marketplace.\r\n *\r\n * @param marketplaceId This path parameter specifies the eBay marketplace for which policy information is\r\n * retrieved.\r\n * @param filter This query parameter limits the response by returning eBay policy information for only the leaf\r\n * categories specified by this parameter.\r\n */\r\n getItemConditionPolicies(marketplaceId, filter) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n return this.get(`/marketplace/${marketplaceId}/get_item_condition_policies`, {\r\n params: {\r\n filter\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns the eBay policies that define the allowed listing structures for the categories of a\r\n * specific marketplace.\r\n *\r\n * @param marketplaceId This path parameter specifies the eBay marketplace for which policy information is\r\n * retrieved.\r\n * @param filter This query parameter limits the response by returning eBay policy information for only the leaf\r\n * categories specified by this parameter.\r\n */\r\n getListingStructurePolicies(marketplaceId, filter) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n return this.get(`/marketplace/${marketplaceId}/get_listing_structure_policies`, {\r\n params: {\r\n filter\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns the eBay policies that define the supported negotiated price features (like &quot;best\r\n * offer&quot;) for the categories of a specific marketplace.\r\n *\r\n * @param marketplaceId This path parameter specifies the eBay marketplace for which policy information is\r\n * retrieved.\r\n * @param filter This query parameter limits the response by returning eBay policy information for only the leaf\r\n * categories specified by this parameter.\r\n */\r\n getNegotiatedPricePolicies(marketplaceId, filter) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n return this.get(`/marketplace/${marketplaceId}/get_negotiated_price_policies`, {\r\n params: {\r\n filter\r\n }\r\n });\r\n }\r\n /**\r\n * This method retrieves a list of leaf categories for a marketplace and identifies the categories that require\r\n * items to have an eBay product ID value in order to be listed in those categories.\r\n *\r\n * @param marketplaceId This path parameter specifies the eBay marketplace for which policy information is\r\n * retrieved.\r\n * @param filter This query parameter limits the response by returning eBay policy information for only the leaf\r\n * categories specified by this parameter.\r\n */\r\n getProductAdoptionPolicies(marketplaceId, filter) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n return this.get(`/marketplace/${marketplaceId}/get_product_adoption_policies`, {\r\n params: {\r\n filter\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns the eBay policies that define whether or not you must include a return policy for the\r\n * items you list in the categories of a specific marketplace, plus the guidelines for creating domestic and\r\n * international return policies in the different eBay categories.\r\n *\r\n * @param marketplaceId This path parameter specifies the eBay marketplace for which policy information is\r\n * retrieved.\r\n * @param filter This query parameter limits the response by returning eBay policy information for only the leaf\r\n * categories specified by this parameter.\r\n */\r\n getReturnPolicies(marketplaceId, filter) {\r\n marketplaceId = encodeURIComponent(marketplaceId);\r\n return this.get(`/marketplace/${marketplaceId}/get_return_policies`, {\r\n params: {\r\n filter\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Metadata;\r\nMetadata.id = 'Metadata';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The <b>Recommendation API</b> returns information that sellers can use to optimize the configuration of their\r\n * listings on eBay.\r\n */\r\nclass Recommendation extends __1.default {\r\n get basePath() {\r\n return '/sell/recommendation/v1';\r\n }\r\n /**\r\n * The find method returns recommendations and information that sellers can use to optimize their listing\r\n * configurations.\r\n *\r\n * @param filter Provide a list of key-value pairs to specify the criteria you want to use to filter the response.\r\n * @param limit Use this query parameter to set the maximum number of ads to return on a page from the paginated\r\n * response. Default: 10 Maximum: 500\r\n * @param offset Specifies the number of ads to skip in the result set before returning the first ad in the\r\n * paginated response.\r\n * @param body FindListingRecommendationRequest\r\n */\r\n findListingRecommendations({ filter, limit, offset } = {}, body) {\r\n return this.post(`/find`, {\r\n data: body,\r\n params: {\r\n filter,\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n}\r\nexports.default = Recommendation;\r\nRecommendation.id = 'Recommendation';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\nconst request_1 = require(\"../../../../request\");\r\n/**\r\n * The <strong>Feed API</strong> lets sellers upload input files, download reports and files including their status, filter reports using URI parameters, and retrieve customer service metrics task details.\r\n */\r\nclass Feed extends __1.default {\r\n get basePath() {\r\n return '/sell/feed/v1';\r\n }\r\n /**\r\n * This method returns the details and status for an array of order tasks based on a specified feed_type or scheduled_id.\r\n *\r\n * @param dateRange The order tasks creation date range.\r\n * @param feedType The feed type associated with the task.\r\n * @param limit The maximum number of order tasks that can be returned on each page of the paginated response.\r\n * @param lookBackDays The number of previous days in which to search for tasks. Do not use with the date_range parameter.\r\n * @param offset The number of order tasks to skip in the result set before returning the first order in the paginated response.\r\n * @param scheduleId The schedule ID associated with the order task.\r\n */\r\n getOrderTasks({ dateRange, feedType, limit, lookBackDays, offset, scheduleId } = {}) {\r\n return this.get(`/order_task`, {\r\n params: {\r\n date_range: dateRange,\r\n feed_type: feedType,\r\n limit,\r\n look_back_days: lookBackDays,\r\n offset,\r\n schedule_id: scheduleId\r\n }\r\n });\r\n }\r\n /**\r\n * This method creates an order download task with filter criteria for the order report.\r\n *\r\n * @param data The CreateOrderTaskRequest\r\n */\r\n createOrderTask(data) {\r\n return this.post(`/order_task`, data);\r\n }\r\n /**\r\n * This method retrieves the task details and status of the specified task.\r\n *\r\n * @param taskId The ID of the task. This ID is generated when the task was created by the createOrderTask method.\r\n */\r\n getOrderTask(taskId) {\r\n taskId = encodeURIComponent(taskId);\r\n return this.get(`/order_task/${taskId}`);\r\n }\r\n /**\r\n * This method retrieves an array containing the details and status of all schedules based on the specified feed_type.\r\n *\r\n * @param feedType The feedType associated with the schedule.\r\n * @param limit The maximum number of schedules that can be returned on each page of the paginated response.\r\n * @param offset The number of schedules to skip in the result set before returning the first schedule in the paginated response.\r\n */\r\n getSchedules({ feedType, limit, offset, } = {}) {\r\n return this.get(`/schedule`, {\r\n params: {\r\n feed_type: feedType,\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method creates a schedule, which is a subscription to the specified schedule template.\r\n *\r\n * @params data The CreateUserScheduleRequest\r\n */\r\n createSchedule(data) {\r\n return this.post(`/schedule`, data);\r\n }\r\n /**\r\n * This method retrieves schedule details and status of the specified schedule.\r\n *\r\n * @param scheduleId The ID of the schedule for which to retrieve the details.\r\n */\r\n getSchedule(scheduleId) {\r\n scheduleId = encodeURIComponent(scheduleId);\r\n return this.get(`/schedule/${scheduleId}`);\r\n }\r\n /**\r\n * This method updates an existing schedule.\r\n *\r\n * @param scheduleId The ID of the schedule to update.\r\n * @param data The UpdateUserScheduleRequest.\r\n */\r\n updateSchedule(scheduleId, data) {\r\n scheduleId = encodeURIComponent(scheduleId);\r\n return this.put(`/schedule/${scheduleId}`, data);\r\n }\r\n /**\r\n * This method deletes an existing schedule.\r\n *\r\n * @param scheduleId The schedule_id of the schedule to delete.\r\n */\r\n deleteSchedule(scheduleId) {\r\n scheduleId = encodeURIComponent(scheduleId);\r\n return this.delete(`/schedule/${scheduleId}`);\r\n }\r\n /**\r\n * This method downloads the latest result file generated by the schedule.\r\n *\r\n * @param scheduleId The ID of the schedule for which to retrieve the latest result file.\r\n */\r\n getLatestResultFile(scheduleId) {\r\n scheduleId = encodeURIComponent(scheduleId);\r\n return this.get(`/schedule/${scheduleId}/download_result_file`);\r\n }\r\n /**\r\n * This method downloads the latest result file generated by the schedule.\r\n *\r\n * @param scheduleTemplateId The ID of the template to retrieve.\r\n */\r\n getScheduleTemplate(scheduleTemplateId) {\r\n scheduleTemplateId = encodeURIComponent(scheduleTemplateId);\r\n return this.get(`/schedule_template/${scheduleTemplateId}`);\r\n }\r\n /**\r\n * This method retrieves an array containing the details and status of all schedule templates based on the specified feed_type.\r\n *\r\n * @param feedType The feedType associated with the schedule.\r\n * @param limit The maximum number of schedules that can be returned on each page of the paginated response.\r\n * @param offset The number of schedules to skip in the result set before returning the first schedule in the paginated response.\r\n */\r\n getScheduleTemplates({ feedType, limit, offset, } = {}) {\r\n return this.get(`/schedule_template`, {\r\n params: {\r\n feed_type: feedType,\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method returns the details and status for an array of tasks based on a specified feed_type or scheduledId.\r\n *\r\n * @param dateRange The order tasks creation date range.\r\n * @param feedType The feed type associated with the task.\r\n * @param limit The maximum number of order tasks that can be returned on each page of the paginated response.\r\n * @param lookBackDays The number of previous days in which to search for tasks. Do not use with the date_range parameter.\r\n * @param offset The number of order tasks to skip in the result set before returning the first order in the paginated response.\r\n * @param scheduleId The schedule ID associated with the task.\r\n */\r\n getTasks({ dateRange, feedType, limit, lookBackDays, offset, scheduleId } = {}) {\r\n return this.get(`/task`, {\r\n params: {\r\n date_range: dateRange,\r\n feed_type: feedType,\r\n limit,\r\n look_back_days: lookBackDays,\r\n offset,\r\n schedule_id: scheduleId\r\n }\r\n });\r\n }\r\n /**\r\n * This method creates an upload task or a download task without filter criteria.\r\n *\r\n * @param data The CreateTaskRequest.\r\n */\r\n createTask(data) {\r\n return this.post(`/task`, data);\r\n }\r\n /**\r\n * This method downloads the file previously uploaded using uploadFile.\r\n *\r\n * @param taskId The task ID associated with the file to be downloaded.\r\n */\r\n getInputFile(taskId) {\r\n taskId = encodeURIComponent(taskId);\r\n return this.get(`/task/${taskId}/download_input_file`);\r\n }\r\n /**\r\n * This method retrieves the generated file that is associated with the specified task ID.\r\n *\r\n * @param taskId The task ID associated with the file to be downloaded.\r\n */\r\n getResultFile(taskId) {\r\n taskId = encodeURIComponent(taskId);\r\n return this.get(`/task/${taskId}/download_result_file`);\r\n }\r\n /**\r\n * This method retrieves the details and status of the specified task.\r\n *\r\n * @param taskId The ID of the task.\r\n */\r\n getTask(taskId) {\r\n taskId = encodeURIComponent(taskId);\r\n return this.get(`/task/${taskId}`);\r\n }\r\n /**\r\n * This method associates the specified file with the specified task ID and uploads the input file.\r\n *\r\n * @param taskId The task_id associated with the file that will be uploaded.\r\n * @param data FormDataContentDisposition.\r\n */\r\n uploadFile(taskId, data) {\r\n taskId = encodeURIComponent(taskId);\r\n return this.post(`/task/${taskId}/upload_file`, data, {\r\n headers: request_1.multipartHeader,\r\n });\r\n }\r\n /**\r\n * Use this method to return an array of customer service metric tasks.\r\n *\r\n * @param dateRange The order tasks creation date range.\r\n * @param feedType The feed type associated with the task.\r\n * @param limit The maximum number of order tasks that can be returned on each page of the paginated response.\r\n * @param lookBackDays The number of previous days in which to search for tasks. Do not use with the date_range parameter.\r\n * @param offset The number of order tasks to skip in the result set before returning the first order in the paginated response.\r\n * @param scheduleId The schedule ID associated with the task.\r\n */\r\n getCustomerServiceMetricTasks({ dateRange, feedType, limit, lookBackDays, offset, } = {}) {\r\n return this.get(`/customer_service_metric_task`, {\r\n params: {\r\n date_range: dateRange,\r\n feed_type: feedType,\r\n limit,\r\n look_back_days: lookBackDays,\r\n offset,\r\n }\r\n });\r\n }\r\n /**\r\n * Use this method to create a customer service metrics download task with filter criteria for the customer service metrics report.\r\n *\r\n * @params acceptLanguage Use this header to specify the natural language in which the authenticated user desires the response.\r\n * @params data The CreateServiceMetricsTaskRequest\r\n */\r\n createCustomerServiceMetricTask(acceptLanguage, data) {\r\n return this.post(`/customer_service_metric_task`, data, {\r\n headers: {\r\n 'accept-language': acceptLanguage\r\n }\r\n });\r\n }\r\n /**\r\n * Use this method to retrieve customer service metric task details for the specified task.\r\n *\r\n * @param taskId Use this path parameter to specify the task ID value for the customer service metric task to retrieve.\r\n */\r\n getCustomerServiceMetricTask(taskId) {\r\n taskId = encodeURIComponent(taskId);\r\n return this.get(`/customer_service_metric_task/${taskId}`);\r\n }\r\n}\r\nexports.default = Feed;\r\nFeed.id = 'Feed';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The <b>Logistics API</b> resources offer the following capabilities: <ul><li><b>shipping_quote</b> &ndash; Consolidates into a list a set of live shipping rates, or quotes, from which you can select a rate to ship a package.\r\n */\r\nclass Logistics extends __1.default {\r\n get basePath() {\r\n return '/sell/logistics/v1_beta';\r\n }\r\n /**\r\n * The createShippingQuote method returns a shipping quote that contains a list of live &quot;rates.&quot;\r\n *\r\n * @param data The ShippingQuoteRequest\r\n */\r\n createShippingQuote(data) {\r\n return this.post(`/shipping_quote`, data);\r\n }\r\n /**\r\n * This method retrieves the complete details of the shipping quote associated with the specified shippingQuoteId value.\r\n *\r\n * @param shippingQuoteId This path parameter specifies the unique eBay-assigned ID of the shipping quote you want to retrieve.\r\n */\r\n getShippingQuote(shippingQuoteId) {\r\n shippingQuoteId = encodeURIComponent(shippingQuoteId);\r\n return this.get(`/shipping_quote/${shippingQuoteId}`);\r\n }\r\n /**\r\n * This method creates a &quot;shipment&quot; based on the shippingQuoteId and rateId values supplied in the request.\r\n *\r\n * @param data The CreateShipmentFromQuoteRequest\r\n */\r\n createFromShippingQuote(data) {\r\n return this.post(`/shipment/create_from_shipping_quote`, data);\r\n }\r\n /**\r\n * This method retrieves the shipment details for the specified shipment ID.\r\n *\r\n * @param shipmentId This path parameter specifies the unique eBay-assigned ID of the shipment you want to retrieve.\r\n */\r\n getShipment(shipmentId) {\r\n return this.get(`/shipment/${shipmentId}`);\r\n }\r\n /**\r\n * This method returns the shipping label file that was generated for the shipmentId value specified in the request.\r\n *\r\n * @param shipmentId This path parameter specifies the unique eBay-assigned ID of the shipment associated with the shipping label you want to download.\r\n */\r\n downloadLabelFile(shipmentId) {\r\n return this.get(`/shipment/${shipmentId}/download_label_file`);\r\n }\r\n /**\r\n * This method cancels the shipment associated with the specified shipment ID and the associated shipping label is deleted.\r\n *\r\n * @param shipmentId This path parameter specifies the unique eBay-assigned ID of the shipment to be canceled.\r\n */\r\n cancelShipment(shipmentId) {\r\n return this.post(`/shipment/${shipmentId}/cancel`);\r\n }\r\n}\r\nexports.default = Logistics;\r\nLogistics.id = 'Logistics';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * The <b>Negotiations API</b> gives sellers the ability to proactively send discount offers to buyers who have shown an \"interest\" in their listings.\r\n */\r\nclass Negotiation extends __1.default {\r\n get basePath() {\r\n return '/sell/negotiation/v1';\r\n }\r\n /**\r\n * This method evaluates a seller's current listings and returns the set of IDs that are eligible for a seller-initiated discount offer to a buyer.\r\n *\r\n * @param limit This query parameter specifies the maximum number of items to return from the result set on a page in the paginated response.\r\n * @param offset This query parameter specifies the number of results to skip in the result set before returning the first result in the paginated response.\r\n */\r\n findEligibleItems({ limit, offset } = {}) {\r\n return this.get(`/find_eligible_items`, {\r\n params: {\r\n limit,\r\n offset\r\n }\r\n });\r\n }\r\n /**\r\n * This method sends eligible buyers offers to purchase items in a listing at a discount.\r\n *\r\n * @param data The CreateOffersRequest\r\n */\r\n sendOfferToInterestedBuyers(data) {\r\n return this.post(`/send_offer_to_interested_buyers`, data);\r\n }\r\n}\r\nexports.default = Negotiation;\r\nNegotiation.id = 'Negotiation';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst __1 = __importDefault(require(\"../../\"));\r\n/**\r\n * Enables a seller adding an ad or item on a Partner's site to automatically create an eBay listing draft using the item details from the Partner's site.\r\n */\r\nclass Listing extends __1.default {\r\n get basePath() {\r\n return '/sell/listing/v1_beta';\r\n }\r\n /**\r\n * This call gives Partners the ability to create an eBay draft of a item for their seller using information from their site.\r\n *\r\n * @param data The ItemDraft\r\n */\r\n createItemDraft(data) {\r\n return this.post(`/item_draft/`, data);\r\n }\r\n}\r\nexports.default = Listing;\r\nListing.id = 'Listing';\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Listing = exports.Negotiation = exports.Logistics = exports.Feed = exports.Finances = exports.Recommendation = exports.Metadata = exports.Marketing = exports.Inventory = exports.Fulfillment = exports.Analytics = exports.Compliance = exports.Account = void 0;\r\nconst account_1 = __importDefault(require(\"./account\"));\r\nexports.Account = account_1.default;\r\nconst analytics_1 = __importDefault(require(\"./analytics\"));\r\nexports.Analytics = analytics_1.default;\r\nconst compliance_1 = __importDefault(require(\"./compliance\"));\r\nexports.Compliance = compliance_1.default;\r\nconst finances_1 = __importDefault(require(\"./finances\"));\r\nexports.Finances = finances_1.default;\r\nconst fulfillment_1 = __importDefault(require(\"./fulfillment\"));\r\nexports.Fulfillment = fulfillment_1.default;\r\nconst inventory_1 = __importDefault(require(\"./inventory\"));\r\nexports.Inventory = inventory_1.default;\r\nconst marketing_1 = __importDefault(require(\"./marketing\"));\r\nexports.Marketing = marketing_1.default;\r\nconst metadata_1 = __importDefault(require(\"./metadata\"));\r\nexports.Metadata = metadata_1.default;\r\nconst recommendation_1 = __importDefault(require(\"./recommendation\"));\r\nexports.Recommendation = recommendation_1.default;\r\nconst feed_1 = __importDefault(require(\"./feed\"));\r\nexports.Feed = feed_1.default;\r\nconst logistics_1 = __importDefault(require(\"./logistics\"));\r\nexports.Logistics = logistics_1.default;\r\nconst negotiation_1 = __importDefault(require(\"./negotiation\"));\r\nexports.Negotiation = negotiation_1.default;\r\nconst listing_1 = __importDefault(require(\"./listing\"));\r\nexports.Listing = listing_1.default;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.EventType = void 0;\r\nvar EventType;\r\n(function (EventType) {\r\n EventType[\"AskSellerQuestion\"] = \"AskSellerQuestion\";\r\n EventType[\"BestOffer\"] = \"BestOffer\";\r\n EventType[\"BestOfferDeclined\"] = \"BestOfferDeclined\";\r\n EventType[\"BestOfferPlaced\"] = \"BestOfferPlaced\";\r\n EventType[\"BidPlaced\"] = \"BidPlaced\";\r\n EventType[\"BidReceived\"] = \"BidReceived\";\r\n EventType[\"CounterOfferReceived\"] = \"CounterOfferReceived\";\r\n EventType[\"CustomCode\"] = \"CustomCode\";\r\n EventType[\"EndOfAuction\"] = \"EndOfAuction\";\r\n EventType[\"FeedbackLeft\"] = \"FeedbackLeft\";\r\n EventType[\"FeedbackReceived\"] = \"FeedbackReceived\";\r\n EventType[\"FeedbackStarChanged\"] = \"FeedbackStarChanged\";\r\n EventType[\"FixedPriceEndOfTransaction\"] = \"FixedPriceEndOfTransaction\";\r\n EventType[\"FixedPriceTransaction\"] = \"FixedPriceTransaction\";\r\n EventType[\"ItemAddedToWatchList\"] = \"ItemAddedToWatchList\";\r\n EventType[\"ItemEnded\"] = \"ItemEnded\";\r\n EventType[\"ItemListed\"] = \"ItemListed\";\r\n EventType[\"ItemLost\"] = \"ItemLost\";\r\n EventType[\"ItemMarkedPaid\"] = \"ItemMarkedPaid\";\r\n EventType[\"ItemMarkedShipped\"] = \"ItemMarkedShipped\";\r\n EventType[\"ItemRemovedFromWatchList\"] = \"ItemRemovedFromWatchList\";\r\n EventType[\"ItemSold\"] = \"ItemSold\";\r\n EventType[\"ItemUnsold\"] = \"ItemUnsold\";\r\n EventType[\"ItemWon\"] = \"ItemWon\";\r\n EventType[\"OutBid\"] = \"OutBid\";\r\n EventType[\"PriceChange\"] = \"PriceChange\";\r\n EventType[\"SecondChanceOffer\"] = \"SecondChanceOffer\";\r\n EventType[\"WatchedItemEndingSoon\"] = \"WatchedItemEndingSoon\";\r\n})(EventType || (EventType = {}));\r\nexports.EventType = EventType;\r\n//# sourceMappingURL=types.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.EventType = void 0;\r\nconst types_1 = require(\"./types\");\r\nObject.defineProperty(exports, \"EventType\", { enumerable: true, get: function () { return types_1.EventType; } });\r\n// https://developer.ebay.com/devzone/client-alerts/docs/CallRef/index.html\r\nvar calls;\r\n(function (calls) {\r\n calls[calls[\"GetPublicAlerts\"] = 0] = \"GetPublicAlerts\";\r\n calls[calls[\"GetUserAlerts\"] = 1] = \"GetUserAlerts\";\r\n calls[calls[\"Login\"] = 2] = \"Login\";\r\n calls[calls[\"Logout\"] = 3] = \"Logout\";\r\n})(calls || (calls = {}));\r\nexports.default = calls;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar calls;\r\n(function (calls) {\r\n calls[calls[\"findCompletedItems\"] = 0] = \"findCompletedItems\";\r\n calls[calls[\"findItemsAdvanced\"] = 1] = \"findItemsAdvanced\";\r\n calls[calls[\"findItemsByCategory\"] = 2] = \"findItemsByCategory\";\r\n calls[calls[\"findItemsByKeywords\"] = 3] = \"findItemsByKeywords\";\r\n calls[calls[\"findItemsByProduct\"] = 4] = \"findItemsByProduct\";\r\n calls[calls[\"findItemsIneBayStores\"] = 5] = \"findItemsIneBayStores\";\r\n calls[calls[\"getHistograms\"] = 6] = \"getHistograms\";\r\n calls[calls[\"getSearchKeywordsRecommendation\"] = 7] = \"getSearchKeywordsRecommendation\";\r\n calls[calls[\"getVersion\"] = 8] = \"getVersion\";\r\n})(calls || (calls = {}));\r\nexports.default = calls;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar calls;\r\n(function (calls) {\r\n calls[calls[\"getMostWatchedItems\"] = 0] = \"getMostWatchedItems\";\r\n calls[calls[\"getRelatedCategoryItems\"] = 1] = \"getRelatedCategoryItems\";\r\n calls[calls[\"getSimilarItems\"] = 2] = \"getSimilarItems\";\r\n calls[calls[\"getVersion\"] = 3] = \"getVersion\";\r\n})(calls || (calls = {}));\r\nexports.default = calls;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n// https://developer.ebay.com/devzone/shopping/docs/callref/index.html\r\nvar calls;\r\n(function (calls) {\r\n calls[calls[\"FindProducts\"] = 0] = \"FindProducts\";\r\n calls[calls[\"GetCategoryInfo\"] = 1] = \"GetCategoryInfo\";\r\n calls[calls[\"GeteBayTime\"] = 2] = \"GeteBayTime\";\r\n calls[calls[\"GetItemStatus\"] = 3] = \"GetItemStatus\";\r\n calls[calls[\"GetMultipleItems\"] = 4] = \"GetMultipleItems\";\r\n calls[calls[\"GetShippingCosts\"] = 5] = \"GetShippingCosts\";\r\n calls[calls[\"GetSingleItem\"] = 6] = \"GetSingleItem\";\r\n calls[calls[\"GetUserProfile\"] = 7] = \"GetUserProfile\";\r\n})(calls || (calls = {}));\r\nexports.default = calls;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar calls;\r\n(function (calls) {\r\n calls[calls[\"AddDispute\"] = 0] = \"AddDispute\";\r\n calls[calls[\"AddDisputeResponse\"] = 1] = \"AddDisputeResponse\";\r\n calls[calls[\"AddFixedPriceItem\"] = 2] = \"AddFixedPriceItem\";\r\n calls[calls[\"AddItem\"] = 3] = \"AddItem\";\r\n calls[calls[\"AddItemFromSellingManagerTemplate\"] = 4] = \"AddItemFromSellingManagerTemplate\";\r\n calls[calls[\"AddItems\"] = 5] = \"AddItems\";\r\n calls[calls[\"AddMemberMessageAAQToPartner\"] = 6] = \"AddMemberMessageAAQToPartner\";\r\n calls[calls[\"AddMemberMessageRTQ\"] = 7] = \"AddMemberMessageRTQ\";\r\n calls[calls[\"AddMemberMessagesAAQToBidder\"] = 8] = \"AddMemberMessagesAAQToBidder\";\r\n calls[calls[\"AddOrder\"] = 9] = \"AddOrder\";\r\n calls[calls[\"AddSecondChanceItem\"] = 10] = \"AddSecondChanceItem\";\r\n calls[calls[\"AddSellingManagerInventoryFolder\"] = 11] = \"AddSellingManagerInventoryFolder\";\r\n calls[calls[\"AddSellingManagerProduct\"] = 12] = \"AddSellingManagerProduct\";\r\n calls[calls[\"AddSellingManagerTemplate\"] = 13] = \"AddSellingManagerTemplate\";\r\n calls[calls[\"AddToItemDescription\"] = 14] = \"AddToItemDescription\";\r\n calls[calls[\"AddToWatchList\"] = 15] = \"AddToWatchList\";\r\n calls[calls[\"AddTransactionConfirmationItem\"] = 16] = \"AddTransactionConfirmationItem\";\r\n calls[calls[\"CompleteSale\"] = 17] = \"CompleteSale\";\r\n calls[calls[\"ConfirmIdentity\"] = 18] = \"ConfirmIdentity\";\r\n calls[calls[\"DeleteMyMessages\"] = 19] = \"DeleteMyMessages\";\r\n calls[calls[\"DeleteSellingManagerInventoryFolder\"] = 20] = \"DeleteSellingManagerInventoryFolder\";\r\n calls[calls[\"DeleteSellingManagerItemAutomationRule\"] = 21] = \"DeleteSellingManagerItemAutomationRule\";\r\n calls[calls[\"DeleteSellingManagerProduct\"] = 22] = \"DeleteSellingManagerProduct\";\r\n calls[calls[\"DeleteSellingManagerTemplate\"] = 23] = \"DeleteSellingManagerTemplate\";\r\n calls[calls[\"DeleteSellingManagerTemplateAutomationRule\"] = 24] = \"DeleteSellingManagerTemplateAutomationRule\";\r\n calls[calls[\"DisableUnpaidItemAssistance\"] = 25] = \"DisableUnpaidItemAssistance\";\r\n calls[calls[\"EndFixedPriceItem\"] = 26] = \"EndFixedPriceItem\";\r\n calls[calls[\"EndItem\"] = 27] = \"EndItem\";\r\n calls[calls[\"EndItems\"] = 28] = \"EndItems\";\r\n calls[calls[\"ExtendSiteHostedPictures\"] = 29] = \"ExtendSiteHostedPictures\";\r\n calls[calls[\"FetchToken\"] = 30] = \"FetchToken\";\r\n calls[calls[\"GetAccount\"] = 31] = \"GetAccount\";\r\n calls[calls[\"GetAdFormatLeads\"] = 32] = \"GetAdFormatLeads\";\r\n calls[calls[\"GetAllBidders\"] = 33] = \"GetAllBidders\";\r\n calls[calls[\"GetApiAccessRules\"] = 34] = \"GetApiAccessRules\";\r\n calls[calls[\"GetBestOffers\"] = 35] = \"GetBestOffers\";\r\n calls[calls[\"GetBidderList\"] = 36] = \"GetBidderList\";\r\n calls[calls[\"GetCategories\"] = 37] = \"GetCategories\";\r\n calls[calls[\"GetCategoryFeatures\"] = 38] = \"GetCategoryFeatures\";\r\n calls[calls[\"GetCategoryMappings\"] = 39] = \"GetCategoryMappings\";\r\n calls[calls[\"GetCategorySpecifics\"] = 40] = \"GetCategorySpecifics\";\r\n calls[calls[\"GetChallengeToken\"] = 41] = \"GetChallengeToken\";\r\n calls[calls[\"GetCharities\"] = 42] = \"GetCharities\";\r\n calls[calls[\"GetClientAlertsAuthToken\"] = 43] = \"GetClientAlertsAuthToken\";\r\n calls[calls[\"GetContextualKeywords\"] = 44] = \"GetContextualKeywords\";\r\n calls[calls[\"GetDescriptionTemplates\"] = 45] = \"GetDescriptionTemplates\";\r\n calls[calls[\"GetDispute\"] = 46] = \"GetDispute\";\r\n calls[calls[\"GeteBayDetails\"] = 47] = \"GeteBayDetails\";\r\n calls[calls[\"GeteBayOfficialTime\"] = 48] = \"GeteBayOfficialTime\";\r\n calls[calls[\"GetFeedback\"] = 49] = \"GetFeedback\";\r\n calls[calls[\"GetItem\"] = 50] = \"GetItem\";\r\n calls[calls[\"GetItemsAwaitingFeedback\"] = 51] = \"GetItemsAwaitingFeedback\";\r\n calls[calls[\"GetItemShipping\"] = 52] = \"GetItemShipping\";\r\n calls[calls[\"GetItemTransactions\"] = 53] = \"GetItemTransactions\";\r\n calls[calls[\"GetMemberMessages\"] = 54] = \"GetMemberMessages\";\r\n calls[calls[\"GetMessagePreferences\"] = 55] = \"GetMessagePreferences\";\r\n calls[calls[\"GetMyeBayBuying\"] = 56] = \"GetMyeBayBuying\";\r\n calls[calls[\"GetMyeBayReminders\"] = 57] = \"GetMyeBayReminders\";\r\n calls[calls[\"GetMyeBaySelling\"] = 58] = \"GetMyeBaySelling\";\r\n calls[calls[\"GetMyMessages\"] = 59] = \"GetMyMessages\";\r\n calls[calls[\"GetNotificationPreferences\"] = 60] = \"GetNotificationPreferences\";\r\n calls[calls[\"GetNotificationsUsage\"] = 61] = \"GetNotificationsUsage\";\r\n calls[calls[\"GetOrders\"] = 62] = \"GetOrders\";\r\n calls[calls[\"GetOrderTransactions\"] = 63] = \"GetOrderTransactions\";\r\n calls[calls[\"GetPromotionalSaleDetails\"] = 64] = \"GetPromotionalSaleDetails\";\r\n calls[calls[\"GetSellerDashboard\"] = 65] = \"GetSellerDashboard\";\r\n calls[calls[\"GetSellerEvents\"] = 66] = \"GetSellerEvents\";\r\n calls[calls[\"GetSellerList\"] = 67] = \"GetSellerList\";\r\n calls[calls[\"GetSellerTransactions\"] = 68] = \"GetSellerTransactions\";\r\n calls[calls[\"GetSellingManagerAlerts\"] = 69] = \"GetSellingManagerAlerts\";\r\n calls[calls[\"GetSellingManagerEmailLog\"] = 70] = \"GetSellingManagerEmailLog\";\r\n calls[calls[\"GetSellingManagerInventory\"] = 71] = \"GetSellingManagerInventory\";\r\n calls[calls[\"GetSellingManagerInventoryFolder\"] = 72] = \"GetSellingManagerInventoryFolder\";\r\n calls[calls[\"GetSellingManagerItemAutomationRule\"] = 73] = \"GetSellingManagerItemAutomationRule\";\r\n calls[calls[\"GetSellingManagerSaleRecord\"] = 74] = \"GetSellingManagerSaleRecord\";\r\n calls[calls[\"GetSellingManagerSoldListings\"] = 75] = \"GetSellingManagerSoldListings\";\r\n calls[calls[\"GetSellingManagerTemplateAutomationRule\"] = 76] = \"GetSellingManagerTemplateAutomationRule\";\r\n calls[calls[\"GetSellingManagerTemplates\"] = 77] = \"GetSellingManagerTemplates\";\r\n calls[calls[\"GetSessionID\"] = 78] = \"GetSessionID\";\r\n calls[calls[\"GetShippingDiscountProfiles\"] = 79] = \"GetShippingDiscountProfiles\";\r\n calls[calls[\"GetStore\"] = 80] = \"GetStore\";\r\n calls[calls[\"GetStoreCategoryUpdateStatus\"] = 81] = \"GetStoreCategoryUpdateStatus\";\r\n calls[calls[\"GetStoreCustomPage\"] = 82] = \"GetStoreCustomPage\";\r\n calls[calls[\"GetStoreOptions\"] = 83] = \"GetStoreOptions\";\r\n calls[calls[\"GetStorePreferences\"] = 84] = \"GetStorePreferences\";\r\n calls[calls[\"GetSuggestedCategories\"] = 85] = \"GetSuggestedCategories\";\r\n calls[calls[\"GetTaxTable\"] = 86] = \"GetTaxTable\";\r\n calls[calls[\"GetTokenStatus\"] = 87] = \"GetTokenStatus\";\r\n calls[calls[\"GetUser\"] = 88] = \"GetUser\";\r\n calls[calls[\"GetUserContactDetails\"] = 89] = \"GetUserContactDetails\";\r\n calls[calls[\"GetUserDisputes\"] = 90] = \"GetUserDisputes\";\r\n calls[calls[\"GetUserPreferences\"] = 91] = \"GetUserPreferences\";\r\n calls[calls[\"GetVeROReasonCodeDetails\"] = 92] = \"GetVeROReasonCodeDetails\";\r\n calls[calls[\"GetVeROReportStatus\"] = 93] = \"GetVeROReportStatus\";\r\n calls[calls[\"LeaveFeedback\"] = 94] = \"LeaveFeedback\";\r\n calls[calls[\"MoveSellingManagerInventoryFolder\"] = 95] = \"MoveSellingManagerInventoryFolder\";\r\n calls[calls[\"PlaceOffer\"] = 96] = \"PlaceOffer\";\r\n calls[calls[\"RelistFixedPriceItem\"] = 97] = \"RelistFixedPriceItem\";\r\n calls[calls[\"RelistItem\"] = 98] = \"RelistItem\";\r\n calls[calls[\"RemoveFromWatchList\"] = 99] = \"RemoveFromWatchList\";\r\n calls[calls[\"RespondToBestOffer\"] = 100] = \"RespondToBestOffer\";\r\n calls[calls[\"RespondToFeedback\"] = 101] = \"RespondToFeedback\";\r\n calls[calls[\"ReviseCheckoutStatus\"] = 102] = \"ReviseCheckoutStatus\";\r\n calls[calls[\"ReviseFixedPriceItem\"] = 103] = \"ReviseFixedPriceItem\";\r\n calls[calls[\"ReviseInventoryStatus\"] = 104] = \"ReviseInventoryStatus\";\r\n calls[calls[\"ReviseItem\"] = 105] = \"ReviseItem\";\r\n calls[calls[\"ReviseMyMessages\"] = 106] = \"ReviseMyMessages\";\r\n calls[calls[\"ReviseMyMessagesFolders\"] = 107] = \"ReviseMyMessagesFolders\";\r\n calls[calls[\"ReviseSellingManagerInventoryFolder\"] = 108] = \"ReviseSellingManagerInventoryFolder\";\r\n calls[calls[\"ReviseSellingManagerProduct\"] = 109] = \"ReviseSellingManagerProduct\";\r\n calls[calls[\"ReviseSellingManagerSaleRecord\"] = 110] = \"ReviseSellingManagerSaleRecord\";\r\n calls[calls[\"ReviseSellingManagerTemplate\"] = 111] = \"ReviseSellingManagerTemplate\";\r\n calls[calls[\"RevokeToken\"] = 112] = \"RevokeToken\";\r\n calls[calls[\"SaveItemToSellingManagerTemplate\"] = 113] = \"SaveItemToSellingManagerTemplate\";\r\n calls[calls[\"SellerReverseDispute\"] = 114] = \"SellerReverseDispute\";\r\n calls[calls[\"SendInvoice\"] = 115] = \"SendInvoice\";\r\n calls[calls[\"SetMessagePreferences\"] = 116] = \"SetMessagePreferences\";\r\n calls[calls[\"SetNotificationPreferences\"] = 117] = \"SetNotificationPreferences\";\r\n calls[calls[\"SetPromotionalSale\"] = 118] = \"SetPromotionalSale\";\r\n calls[calls[\"SetPromotionalSaleListings\"] = 119] = \"SetPromotionalSaleListings\";\r\n calls[calls[\"SetSellingManagerFeedbackOptions\"] = 120] = \"SetSellingManagerFeedbackOptions\";\r\n calls[calls[\"SetSellingManagerItemAutomationRule\"] = 121] = \"SetSellingManagerItemAutomationRule\";\r\n calls[calls[\"SetSellingManagerTemplateAutomationRule\"] = 122] = \"SetSellingManagerTemplateAutomationRule\";\r\n calls[calls[\"SetShippingDiscountProfiles\"] = 123] = \"SetShippingDiscountProfiles\";\r\n calls[calls[\"SetStore\"] = 124] = \"SetStore\";\r\n calls[calls[\"SetStoreCategories\"] = 125] = \"SetStoreCategories\";\r\n calls[calls[\"SetStoreCustomPage\"] = 126] = \"SetStoreCustomPage\";\r\n calls[calls[\"SetStorePreferences\"] = 127] = \"SetStorePreferences\";\r\n calls[calls[\"SetTaxTable\"] = 128] = \"SetTaxTable\";\r\n calls[calls[\"SetUserNotes\"] = 129] = \"SetUserNotes\";\r\n calls[calls[\"SetUserPreferences\"] = 130] = \"SetUserPreferences\";\r\n calls[calls[\"UploadSiteHostedPictures\"] = 131] = \"UploadSiteHostedPictures\";\r\n calls[calls[\"ValidateChallengeInput\"] = 132] = \"ValidateChallengeInput\";\r\n calls[calls[\"ValidateTestUserRegistration\"] = 133] = \"ValidateTestUserRegistration\";\r\n calls[calls[\"VerifyAddFixedPriceItem\"] = 134] = \"VerifyAddFixedPriceItem\";\r\n calls[calls[\"VerifyAddItem\"] = 135] = \"VerifyAddItem\";\r\n calls[calls[\"VerifyAddSecondChanceItem\"] = 136] = \"VerifyAddSecondChanceItem\";\r\n calls[calls[\"VerifyRelistItem\"] = 137] = \"VerifyRelistItem\";\r\n calls[calls[\"VeROReportItems\"] = 138] = \"VeROReportItems\";\r\n})(calls || (calls = {}));\r\nexports.default = calls;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n});\r\nvar __importStar = (this && this.__importStar) || function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n};\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst qs_1 = require(\"qs\");\r\nconst __1 = __importDefault(require(\"../\"));\r\nconst errors_1 = require(\"../../errors\");\r\nconst clientAlerts_1 = __importDefault(require(\"./clientAlerts\"));\r\nconst finding_1 = __importDefault(require(\"./finding\"));\r\nconst merchandising_1 = __importDefault(require(\"./merchandising\"));\r\nconst shopping_1 = __importDefault(require(\"./shopping\"));\r\nconst trading_1 = __importDefault(require(\"./trading\"));\r\nconst XMLRequest_1 = __importStar(require(\"./XMLRequest\"));\r\n/**\r\n * Traditional eBay API.\r\n */\r\nclass Traditional extends __1.default {\r\n constructor() {\r\n super(...arguments);\r\n this.createXMLRequest = (callName, api) => async (fields, opts) => {\r\n const apiConfig = { ...XMLRequest_1.defaultApiConfig, ...opts };\r\n try {\r\n return await this.request(apiConfig, api, callName, fields);\r\n }\r\n catch (error) {\r\n // Try to refresh the token.\r\n if (this.config.autoRefreshToken && (error.name === errors_1.EBayIAFTokenExpired.name || error.name === errors_1.EBayIAFTokenInvalid.name)) {\r\n return await this.request(apiConfig, api, callName, fields, true);\r\n }\r\n throw error;\r\n }\r\n };\r\n }\r\n createTradingApi() {\r\n if (!this.config.devId) {\r\n throw new Error('devId is required for trading API.');\r\n }\r\n if (typeof this.config.siteId !== 'number') {\r\n throw new Error('siteId is required for trading API.');\r\n }\r\n return this.createTraditionalXMLApi({\r\n endpoint: {\r\n production: 'https://api.ebay.com/ws/api.dll',\r\n sandbox: 'https://api.sandbox.ebay.com/ws/api.dll'\r\n },\r\n calls: trading_1.default,\r\n xmlns: 'urn:ebay:apis:eBLBaseComponents',\r\n headers: (callName, accessToken) => ({\r\n 'X-EBAY-API-CALL-NAME': callName,\r\n 'X-EBAY-API-CERT-NAME': this.config.certId,\r\n 'X-EBAY-API-APP-NAME': this.config.appId,\r\n 'X-EBAY-API-DEV-NAME': this.config.devId,\r\n 'X-EBAY-API-SITEID': this.config.siteId,\r\n 'X-EBAY-API-COMPATIBILITY-LEVEL': 967,\r\n ...(accessToken && { 'X-EBAY-API-IAF-TOKEN': accessToken })\r\n })\r\n });\r\n }\r\n createShoppingApi() {\r\n if (typeof this.config.siteId !== 'number') {\r\n throw new Error('siteId is required for shopping API.');\r\n }\r\n return this.createTraditionalXMLApi({\r\n endpoint: {\r\n production: 'https://open.api.ebay.com/shopping',\r\n sandbox: 'https://open.api.sandbox.ebay.com/shopping'\r\n },\r\n xmlns: 'urn:ebay:apis:eBLBaseComponents',\r\n calls: shopping_1.default,\r\n headers: (callName, accessToken) => ({\r\n 'X-EBAY-API-CALL-NAME': callName,\r\n // 'X-EBAY-API-APP-ID': this.config.appId, deprecated on June 30, 2021\r\n 'X-EBAY-API-SITE-ID': this.config.siteId,\r\n 'X-EBAY-API-VERSION': 863,\r\n 'X-EBAY-API-REQUEST-ENCODING': 'xml',\r\n ...(accessToken && { 'X-EBAY-API-IAF-TOKEN': accessToken })\r\n })\r\n });\r\n }\r\n createFindingApi() {\r\n return this.createTraditionalXMLApi({\r\n endpoint: {\r\n production: 'https://svcs.ebay.com/services/search/FindingService/v1',\r\n sandbox: 'https://svcs.sandbox.ebay.com/services/search/FindingService/v1'\r\n },\r\n xmlns: 'http://www.ebay.com/marketplace/search/v1/services',\r\n calls: finding_1.default,\r\n headers: (callName) => ({\r\n 'X-EBAY-SOA-SECURITY-APPNAME': this.config.appId,\r\n 'X-EBAY-SOA-OPERATION-NAME': callName\r\n })\r\n });\r\n }\r\n createClientAlertsApi() {\r\n if (typeof this.config.siteId !== 'number') {\r\n throw new Error('siteId is required for client alerts API.');\r\n }\r\n const api = {\r\n endpoint: {\r\n production: 'https://clientalerts.ebay.com/ws/ecasvc/ClientAlerts',\r\n sandbox: 'https://clientalerts.sandbox.ebay.com/ws/ecasvc/ClientAlerts'\r\n },\r\n calls: clientAlerts_1.default\r\n };\r\n const endpoint = api.endpoint[this.config.sandbox ? 'sandbox' : 'production'];\r\n const paramsSerializer = (args) => {\r\n return (0, qs_1.stringify)(args, { allowDots: true })\r\n .replace(/%5B/gi, '(')\r\n .replace(/%5D/gi, ')');\r\n };\r\n const params = {\r\n appid: this.config.appId,\r\n siteid: this.config.siteId,\r\n version: 643\r\n };\r\n const service = {};\r\n Object.keys(api.calls).forEach((callName) => {\r\n service[callName] = async (fields) => {\r\n return this.req.get(endpoint, {\r\n paramsSerializer,\r\n params: {\r\n ...params,\r\n ...fields,\r\n callname: callName\r\n }\r\n });\r\n };\r\n });\r\n return service;\r\n }\r\n createMerchandisingApi() {\r\n return this.createTraditionalXMLApi({\r\n endpoint: {\r\n production: 'https://svcs.ebay.com/MerchandisingService',\r\n sandbox: 'https://svcs.sandbox.ebay.com/MerchandisingService'\r\n },\r\n xmlns: 'http://www.ebay.com/marketplace/services',\r\n calls: merchandising_1.default,\r\n headers: (callName) => ({\r\n 'EBAY-SOA-CONSUMER-ID': this.config.appId,\r\n 'X-EBAY-SOA-OPERATION-NAME': callName\r\n })\r\n });\r\n }\r\n createBusinessPolicyManagementApi() {\r\n throw new Error('Important! This API is deprecated and will be decommissioned on January 31, 2022. We recommend that you migrate to the fulfillment_policy, payment_policy, and return_policy resources of the Account API to set up and manage all of your fulfillment, payment, and return business policies.');\r\n }\r\n async request(apiConfig, api, callName, fields, refreshToken = false) {\r\n try {\r\n if (refreshToken) {\r\n await this.auth.OAuth2.refreshToken();\r\n }\r\n const config = this.getConfig(api, callName, apiConfig);\r\n const xmlRequest = new XMLRequest_1.default(callName, fields, config, this.req);\r\n return await xmlRequest.request();\r\n }\r\n catch (e) {\r\n (0, errors_1.handleEBayError)(e);\r\n }\r\n }\r\n getConfig(api, callName, apiConfig) {\r\n const eBayAuthToken = this.auth.authNAuth.eBayAuthToken;\r\n const userAccessToken = this.auth.OAuth2.getUserAccessToken();\r\n const useIaf = (!eBayAuthToken || userAccessToken && apiConfig.useIaf);\r\n return {\r\n ...apiConfig,\r\n xmlns: api.xmlns,\r\n endpoint: api.endpoint[this.config.sandbox ? 'sandbox' : 'production'],\r\n headers: {\r\n ...api.headers(callName, userAccessToken && useIaf ? userAccessToken : undefined),\r\n ...apiConfig.headers\r\n },\r\n ...(eBayAuthToken && !useIaf && {\r\n eBayAuthToken\r\n })\r\n };\r\n }\r\n createTraditionalXMLApi(traditionalApi) {\r\n const api = {};\r\n Object.keys(traditionalApi.calls).forEach((callName) => {\r\n api[callName] = this.createXMLRequest(callName, traditionalApi);\r\n });\r\n return api;\r\n }\r\n}\r\nexports.default = Traditional;\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst _1 = __importDefault(require(\"./\"));\r\nconst buy_1 = require(\"./restful/buy\");\r\nconst commerce_1 = require(\"./restful/commerce\");\r\nconst developer_1 = require(\"./restful/developer\");\r\nconst postOrder_1 = require(\"./restful/postOrder\");\r\nconst sell_1 = require(\"./restful/sell\");\r\nconst traditional_1 = __importDefault(require(\"./traditional\"));\r\n/**\r\n * Factory class to create RESTFul API or Traditional API.\r\n */\r\nclass ApiFactory extends _1.default {\r\n constructor() {\r\n super(...arguments);\r\n this._restful = {};\r\n }\r\n createBuyApi() {\r\n return {\r\n browse: this.createRestfulApi(buy_1.Browse),\r\n feed: this.createRestfulApi(buy_1.Feed),\r\n marketing: this.createRestfulApi(buy_1.Marketing),\r\n offer: this.createRestfulApi(buy_1.Offer),\r\n order: this.createRestfulApi(buy_1.Order),\r\n deal: this.createRestfulApi(buy_1.Deal),\r\n marketplaceInsights: this.createRestfulApi(buy_1.MarketplaceInsights),\r\n };\r\n }\r\n createCommerceApi() {\r\n return {\r\n catalog: this.createRestfulApi(commerce_1.Catalog),\r\n identity: this.createRestfulApi(commerce_1.Identity),\r\n taxonomy: this.createRestfulApi(commerce_1.Taxonomy),\r\n translation: this.createRestfulApi(commerce_1.Translation),\r\n charity: this.createRestfulApi(commerce_1.Charity),\r\n notification: this.createRestfulApi(commerce_1.Notification),\r\n };\r\n }\r\n createDeveloperApi() {\r\n return {\r\n analytics: this.createRestfulApi(developer_1.Analytics),\r\n keyManagement: this.createRestfulApi(developer_1.KeyManagement),\r\n };\r\n }\r\n createPostOrderApi() {\r\n return {\r\n cancellation: this.createRestfulApi(postOrder_1.Cancellation),\r\n case: this.createRestfulApi(postOrder_1.Case),\r\n inquiry: this.createRestfulApi(postOrder_1.Inquiry),\r\n return: this.createRestfulApi(postOrder_1.Return),\r\n };\r\n }\r\n createSellApi() {\r\n return {\r\n account: this.createRestfulApi(sell_1.Account),\r\n analytics: this.createRestfulApi(sell_1.Analytics),\r\n compliance: this.createRestfulApi(sell_1.Compliance),\r\n fulfillment: this.createRestfulApi(sell_1.Fulfillment),\r\n inventory: this.createRestfulApi(sell_1.Inventory),\r\n marketing: this.createRestfulApi(sell_1.Marketing),\r\n metadata: this.createRestfulApi(sell_1.Metadata),\r\n recommendation: this.createRestfulApi(sell_1.Recommendation),\r\n finances: this.createRestfulApi(sell_1.Finances),\r\n feed: this.createRestfulApi(sell_1.Feed),\r\n logistics: this.createRestfulApi(sell_1.Logistics),\r\n negotiation: this.createRestfulApi(sell_1.Negotiation),\r\n listing: this.createRestfulApi(sell_1.Listing),\r\n };\r\n }\r\n get traditional() {\r\n if (this._traditional) {\r\n return this._traditional;\r\n }\r\n return (this._traditional = new traditional_1.default(this.config, this.req, this.auth));\r\n }\r\n createTradingApi() {\r\n return this.traditional.createTradingApi();\r\n }\r\n createShoppingApi() {\r\n return this.traditional.createShoppingApi();\r\n }\r\n createFindingApi() {\r\n return this.traditional.createFindingApi();\r\n }\r\n createClientAlertsApi() {\r\n return this.traditional.createClientAlertsApi();\r\n }\r\n createMerchandisingApi() {\r\n return this.traditional.createMerchandisingApi();\r\n }\r\n // tslint:disable-next-line:variable-name\r\n createRestfulApi(RestfulApiClass) {\r\n const id = RestfulApiClass.id;\r\n return (this._restful[id] || (this._restful[id] = new RestfulApiClass(this.config, this.req, this.auth)));\r\n }\r\n}\r\nexports.default = ApiFactory;\r\n//# sourceMappingURL=apiFactory.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MarketplaceId = exports.SiteId = void 0;\r\nvar SiteId;\r\n(function (SiteId) {\r\n SiteId[SiteId[\"EBAY_US\"] = 0] = \"EBAY_US\";\r\n SiteId[SiteId[\"EBAY_ENCA\"] = 2] = \"EBAY_ENCA\";\r\n SiteId[SiteId[\"EBAY_GB\"] = 3] = \"EBAY_GB\";\r\n SiteId[SiteId[\"EBAY_AU\"] = 15] = \"EBAY_AU\";\r\n SiteId[SiteId[\"EBAY_AT\"] = 16] = \"EBAY_AT\";\r\n SiteId[SiteId[\"EBAY_FRBE\"] = 23] = \"EBAY_FRBE\";\r\n SiteId[SiteId[\"EBAY_FR\"] = 71] = \"EBAY_FR\";\r\n SiteId[SiteId[\"EBAY_DE\"] = 77] = \"EBAY_DE\";\r\n SiteId[SiteId[\"EBAY_MOTOR\"] = 100] = \"EBAY_MOTOR\";\r\n SiteId[SiteId[\"EBAY_IT\"] = 101] = \"EBAY_IT\";\r\n SiteId[SiteId[\"EBAY_NLBE\"] = 123] = \"EBAY_NLBE\";\r\n SiteId[SiteId[\"EBAY_NL\"] = 146] = \"EBAY_NL\";\r\n SiteId[SiteId[\"EBAY_ES\"] = 186] = \"EBAY_ES\";\r\n SiteId[SiteId[\"EBAY_CH\"] = 193] = \"EBAY_CH\";\r\n SiteId[SiteId[\"EBAY_HK\"] = 201] = \"EBAY_HK\";\r\n SiteId[SiteId[\"EBAY_IN\"] = 203] = \"EBAY_IN\";\r\n SiteId[SiteId[\"EBAY_IE\"] = 205] = \"EBAY_IE\";\r\n SiteId[SiteId[\"EBAY_MY\"] = 207] = \"EBAY_MY\";\r\n SiteId[SiteId[\"EBAY_FRCA\"] = 210] = \"EBAY_FRCA\";\r\n SiteId[SiteId[\"EBAY_PH\"] = 211] = \"EBAY_PH\";\r\n SiteId[SiteId[\"EBAY_PL\"] = 212] = \"EBAY_PL\";\r\n SiteId[SiteId[\"EBAY_SG\"] = 216] = \"EBAY_SG\";\r\n})(SiteId = exports.SiteId || (exports.SiteId = {}));\r\nvar MarketplaceId;\r\n(function (MarketplaceId) {\r\n MarketplaceId[\"EBAY_US\"] = \"EBAY_US\";\r\n MarketplaceId[\"EBAY_AT\"] = \"EBAY_AT\";\r\n MarketplaceId[\"EBAY_AU\"] = \"EBAY_AU\";\r\n MarketplaceId[\"EBAY_BE\"] = \"EBAY_BE\";\r\n MarketplaceId[\"EBAY_CA\"] = \"EBAY_CA\";\r\n MarketplaceId[\"EBAY_CH\"] = \"EBAY_CH\";\r\n MarketplaceId[\"EBAY_DE\"] = \"EBAY_DE\";\r\n MarketplaceId[\"EBAY_ES\"] = \"EBAY_ES\";\r\n MarketplaceId[\"EBAY_FR\"] = \"EBAY_FR\";\r\n MarketplaceId[\"EBAY_GB\"] = \"EBAY_GB\";\r\n MarketplaceId[\"EBAY_HK\"] = \"EBAY_HK\";\r\n MarketplaceId[\"EBAY_IE\"] = \"EBAY_IE\";\r\n MarketplaceId[\"EBAY_IN\"] = \"EBAY_IN\";\r\n MarketplaceId[\"EBAY_IT\"] = \"EBAY_IT\";\r\n MarketplaceId[\"EBAY_MY\"] = \"EBAY_MY\";\r\n MarketplaceId[\"EBAY_NL\"] = \"EBAY_NL\";\r\n MarketplaceId[\"EBAY_PH\"] = \"EBAY_PH\";\r\n MarketplaceId[\"EBAY_PL\"] = \"EBAY_PL\";\r\n MarketplaceId[\"EBAY_SG\"] = \"EBAY_SG\";\r\n MarketplaceId[\"EBAY_TH\"] = \"EBAY_TH\";\r\n MarketplaceId[\"EBAY_TW\"] = \"EBAY_TW\";\r\n MarketplaceId[\"EBAY_VN\"] = \"EBAY_VN\";\r\n MarketplaceId[\"EBAY_MOTORS_US\"] = \"EBAY_MOTORS_US\";\r\n})(MarketplaceId = exports.MarketplaceId || (exports.MarketplaceId = {}));\r\n//# sourceMappingURL=apiEnums.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.PackageType = exports.WeightUnitOfMeasure = exports.LengthUnitOfMeasure = exports.CancelReason = exports.ReasonForRefund = exports.RegionType = exports.ReturnShippingCostPayer = exports.ReturnMethod = exports.RefundMethod = exports.Metric = exports.FormatType = exports.Marketplace = exports.ContentLanguage = exports.Locale = exports.Condition = exports.CurrencyCode = exports.CountryCode = exports.RecipientAccountReferenceType = exports.PaymentMethodType = exports.PaymentsProgramStatus = exports.PaymentsProgramType = exports.ShippingCostType = exports.ShippingOptionType = exports.TimeDurationUnit = exports.StoreType = exports.ActivityOption = exports.RefundFeeType = exports.FilePurpose = exports.ReturnState = exports.ReturnCountFilter = exports.CategoryType = exports.Decision = exports.EscalateReason = exports.GetReturnFieldGroupEnum = exports.ReturnType = exports.RequestType = exports.ReturnReason = exports.ShippingCarrier = exports.InquiryStatusFilter = exports.CaseSearchFieldGroup = exports.CaseStatusFilter = exports.InquirySearchFieldGroup = exports.UserRoleFilter = void 0;\r\nvar UserRoleFilter;\r\n(function (UserRoleFilter) {\r\n UserRoleFilter[\"BUYER\"] = \"BUYER\";\r\n UserRoleFilter[\"SELLER\"] = \"SELLER\";\r\n})(UserRoleFilter = exports.UserRoleFilter || (exports.UserRoleFilter = {}));\r\nvar InquirySearchFieldGroup;\r\n(function (InquirySearchFieldGroup) {\r\n InquirySearchFieldGroup[\"DEFAULT\"] = \"DEFAULT\";\r\n InquirySearchFieldGroup[\"SUMMARY\"] = \"SUMMARY\";\r\n})(InquirySearchFieldGroup = exports.InquirySearchFieldGroup || (exports.InquirySearchFieldGroup = {}));\r\nvar CaseStatusFilter;\r\n(function (CaseStatusFilter) {\r\n CaseStatusFilter[\"CLOSED\"] = \"CLOSED\";\r\n CaseStatusFilter[\"CS_CLOSED\"] = \"CS_CLOSED\";\r\n CaseStatusFilter[\"ON_HOLD\"] = \"ON_HOLD\";\r\n CaseStatusFilter[\"OPEN\"] = \"OPEN\";\r\n CaseStatusFilter[\"OTHER\"] = \"OTHER\";\r\n CaseStatusFilter[\"REFUND_AGREED_BUT_FAILED\"] = \"REFUND_AGREED_BUT_FAILED\";\r\n CaseStatusFilter[\"WAITING_CS\"] = \"WAITING_CS\";\r\n CaseStatusFilter[\"WAITING_DELIVERY\"] = \"WAITING_DELIVERY\";\r\n})(CaseStatusFilter = exports.CaseStatusFilter || (exports.CaseStatusFilter = {}));\r\nvar CaseSearchFieldGroup;\r\n(function (CaseSearchFieldGroup) {\r\n CaseSearchFieldGroup[\"DEFAULT\"] = \"DEFAULT\";\r\n CaseSearchFieldGroup[\"SUMMARY\"] = \"SUMMARY\";\r\n})(CaseSearchFieldGroup = exports.CaseSearchFieldGroup || (exports.CaseSearchFieldGroup = {}));\r\nvar InquiryStatusFilter;\r\n(function (InquiryStatusFilter) {\r\n InquiryStatusFilter[\"CLOSED\"] = \"CLOSED\";\r\n InquiryStatusFilter[\"CLOSED_WITH_ESCALATION\"] = \"CLOSED_WITH_ESCALATION\";\r\n InquiryStatusFilter[\"CS_CLOSED\"] = \"CS_CLOSED\";\r\n InquiryStatusFilter[\"OPEN\"] = \"OPEN\";\r\n InquiryStatusFilter[\"OTHER\"] = \"OTHER\";\r\n InquiryStatusFilter[\"PENDING\"] = \"PENDING\";\r\n InquiryStatusFilter[\"WAITING_BUYER_RESPONSE\"] = \"WAITING_BUYER_RESPONSE\";\r\n InquiryStatusFilter[\"WAITING_SELLER_RESPONSE\"] = \"WAITING_SELLER_RESPONSE\";\r\n})(InquiryStatusFilter = exports.InquiryStatusFilter || (exports.InquiryStatusFilter = {}));\r\nvar ShippingCarrier;\r\n(function (ShippingCarrier) {\r\n ShippingCarrier[\"AUSTRALIA_POST\"] = \"AUSTRALIA_POST\";\r\n ShippingCarrier[\"BARTOLINI\"] = \"BARTOLINI\";\r\n ShippingCarrier[\"CANADA_POST\"] = \"CANADA_POST\";\r\n ShippingCarrier[\"COLISSIMO\"] = \"COLISSIMO\";\r\n ShippingCarrier[\"COLLECT_PLUS\"] = \"COLLECT_PLUS\";\r\n ShippingCarrier[\"CORREOS\"] = \"CORREOS\";\r\n ShippingCarrier[\"DEUTSCHE_POST\"] = \"DEUTSCHE_POST\";\r\n ShippingCarrier[\"DHL\"] = \"DHL\";\r\n ShippingCarrier[\"FEDEX\"] = \"FEDEX\";\r\n ShippingCarrier[\"HERMES\"] = \"HERMES\";\r\n ShippingCarrier[\"LA_POSTE\"] = \"LA_POSTE\";\r\n ShippingCarrier[\"MONDIAL_RELAY\"] = \"MONDIAL_RELAY\";\r\n ShippingCarrier[\"MRW\"] = \"MRW\";\r\n ShippingCarrier[\"NEXIVE\"] = \"NEXIVE\";\r\n ShippingCarrier[\"OTHER\"] = \"OTHER\";\r\n ShippingCarrier[\"PARCEL_FORCE\"] = \"PARCEL_FORCE\";\r\n ShippingCarrier[\"POSTE\"] = \"POSTE\";\r\n ShippingCarrier[\"ROYAL_MAIL\"] = \"ROYAL_MAIL\";\r\n ShippingCarrier[\"SEUR\"] = \"SEUR\";\r\n ShippingCarrier[\"UNKNOWN\"] = \"UNKNOWN\";\r\n ShippingCarrier[\"UPS\"] = \"UPS\";\r\n ShippingCarrier[\"USPS\"] = \"USPS\";\r\n})(ShippingCarrier = exports.ShippingCarrier || (exports.ShippingCarrier = {}));\r\nvar ReturnReason;\r\n(function (ReturnReason) {\r\n ReturnReason[\"ARRIVED_DAMAGED\"] = \"ARRIVED_DAMAGED\";\r\n ReturnReason[\"ARRIVED_LATE\"] = \"ARRIVED_LATE\";\r\n ReturnReason[\"BUYER_CANCEL_ORDER\"] = \"BUYER_CANCEL_ORDER\";\r\n ReturnReason[\"BUYER_NO_SHOW\"] = \"BUYER_NO_SHOW\";\r\n ReturnReason[\"BUYER_NOT_SCHEDULED\"] = \"BUYER_NOT_SCHEDULED\";\r\n ReturnReason[\"BUYER_REFUSED_TO_PICKUP\"] = \"BUYER_REFUSED_TO_PICKUP\";\r\n ReturnReason[\"DEFECTIVE_ITEM\"] = \"DEFECTIVE_ITEM\";\r\n ReturnReason[\"DIFFERENT_FROM_LISTING\"] = \"DIFFERENT_FROM_LISTING\";\r\n ReturnReason[\"EXPIRED_ITEM\"] = \"EXPIRED_ITEM\";\r\n ReturnReason[\"FAKE_OR_COUNTERFEIT\"] = \"FAKE_OR_COUNTERFEIT\";\r\n ReturnReason[\"FOUND_BETTER_PRICE\"] = \"FOUND_BETTER_PRICE\";\r\n ReturnReason[\"IN_STORE_RETURN\"] = \"IN_STORE_RETURN\";\r\n ReturnReason[\"MISSING_PARTS\"] = \"MISSING_PARTS\";\r\n ReturnReason[\"NO_LONGER_NEED_ITEM\"] = \"NO_LONGER_NEED_ITEM\";\r\n ReturnReason[\"NO_REASON\"] = \"NO_REASON\";\r\n ReturnReason[\"NOT_AS_DESCRIBED\"] = \"NOT_AS_DESCRIBED\";\r\n ReturnReason[\"ORDERED_ACCIDENTALLY\"] = \"ORDERED_ACCIDENTALLY\";\r\n ReturnReason[\"ORDERED_DIFFERENT_ITEM\"] = \"ORDERED_DIFFERENT_ITEM\";\r\n ReturnReason[\"ORDERED_WRONG_ITEM\"] = \"ORDERED_WRONG_ITEM\";\r\n ReturnReason[\"OTHER\"] = \"OTHER\";\r\n ReturnReason[\"OUT_OF_STOCK\"] = \"OUT_OF_STOCK\";\r\n ReturnReason[\"RETURNING_GIFT\"] = \"RETURNING_GIFT\";\r\n ReturnReason[\"VALET_DELIVERY_ISSUES\"] = \"VALET_DELIVERY_ISSUES\";\r\n ReturnReason[\"VALET_UNAVAILABLE\"] = \"VALET_UNAVAILABLE\";\r\n ReturnReason[\"WRONG_SIZE\"] = \"WRONG_SIZE\";\r\n})(ReturnReason = exports.ReturnReason || (exports.ReturnReason = {}));\r\nvar RequestType;\r\n(function (RequestType) {\r\n RequestType[\"CREATE\"] = \"CREATE\";\r\n RequestType[\"REQUEST\"] = \"REQUEST\";\r\n RequestType[\"UNKNOWN\"] = \"UNKNOWN\";\r\n})(RequestType = exports.RequestType || (exports.RequestType = {}));\r\nvar ReturnType;\r\n(function (ReturnType) {\r\n ReturnType[\"EXCHANGE\"] = \"EXCHANGE\";\r\n ReturnType[\"MONEY_BACK\"] = \"MONEY_BACK\";\r\n ReturnType[\"REPLACEMENT\"] = \"REPLACEMENT\";\r\n ReturnType[\"UNKNOWN\"] = \"UNKNOWN\";\r\n})(ReturnType = exports.ReturnType || (exports.ReturnType = {}));\r\nvar GetReturnFieldGroupEnum;\r\n(function (GetReturnFieldGroupEnum) {\r\n GetReturnFieldGroupEnum[\"FULL\"] = \"FULL\";\r\n GetReturnFieldGroupEnum[\"NONE\"] = \"NONE\";\r\n GetReturnFieldGroupEnum[\"SUMMARY\"] = \"SUMMARY\";\r\n})(GetReturnFieldGroupEnum = exports.GetReturnFieldGroupEnum || (exports.GetReturnFieldGroupEnum = {}));\r\nvar EscalateReason;\r\n(function (EscalateReason) {\r\n EscalateReason[\"BUYER_NORESPONSE\"] = \"BUYER_NORESPONSE\";\r\n EscalateReason[\"BUYER_RETURNED_WRONG_ITEM\"] = \"BUYER_RETURNED_WRONG_ITEM\";\r\n EscalateReason[\"DISAGREE_WITH_RETURN_REASON\"] = \"DISAGREE_WITH_RETURN_REASON\";\r\n EscalateReason[\"ITEM_NOT_RECEIVED\"] = \"ITEM_NOT_RECEIVED\";\r\n EscalateReason[\"ITEM_RECEIVED_IN_DIFFERENT_CONDITION\"] = \"ITEM_RECEIVED_IN_DIFFERENT_CONDITION\";\r\n EscalateReason[\"NEW_ITEM_NOT_RECEIVED\"] = \"NEW_ITEM_NOT_RECEIVED\";\r\n EscalateReason[\"NO_REFUND_FOR_RETURN_SHIPPING\"] = \"NO_REFUND_FOR_RETURN_SHIPPING\";\r\n EscalateReason[\"NO_REFUND_RECEIVED\"] = \"NO_REFUND_RECEIVED\";\r\n EscalateReason[\"OTHER\"] = \"OTHER\";\r\n EscalateReason[\"RECEIVED_WRONG_ITEM\"] = \"RECEIVED_WRONG_ITEM\";\r\n EscalateReason[\"SELLER_NO_RESPONSE\"] = \"SELLER_NO_RESPONSE\";\r\n EscalateReason[\"TROUBLE_COMMUNICATION_WITH_BUYER\"] = \"TROUBLE_COMMUNICATION_WITH_BUYER\";\r\n EscalateReason[\"TROUBLE_COMMUNICATION_WITH_SELLER\"] = \"TROUBLE_COMMUNICATION_WITH_SELLER\";\r\n})(EscalateReason = exports.EscalateReason || (exports.EscalateReason = {}));\r\nvar Decision;\r\n(function (Decision) {\r\n Decision[\"ACCEPT_PARTIAL_REFUND\"] = \"ACCEPT_PARTIAL_REFUND\";\r\n Decision[\"ACCEPT_REPLACEMENT_OFFER\"] = \"ACCEPT_REPLACEMENT_OFFER\";\r\n Decision[\"APPROVE\"] = \"APPROVE\";\r\n Decision[\"APPROVE_WITHOUT_EBAY_LABEL\"] = \"APPROVE_WITHOUT_EBAY_LABEL\";\r\n Decision[\"DECLINE\"] = \"DECLINE\";\r\n Decision[\"DECLINE_PARTIAL_REFUND\"] = \"DECLINE_PARTIAL_REFUND\";\r\n Decision[\"DECLINE_REPLACEMENT_OFFER\"] = \"DECLINE_REPLACEMENT_OFFER\";\r\n Decision[\"OFFER_PARTIAL_REFUND\"] = \"OFFER_PARTIAL_REFUND\";\r\n Decision[\"OFFER_REPLACEMENT\"] = \"OFFER_REPLACEMENT\";\r\n Decision[\"OFFER_RETURN\"] = \"OFFER_RETURN\";\r\n Decision[\"OFFER_RETURN_WITHOUT_LABEL\"] = \"OFFER_RETURN_WITHOUT_LABEL\";\r\n Decision[\"PROVIDE_RMA\"] = \"PROVIDE_RMA\";\r\n Decision[\"UNKNOWN\"] = \"UNKNOWN\";\r\n})(Decision = exports.Decision || (exports.Decision = {}));\r\nvar CategoryType;\r\n(function (CategoryType) {\r\n CategoryType[\"MOTORS_VEHICLES\"] = \"MOTORS_VEHICLES\";\r\n CategoryType[\"ALL_EXCLUDING_MOTORS_VEHICLES\"] = \"ALL_EXCLUDING_MOTORS_VEHICLES\";\r\n})(CategoryType = exports.CategoryType || (exports.CategoryType = {}));\r\nvar ReturnCountFilter;\r\n(function (ReturnCountFilter) {\r\n ReturnCountFilter[\"ALL_OPEN\"] = \"ALL_OPEN\";\r\n ReturnCountFilter[\"ALL_OPEN_REPLACEMENT\"] = \"ALL_OPEN_REPLACEMENT\";\r\n ReturnCountFilter[\"ALL_OPEN_RETURN\"] = \"ALL_OPEN_RETURN\";\r\n ReturnCountFilter[\"CLOSED\"] = \"CLOSED\";\r\n ReturnCountFilter[\"EBAY_PLUS\"] = \"EBAY_PLUS\";\r\n ReturnCountFilter[\"ITEM_DELIVERED\"] = \"ITEM_DELIVERED\";\r\n ReturnCountFilter[\"ITEM_SHIPPED\"] = \"ITEM_SHIPPED\";\r\n ReturnCountFilter[\"RETURN_STARTED\"] = \"RETURN_STARTED\";\r\n ReturnCountFilter[\"SELLER_ACTION_DUE\"] = \"SELLER_ACTION_DUE\";\r\n ReturnCountFilter[\"SELLER_ACTION_OVERDUE\"] = \"SELLER_ACTION_OVERDUE\";\r\n ReturnCountFilter[\"SELLER_NO_ACTION\"] = \"SELLER_NO_ACTION\";\r\n ReturnCountFilter[\"UNKNOWN\"] = \"UNKNOWN\";\r\n})(ReturnCountFilter = exports.ReturnCountFilter || (exports.ReturnCountFilter = {}));\r\nvar ReturnState;\r\n(function (ReturnState) {\r\n ReturnState[\"AUTO_REFUND_INITIATED\"] = \"AUTO_REFUND_INITIATED\";\r\n ReturnState[\"CLOSED\"] = \"CLOSED\";\r\n ReturnState[\"INITIAL\"] = \"INITIAL\";\r\n ReturnState[\"ITEM_DELIVERED\"] = \"ITEM_DELIVERED\";\r\n ReturnState[\"ITEM_KEPT\"] = \"ITEM_KEPT\";\r\n ReturnState[\"ITEM_READY_TO_SHIP\"] = \"ITEM_READY_TO_SHIP\";\r\n ReturnState[\"ITEM_SHIPPED\"] = \"ITEM_SHIPPED\";\r\n ReturnState[\"LESS_THAN_A_FULL_REFUND_ISSUED\"] = \"LESS_THAN_A_FULL_REFUND_ISSUED\";\r\n ReturnState[\"PARTIAL_REFUND_AS_PAYOUT_INITIATED\"] = \"PARTIAL_REFUND_AS_PAYOUT_INITIATED\";\r\n ReturnState[\"PARTIAL_REFUND_DECLINED\"] = \"PARTIAL_REFUND_DECLINED\";\r\n ReturnState[\"PARTIAL_REFUND_FAILED\"] = \"PARTIAL_REFUND_FAILED\";\r\n ReturnState[\"PARTIAL_REFUND_INITIATED\"] = \"PARTIAL_REFUND_INITIATED\";\r\n ReturnState[\"PARTIAL_REFUND_NON_PAYPAL_INITIATED\"] = \"PARTIAL_REFUND_NON_PAYPAL_INITIATED\";\r\n ReturnState[\"PARTIAL_REFUND_REQUESTED\"] = \"PARTIAL_REFUND_REQUESTED\";\r\n ReturnState[\"PARTIAL_REFUNDED\"] = \"PARTIAL_REFUNDED\";\r\n ReturnState[\"PAYOUT_INITIATED\"] = \"PAYOUT_INITIATED\";\r\n ReturnState[\"REFUND_AS_PAYOUT_INITIATED\"] = \"REFUND_AS_PAYOUT_INITIATED\";\r\n ReturnState[\"REFUND_FAILED\"] = \"REFUND_FAILED\";\r\n ReturnState[\"REFUND_INITIATED\"] = \"REFUND_INITIATED\";\r\n ReturnState[\"REFUND_SENT_PENDING_CONFIRMATION\"] = \"REFUND_SENT_PENDING_CONFIRMATION\";\r\n ReturnState[\"REFUND_TIMEOUT\"] = \"REFUND_TIMEOUT\";\r\n ReturnState[\"REPLACED\"] = \"REPLACED\";\r\n ReturnState[\"REPLACEMENT_CLOSED\"] = \"REPLACEMENT_CLOSED\";\r\n ReturnState[\"REPLACEMENT_DELIVERED\"] = \"REPLACEMENT_DELIVERED\";\r\n ReturnState[\"REPLACEMENT_LABEL_PENDING\"] = \"REPLACEMENT_LABEL_PENDING\";\r\n ReturnState[\"REPLACEMENT_LABEL_PENDING_TIMEOUT\"] = \"REPLACEMENT_LABEL_PENDING_TIMEOUT\";\r\n ReturnState[\"REPLACEMENT_LABEL_REQUESTED\"] = \"REPLACEMENT_LABEL_REQUESTED\";\r\n ReturnState[\"REPLACEMENT_LABEL_REQUESTED_TIMEOUT\"] = \"REPLACEMENT_LABEL_REQUESTED_TIMEOUT\";\r\n ReturnState[\"REPLACEMENT_OFFER_PENDING\"] = \"REPLACEMENT_OFFER_PENDING\";\r\n ReturnState[\"REPLACEMENT_REQUEST_TIMEOUT\"] = \"REPLACEMENT_REQUEST_TIMEOUT\";\r\n ReturnState[\"REPLACEMENT_REQUESTED\"] = \"REPLACEMENT_REQUESTED\";\r\n ReturnState[\"REPLACEMENT_RMA_PENDING\"] = \"REPLACEMENT_RMA_PENDING\";\r\n ReturnState[\"REPLACEMENT_SHIPPED\"] = \"REPLACEMENT_SHIPPED\";\r\n ReturnState[\"REPLACEMENT_STARTED\"] = \"REPLACEMENT_STARTED\";\r\n ReturnState[\"RETURN_LABEL_PENDING\"] = \"RETURN_LABEL_PENDING\";\r\n ReturnState[\"RETURN_LABEL_PENDING_TIMEOUT\"] = \"RETURN_LABEL_PENDING_TIMEOUT\";\r\n ReturnState[\"RETURN_LABEL_REQUESTED\"] = \"RETURN_LABEL_REQUESTED\";\r\n ReturnState[\"RETURN_LABEL_REQUESTED_TIMEOUT\"] = \"RETURN_LABEL_REQUESTED_TIMEOUT\";\r\n ReturnState[\"RETURN_REJECTED\"] = \"RETURN_REJECTED\";\r\n ReturnState[\"RETURN_REQUEST_TIMEOUT\"] = \"RETURN_REQUEST_TIMEOUT\";\r\n ReturnState[\"RETURN_REQUESTED\"] = \"RETURN_REQUESTED\";\r\n ReturnState[\"RMA_PENDING\"] = \"RMA_PENDING\";\r\n ReturnState[\"UNKNOWN\"] = \"UNKNOWN\";\r\n})(ReturnState = exports.ReturnState || (exports.ReturnState = {}));\r\nvar FilePurpose;\r\n(function (FilePurpose) {\r\n FilePurpose[\"ITEM_RELATED\"] = \"ITEM_RELATED\";\r\n FilePurpose[\"LABEL_RELATED\"] = \"LABEL_RELATED\";\r\n FilePurpose[\"REFUND_RELATED\"] = \"REFUND_RELATED\";\r\n FilePurpose[\"UNKNOWN\"] = \"UNKNOWN\";\r\n})(FilePurpose = exports.FilePurpose || (exports.FilePurpose = {}));\r\nvar RefundFeeType;\r\n(function (RefundFeeType) {\r\n RefundFeeType[\"DOMESTIC_SHIPPING\"] = \"DOMESTIC_SHIPPING\";\r\n RefundFeeType[\"IMPORT_CHARGE\"] = \"IMPORT_CHARGE\";\r\n RefundFeeType[\"INTERNATIONAL_SHIPPING\"] = \"INTERNATIONAL_SHIPPING\";\r\n RefundFeeType[\"ITEM_IMPORT_TAX\"] = \"ITEM_IMPORT_TAX\";\r\n RefundFeeType[\"ITEM_TAX\"] = \"ITEM_TAX\";\r\n RefundFeeType[\"ORDER_ADJUSTMENT\"] = \"ORDER_ADJUSTMENT\";\r\n RefundFeeType[\"ORIGINAL_SHIPPING\"] = \"ORIGINAL_SHIPPING\";\r\n RefundFeeType[\"OTHER\"] = \"OTHER\";\r\n RefundFeeType[\"PURCHASE_PRICE\"] = \"PURCHASE_PRICE\";\r\n RefundFeeType[\"REFUND_FROM_PAYPAL\"] = \"REFUND_FROM_PAYPAL\";\r\n RefundFeeType[\"RETURN_SHIPPING\"] = \"RETURN_SHIPPING\";\r\n RefundFeeType[\"SHIPPING_IMPORT_TAX\"] = \"SHIPPING_IMPORT_TAX\";\r\n RefundFeeType[\"SHIPPING_TAX\"] = \"SHIPPING_TAX\";\r\n})(RefundFeeType = exports.RefundFeeType || (exports.RefundFeeType = {}));\r\nvar ActivityOption;\r\n(function (ActivityOption) {\r\n ActivityOption[\"AUTO_APPROVE_REMORSE\"] = \"AUTO_APPROVE_REMORSE\";\r\n ActivityOption[\"BUYER_ACCEPT_REPLACEMENT_OFFER\"] = \"BUYER_ACCEPT_REPLACEMENT_OFFER\";\r\n ActivityOption[\"BUYER_ACCEPTS_NON_PAYPAL_PARTIAL_REFUND\"] = \"BUYER_ACCEPTS_NON_PAYPAL_PARTIAL_REFUND\";\r\n ActivityOption[\"BUYER_ACCEPTS_PARTIAL_REFUND\"] = \"BUYER_ACCEPTS_PARTIAL_REFUND\";\r\n ActivityOption[\"BUYER_CLOSE_RETURN\"] = \"BUYER_CLOSE_RETURN\";\r\n ActivityOption[\"BUYER_CREATE_RETURN\"] = \"BUYER_CREATE_RETURN\";\r\n ActivityOption[\"BUYER_DECLINE_PARTIAL_REFUND\"] = \"BUYER_DECLINE_PARTIAL_REFUND\";\r\n ActivityOption[\"BUYER_DECLINE_REPLACEMENT_OFFER\"] = \"BUYER_DECLINE_REPLACEMENT_OFFER\";\r\n ActivityOption[\"BUYER_ESCALATE\"] = \"BUYER_ESCALATE\";\r\n ActivityOption[\"BUYER_MARK_AS_RECEIVED\"] = \"BUYER_MARK_AS_RECEIVED\";\r\n ActivityOption[\"BUYER_MARK_REFUND_RECEIVED\"] = \"BUYER_MARK_REFUND_RECEIVED\";\r\n ActivityOption[\"BUYER_MARK_RETURN_SHIPPED\"] = \"BUYER_MARK_RETURN_SHIPPED\";\r\n ActivityOption[\"BUYER_PRINT_SHIPPING_LABEL\"] = \"BUYER_PRINT_SHIPPING_LABEL\";\r\n ActivityOption[\"BUYER_PROVIDE_LABEL\"] = \"BUYER_PROVIDE_LABEL\";\r\n ActivityOption[\"BUYER_PROVIDE_TRACKING_INFO\"] = \"BUYER_PROVIDE_TRACKING_INFO\";\r\n ActivityOption[\"BUYER_SEND_MESSAGE\"] = \"BUYER_SEND_MESSAGE\";\r\n ActivityOption[\"BUYER_UPDATE_TRACKING\"] = \"BUYER_UPDATE_TRACKING\";\r\n ActivityOption[\"BUYER_VOID_LABEL\"] = \"BUYER_VOID_LABEL\";\r\n ActivityOption[\"CHARGEBACK_OPEN\"] = \"CHARGEBACK_OPEN\";\r\n ActivityOption[\"DELETE_FILE\"] = \"DELETE_FILE\";\r\n ActivityOption[\"EMAIL_SHIPPING_LABEL\"] = \"EMAIL_SHIPPING_LABEL\";\r\n ActivityOption[\"EXTERNAL_CLAIM_OPENED\"] = \"EXTERNAL_CLAIM_OPENED\";\r\n ActivityOption[\"GENERAL_TIME_OUT\"] = \"GENERAL_TIME_OUT\";\r\n ActivityOption[\"NOTIFIED_DELIVERED\"] = \"NOTIFIED_DELIVERED\";\r\n ActivityOption[\"NOTIFIED_SHIPPED\"] = \"NOTIFIED_SHIPPED\";\r\n ActivityOption[\"NOTIFY_REPLACEMENT_DELIVERED\"] = \"NOTIFY_REPLACEMENT_DELIVERED\";\r\n ActivityOption[\"NOTIFY_REPLACEMENT_SHIPPED\"] = \"NOTIFY_REPLACEMENT_SHIPPED\";\r\n ActivityOption[\"NOTIFY_UPDATE_REFUND_STATUS\"] = \"NOTIFY_UPDATE_REFUND_STATUS\";\r\n ActivityOption[\"OTHER\"] = \"OTHER\";\r\n ActivityOption[\"REMINDER_BUYER_TO_RESPOND_RE_OFFER\"] = \"REMINDER_BUYER_TO_RESPOND_RE_OFFER\";\r\n ActivityOption[\"REMINDER_BUYER_TO_SHIP\"] = \"REMINDER_BUYER_TO_SHIP\";\r\n ActivityOption[\"REMINDER_FOR_REFUND\"] = \"REMINDER_FOR_REFUND\";\r\n ActivityOption[\"REMINDER_FOR_REFUND_NO_SHIPPING\"] = \"REMINDER_FOR_REFUND_NO_SHIPPING\";\r\n ActivityOption[\"REMINDER_FOR_RMA\"] = \"REMINDER_FOR_RMA\";\r\n ActivityOption[\"REMINDER_FOR_SHIPPING\"] = \"REMINDER_FOR_SHIPPING\";\r\n ActivityOption[\"REMINDER_SELLER_TO_RESPOND\"] = \"REMINDER_SELLER_TO_RESPOND\";\r\n ActivityOption[\"REMINDER_SELLER_TO_SHIP\"] = \"REMINDER_SELLER_TO_SHIP\";\r\n ActivityOption[\"SELLER_APPROVE_REQUEST\"] = \"SELLER_APPROVE_REQUEST\";\r\n ActivityOption[\"SELLER_DECLINE_REQUEST\"] = \"SELLER_DECLINE_REQUEST\";\r\n ActivityOption[\"SELLER_ESCALATE\"] = \"SELLER_ESCALATE\";\r\n ActivityOption[\"SELLER_ISSUE_REFUND\"] = \"SELLER_ISSUE_REFUND\";\r\n ActivityOption[\"SELLER_ISSUE_STORE_CREDIT_REFUND\"] = \"SELLER_ISSUE_STORE_CREDIT_REFUND\";\r\n ActivityOption[\"SELLER_MARK_AS_RECEIVED\"] = \"SELLER_MARK_AS_RECEIVED\";\r\n ActivityOption[\"SELLER_MARK_REFUND_SENT\"] = \"SELLER_MARK_REFUND_SENT\";\r\n ActivityOption[\"SELLER_MARK_REPLACEMENT_SHIPPED\"] = \"SELLER_MARK_REPLACEMENT_SHIPPED\";\r\n ActivityOption[\"SELLER_OFFER_PARTIAL_REFUND\"] = \"SELLER_OFFER_PARTIAL_REFUND\";\r\n ActivityOption[\"SELLER_OFFER_REPLACEMENT\"] = \"SELLER_OFFER_REPLACEMENT\";\r\n ActivityOption[\"SELLER_OFFER_RETURNS\"] = \"SELLER_OFFER_RETURNS\";\r\n ActivityOption[\"SELLER_PRINT_SHIPPING_LABEL\"] = \"SELLER_PRINT_SHIPPING_LABEL\";\r\n ActivityOption[\"SELLER_PROVIDE_LABEL\"] = \"SELLER_PROVIDE_LABEL\";\r\n ActivityOption[\"SELLER_PROVIDE_RMA\"] = \"SELLER_PROVIDE_RMA\";\r\n ActivityOption[\"SELLER_PROVIDE_TRACKING_INFO\"] = \"SELLER_PROVIDE_TRACKING_INFO\";\r\n ActivityOption[\"SELLER_RETRY_REFUND\"] = \"SELLER_RETRY_REFUND\";\r\n ActivityOption[\"SELLER_SEND_MESSAGE\"] = \"SELLER_SEND_MESSAGE\";\r\n ActivityOption[\"SELLER_UPDATE_TRACKING\"] = \"SELLER_UPDATE_TRACKING\";\r\n ActivityOption[\"SELLER_VOID_LABEL\"] = \"SELLER_VOID_LABEL\";\r\n ActivityOption[\"SUBMIT_FILE\"] = \"SUBMIT_FILE\";\r\n ActivityOption[\"SYSTEM_BUYER_PARTIAL_REFUND_AS_PAYOUT\"] = \"SYSTEM_BUYER_PARTIAL_REFUND_AS_PAYOUT\";\r\n ActivityOption[\"SYSTEM_BUYER_REFUND_AS_PAYOUT\"] = \"SYSTEM_BUYER_REFUND_AS_PAYOUT\";\r\n ActivityOption[\"SYSTEM_CLOSE_RETURN\"] = \"SYSTEM_CLOSE_RETURN\";\r\n ActivityOption[\"SYSTEM_CREATE_RETURN\"] = \"SYSTEM_CREATE_RETURN\";\r\n ActivityOption[\"SYSTEM_IMMEDIATE_REFUND\"] = \"SYSTEM_IMMEDIATE_REFUND\";\r\n ActivityOption[\"TIME_OUT_AFTER_DECLINE\"] = \"TIME_OUT_AFTER_DECLINE\";\r\n ActivityOption[\"TIME_OUT_AFTER_REFUNDED\"] = \"TIME_OUT_AFTER_REFUNDED\";\r\n ActivityOption[\"TIME_OUT_AFTER_REFUNDED_AS_PAYOUT\"] = \"TIME_OUT_AFTER_REFUNDED_AS_PAYOUT\";\r\n ActivityOption[\"TIME_OUT_AFTER_REPLACED\"] = \"TIME_OUT_AFTER_REPLACED\";\r\n ActivityOption[\"TIME_OUT_FOR_AUTHORIZE\"] = \"TIME_OUT_FOR_AUTHORIZE\";\r\n ActivityOption[\"TIME_OUT_FOR_AUTO_REFUND\"] = \"TIME_OUT_FOR_AUTO_REFUND\";\r\n ActivityOption[\"TIME_OUT_FOR_BUYER_RECOUP\"] = \"TIME_OUT_FOR_BUYER_RECOUP\";\r\n ActivityOption[\"TIME_OUT_FOR_DELIVERY\"] = \"TIME_OUT_FOR_DELIVERY\";\r\n ActivityOption[\"TIME_OUT_FOR_ESCALATION\"] = \"TIME_OUT_FOR_ESCALATION\";\r\n ActivityOption[\"TIME_OUT_FOR_ESCALATION_AFTER_SMIR\"] = \"TIME_OUT_FOR_ESCALATION_AFTER_SMIR\";\r\n ActivityOption[\"TIME_OUT_FOR_ITEM_REPLACED\"] = \"TIME_OUT_FOR_ITEM_REPLACED\";\r\n ActivityOption[\"TIME_OUT_FOR_MARK_REFUND_RECEIVED\"] = \"TIME_OUT_FOR_MARK_REFUND_RECEIVED\";\r\n ActivityOption[\"TIME_OUT_FOR_MARK_REFUND_SENT\"] = \"TIME_OUT_FOR_MARK_REFUND_SENT\";\r\n ActivityOption[\"TIME_OUT_FOR_MASS_PAYOUT\"] = \"TIME_OUT_FOR_MASS_PAYOUT\";\r\n ActivityOption[\"TIME_OUT_FOR_PAYOUT\"] = \"TIME_OUT_FOR_PAYOUT\";\r\n ActivityOption[\"TIME_OUT_FOR_PROVIDE_LABEL\"] = \"TIME_OUT_FOR_PROVIDE_LABEL\";\r\n ActivityOption[\"TIME_OUT_FOR_REFUND\"] = \"TIME_OUT_FOR_REFUND\";\r\n ActivityOption[\"TIME_OUT_FOR_REPLACEMENT_DELIVERED_ITEM_NOT_RETURNED\"] = \"TIME_OUT_FOR_REPLACEMENT_DELIVERED_ITEM_NOT_RETURNED\";\r\n ActivityOption[\"TIME_OUT_FOR_REPLACEMENT_SHIPPED\"] = \"TIME_OUT_FOR_REPLACEMENT_SHIPPED\";\r\n ActivityOption[\"TIME_OUT_FOR_RETURN_SHIPPING\"] = \"TIME_OUT_FOR_RETURN_SHIPPING\";\r\n ActivityOption[\"TIME_OUT_FOR_RMA\"] = \"TIME_OUT_FOR_RMA\";\r\n ActivityOption[\"TIME_OUT_FOR_SELLER_INVOICE\"] = \"TIME_OUT_FOR_SELLER_INVOICE\";\r\n ActivityOption[\"TIME_OUT_FOR_SELLER_PAYOUT\"] = \"TIME_OUT_FOR_SELLER_PAYOUT\";\r\n ActivityOption[\"TIME_OUT_FOR_SHIPMENT_TRACKING\"] = \"TIME_OUT_FOR_SHIPMENT_TRACKING\";\r\n ActivityOption[\"TIME_OUT_FOR_SHIPPING\"] = \"TIME_OUT_FOR_SHIPPING\";\r\n ActivityOption[\"TIME_OUT_FOR_SHIPPING_SYSTEM_CLOSE\"] = \"TIME_OUT_FOR_SHIPPING_SYSTEM_CLOSE\";\r\n})(ActivityOption = exports.ActivityOption || (exports.ActivityOption = {}));\r\nvar StoreType;\r\n(function (StoreType) {\r\n StoreType[\"STORE\"] = \"STORE\";\r\n StoreType[\"WAREHOUSE\"] = \"WAREHOUSE\";\r\n})(StoreType = exports.StoreType || (exports.StoreType = {}));\r\nvar TimeDurationUnit;\r\n(function (TimeDurationUnit) {\r\n TimeDurationUnit[\"YEAR\"] = \"YEAR\";\r\n TimeDurationUnit[\"MONTH\"] = \"MONTH\";\r\n TimeDurationUnit[\"DAY\"] = \"DAY\";\r\n TimeDurationUnit[\"HOUR\"] = \"HOUR\";\r\n TimeDurationUnit[\"CALENDAR_DAY\"] = \"CALENDAR_DAY\";\r\n TimeDurationUnit[\"BUSINESS_DAY\"] = \"BUSINESS_DAY\";\r\n TimeDurationUnit[\"MINUTE\"] = \"MINUTE\";\r\n TimeDurationUnit[\"SECOND\"] = \"SECOND\";\r\n TimeDurationUnit[\"MILLISECOND\"] = \"MILLISECOND\";\r\n})(TimeDurationUnit = exports.TimeDurationUnit || (exports.TimeDurationUnit = {}));\r\nvar ShippingOptionType;\r\n(function (ShippingOptionType) {\r\n ShippingOptionType[\"DOMESTIC\"] = \"DOMESTIC\";\r\n ShippingOptionType[\"INTERNATIONAL\"] = \"INTERNATIONAL\";\r\n})(ShippingOptionType = exports.ShippingOptionType || (exports.ShippingOptionType = {}));\r\nvar ShippingCostType;\r\n(function (ShippingCostType) {\r\n ShippingCostType[\"CALCULATED\"] = \"CALCULATED\";\r\n ShippingCostType[\"FLAT_RATE\"] = \"FLAT_RATE\";\r\n ShippingCostType[\"NOT_SPECIFIED\"] = \"NOT_SPECIFIED\";\r\n})(ShippingCostType = exports.ShippingCostType || (exports.ShippingCostType = {}));\r\nvar PaymentsProgramType;\r\n(function (PaymentsProgramType) {\r\n PaymentsProgramType[\"EBAY_PAYMENTS\"] = \"EBAY_PAYMENTS\";\r\n})(PaymentsProgramType = exports.PaymentsProgramType || (exports.PaymentsProgramType = {}));\r\nvar PaymentsProgramStatus;\r\n(function (PaymentsProgramStatus) {\r\n PaymentsProgramStatus[\"OPTED_IN\"] = \"OPTED_IN\";\r\n PaymentsProgramStatus[\"NOT_OPTED_IN\"] = \"NOT_OPTED_IN\";\r\n})(PaymentsProgramStatus = exports.PaymentsProgramStatus || (exports.PaymentsProgramStatus = {}));\r\nvar PaymentMethodType;\r\n(function (PaymentMethodType) {\r\n PaymentMethodType[\"CASH_IN_PERSON\"] = \"CASH_IN_PERSON\";\r\n PaymentMethodType[\"CASH_ON_DELIVERY\"] = \"CASH_ON_DELIVERY\";\r\n PaymentMethodType[\"CASH_ON_PICKUP\"] = \"CASH_ON_PICKUP\";\r\n PaymentMethodType[\"CASHIER_CHECK\"] = \"CASHIER_CHECK\";\r\n PaymentMethodType[\"CREDIT_CARD\"] = \"CREDIT_CARD\";\r\n PaymentMethodType[\"ESCROW\"] = \"ESCROW\";\r\n PaymentMethodType[\"INTEGRATED_MERCHANT_CREDIT_CARD\"] = \"INTEGRATED_MERCHANT_CREDIT_CARD\";\r\n PaymentMethodType[\"LOAN_CHECK\"] = \"LOAN_CHECK\";\r\n PaymentMethodType[\"MONEY_ORDER\"] = \"MONEY_ORDER\";\r\n PaymentMethodType[\"PAISA_PAY\"] = \"PAISA_PAY\";\r\n PaymentMethodType[\"PAISA_PAY_ESCROW\"] = \"PAISA_PAY_ESCROW\";\r\n PaymentMethodType[\"PAISA_PAY_ESCROW_EMI\"] = \"PAISA_PAY_ESCROW_EMI\";\r\n PaymentMethodType[\"PAYPAL\"] = \"PAYPAL\";\r\n PaymentMethodType[\"PERSONAL_CHECK\"] = \"PERSONAL_CHECK\";\r\n PaymentMethodType[\"OTHER\"] = \"OTHER\";\r\n})(PaymentMethodType = exports.PaymentMethodType || (exports.PaymentMethodType = {}));\r\nvar RecipientAccountReferenceType;\r\n(function (RecipientAccountReferenceType) {\r\n RecipientAccountReferenceType[\"PAYPAL_EMAIL\"] = \"PAYPAL_EMAIL\";\r\n})(RecipientAccountReferenceType = exports.RecipientAccountReferenceType || (exports.RecipientAccountReferenceType = {}));\r\nvar CountryCode;\r\n(function (CountryCode) {\r\n CountryCode[\"AD\"] = \"AD\";\r\n CountryCode[\"AE\"] = \"AE\";\r\n CountryCode[\"AF\"] = \"AF\";\r\n CountryCode[\"AG\"] = \"AG\";\r\n CountryCode[\"AI\"] = \"AI\";\r\n CountryCode[\"AL\"] = \"AL\";\r\n CountryCode[\"AM\"] = \"AM\";\r\n CountryCode[\"AN\"] = \"AN\";\r\n CountryCode[\"AO\"] = \"AO\";\r\n CountryCode[\"AQ\"] = \"AQ\";\r\n CountryCode[\"AR\"] = \"AR\";\r\n CountryCode[\"AS\"] = \"AS\";\r\n CountryCode[\"AT\"] = \"AT\";\r\n CountryCode[\"AU\"] = \"AU\";\r\n CountryCode[\"AW\"] = \"AW\";\r\n CountryCode[\"AX\"] = \"AX\";\r\n CountryCode[\"AZ\"] = \"AZ\";\r\n CountryCode[\"BA\"] = \"BA\";\r\n CountryCode[\"BB\"] = \"BB\";\r\n CountryCode[\"BD\"] = \"BD\";\r\n CountryCode[\"BE\"] = \"BE\";\r\n CountryCode[\"BF\"] = \"BF\";\r\n CountryCode[\"BG\"] = \"BG\";\r\n CountryCode[\"BH\"] = \"BH\";\r\n CountryCode[\"BI\"] = \"BI\";\r\n CountryCode[\"BJ\"] = \"BJ\";\r\n CountryCode[\"BL\"] = \"BL\";\r\n CountryCode[\"BM\"] = \"BM\";\r\n CountryCode[\"BN\"] = \"BN\";\r\n CountryCode[\"BO\"] = \"BO\";\r\n CountryCode[\"BQ\"] = \"BQ\";\r\n CountryCode[\"BR\"] = \"BR\";\r\n CountryCode[\"BS\"] = \"BS\";\r\n CountryCode[\"BT\"] = \"BT\";\r\n CountryCode[\"BV\"] = \"BV\";\r\n CountryCode[\"BW\"] = \"BW\";\r\n CountryCode[\"BY\"] = \"BY\";\r\n CountryCode[\"BZ\"] = \"BZ\";\r\n CountryCode[\"CA\"] = \"CA\";\r\n CountryCode[\"CC\"] = \"CC\";\r\n CountryCode[\"CD\"] = \"CD\";\r\n CountryCode[\"CF\"] = \"CF\";\r\n CountryCode[\"CG\"] = \"CG\";\r\n CountryCode[\"CH\"] = \"CH\";\r\n CountryCode[\"CI\"] = \"CI\";\r\n CountryCode[\"CK\"] = \"CK\";\r\n CountryCode[\"CL\"] = \"CL\";\r\n CountryCode[\"CM\"] = \"CM\";\r\n CountryCode[\"CN\"] = \"CN\";\r\n CountryCode[\"CO\"] = \"CO\";\r\n CountryCode[\"CR\"] = \"CR\";\r\n CountryCode[\"CU\"] = \"CU\";\r\n CountryCode[\"CV\"] = \"CV\";\r\n CountryCode[\"CW\"] = \"CW\";\r\n CountryCode[\"CX\"] = \"CX\";\r\n CountryCode[\"CY\"] = \"CY\";\r\n CountryCode[\"CZ\"] = \"CZ\";\r\n CountryCode[\"DE\"] = \"DE\";\r\n CountryCode[\"DJ\"] = \"DJ\";\r\n CountryCode[\"DK\"] = \"DK\";\r\n CountryCode[\"DM\"] = \"DM\";\r\n CountryCode[\"DO\"] = \"DO\";\r\n CountryCode[\"DZ\"] = \"DZ\";\r\n CountryCode[\"EC\"] = \"EC\";\r\n CountryCode[\"EE\"] = \"EE\";\r\n CountryCode[\"EG\"] = \"EG\";\r\n CountryCode[\"EH\"] = \"EH\";\r\n CountryCode[\"ER\"] = \"ER\";\r\n CountryCode[\"ES\"] = \"ES\";\r\n CountryCode[\"ET\"] = \"ET\";\r\n CountryCode[\"FI\"] = \"FI\";\r\n CountryCode[\"FJ\"] = \"FJ\";\r\n CountryCode[\"FK\"] = \"FK\";\r\n CountryCode[\"FM\"] = \"FM\";\r\n CountryCode[\"FO\"] = \"FO\";\r\n CountryCode[\"FR\"] = \"FR\";\r\n CountryCode[\"GA\"] = \"GA\";\r\n CountryCode[\"GB\"] = \"GB\";\r\n CountryCode[\"GD\"] = \"GD\";\r\n CountryCode[\"GE\"] = \"GE\";\r\n CountryCode[\"GF\"] = \"GF\";\r\n CountryCode[\"GG\"] = \"GG\";\r\n CountryCode[\"GH\"] = \"GH\";\r\n CountryCode[\"GI\"] = \"GI\";\r\n CountryCode[\"GL\"] = \"GL\";\r\n CountryCode[\"GM\"] = \"GM\";\r\n CountryCode[\"GN\"] = \"GN\";\r\n CountryCode[\"GP\"] = \"GP\";\r\n CountryCode[\"GQ\"] = \"GQ\";\r\n CountryCode[\"GR\"] = \"GR\";\r\n CountryCode[\"GS\"] = \"GS\";\r\n CountryCode[\"GT\"] = \"GT\";\r\n CountryCode[\"GU\"] = \"GU\";\r\n CountryCode[\"GW\"] = \"GW\";\r\n CountryCode[\"GY\"] = \"GY\";\r\n CountryCode[\"HK\"] = \"HK\";\r\n CountryCode[\"HM\"] = \"HM\";\r\n CountryCode[\"HN\"] = \"HN\";\r\n CountryCode[\"HR\"] = \"HR\";\r\n CountryCode[\"HT\"] = \"HT\";\r\n CountryCode[\"HU\"] = \"HU\";\r\n CountryCode[\"ID\"] = \"ID\";\r\n CountryCode[\"IE\"] = \"IE\";\r\n CountryCode[\"IL\"] = \"IL\";\r\n CountryCode[\"IM\"] = \"IM\";\r\n CountryCode[\"IN\"] = \"IN\";\r\n CountryCode[\"IO\"] = \"IO\";\r\n CountryCode[\"IQ\"] = \"IQ\";\r\n CountryCode[\"IR\"] = \"IR\";\r\n CountryCode[\"IS\"] = \"IS\";\r\n CountryCode[\"IT\"] = \"IT\";\r\n CountryCode[\"JE\"] = \"JE\";\r\n CountryCode[\"JM\"] = \"JM\";\r\n CountryCode[\"JO\"] = \"JO\";\r\n CountryCode[\"JP\"] = \"JP\";\r\n CountryCode[\"KE\"] = \"KE\";\r\n CountryCode[\"KG\"] = \"KG\";\r\n CountryCode[\"KH\"] = \"KH\";\r\n CountryCode[\"KI\"] = \"KI\";\r\n CountryCode[\"KM\"] = \"KM\";\r\n CountryCode[\"KN\"] = \"KN\";\r\n CountryCode[\"KP\"] = \"KP\";\r\n CountryCode[\"KR\"] = \"KR\";\r\n CountryCode[\"KW\"] = \"KW\";\r\n CountryCode[\"KY\"] = \"KY\";\r\n CountryCode[\"KZ\"] = \"KZ\";\r\n CountryCode[\"LA\"] = \"LA\";\r\n CountryCode[\"LB\"] = \"LB\";\r\n CountryCode[\"LC\"] = \"LC\";\r\n CountryCode[\"LI\"] = \"LI\";\r\n CountryCode[\"LK\"] = \"LK\";\r\n CountryCode[\"LR\"] = \"LR\";\r\n CountryCode[\"LS\"] = \"LS\";\r\n CountryCode[\"LT\"] = \"LT\";\r\n CountryCode[\"LU\"] = \"LU\";\r\n CountryCode[\"LV\"] = \"LV\";\r\n CountryCode[\"LY\"] = \"LY\";\r\n CountryCode[\"MA\"] = \"MA\";\r\n CountryCode[\"MC\"] = \"MC\";\r\n CountryCode[\"MD\"] = \"MD\";\r\n CountryCode[\"ME\"] = \"ME\";\r\n CountryCode[\"MF\"] = \"MF\";\r\n CountryCode[\"MG\"] = \"MG\";\r\n CountryCode[\"MH\"] = \"MH\";\r\n CountryCode[\"MK\"] = \"MK\";\r\n CountryCode[\"ML\"] = \"ML\";\r\n CountryCode[\"MM\"] = \"MM\";\r\n CountryCode[\"MN\"] = \"MN\";\r\n CountryCode[\"MO\"] = \"MO\";\r\n CountryCode[\"MP\"] = \"MP\";\r\n CountryCode[\"MQ\"] = \"MQ\";\r\n CountryCode[\"MR\"] = \"MR\";\r\n CountryCode[\"MS\"] = \"MS\";\r\n CountryCode[\"MT\"] = \"MT\";\r\n CountryCode[\"MU\"] = \"MU\";\r\n CountryCode[\"MV\"] = \"MV\";\r\n CountryCode[\"MW\"] = \"MW\";\r\n CountryCode[\"MX\"] = \"MX\";\r\n CountryCode[\"MY\"] = \"MY\";\r\n CountryCode[\"MZ\"] = \"MZ\";\r\n CountryCode[\"NA\"] = \"NA\";\r\n CountryCode[\"NC\"] = \"NC\";\r\n CountryCode[\"NE\"] = \"NE\";\r\n CountryCode[\"NF\"] = \"NF\";\r\n CountryCode[\"NG\"] = \"NG\";\r\n CountryCode[\"NI\"] = \"NI\";\r\n CountryCode[\"NL\"] = \"NL\";\r\n CountryCode[\"NO\"] = \"NO\";\r\n CountryCode[\"NP\"] = \"NP\";\r\n CountryCode[\"NR\"] = \"NR\";\r\n CountryCode[\"NU\"] = \"NU\";\r\n CountryCode[\"NZ\"] = \"NZ\";\r\n CountryCode[\"OM\"] = \"OM\";\r\n CountryCode[\"PA\"] = \"PA\";\r\n CountryCode[\"PE\"] = \"PE\";\r\n CountryCode[\"PF\"] = \"PF\";\r\n CountryCode[\"PG\"] = \"PG\";\r\n CountryCode[\"PH\"] = \"PH\";\r\n CountryCode[\"PK\"] = \"PK\";\r\n CountryCode[\"PL\"] = \"PL\";\r\n CountryCode[\"PM\"] = \"PM\";\r\n CountryCode[\"PN\"] = \"PN\";\r\n CountryCode[\"PR\"] = \"PR\";\r\n CountryCode[\"PS\"] = \"PS\";\r\n CountryCode[\"PT\"] = \"PT\";\r\n CountryCode[\"PW\"] = \"PW\";\r\n CountryCode[\"PY\"] = \"PY\";\r\n CountryCode[\"QA\"] = \"QA\";\r\n CountryCode[\"RE\"] = \"RE\";\r\n CountryCode[\"RO\"] = \"RO\";\r\n CountryCode[\"RS\"] = \"RS\";\r\n CountryCode[\"RU\"] = \"RU\";\r\n CountryCode[\"RW\"] = \"RW\";\r\n CountryCode[\"SA\"] = \"SA\";\r\n CountryCode[\"SB\"] = \"SB\";\r\n CountryCode[\"SC\"] = \"SC\";\r\n CountryCode[\"SD\"] = \"SD\";\r\n CountryCode[\"SE\"] = \"SE\";\r\n CountryCode[\"SG\"] = \"SG\";\r\n CountryCode[\"SH\"] = \"SH\";\r\n CountryCode[\"SI\"] = \"SI\";\r\n CountryCode[\"SJ\"] = \"SJ\";\r\n CountryCode[\"SK\"] = \"SK\";\r\n CountryCode[\"SL\"] = \"SL\";\r\n CountryCode[\"SM\"] = \"SM\";\r\n CountryCode[\"SN\"] = \"SN\";\r\n CountryCode[\"SO\"] = \"SO\";\r\n CountryCode[\"SR\"] = \"SR\";\r\n CountryCode[\"ST\"] = \"ST\";\r\n CountryCode[\"SV\"] = \"SV\";\r\n CountryCode[\"SX\"] = \"SX\";\r\n CountryCode[\"SY\"] = \"SY\";\r\n CountryCode[\"SZ\"] = \"SZ\";\r\n CountryCode[\"TC\"] = \"TC\";\r\n CountryCode[\"TD\"] = \"TD\";\r\n CountryCode[\"TF\"] = \"TF\";\r\n CountryCode[\"TG\"] = \"TG\";\r\n CountryCode[\"TH\"] = \"TH\";\r\n CountryCode[\"TJ\"] = \"TJ\";\r\n CountryCode[\"TK\"] = \"TK\";\r\n CountryCode[\"TL\"] = \"TL\";\r\n CountryCode[\"TM\"] = \"TM\";\r\n CountryCode[\"TN\"] = \"TN\";\r\n CountryCode[\"TO\"] = \"TO\";\r\n CountryCode[\"TR\"] = \"TR\";\r\n CountryCode[\"TT\"] = \"TT\";\r\n CountryCode[\"TV\"] = \"TV\";\r\n CountryCode[\"TW\"] = \"TW\";\r\n CountryCode[\"TZ\"] = \"TZ\";\r\n CountryCode[\"UA\"] = \"UA\";\r\n CountryCode[\"UG\"] = \"UG\";\r\n CountryCode[\"UM\"] = \"UM\";\r\n CountryCode[\"US\"] = \"US\";\r\n CountryCode[\"UY\"] = \"UY\";\r\n CountryCode[\"UZ\"] = \"UZ\";\r\n CountryCode[\"VA\"] = \"VA\";\r\n CountryCode[\"VC\"] = \"VC\";\r\n CountryCode[\"VE\"] = \"VE\";\r\n CountryCode[\"VG\"] = \"VG\";\r\n CountryCode[\"VI\"] = \"VI\";\r\n CountryCode[\"VN\"] = \"VN\";\r\n CountryCode[\"VU\"] = \"VU\";\r\n CountryCode[\"WF\"] = \"WF\";\r\n CountryCode[\"WS\"] = \"WS\";\r\n CountryCode[\"YE\"] = \"YE\";\r\n CountryCode[\"YT\"] = \"YT\";\r\n CountryCode[\"ZA\"] = \"ZA\";\r\n CountryCode[\"ZM\"] = \"ZM\";\r\n CountryCode[\"ZW\"] = \"ZW\";\r\n})(CountryCode = exports.CountryCode || (exports.CountryCode = {}));\r\nvar CurrencyCode;\r\n(function (CurrencyCode) {\r\n CurrencyCode[\"AED\"] = \"AED\";\r\n CurrencyCode[\"AFN\"] = \"AFN\";\r\n CurrencyCode[\"ALL\"] = \"ALL\";\r\n CurrencyCode[\"AMD\"] = \"AMD\";\r\n CurrencyCode[\"ANG\"] = \"ANG\";\r\n CurrencyCode[\"AOA\"] = \"AOA\";\r\n CurrencyCode[\"ARS\"] = \"ARS\";\r\n CurrencyCode[\"AUD\"] = \"AUD\";\r\n CurrencyCode[\"AWG\"] = \"AWG\";\r\n CurrencyCode[\"AZN\"] = \"AZN\";\r\n CurrencyCode[\"BAM\"] = \"BAM\";\r\n CurrencyCode[\"BBD\"] = \"BBD\";\r\n CurrencyCode[\"BDT\"] = \"BDT\";\r\n CurrencyCode[\"BGN\"] = \"BGN\";\r\n CurrencyCode[\"BHD\"] = \"BHD\";\r\n CurrencyCode[\"BIF\"] = \"BIF\";\r\n CurrencyCode[\"BMD\"] = \"BMD\";\r\n CurrencyCode[\"BND\"] = \"BND\";\r\n CurrencyCode[\"BOB\"] = \"BOB\";\r\n CurrencyCode[\"BRL\"] = \"BRL\";\r\n CurrencyCode[\"BSD\"] = \"BSD\";\r\n CurrencyCode[\"BTN\"] = \"BTN\";\r\n CurrencyCode[\"BWP\"] = \"BWP\";\r\n CurrencyCode[\"BYR\"] = \"BYR\";\r\n CurrencyCode[\"BZD\"] = \"BZD\";\r\n CurrencyCode[\"CAD\"] = \"CAD\";\r\n CurrencyCode[\"CDF\"] = \"CDF\";\r\n CurrencyCode[\"CHF\"] = \"CHF\";\r\n CurrencyCode[\"CLP\"] = \"CLP\";\r\n CurrencyCode[\"CNY\"] = \"CNY\";\r\n CurrencyCode[\"COP\"] = \"COP\";\r\n CurrencyCode[\"CRC\"] = \"CRC\";\r\n CurrencyCode[\"CUP\"] = \"CUP\";\r\n CurrencyCode[\"CVE\"] = \"CVE\";\r\n CurrencyCode[\"CZK\"] = \"CZK\";\r\n CurrencyCode[\"DJF\"] = \"DJF\";\r\n CurrencyCode[\"DKK\"] = \"DKK\";\r\n CurrencyCode[\"DOP\"] = \"DOP\";\r\n CurrencyCode[\"DZD\"] = \"DZD\";\r\n CurrencyCode[\"EGP\"] = \"EGP\";\r\n CurrencyCode[\"ERN\"] = \"ERN\";\r\n CurrencyCode[\"ETB\"] = \"ETB\";\r\n CurrencyCode[\"EUR\"] = \"EUR\";\r\n CurrencyCode[\"FJD\"] = \"FJD\";\r\n CurrencyCode[\"FKP\"] = \"FKP\";\r\n CurrencyCode[\"GBP\"] = \"GBP\";\r\n CurrencyCode[\"GEL\"] = \"GEL\";\r\n CurrencyCode[\"GHS\"] = \"GHS\";\r\n CurrencyCode[\"GIP\"] = \"GIP\";\r\n CurrencyCode[\"GMD\"] = \"GMD\";\r\n CurrencyCode[\"GNF\"] = \"GNF\";\r\n CurrencyCode[\"GTQ\"] = \"GTQ\";\r\n CurrencyCode[\"GYD\"] = \"GYD\";\r\n CurrencyCode[\"HKD\"] = \"HKD\";\r\n CurrencyCode[\"HNL\"] = \"HNL\";\r\n CurrencyCode[\"HRK\"] = \"HRK\";\r\n CurrencyCode[\"HTG\"] = \"HTG\";\r\n CurrencyCode[\"HUF\"] = \"HUF\";\r\n CurrencyCode[\"IDR\"] = \"IDR\";\r\n CurrencyCode[\"ILS\"] = \"ILS\";\r\n CurrencyCode[\"INR\"] = \"INR\";\r\n CurrencyCode[\"IQD\"] = \"IQD\";\r\n CurrencyCode[\"IRR\"] = \"IRR\";\r\n CurrencyCode[\"ISK\"] = \"ISK\";\r\n CurrencyCode[\"JMD\"] = \"JMD\";\r\n CurrencyCode[\"JOD\"] = \"JOD\";\r\n CurrencyCode[\"JPY\"] = \"JPY\";\r\n CurrencyCode[\"KES\"] = \"KES\";\r\n CurrencyCode[\"KGS\"] = \"KGS\";\r\n CurrencyCode[\"KHR\"] = \"KHR\";\r\n CurrencyCode[\"KMF\"] = \"KMF\";\r\n CurrencyCode[\"KPW\"] = \"KPW\";\r\n CurrencyCode[\"KRW\"] = \"KRW\";\r\n CurrencyCode[\"KWD\"] = \"KWD\";\r\n CurrencyCode[\"KYD\"] = \"KYD\";\r\n CurrencyCode[\"KZT\"] = \"KZT\";\r\n CurrencyCode[\"LAK\"] = \"LAK\";\r\n CurrencyCode[\"LBP\"] = \"LBP\";\r\n CurrencyCode[\"LKR\"] = \"LKR\";\r\n CurrencyCode[\"LRD\"] = \"LRD\";\r\n CurrencyCode[\"LSL\"] = \"LSL\";\r\n CurrencyCode[\"LTL\"] = \"LTL\";\r\n CurrencyCode[\"LYD\"] = \"LYD\";\r\n CurrencyCode[\"MAD\"] = \"MAD\";\r\n CurrencyCode[\"MDL\"] = \"MDL\";\r\n CurrencyCode[\"MGA\"] = \"MGA\";\r\n CurrencyCode[\"MKD\"] = \"MKD\";\r\n CurrencyCode[\"MMK\"] = \"MMK\";\r\n CurrencyCode[\"MNT\"] = \"MNT\";\r\n CurrencyCode[\"MOP\"] = \"MOP\";\r\n CurrencyCode[\"MRO\"] = \"MRO\";\r\n CurrencyCode[\"MUR\"] = \"MUR\";\r\n CurrencyCode[\"MVR\"] = \"MVR\";\r\n CurrencyCode[\"MWK\"] = \"MWK\";\r\n CurrencyCode[\"MXN\"] = \"MXN\";\r\n CurrencyCode[\"MYR\"] = \"MYR\";\r\n CurrencyCode[\"MZN\"] = \"MZN\";\r\n CurrencyCode[\"NAD\"] = \"NAD\";\r\n CurrencyCode[\"NGN\"] = \"NGN\";\r\n CurrencyCode[\"NIO\"] = \"NIO\";\r\n CurrencyCode[\"NOK\"] = \"NOK\";\r\n CurrencyCode[\"NPR\"] = \"NPR\";\r\n CurrencyCode[\"NZD\"] = \"NZD\";\r\n CurrencyCode[\"OMR\"] = \"OMR\";\r\n CurrencyCode[\"PAB\"] = \"PAB\";\r\n CurrencyCode[\"PEN\"] = \"PEN\";\r\n CurrencyCode[\"PGK\"] = \"PGK\";\r\n CurrencyCode[\"PHP\"] = \"PHP\";\r\n CurrencyCode[\"PKR\"] = \"PKR\";\r\n CurrencyCode[\"PLN\"] = \"PLN\";\r\n CurrencyCode[\"PYG\"] = \"PYG\";\r\n CurrencyCode[\"QAR\"] = \"QAR\";\r\n CurrencyCode[\"RON\"] = \"RON\";\r\n CurrencyCode[\"RSD\"] = \"RSD\";\r\n CurrencyCode[\"RUB\"] = \"RUB\";\r\n CurrencyCode[\"RWF\"] = \"RWF\";\r\n CurrencyCode[\"SAR\"] = \"SAR\";\r\n CurrencyCode[\"SBD\"] = \"SBD\";\r\n CurrencyCode[\"SCR\"] = \"SCR\";\r\n CurrencyCode[\"SDG\"] = \"SDG\";\r\n CurrencyCode[\"SEK\"] = \"SEK\";\r\n CurrencyCode[\"SGD\"] = \"SGD\";\r\n CurrencyCode[\"SHP\"] = \"SHP\";\r\n CurrencyCode[\"SLL\"] = \"SLL\";\r\n CurrencyCode[\"SOS\"] = \"SOS\";\r\n CurrencyCode[\"SRD\"] = \"SRD\";\r\n CurrencyCode[\"STD\"] = \"STD\";\r\n CurrencyCode[\"SYP\"] = \"SYP\";\r\n CurrencyCode[\"SZL\"] = \"SZL\";\r\n CurrencyCode[\"THB\"] = \"THB\";\r\n CurrencyCode[\"TJS\"] = \"TJS\";\r\n CurrencyCode[\"TMT\"] = \"TMT\";\r\n CurrencyCode[\"TND\"] = \"TND\";\r\n CurrencyCode[\"TOP\"] = \"TOP\";\r\n CurrencyCode[\"TRY\"] = \"TRY\";\r\n CurrencyCode[\"TTD\"] = \"TTD\";\r\n CurrencyCode[\"TWD\"] = \"TWD\";\r\n CurrencyCode[\"TZS\"] = \"TZS\";\r\n CurrencyCode[\"UAH\"] = \"UAH\";\r\n CurrencyCode[\"UGX\"] = \"UGX\";\r\n CurrencyCode[\"USD\"] = \"USD\";\r\n CurrencyCode[\"UYU\"] = \"UYU\";\r\n CurrencyCode[\"UZS\"] = \"UZS\";\r\n CurrencyCode[\"VEF\"] = \"VEF\";\r\n CurrencyCode[\"VND\"] = \"VND\";\r\n CurrencyCode[\"VUV\"] = \"VUV\";\r\n CurrencyCode[\"WST\"] = \"WST\";\r\n CurrencyCode[\"XAF\"] = \"XAF\";\r\n CurrencyCode[\"XCD\"] = \"XCD\";\r\n CurrencyCode[\"XOF\"] = \"XOF\";\r\n CurrencyCode[\"XPF\"] = \"XPF\";\r\n CurrencyCode[\"YER\"] = \"YER\";\r\n CurrencyCode[\"ZAR\"] = \"ZAR\";\r\n CurrencyCode[\"ZMW\"] = \"ZMW\";\r\n CurrencyCode[\"ZWL\"] = \"ZWL\";\r\n})(CurrencyCode = exports.CurrencyCode || (exports.CurrencyCode = {}));\r\nvar Condition;\r\n(function (Condition) {\r\n Condition[\"NEW\"] = \"NEW\";\r\n Condition[\"LIKE_NEW\"] = \"LIKE_NEW\";\r\n Condition[\"NEW_OTHER\"] = \"NEW_OTHER\";\r\n Condition[\"NEW_WITH_DEFECTS\"] = \"NEW_WITH_DEFECTS\";\r\n Condition[\"MANUFACTURER_REFURBISHED\"] = \"MANUFACTURER_REFURBISHED\";\r\n Condition[\"SELLER_REFURBISHED\"] = \"SELLER_REFURBISHED\";\r\n Condition[\"USED_EXCELLENT\"] = \"USED_EXCELLENT\";\r\n Condition[\"USED_VERY_GOOD\"] = \"USED_VERY_GOOD\";\r\n Condition[\"USED_GOOD\"] = \"USED_GOOD\";\r\n Condition[\"USED_ACCEPTABLE\"] = \"USED_ACCEPTABLE\";\r\n Condition[\"FOR_PARTS_OR_NOT_WORKING\"] = \"FOR_PARTS_OR_NOT_WORKING\";\r\n})(Condition = exports.Condition || (exports.Condition = {}));\r\nvar Locale;\r\n(function (Locale) {\r\n Locale[\"en_US\"] = \"en_US\";\r\n Locale[\"en_CA\"] = \"en_CA\";\r\n Locale[\"fr_CA\"] = \"fr_CA\";\r\n Locale[\"en_GB\"] = \"en_GB\";\r\n Locale[\"en_AU\"] = \"en_AU\";\r\n Locale[\"en_IN\"] = \"en_IN\";\r\n Locale[\"de_AT\"] = \"de_AT\";\r\n Locale[\"fr_BE\"] = \"fr_BE\";\r\n Locale[\"fr_FR\"] = \"fr_FR\";\r\n Locale[\"de_DE\"] = \"de_DE\";\r\n Locale[\"it_IT\"] = \"it_IT\";\r\n Locale[\"nl_BE\"] = \"nl_BE\";\r\n Locale[\"nl_NL\"] = \"nl_NL\";\r\n Locale[\"es_ES\"] = \"es_ES\";\r\n Locale[\"de_CH\"] = \"de_CH\";\r\n Locale[\"fi_FI\"] = \"fi_FI\";\r\n Locale[\"zh_HK\"] = \"zh_HK\";\r\n Locale[\"hu_HU\"] = \"hu_HU\";\r\n Locale[\"en_PH\"] = \"en_PH\";\r\n Locale[\"pl_PL\"] = \"pl_PL\";\r\n Locale[\"pt_PT\"] = \"pt_PT\";\r\n Locale[\"ru_RU\"] = \"ru_RU\";\r\n Locale[\"en_SG\"] = \"en_SG\";\r\n Locale[\"en_IE\"] = \"en_IE\";\r\n Locale[\"en_MY\"] = \"en_MY\";\r\n})(Locale = exports.Locale || (exports.Locale = {}));\r\nvar ContentLanguage;\r\n(function (ContentLanguage) {\r\n ContentLanguage[\"de_AT\"] = \"de-AT\";\r\n ContentLanguage[\"de_CH\"] = \"de-CH\";\r\n ContentLanguage[\"de_DE\"] = \"de-DE\";\r\n ContentLanguage[\"en_AU\"] = \"en-AU\";\r\n ContentLanguage[\"en_CA\"] = \"en-CA\";\r\n ContentLanguage[\"en_GB\"] = \"en-GB\";\r\n ContentLanguage[\"en_IE\"] = \"en-IE\";\r\n ContentLanguage[\"en_PH\"] = \"en-PH\";\r\n ContentLanguage[\"en_US\"] = \"en-US\";\r\n ContentLanguage[\"es_ES\"] = \"es-ES\";\r\n ContentLanguage[\"fr_BE\"] = \"fr-BE\";\r\n ContentLanguage[\"fr_CA\"] = \"fr-CA\";\r\n ContentLanguage[\"fr_FR\"] = \"fr-FR\";\r\n ContentLanguage[\"it_IT\"] = \"it-IT\";\r\n ContentLanguage[\"nl_BE\"] = \"nl-BE\";\r\n ContentLanguage[\"nl_NL\"] = \"nl-NL\";\r\n ContentLanguage[\"pl_PL\"] = \"pl-PL\";\r\n ContentLanguage[\"th_TH\"] = \"th-TH\";\r\n ContentLanguage[\"zh_HK\"] = \"zh-HK\";\r\n ContentLanguage[\"zh_TW\"] = \"zh-TW\";\r\n})(ContentLanguage = exports.ContentLanguage || (exports.ContentLanguage = {}));\r\nvar Marketplace;\r\n(function (Marketplace) {\r\n Marketplace[\"EBAY_US\"] = \"EBAY_US\";\r\n Marketplace[\"EBAY_MOTORS\"] = \"EBAY_MOTORS\";\r\n Marketplace[\"EBAY_CA\"] = \"EBAY_CA\";\r\n Marketplace[\"EBAY_GB\"] = \"EBAY_GB\";\r\n Marketplace[\"EBAY_AU\"] = \"EBAY_AU\";\r\n Marketplace[\"EBAY_AT\"] = \"EBAY_AT\";\r\n Marketplace[\"EBAY_BE\"] = \"EBAY_BE\";\r\n Marketplace[\"EBAY_FR\"] = \"EBAY_FR\";\r\n Marketplace[\"EBAY_DE\"] = \"EBAY_DE\";\r\n Marketplace[\"EBAY_IT\"] = \"EBAY_IT\";\r\n Marketplace[\"EBAY_NL\"] = \"EBAY_NL\";\r\n Marketplace[\"EBAY_ES\"] = \"EBAY_ES\";\r\n Marketplace[\"EBAY_CH\"] = \"EBAY_CH\";\r\n Marketplace[\"EBAY_TW\"] = \"EBAY_TW\";\r\n Marketplace[\"EBAY_CZ\"] = \"EBAY_CZ\";\r\n Marketplace[\"EBAY_DK\"] = \"EBAY_DK\";\r\n Marketplace[\"EBAY_FI\"] = \"EBAY_FI\";\r\n Marketplace[\"EBAY_GR\"] = \"EBAY_GR\";\r\n Marketplace[\"EBAY_HK\"] = \"EBAY_HK\";\r\n Marketplace[\"EBAY_HU\"] = \"EBAY_HU\";\r\n Marketplace[\"EBAY_IN\"] = \"EBAY_IN\";\r\n Marketplace[\"EBAY_ID\"] = \"EBAY_ID\";\r\n Marketplace[\"EBAY_IE\"] = \"EBAY_IE\";\r\n Marketplace[\"EBAY_IL\"] = \"EBAY_IL\";\r\n Marketplace[\"EBAY_MY\"] = \"EBAY_MY\";\r\n Marketplace[\"EBAY_NZ\"] = \"EBAY_NZ\";\r\n Marketplace[\"EBAY_NO\"] = \"EBAY_NO\";\r\n Marketplace[\"EBAY_PH\"] = \"EBAY_PH\";\r\n Marketplace[\"EBAY_PL\"] = \"EBAY_PL\";\r\n Marketplace[\"EBAY_PT\"] = \"EBAY_PT\";\r\n Marketplace[\"EBAY_PR\"] = \"EBAY_PR\";\r\n Marketplace[\"EBAY_RU\"] = \"EBAY_RU\";\r\n Marketplace[\"EBAY_SG\"] = \"EBAY_SG\";\r\n Marketplace[\"EBAY_ZA\"] = \"EBAY_ZA\";\r\n Marketplace[\"EBAY_SE\"] = \"EBAY_SE\";\r\n Marketplace[\"EBAY_TH\"] = \"EBAY_TH\";\r\n Marketplace[\"EBAY_VN\"] = \"EBAY_VN\";\r\n Marketplace[\"EBAY_CN\"] = \"EBAY_CN\";\r\n Marketplace[\"EBAY_PE\"] = \"EBAY_PE\";\r\n Marketplace[\"EBAY_JP\"] = \"EBAY_JP\";\r\n})(Marketplace = exports.Marketplace || (exports.Marketplace = {}));\r\nvar FormatType;\r\n(function (FormatType) {\r\n FormatType[\"AUCTION\"] = \"AUCTION\";\r\n FormatType[\"FIXED_PRICE\"] = \"FIXED_PRICE\";\r\n})(FormatType = exports.FormatType || (exports.FormatType = {}));\r\nvar Metric;\r\n(function (Metric) {\r\n Metric[Metric[\"CLICK_THROUGH_RATE\"] = 0] = \"CLICK_THROUGH_RATE\";\r\n Metric[Metric[\"LISTING_IMPRESSION_STORE\"] = 1] = \"LISTING_IMPRESSION_STORE\";\r\n Metric[Metric[\"LISTING_IMPRESSION_TOTAL\"] = 2] = \"LISTING_IMPRESSION_TOTAL\";\r\n Metric[Metric[\"LISTING_VIEWS_SOURCE_DIRECT\"] = 3] = \"LISTING_VIEWS_SOURCE_DIRECT\";\r\n Metric[Metric[\"LISTING_VIEWS_SOURCE_OFF_EBAY\"] = 4] = \"LISTING_VIEWS_SOURCE_OFF_EBAY\";\r\n Metric[Metric[\"LISTING_VIEWS_SOURCE_OTHER_EBAY\"] = 5] = \"LISTING_VIEWS_SOURCE_OTHER_EBAY\";\r\n Metric[Metric[\"LISTING_VIEWS_SOURCE_SEARCH_RESULTS_PAGE\"] = 6] = \"LISTING_VIEWS_SOURCE_SEARCH_RESULTS_PAGE\";\r\n Metric[Metric[\"LISTING_VIEWS_SOURCE_STORE\"] = 7] = \"LISTING_VIEWS_SOURCE_STORE\";\r\n Metric[Metric[\"LISTING_VIEWS_TOTAL\"] = 8] = \"LISTING_VIEWS_TOTAL\";\r\n Metric[Metric[\"SALES_CONVERSION_RATE\"] = 9] = \"SALES_CONVERSION_RATE\";\r\n Metric[Metric[\"TRANSACTION\"] = 10] = \"TRANSACTION\";\r\n})(Metric = exports.Metric || (exports.Metric = {}));\r\nvar RefundMethod;\r\n(function (RefundMethod) {\r\n RefundMethod[\"MERCHANDISE_CREDIT\"] = \"MERCHANDISE_CREDIT\";\r\n RefundMethod[\"MONEY_BACK\"] = \"MONEY_BACK\";\r\n})(RefundMethod = exports.RefundMethod || (exports.RefundMethod = {}));\r\nvar ReturnMethod;\r\n(function (ReturnMethod) {\r\n ReturnMethod[\"EXCHANGE\"] = \"EXCHANGE\";\r\n ReturnMethod[\"REPLACEMENT\"] = \"REPLACEMENT\";\r\n})(ReturnMethod = exports.ReturnMethod || (exports.ReturnMethod = {}));\r\nvar ReturnShippingCostPayer;\r\n(function (ReturnShippingCostPayer) {\r\n ReturnShippingCostPayer[\"BUYER\"] = \"BUYER\";\r\n ReturnShippingCostPayer[\"SELLER\"] = \"SELLER\";\r\n})(ReturnShippingCostPayer = exports.ReturnShippingCostPayer || (exports.ReturnShippingCostPayer = {}));\r\nvar RegionType;\r\n(function (RegionType) {\r\n RegionType[\"COUNTRY\"] = \"COUNTRY\";\r\n RegionType[\"COUNTRY_REGION\"] = \"COUNTRY_REGION\";\r\n RegionType[\"STATE_OR_PROVINCE\"] = \"STATE_OR_PROVINCE\";\r\n RegionType[\"WORLD_REGION\"] = \"WORLD_REGION\";\r\n RegionType[\"WORLDWIDE\"] = \"WORLDWIDE\";\r\n})(RegionType = exports.RegionType || (exports.RegionType = {}));\r\nvar ReasonForRefund;\r\n(function (ReasonForRefund) {\r\n ReasonForRefund[\"BUYER_CANCEL\"] = \"BUYER_CANCEL\";\r\n ReasonForRefund[\"SELLER_CANCEL\"] = \"SELLER_CANCEL\";\r\n ReasonForRefund[\"ITEM_NOT_RECEIVED\"] = \"ITEM_NOT_RECEIVED\";\r\n ReasonForRefund[\"BUYER_RETURN\"] = \"BUYER_RETURN\";\r\n ReasonForRefund[\"ITEM_NOT_AS_DESCRIBED\"] = \"ITEM_NOT_AS_DESCRIBED\";\r\n ReasonForRefund[\"OTHER_ADJUSTMENT\"] = \"OTHER_ADJUSTMENT\";\r\n ReasonForRefund[\"SHIPPING_DISCOUNT\"] = \"SHIPPING_DISCOUNT\";\r\n})(ReasonForRefund = exports.ReasonForRefund || (exports.ReasonForRefund = {}));\r\nvar CancelReason;\r\n(function (CancelReason) {\r\n CancelReason[\"ADDRESS_ISSUES\"] = \"ADDRESS_ISSUES\";\r\n CancelReason[\"BUYER_ASKED_CANCEL\"] = \"BUYER_ASKED_CANCEL\";\r\n CancelReason[\"BUYER_CANCEL_OR_ADDRESS_ISSUE\"] = \"BUYER_CANCEL_OR_ADDRESS_ISSUE\";\r\n CancelReason[\"FOUND_CHEAPER_PRICE\"] = \"FOUND_CHEAPER_PRICE\";\r\n CancelReason[\"ORDER_MISTAKE\"] = \"ORDER_MISTAKE\";\r\n CancelReason[\"ORDER_UNPAID\"] = \"ORDER_UNPAID\";\r\n CancelReason[\"OTHER\"] = \"OTHER\";\r\n CancelReason[\"OUT_OF_STOCK_OR_CANNOT_FULFILL\"] = \"OUT_OF_STOCK_OR_CANNOT_FULFILL\";\r\n CancelReason[\"PRICE_TOO_HIGH\"] = \"PRICE_TOO_HIGH\";\r\n CancelReason[\"UNKNOWN\"] = \"UNKNOWN\";\r\n CancelReason[\"WONT_ARRIVE_IN_TIME\"] = \"WONT_ARRIVE_IN_TIME\";\r\n CancelReason[\"WRONG_PAYMENT_METHOD\"] = \"WRONG_PAYMENT_METHOD\";\r\n CancelReason[\"WRONG_SHIPPING_ADDRESS\"] = \"WRONG_SHIPPING_ADDRESS\";\r\n CancelReason[\"WRONG_SHIPPING_METHOD\"] = \"WRONG_SHIPPING_METHOD\";\r\n})(CancelReason = exports.CancelReason || (exports.CancelReason = {}));\r\nvar LengthUnitOfMeasure;\r\n(function (LengthUnitOfMeasure) {\r\n LengthUnitOfMeasure[\"INCH\"] = \"INCH\";\r\n LengthUnitOfMeasure[\"FEET\"] = \"FEET\";\r\n LengthUnitOfMeasure[\"CENTIMETER\"] = \"CENTIMETER\";\r\n LengthUnitOfMeasure[\"METER\"] = \"METER\";\r\n})(LengthUnitOfMeasure = exports.LengthUnitOfMeasure || (exports.LengthUnitOfMeasure = {}));\r\nvar WeightUnitOfMeasure;\r\n(function (WeightUnitOfMeasure) {\r\n WeightUnitOfMeasure[\"POUND\"] = \"POUND\";\r\n WeightUnitOfMeasure[\"KILOGRAM\"] = \"KILOGRAM\";\r\n WeightUnitOfMeasure[\"OUNCE\"] = \"OUNCE\";\r\n WeightUnitOfMeasure[\"GRAM\"] = \"GRAM\";\r\n})(WeightUnitOfMeasure = exports.WeightUnitOfMeasure || (exports.WeightUnitOfMeasure = {}));\r\nvar PackageType;\r\n(function (PackageType) {\r\n PackageType[\"LETTER\"] = \"LETTER\";\r\n PackageType[\"BULKY_GOODS\"] = \"BULKY_GOODS\";\r\n PackageType[\"CARAVAN\"] = \"CARAVAN\";\r\n PackageType[\"CARS\"] = \"CARS\";\r\n PackageType[\"EUROPALLET\"] = \"EUROPALLET\";\r\n PackageType[\"EXPANDABLE_TOUGH_BAGS\"] = \"EXPANDABLE_TOUGH_BAGS\";\r\n PackageType[\"EXTRA_LARGE_PACK\"] = \"EXTRA_LARGE_PACK\";\r\n PackageType[\"FURNITURE\"] = \"FURNITURE\";\r\n PackageType[\"INDUSTRY_VEHICLES\"] = \"INDUSTRY_VEHICLES\";\r\n PackageType[\"LARGE_CANADA_POSTBOX\"] = \"LARGE_CANADA_POSTBOX\";\r\n PackageType[\"LARGE_CANADA_POST_BUBBLE_MAILER\"] = \"LARGE_CANADA_POST_BUBBLE_MAILER\";\r\n PackageType[\"LARGE_ENVELOPE\"] = \"LARGE_ENVELOPE\";\r\n PackageType[\"MAILING_BOX\"] = \"MAILING_BOX\";\r\n PackageType[\"MEDIUM_CANADA_POST_BOX\"] = \"MEDIUM_CANADA_POST_BOX\";\r\n PackageType[\"MEDIUM_CANADA_POST_BUBBLE_MAILER\"] = \"MEDIUM_CANADA_POST_BUBBLE_MAILER\";\r\n PackageType[\"MOTORBIKES\"] = \"MOTORBIKES\";\r\n PackageType[\"ONE_WAY_PALLET\"] = \"ONE_WAY_PALLET\";\r\n PackageType[\"PACKAGE_THICK_ENVELOPE\"] = \"PACKAGE_THICK_ENVELOPE\";\r\n PackageType[\"PADDED_BAGS\"] = \"PADDED_BAGS\";\r\n PackageType[\"PARCEL_OR_PADDED_ENVELOPE\"] = \"PARCEL_OR_PADDED_ENVELOPE\";\r\n PackageType[\"ROLL\"] = \"ROLL\";\r\n PackageType[\"SMALL_CANADA_POST_BOX\"] = \"SMALL_CANADA_POST_BOX\";\r\n PackageType[\"SMALL_CANADA_POST_BUBBLE_MAILER\"] = \"SMALL_CANADA_POST_BUBBLE_MAILER\";\r\n PackageType[\"TOUGH_BAGS\"] = \"TOUGH_BAGS\";\r\n PackageType[\"UPS_LETTER\"] = \"UPS_LETTER\";\r\n PackageType[\"USPS_FLAT_RATE_ENVELOPE\"] = \"USPS_FLAT_RATE_ENVELOPE\";\r\n PackageType[\"USPS_LARGE_PACK\"] = \"USPS_LARGE_PACK\";\r\n PackageType[\"VERY_LARGE_PACK\"] = \"VERY_LARGE_PACK\";\r\n PackageType[\"WINE_PAK\"] = \"WINE_PAK\";\r\n})(PackageType = exports.PackageType || (exports.PackageType = {}));\r\n//# sourceMappingURL=restfulEnums.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__exportStar(require(\"./apiEnums\"), exports);\r\n__exportStar(require(\"./restfulEnums\"), exports);\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nvar __importDefault = (this && this.__importDefault) || function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n};\r\nconst api_1 = __importDefault(require(\"./api\"));\r\nconst apiFactory_1 = __importDefault(require(\"./api/apiFactory\"));\r\nconst enums_1 = require(\"./enums\");\r\nconst errors_1 = require(\"./errors\");\r\nconst defaultConfig = {\r\n sandbox: false,\r\n autoRefreshToken: true,\r\n siteId: enums_1.SiteId.EBAY_US,\r\n marketplaceId: enums_1.MarketplaceId.EBAY_US,\r\n acceptLanguage: enums_1.Locale.en_US,\r\n contentLanguage: enums_1.ContentLanguage.en_US\r\n};\r\n// tslint:disable-next-line:class-name\r\nclass eBayApi extends api_1.default {\r\n /**\r\n * @param {AppConfig} config the app config\r\n * @param {IEBayApiRequest} req the request\r\n */\r\n constructor(config, req) {\r\n super({ ...defaultConfig, ...config }, req);\r\n this.factory = new apiFactory_1.default(this.config, this.req, this.auth);\r\n // Shortcuts\r\n this.authNAuth = this.auth.authNAuth;\r\n this.OAuth2 = this.auth.OAuth2;\r\n this.oAuth2 = this.OAuth2;\r\n }\r\n /**\r\n * Loads config from `process.env`\r\n *\r\n * @return {eBayApi} a new eBayApi instance\r\n * @param {request} req request\r\n * @throws {ApiEnvError}\r\n */\r\n static fromEnv(req) {\r\n if (!process.env.EBAY_APP_ID) {\r\n throw new errors_1.ApiEnvError('EBAY_APP_ID');\r\n }\r\n if (!process.env.EBAY_CERT_ID) {\r\n throw new errors_1.ApiEnvError('EBAY_CERT_ID');\r\n }\r\n return new eBayApi({\r\n appId: process.env.EBAY_APP_ID,\r\n certId: process.env.EBAY_CERT_ID,\r\n devId: process.env.EBAY_DEV_ID,\r\n authToken: process.env.EBAY_AUTH_TOKEN,\r\n siteId: process.env.EBAY_SITE_ID ? parseInt(process.env.EBAY_SITE_ID, 10) : enums_1.SiteId.EBAY_US,\r\n marketplaceId: process.env.EBAY_MARKETPLACE_ID && process.env.EBAY_MARKETPLACE_ID in enums_1.MarketplaceId ?\r\n enums_1.MarketplaceId[process.env.EBAY_MARKETPLACE_ID] :\r\n enums_1.MarketplaceId.EBAY_US,\r\n ruName: process.env.EBAY_RU_NAME,\r\n sandbox: (process.env.EBAY_SANDBOX === 'true')\r\n }, req);\r\n }\r\n get buy() {\r\n return this._buy || (this._buy = this.factory.createBuyApi());\r\n }\r\n get commerce() {\r\n return this._commerce || (this._commerce = this.factory.createCommerceApi());\r\n }\r\n get developer() {\r\n return this._developer || (this._developer = this.factory.createDeveloperApi());\r\n }\r\n get postOrder() {\r\n return this._postOrder || (this._postOrder = this.factory.createPostOrderApi());\r\n }\r\n get sell() {\r\n return this._sell || (this._sell = this.factory.createSellApi());\r\n }\r\n // Traditional\r\n get trading() {\r\n return this._trading || (this._trading = this.factory.createTradingApi());\r\n }\r\n get finding() {\r\n return this._finding || (this._finding = this.factory.createFindingApi());\r\n }\r\n get shopping() {\r\n return this._shopping || (this._shopping = this.factory.createShoppingApi());\r\n }\r\n get clientAlerts() {\r\n return this._clientAlerts || (this._clientAlerts = this.factory.createClientAlertsApi());\r\n }\r\n get merchandising() {\r\n return this._merchandising || (this._merchandising = this.factory.createMerchandisingApi());\r\n }\r\n}\r\neBayApi.default = eBayApi;\r\neBayApi.SiteId = enums_1.SiteId;\r\neBayApi.MarketplaceId = enums_1.MarketplaceId;\r\neBayApi.ContentLanguage = enums_1.ContentLanguage;\r\neBayApi.Locale = enums_1.Locale;\r\nmodule.exports = eBayApi;\r\n//# sourceMappingURL=index.js.map"],"names":["module","NanoEvents","this","events","prototype","emit","event","args","slice","call","arguments","filter","i","apply","on","cb","process","env","NODE_ENV","Error","push","bind","fn","thisArg","wrap","Array","length","toString","Object","isArray","val","isUndefined","isObject","isPlainObject","getPrototypeOf","isFunction","forEach","obj","l","key","hasOwnProperty","isArrayBuffer","isBuffer","constructor","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","window","document","merge","result","assignValue","extend","a","b","trim","str","replace","stripBOM","content","charCodeAt","encode","encodeURIComponent","buildURL","url","params","paramsSerializer","serializedParams","utils","parts","serialize","parseValue","v","toISOString","JSON","stringify","join","hashmarkIndex","indexOf","InterceptorManager","handlers","use","fulfilled","rejected","options","synchronous","runWhen","eject","id","forEachHandler","h","normalizeHeaderName","headers","normalizedName","processHeader","value","name","toUpperCase","enhanceError","error","config","code","request","response","isAxiosError","toJSON","message","description","number","fileName","lineNumber","columnNumber","stack","createError","standardBrowserEnv","write","expires","path","domain","secure","cookie","Date","toGMTString","read","match","RegExp","decodeURIComponent","remove","now","ignoreDuplicateOf","originURL","msie","test","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","isURLSameOrigin","requestURL","parsed","xhrAdapter","Promise","dispatchXhrRequest","resolve","reject","requestData","data","requestHeaders","responseType","XMLHttpRequest","auth","username","password","unescape","Authorization","btoa","fullPath","buildFullPath","baseURL","requestedURL","isAbsoluteURL","combineURLs","relativeURL","onloadend","responseHeaders","parseHeaders","split","parser","line","substr","toLowerCase","concat","getAllResponseHeaders","responseText","status","statusText","settle","validateStatus","open","method","timeout","onreadystatechange","handleLoad","readyState","responseURL","setTimeout","onabort","handleAbort","onerror","handleError","ontimeout","handleTimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","xsrfValue","withCredentials","xsrfCookieName","cookies","undefined","xsrfHeaderName","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","onCanceled","cancel","abort","send","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","defaults","silentJSONParsing","forcedJSONParsing","adapter","getDefaultAdapter","require$$0","transformRequest","stringifySafely","rawValue","encoder","parse","e","transformResponse","strictJSONParsing","maxContentLength","maxBodyLength","common","Accept","forEachMethodNoData","forEachMethodWithData","transformData","fns","context","transform","isCancel","__CANCEL__","throwIfCancellationRequested","throwIfRequested","dispatchRequest","cleanHeaderConfig","onAdapterResolution","onAdapterRejection","reason","mergeConfig","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","source","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","axiosKeys","otherKeys","keys","filterAxiosKeys","validators","type","validator","thing","deprecatedWarnings","currentVerArr","pkg","version","isOlderVersion","thanVersion","pkgVersionArr","destVer","isDeprecated","formatMessage","opt","desc","opts","console","warn","assertOptions","schema","allowUnknown","TypeError","Axios","instanceConfig","interceptors","boolean","requestInterceptorChain","synchronousRequestInterceptors","unshiftRequestInterceptors","interceptor","unshift","responseInterceptorChain","pushResponseInterceptors","chain","shift","newConfig","onFulfilled","onRejected","getUri","Cancel","CancelToken","executor","resolvePromise","promiseExecutor","token","c","createInstance","defaultConfig","instance","axios","create","require$$1","require$$2","all","promises","spread","callback","arr","payload","s","m","d","y","String","exec","n","parseFloat","isNaN","long","fmtLong","ms","plural","fmtShort","Math","round","floor","ceil","prevTime","createDebug","namespace","debug","enabled","self","curr","diff","prev","exports","coerce","index","format","formatter","formatters","splice","formatArgs","logFn","log","useColors","color","selectColor","colors","abs","init","disable","enable","namespaces","save","len","skips","names","load","r","storage","DEBUG","Function","humanize","lastC","removeItem","documentElement","style","WebkitAppearance","firebug","exception","table","parseInt","$1","chrome","local","localstorage","localStorage","j","err","origSymbol","Symbol","ERROR_MESSAGE","toStr","funcType","that","bound","binder","boundLength","max","boundArgs","Empty","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","$gOPD","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","get","gOPDthrows","hasSymbols","hasNativeSymbols","getOwnPropertySymbols","iterator","sym","symObj","getOwnPropertyNames","syms","propertyIsEnumerable","descriptor","enumerable","hasSymbolSham","getProto","x","__proto__","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","Atomics","BigInt","Boolean","DataView","decodeURI","encodeURI","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","Map","Number","Proxy","RangeError","ReferenceError","Reflect","Set","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","doEval","gen","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","rePropName","reEscapeChar","stringToPath","string","first","last","quote","subString","getBaseIntrinsic","allowMissing","alias","intrinsicName","hasOwn","GetIntrinsic","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","$apply","$call","$reflectApply","$defineProperty","$max","callBind","originalFunction","func","configurable","applyBind","$indexOf","callBoundIntrinsic","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","has","weakSetHas","weakRefDeref","deref","booleanValueOf","valueOf","objectToString","functionToString","bigIntValueOf","gOPS","symToString","hasShammedSymbols","isEnumerable","gPO","O","inspectCustom","custom","inspectSymbol","isSymbol","toStringTag","inspect_","depth","seen","quoteStyle","maxStringLength","Infinity","customInspect","indent","inspectString","maxDepth","getIndent","baseIndent","base","inspect","from","noIndent","newOpts","nameOf","f","arrObjKeys","symString","markBoxed","isElement","HTMLElement","nodeName","getAttribute","attrs","attributes","wrapQuotes","childNodes","xs","singleLineValues","indentedJoin","isError","isMap","mapParts","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isBigInt","isBoolean","isRegExp","ys","protoTag","stringTag","tag","defaultStyle","quoteChar","remaining","trailer","lowbyte","size","entries","lineJoiner","isArr","symMap","k","$WeakMap","$Map","$weakMapGet","callBound","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","list","next","getSideChannel","$wm","$m","$o","channel","assert","objects","node","listGet","listHas","set","listSet","percentTwenties","Format","default","RFC1738","RFC3986","hexTable","array","arrayToObject","plainObjects","assign","assignSingleSource","reduce","acc","combine","compact","queue","o","refs","item","compactQueue","pop","compacted","decode","decoder","charset","strWithoutPlus","defaultEncoder","kind","escape","$0","out","formats","maybeMap","mapped","allowPrototypes","mergeTarget","targetItem","arrayPrefixGenerators","brackets","prefix","comma","indices","repeat","pushToArray","valueOrArray","toISO","defaultFormat","addQueryPrefix","allowDots","charsetSentinel","delimiter","encodeValuesOnly","serializeDate","date","skipNulls","strictNullHandling","object","generateArrayPrefix","sort","sideChannel","isNonNullishPrimitive","objKeys","values","keyPrefix","valueSideChannel","allowSparse","arrayLimit","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","numberStr","fromCharCode","parseArrayValue","parseKeys","parseQueryStringKeys","givenKey","valuesParsed","child","segment","parent","leaf","root","cleanRoot","parseObject","normalizeParseOptions","tempObj","parseQueryStringValues","cleanStr","limit","skipIndex","bracketEqualsPos","pos","encodedVal","parseValues","newObj","normalizeStringifyOptions","arrayFormat","joined","__importDefault","mod","__esModule","defineProperty","axios_1","debug_1","qs_1","AxiosRequest","defaultGlobalHeaders","post","delete","put","postForm","body","nanoevents_1","Base","req","request_1","axiosConfig","emitter","callBack","nameStartChar","nameRegexp","regexName","arrayMode","isExist","defaultOptions","props","newOptions","tagName","parentTagName","regex","matches","allmatches","startIndex","lastIndex","convertToJson","jObj","alwaysCreateTextNode","util","isEmptyObject","attrsMap","cdataPositionChar","asArray","isTagNameInArrayMode","tagname","textNodeName","addChild","hexRegex","numRegex","consider","hex","leadingZeros","decimalPoint","eNotation","toNumber","trimmedStr","skipLike","sign","numTrimmedByZeros","trimZeros","numStr","num","buildOptions","attributeNamePrefix","attrNodeName","ignoreAttributes","ignoreNameSpace","allowBooleanAttributes","parseNodeValue","parseAttributeValue","trimValues","cdataTagName","numParseOptions","tagValueProcessor","attrValueProcessor","attrName","stopNodes","processTagValue","resolveNameSpace","tags","shouldParse","newval","attrsRegx","buildAttributesMap","attrStr","getAllMatches","attrCollection","closingIndexForOpeningTag","attrBoundary","tagExp","ch","findClosingIndex","xmlData","errMsg","closingIndex","xmlObj","xmlNode","currentNode","textData","closeIndex","substring","colonIndex","getValue","includes","childNode","separatorIndex","shouldBuildAttributesMap","lastIndexOf","readPI","start","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","readAttributeStr","startChar","tagClosed","validAttrStrRegxp","validateAttributeString","attrNames","getPositionFromMatch","validateAttrName","validateAmpersand","validateNumberAmpersand","re","count","msg","col","isName","lines","tagFound","reachedRoot","tagStartPos","closingTag","attrStrStart","isValid","otg","openPos","afterAmp","map","t","char","chars","nilChar","missingChar","nilPremitive","missingPremitive","emptyChar","emptyValue","boundryChar","objStart","arrStart","arrayEnd","charsArr","_e","e_schema","hasValidData","hasData","itemSchema","arr_len","arr_i","processValue","isAppChar","x2j","_cToJsonStr","level","stringval","indentBy","supressEmptyNode","Parser","isAttribute","attrPrefixLen","isCDATA","replaceCDATAstr","replaceCDATAarr","processTextOrObjNode","indentate","tagEndChar","newLine","buildTextNode","buildEmptyTextNode","buildObjNode","buildEmptyObjNode","buildTextValNode","buildObjectNode","j2x","cdata","startsWith","rootNodeName","attr","arrLen","Ks","L","x2xmlnode","xmlToNodeobj","givenOptions","validationOption","parseTrueNumberOnly","traversableObj","getTraversalObj","nodeToJson","convert2nimn","convertToJsonString","require$$3","convertTonimn","EBayError","meta","super","setPrototypeOf","EbayNoCallError","ApiEnvError","errors","errorMessage","Errors","ShortMessage","error_description","longMessage","LongMessage","EbayApiError","mapEBayError","EBayAccessDenied","EBayInvalidGrant","EBayNotFound","EBayInvalidAccessToken","EBayIAFTokenExpired","EBayIAFTokenInvalid","EBayTokenRequired","EBayInvalidScope","eBayError","getErrorMessage","getErrorDescription","rawError","res","errorId","Ack","ErrorCode","__createBinding","k2","__setModuleDefault","__importStar","fast_xml_parser_1","suppressEmptyNode","_","parentTageName","raw","parseOptions","defaultXML2JSONParseOptions","useIaf","returnResponse","XMLRequest","callName","fields","errors_1","defaultApiConfig","getResponseWrapper","getCredentials","eBayAuthToken","RequesterCredentials","getParseOptions","getHeaders","defaultHeaders","xml","toXML","xmlns","async","hook","endpoint","json","xml2JSON","checkEBayResponse","j2xParser","defaultJSON2XMLOptions","base_1","XMLRequest_1","AuthNAuth","authToken","setAuthToken","static","sandbox","ruName","sessionId","prompt","SIGNIN_ENDPOINT","production","apiEndpoint","API_ENDPOINT","devId","xmlApi","RuName","getRequestConfig","SessionID","generateAuthUrl","mintToken","getAuthToken","siteId","certId","appId","OAuth2","scope","defaultScopes","state","AUTHORIZE_ENDPOINT","identityEndpoint","IDENTITY_ENDPOINT","getUserAccessToken","getApplicationAccessToken","_authToken","access_token","_clientToken","obtainApplicationAccessToken","setClientToken","clientToken","setScope","getScope","grant_type","mintApplicationAccessToken","redirect_uri","mintUserAccessToken","refresh_token","refreshedToken","setCredentials","getToken","expires_in","refresh_token_expires_in","token_type","refreshUserAccessToken","authNAuth_1","oAuth2_1","Auth","authNAuth","oAuth2","getAccessToken","auth_1","Api","__1","additionalHeaders","marketplaceId","endUserCtx","acceptLanguage","contentLanguage","Restful","apiConfig","getApiConfig","subdomain","tld","apiVersionPath","getServerUrl","apiVersion","basePath","buildServerUrl","baseUrl","api","apix","apiz","doRequest","authHeader","getHeaderAuthorization","defaultApiHeaders","shouldRefreshToken","autoRefreshToken","apiRequest","refreshToken","apiCfg","enrichedConfig","enrichRequestConfig","ex","handleEBayError","Browse","searchByImage","getItems","itemIds","item_ids","itemGroupIds","item_group_ids","getItem","itemId","fieldgroups","getItemByLegacyId","getItemsByItemGroup","itemGroupId","item_group_id","checkCompatibility","addItem","getShoppingCart","updateQuantity","Feed","getItemFeed","range","Range","getItemGroupFeed","getItemSnapshotFeed","snapshotDate","snapshot_date","getProductFeed","Marketing","getAlsoBoughtByProduct","getAlsoViewedByProduct","getMerchandisedProducts","Offer","getBidding","placeProxyBid","Order","applyCoupon","checkoutSessionId","getCheckoutSession","initiateCheckoutSession","placeOrder","removeCoupon","updatePaymentInfo","updateShippingAddress","updateShippingOption","applyGuestCoupon","getGuestCheckoutSession","initiateGuestCheckoutSession","initiateGuestPayment","placeGuestOrder","removeGuestCoupon","updateGuestPaymentInfo","updateGuestQuantity","updateGuestShippingAddress","updateGuestShippingOption","applyProxyGuestCoupon","getProxyGuestCheckoutSession","initiateProxyGuestCheckoutSession","placeProxyGuestOrder","removeProxyGuestCoupon","updateProxyGuestPaymentInfo","authorization","requestNonce","signature","updateProxyGuestQuantity","updateProxyGuestShippingAddress","updateProxyGuestShippingOption","getGuestPurchaseOrder","purchaseOrderId","getPurchaseOrder","Deal","getDealItems","categoryIds","commissionable","deliveryCountry","offset","category_ids","delivery_country","getEvent","eventId","getEvents","getEventItems","eventIds","event_ids","MarketplaceInsights","aspectFilter","epid","gtin","q","aspect_filter","browse_1","feed_1","marketing_1","offer_1","order_1","require$$4","deal_1","require$$5","marketplaceInsights_1","require$$6","Catalog","getChangeRequest","changeRequestId","getChangeRequests","getProduct","getProductMetadata","otherApplicableCategoryIds","primaryCategoryId","other_applicable_category_ids","primary_category_id","getProductMetadataForCategories","Charity","getCharityOrg","charityOrgId","getCharityOrgs","registrationIds","registration_ids","getCharityOrgByLegacyId","legacyCharityOrgId","legacy_charity_org_id","Identity","getUser","Notification","getPublicKey","publicKeyId","getTopic","topicId","getTopics","continuationToken","continuation_token","getSubscriptions","createSubscription","getSubscription","subscriptionId","updateSubscription","deleteSubscription","enableSubscription","disableSubscription","getDestinations","createDestination","getDestination","destinationId","updateDestination","deleteDestination","getConfig","updateConfig","Taxonomy","getDefaultCategoryTreeId","marketplace_id","getCategoryTree","categoryTreeId","cId","getCategorySubtree","categoryId","category_id","getCategorySuggestions","getItemAspectsForCategory","getCompatibilityProperties","getCompatibilityPropertyValues","compatibilityProperty","compatibility_property","fetchItemAspects","Translation","translate","catalog_1","charity_1","identity_1","notification_1","taxonomy_1","translation_1","Analytics","getRateLimits","apiContext","apiName","api_context","api_name","getUserRateLimits","KeyManagement","getSigningKeys","createSigningKey","getSigningKey","signingKeyId","analytics_1","keyManagement_1","Cancellation","approveCancellationRequest","cancelId","checkCancellationEligibility","legacyOrderId","confirmRefundReceived","createCancellation","getCancellation","fieldGroups","rejectCancellationRequest","Case","appealCaseDecision","caseId","closeCase","getCase","issueCaseRefund","provideReturnShipmentInfo","shippingCarrierName","trackingNumber","providesReturnAddress","Inquiry","checkInquiryEligibility","closeInquiry","inquiryId","closeReason","confirmInquiryRefund","createInquiry","desiredOutcome","escalateInquiry","escalateInquiryReason","getInquiry","issueInquiryRefund","provideInquiryRefundInfo","provideInquiryShipmentInfo","sendInquiryMessage","Return","addShippingLabelInfo","returnId","cancelReturnRequest","buyerCloseReason","checkReturnEligibility","checkShippingLabelEligibility","createReturnDraft","createReturnRequest","createReturnShippingLabel","deleteReturnDraftFile","draftId","fileId","escalateReturn","getReturn","getReturnDraft","getReturnDraftFiles","getReturnEstimate","getReturnFiles","getReturnPreferences","getReturnShippingLabel","getShipmentTrackingInfo","carrierUsed","carrier_used","tracking_number","issueReturnRefund","markReturnReceived","markReturnRefundReceived","markReturnRefundSent","markReturnShipped","processReturnRequest","sendReturnMessage","sendReturnShippingLabel","toEmailAddress","to_email_address","setReturnPreferences","rmaRequired","submitReturnFile","filePurpose","updateReturnDraft","returnRequest","updateShipmentTrackingInfo","uploadReturnDraftFile","uploadReturnFile","voidShippingLabel","cancellation_1","case_1","inquiry_1","return_1","Account","getFulfillmentPolicies","createFulfillmentPolicy","updateFulfillmentPolicy","fulfillmentPolicyId","deleteFulfillmentPolicy","getFulfillmentPolicy","getFulfillmentPolicyByName","getPaymentPolicies","getPaymentPolicy","paymentPolicyId","createPaymentPolicy","updatePaymentPolicy","deletePaymentPolicy","getPaymentPolicyByName","getPaymentsProgram","paymentsProgramType","getPaymentsProgramOnboarding","getPrivileges","getOptedInPrograms","optInToProgram","optOutOfProgram","getRateTables","countryCode","country_code","getReturnPolicies","getReturnPolicy","returnPolicyId","createReturnPolicy","updateReturnPolicy","deleteReturnPolicy","getReturnPolicyByName","getSalesTax","jurisdictionId","createOrReplaceSalesTax","deleteSalesTax","getSalesTaxes","getKYC","findSellerStandardsProfiles","getSellerStandardsProfile","program","cycle","getTrafficReport","dimension","metric","getCustomerServiceMetric","customerServiceMetricType","evaluationType","Compliance","getListingViolationsSummary","complianceType","compliance_type","getListingViolations","listingId","listing_id","suppressViolation","Finances","getPayout","payoutId","getPayouts","getPayoutSummary","getTransactions","getTransactionSummary","getTransfer","transferId","getSellerFundsSummary","Fulfillment","getOrder","orderId","getOrders","orderIds","issueRefund","getShippingFulfillments","createShippingFulfillment","getShippingFulfillment","fulfillmentId","getPaymentDispute","paymentDisputeId","fetchEvidenceContent","getActivities","getPaymentDisputeSummaries","order_id","buyerUsername","buyer_username","openDateFrom","open_date_from","openDateTo","open_date_to","paymentDisputeStatus","payment_dispute_status","contestPaymentDispute","acceptPaymentDispute","uploadEvidenceFile","multipartHeader","addEvidence","updateEvidence","Inventory","getInventoryLocation","merchantLocationKey","disableInventoryLocation","enableInventoryLocation","getInventoryLocations","createInventoryLocation","deleteInventoryLocation","updateInventoryLocation","getInventoryItem","sku","createOrReplaceInventoryItem","deleteInventoryItem","getInventoryItems","bulkUpdatePriceQuantity","bulkCreateOrReplaceInventoryItem","bulkGetInventoryItem","getProductCompatibility","createOrReplaceProductCompatibility","deleteProductCompatibility","getOffers","getOffer","offerId","createOffer","updateOffer","deleteOffer","publishOffer","publishOfferByInventoryItemGroup","withdrawOfferByInventoryItemGroup","getListingFees","bulkCreateOffer","bulkPublishOffer","withdrawOffer","getInventoryItemGroup","inventoryItemGroupKey","createOrReplaceInventoryItemGroup","deleteInventoryItemGroup","bulkMigrateListing","bulkCreateAdsByInventoryReference","campaignId","bulkCreateAdsByListingId","bulkDeleteAdsByInventoryReference","bulkDeleteAdsByListingId","bulkUpdateAdsBidByInventoryReference","bulkUpdateAdsBidByListingId","getAds","listingIds","listing_ids","createAdByListingId","createAdsByInventoryReference","getAd","adId","deleteAd","deleteAdsByInventoryReference","getAdsByInventoryReference","inventoryReferenceId","inventoryReferenceType","inventory_reference_id","inventory_reference_type","updateBid","cloneCampaign","getCampaigns","campaignName","campaignStatus","endDateRange","startDateRange","campaign_name","campaign_status","end_date_range","start_date_range","getCampaign","createCampaign","deleteCampaign","endCampaign","findCampaignByAdReference","getCampaignByName","pauseCampaign","resumeCampaign","updateCampaignIdentification","getReport","reportId","getReportMetadata","getReportMetadataForReportType","reportType","getReportTasks","reportTaskStatuses","report_task_statuses","getReportTask","reportTaskId","createReportTask","deleteReportTask","createItemPriceMarkdownPromotion","updateItemPriceMarkdownPromotion","promotionId","deleteItemPriceMarkdownPromotion","getItemPriceMarkdownPromotion","createItemPromotion","updateItemPromotion","deleteItemPromotion","getItemPromotion","getListingSet","getPromotions","promotionStatus","promotionType","promotion_status","promotion_type","pausePromotion","resumePromotion","getPromotionReports","getPromotionSummaryReport","Metadata","getSalesTaxJurisdictions","getAutomotivePartsCompatibilityPolicies","getItemConditionPolicies","getListingStructurePolicies","getNegotiatedPricePolicies","getProductAdoptionPolicies","Recommendation","findListingRecommendations","getOrderTasks","dateRange","feedType","lookBackDays","scheduleId","date_range","feed_type","look_back_days","schedule_id","createOrderTask","getOrderTask","taskId","getSchedules","createSchedule","getSchedule","updateSchedule","deleteSchedule","getLatestResultFile","getScheduleTemplate","scheduleTemplateId","getScheduleTemplates","getTasks","createTask","getInputFile","getResultFile","getTask","uploadFile","getCustomerServiceMetricTasks","createCustomerServiceMetricTask","getCustomerServiceMetricTask","Logistics","createShippingQuote","getShippingQuote","shippingQuoteId","createFromShippingQuote","getShipment","shipmentId","downloadLabelFile","cancelShipment","Negotiation","findEligibleItems","sendOfferToInterestedBuyers","Listing","createItemDraft","account_1","compliance_1","finances_1","fulfillment_1","inventory_1","metadata_1","require$$7","recommendation_1","require$$8","require$$9","logistics_1","require$$10","negotiation_1","require$$11","listing_1","require$$12","EventType","calls","types_1","clientAlerts_1","finding_1","merchandising_1","shopping_1","trading_1","Traditional","createXMLRequest","createTradingApi","createTraditionalXMLApi","accessToken","createShoppingApi","createFindingApi","createClientAlertsApi","appid","siteid","service","callname","createMerchandisingApi","createBusinessPolicyManagementApi","xmlRequest","userAccessToken","traditionalApi","_1","traditional_1","ApiFactory","_restful","createBuyApi","browse","createRestfulApi","buy_1","feed","marketing","offer","order","deal","marketplaceInsights","createCommerceApi","catalog","commerce_1","identity","taxonomy","translation","charity","notification","createDeveloperApi","analytics","developer_1","keyManagement","createPostOrderApi","cancellation","postOrder_1","case","inquiry","return","createSellApi","account","sell_1","compliance","fulfillment","inventory","metadata","recommendation","finances","logistics","negotiation","listing","traditional","_traditional","RestfulApiClass","SiteId","MarketplaceId","UserRoleFilter","InquirySearchFieldGroup","CaseStatusFilter","CaseSearchFieldGroup","InquiryStatusFilter","ShippingCarrier","ReturnReason","RequestType","ReturnType","GetReturnFieldGroupEnum","EscalateReason","Decision","CategoryType","ReturnCountFilter","ReturnState","FilePurpose","RefundFeeType","ActivityOption","StoreType","TimeDurationUnit","ShippingOptionType","ShippingCostType","PaymentsProgramStatus","PaymentMethodType","CountryCode","CurrencyCode","Condition","Locale","ContentLanguage","Marketplace","FormatType","Metric","RefundMethod","ReturnMethod","ReturnShippingCostPayer","RegionType","ReasonForRefund","CancelReason","LengthUnitOfMeasure","WeightUnitOfMeasure","PackageType","PaymentsProgramType","RecipientAccountReferenceType","__exportStar","p","api_1","apiFactory_1","enums_1","EBAY_US","en_US","eBayApi","factory","EBAY_APP_ID","EBAY_CERT_ID","EBAY_DEV_ID","EBAY_AUTH_TOKEN","EBAY_SITE_ID","EBAY_MARKETPLACE_ID","EBAY_RU_NAME","EBAY_SANDBOX","buy","_buy","commerce","_commerce","developer","_developer","postOrder","_postOrder","sell","_sell","trading","_trading","finding","_finding","shopping","_shopping","clientAlerts","_clientAlerts","merchandising","_merchandising"],"mappings":"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pBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,KACpBA,EAAgB,GAAI,MAGbC,EA4JOr2C,EAAQq2C,eAAiBr2C,eAAuB,KA3J5C,IAAI,MACtBq2C,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAkB,IAAI,MACtBA,EAAk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"}