1. 1 : (function(root, factory) {
  2. 2 : if (typeof define === 'function' && define.amd) {
  3. 3 : // AMD. Register as an anonymous module.
  4. 4 : define(['ApiClient', 'models/AuditInfoVo', 'models/CustomerAccountSnapshotResponse', 'models/CustomerSnapshotResponse', 'models/FeeResponse', 'models/FundingAccountSnapshotResponse', 'models/PaymentAuthorizationSnapshotResponse', 'models/PaymentNetworkResponseVo'], factory);
  5. 5 : } else if (typeof module === 'object' && module.exports) {
  6. 6 : // CommonJS-like environments that support module.exports, like Node.
  7. 7 : module.exports = factory(require('../ApiClient'), require('./AuditInfoVo'), require('./CustomerAccountSnapshotResponse'), require('./CustomerSnapshotResponse'), require('./FeeResponse'), require('./FundingAccountSnapshotResponse'), require('./PaymentAuthorizationSnapshotResponse'), require('./PaymentNetworkResponseVo'));
  8. 8 : } else {
  9. 9 : // Browser globals (root is window)
  10. 10 : if (!root.OrbipayPaymentsapiClient) {
  11. 11 : root.OrbipayPaymentsapiClient = {};
  12. 12 : }
  13. 13 : root.OrbipayPaymentsapiClient.PaymentResponse = factory(root.OrbipayPaymentsapiClient.ApiClient, root.OrbipayPaymentsapiClient.AuditInfoVo, root.OrbipayPaymentsapiClient.CustomerAccountSnapshotResponse, root.OrbipayPaymentsapiClient.CustomerSnapshotResponse, root.OrbipayPaymentsapiClient.FeeResponse, root.OrbipayPaymentsapiClient.FundingAccountSnapshotResponse, root.OrbipayPaymentsapiClient.PaymentAuthorizationSnapshotResponse, root.OrbipayPaymentsapiClient.PaymentNetworkResponseVo);
  14. 14 : }
  15. 15 : }(this, function(ApiClient, AuditInfoVo, CustomerAccountSnapshotResponse, CustomerSnapshotResponse, FeeResponse, FundingAccountSnapshotResponse, PaymentAuthorizationSnapshotResponse, PaymentNetworkResponseVo) {
  16. 16 : 'use strict';
  17. 17 :
  18. 18 :
  19. 19 :
  20. 20 :
  21. 21 : /**
  22. 22 : * The PaymentResponse model module.
  23. 23 : * @module models/PaymentResponse
  24. 24 : */
  25. 25 :
  26. 26 : /**
  27. 27 : * <h3 style="color:red"> This class subject to change without prior notice, Please dont use this class directly. </h3>
  28. 28 :
  29. 29 : * Constructs a new <code>PaymentResponse</code>.
  30. 30 : * @alias module:models/PaymentResponse
  31. 31 : * @class
  32. 32 : */
  33. 33 : var exports = function() {
  34. 34 : var _this = this;
  35. 35 :
  36. 36 :
  37. 37 :
  38. 38 :
  39. 39 :
  40. 40 :
  41. 41 :
  42. 42 :
  43. 43 :
  44. 44 :
  45. 45 :
  46. 46 :
  47. 47 :
  48. 48 :
  49. 49 :
  50. 50 :
  51. 51 :
  52. 52 :
  53. 53 :
  54. 54 :
  55. 55 :
  56. 56 :
  57. 57 :
  58. 58 :
  59. 59 :
  60. 60 :
  61. 61 :
  62. 62 :
  63. 63 :
  64. 64 : };
  65. 65 :
  66. 66 : /**
  67. 67 : * Constructs a <code>PaymentResponse</code> from a plain JavaScript object, optionally creating a new instance.
  68. 68 : * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
  69. 69 : * @param {Object} data The plain JavaScript object bearing properties of interest.
  70. 70 : * @param {module:models/PaymentResponse} obj Optional instance to populate.
  71. 71 : * @return {module:models/PaymentResponse} The populated <code>PaymentResponse</code> instance.
  72. 72 : */
  73. 73 : exports.constructFromObject = function(data, obj) {
  74. 74 : if (data) {
  75. 75 : obj = obj || new exports();
  76. 76 :
  77. 77 : if (data.hasOwnProperty('id')) {
  78. 78 : obj['id'] = ApiClient.convertToType(data['id'], 'String');
  79. 79 : }
  80. 80 : if (data.hasOwnProperty('url')) {
  81. 81 : obj['url'] = ApiClient.convertToType(data['url'], 'String');
  82. 82 : }
  83. 83 : if (data.hasOwnProperty('fee')) {
  84. 84 : obj['fee'] = FeeResponse.constructFromObject(data['fee']);
  85. 85 : }
  86. 86 : if (data.hasOwnProperty('status')) {
  87. 87 : obj['status'] = ApiClient.convertToType(data['status'], 'String');
  88. 88 : }
  89. 89 : if (data.hasOwnProperty('payment_method')) {
  90. 90 : obj['payment_method'] = ApiClient.convertToType(data['payment_method'], 'String');
  91. 91 : }
  92. 92 : if (data.hasOwnProperty('confirmation_number')) {
  93. 93 : obj['confirmation_number'] = ApiClient.convertToType(data['confirmation_number'], 'String');
  94. 94 : }
  95. 95 : if (data.hasOwnProperty('custom_fields')) {
  96. 96 : obj['custom_fields'] = ApiClient.convertToType(data['custom_fields'], {'String': 'String'});
  97. 97 : }
  98. 98 : if (data.hasOwnProperty('currency_code3d')) {
  99. 99 : obj['currency_code3d'] = ApiClient.convertToType(data['currency_code3d'], 'String');
  100. 100 : }
  101. 101 : if (data.hasOwnProperty('amount')) {
  102. 102 : obj['amount'] = ApiClient.convertToType(data['amount'], 'String');
  103. 103 : }
  104. 104 : if (data.hasOwnProperty('card_cvv_number')) {
  105. 105 : obj['card_cvv_number'] = ApiClient.convertToType(data['card_cvv_number'], 'String');
  106. 106 : }
  107. 107 : if (data.hasOwnProperty('payment_date')) {
  108. 108 : obj['payment_date'] = ApiClient.convertToType(data['payment_date'], 'String');
  109. 109 : }
  110. 110 : if (data.hasOwnProperty('payment_schedule_type')) {
  111. 111 : obj['payment_schedule_type'] = ApiClient.convertToType(data['payment_schedule_type'], 'String');
  112. 112 : }
  113. 113 : if (data.hasOwnProperty('payment_request_date')) {
  114. 114 : obj['payment_request_date'] = ApiClient.convertToType(data['payment_request_date'], 'String');
  115. 115 : }
  116. 116 : if (data.hasOwnProperty('payment_amount_type')) {
  117. 117 : obj['payment_amount_type'] = ApiClient.convertToType(data['payment_amount_type'], 'String');
  118. 118 : }
  119. 119 : if (data.hasOwnProperty('payment_reference')) {
  120. 120 : obj['payment_reference'] = ApiClient.convertToType(data['payment_reference'], 'String');
  121. 121 : }
  122. 122 : if (data.hasOwnProperty('expected_payment_settlement_date')) {
  123. 123 : obj['expected_payment_settlement_date'] = ApiClient.convertToType(data['expected_payment_settlement_date'], 'String');
  124. 124 : }
  125. 125 : if (data.hasOwnProperty('payment_entry_date')) {
  126. 126 : obj['payment_entry_date'] = ApiClient.convertToType(data['payment_entry_date'], 'String');
  127. 127 : }
  128. 128 : if (data.hasOwnProperty('payment_return_date')) {
  129. 129 : obj['payment_return_date'] = ApiClient.convertToType(data['payment_return_date'], 'String');
  130. 130 : }
  131. 131 : if (data.hasOwnProperty('return_code')) {
  132. 132 : obj['return_code'] = ApiClient.convertToType(data['return_code'], 'String');
  133. 133 : }
  134. 134 : if (data.hasOwnProperty('payment_notification_email')) {
  135. 135 : obj['payment_notification_email'] = ApiClient.convertToType(data['payment_notification_email'], 'String');
  136. 136 : }
  137. 137 : if (data.hasOwnProperty('comments')) {
  138. 138 : obj['comments'] = ApiClient.convertToType(data['comments'], 'String');
  139. 139 : }
  140. 140 : if (data.hasOwnProperty('token')) {
  141. 141 : obj['token'] = ApiClient.convertToType(data['token'], 'String');
  142. 142 : }
  143. 143 : if (data.hasOwnProperty('customer')) {
  144. 144 : obj['customer'] = CustomerSnapshotResponse.constructFromObject(data['customer']);
  145. 145 : }
  146. 146 : if (data.hasOwnProperty('funding_account')) {
  147. 147 : obj['funding_account'] = FundingAccountSnapshotResponse.constructFromObject(data['funding_account']);
  148. 148 : }
  149. 149 : if (data.hasOwnProperty('customer_account')) {
  150. 150 : obj['customer_account'] = CustomerAccountSnapshotResponse.constructFromObject(data['customer_account']);
  151. 151 : }
  152. 152 : if (data.hasOwnProperty('payment_authorization')) {
  153. 153 : obj['payment_authorization'] = PaymentAuthorizationSnapshotResponse.constructFromObject(data['payment_authorization']);
  154. 154 : }
  155. 155 : if (data.hasOwnProperty('payment_network_response')) {
  156. 156 : obj['payment_network_response'] = PaymentNetworkResponseVo.constructFromObject(data['payment_network_response']);
  157. 157 : }
  158. 158 : if (data.hasOwnProperty('audit_info')) {
  159. 159 : obj['audit_info'] = AuditInfoVo.constructFromObject(data['audit_info']);
  160. 160 : }
  161. 161 : }
  162. 162 : return obj;
  163. 163 : };
  164. 164 :
  165. 165 : /**
  166. 166 : * The unique identifier assigned by EBPP to the payment.
  167. 167 : * @member {String} id
  168. 168 : */
  169. 169 : exports.prototype['id'] = undefined;
  170. 170 : /**
  171. 171 : * This URL fetches the details of payment.
  172. 172 : * @member {String} url
  173. 173 : */
  174. 174 : exports.prototype['url'] = undefined;
  175. 175 : /**
  176. 176 : * @member {module:models/FeeResponse} fee
  177. 177 : */
  178. 178 : exports.prototype['fee'] = undefined;
  179. 179 : /**
  180. 180 : * The status of the payment.
  181. 181 : * @member {module:models/PaymentResponse.StatusEnum} status
  182. 182 : */
  183. 183 : exports.prototype['status'] = undefined;
  184. 184 : /**
  185. 185 : * The fulfillment method for the payment.
  186. 186 : * @member {module:models/PaymentResponse.PaymentMethodEnum} payment_method
  187. 187 : */
  188. 188 : exports.prototype['payment_method'] = undefined;
  189. 189 : /**
  190. 190 : * The confirmation number or reference provided to the customer for the payment.
  191. 191 : * @member {String} confirmation_number
  192. 192 : */
  193. 193 : exports.prototype['confirmation_number'] = undefined;
  194. 194 : /**
  195. 195 : * The additional information or meta-information that EBPP can accept, maintain and transmit back to the client. The custom fields need to be configured with EBPP before they can be accepted. EBPP would reject custom fields that are not pre-configured. Please contact <a href = \"mailto: support@billerpayments.com\">support@billerpayments.com</a> for more information on configuring and using custom fields. Only the custom fields enabled for the client, in EBPP, would be accepted in the requests.
  196. 196 : * @member {Object.<String, String>} custom_fields
  197. 197 : */
  198. 198 : exports.prototype['custom_fields'] = undefined;
  199. 199 : /**
  200. 200 : * The three-letter currency code in the ISO4217 format, in uppercase, for the card account. It must be a currency supported by EBPP. This defaults to USD.
  201. 201 : * @member {String} currency_code3d
  202. 202 : */
  203. 203 : exports.prototype['currency_code3d'] = undefined;
  204. 204 : /**
  205. 205 : * The amount being paid. In case the payment_amount_type is 'discounted_amount', 'penalty_amount' or 'other', the amount needs to be specified. In other cases, this is derived from the payment_amount_type.
  206. 206 : * @member {String} amount
  207. 207 : */
  208. 208 : exports.prototype['amount'] = undefined;
  209. 209 : /**
  210. 210 : * This is never returned by EBPP. This needs to be passed to EBPP when making or editing a payment with a card funding account.
  211. 211 : * @member {String} card_cvv_number
  212. 212 : */
  213. 213 : exports.prototype['card_cvv_number'] = undefined;
  214. 214 : /**
  215. 215 : * The date on which the payment is scheduled to be made. It must be in ISO8601 full-date format, namely, YYYY-MM-DD.
  216. 216 : * @member {String} payment_date
  217. 217 : */
  218. 218 : exports.prototype['payment_date'] = undefined;
  219. 219 : /**
  220. 220 : * The schedule type for the payment. This defaults to one_time_payment.
  221. 221 : * @member {module:models/PaymentResponse.PaymentScheduleTypeEnum} payment_schedule_type
  222. 222 : */
  223. 223 : exports.prototype['payment_schedule_type'] = undefined;
  224. 224 : /**
  225. 225 : * The date on which the biller wants the payment to be settled. It must be in ISO8601 full-date format, namely, YYYY-MM-DD. This is applicable only if the client has opted for it.
  226. 226 : * @member {String} payment_request_date
  227. 227 : */
  228. 228 : exports.prototype['payment_request_date'] = undefined;
  229. 229 : /**
  230. 230 : * The type of amount, as per the bill/statement, that is being paid. The payment amount is derived from the amount type selected for the payment. This defaults to other.
  231. 231 : * @member {module:models/PaymentResponse.PaymentAmountTypeEnum} payment_amount_type
  232. 232 : */
  233. 233 : exports.prototype['payment_amount_type'] = undefined;
  234. 234 : /**
  235. 235 : * The unique identifier in the client system for the payment.
  236. 236 : * @member {String} payment_reference
  237. 237 : */
  238. 238 : exports.prototype['payment_reference'] = undefined;
  239. 239 : /**
  240. 240 : * The date on which the payment is expected to be settled with the biller. It must be in ISO8601 full-date format, namely, YYYY-MM-DD.
  241. 241 : * @member {String} expected_payment_settlement_date
  242. 242 : */
  243. 243 : exports.prototype['expected_payment_settlement_date'] = undefined;
  244. 244 : /**
  245. 245 : * The date on which the payment is captured in EBPP. It must be in ISO8601 full-date format, namely, YYYY-MM-DD.
  246. 246 : * @member {String} payment_entry_date
  247. 247 : */
  248. 248 : exports.prototype['payment_entry_date'] = undefined;
  249. 249 : /**
  250. 250 : * The date on which the ACH returns is received by EBPP.
  251. 251 : * @member {String} payment_return_date
  252. 252 : */
  253. 253 : exports.prototype['payment_return_date'] = undefined;
  254. 254 : /**
  255. 255 : * The ACH return code or the chargeback code received from Visa/Mastercard, in the event of returned payments.
  256. 256 : * @member {String} return_code
  257. 257 : */
  258. 258 : exports.prototype['return_code'] = undefined;
  259. 259 : /**
  260. 260 : * The email address to which notifications for the payment will be sent. The notifications will be sent to the customer's email in case this is not provided.
  261. 261 : * @member {String} payment_notification_email
  262. 262 : */
  263. 263 : exports.prototype['payment_notification_email'] = undefined;
  264. 264 : /**
  265. 265 : * Comments that can be used to recollect the operation performed on the resource object. API clients need to ensure that no sensitive information is passed in the memo. Alacriti (EBPP) is not responsible for the security of any sensitive information that may be passed as part of the memo.
  266. 266 : * @member {String} comments
  267. 267 : */
  268. 268 : exports.prototype['comments'] = undefined;
  269. 269 : /**
  270. 270 : * The token is used to uniquely identify the payment, such as the POS token.
  271. 271 : * @member {String} token
  272. 272 : */
  273. 273 : exports.prototype['token'] = undefined;
  274. 274 : /**
  275. 275 : * @member {module:models/CustomerSnapshotResponse} customer
  276. 276 : */
  277. 277 : exports.prototype['customer'] = undefined;
  278. 278 : /**
  279. 279 : * @member {module:models/FundingAccountSnapshotResponse} funding_account
  280. 280 : */
  281. 281 : exports.prototype['funding_account'] = undefined;
  282. 282 : /**
  283. 283 : * @member {module:models/CustomerAccountSnapshotResponse} customer_account
  284. 284 : */
  285. 285 : exports.prototype['customer_account'] = undefined;
  286. 286 : /**
  287. 287 : * @member {module:models/PaymentAuthorizationSnapshotResponse} payment_authorization
  288. 288 : */
  289. 289 : exports.prototype['payment_authorization'] = undefined;
  290. 290 : /**
  291. 291 : * @member {module:models/PaymentNetworkResponseVo} payment_network_response
  292. 292 : */
  293. 293 : exports.prototype['payment_network_response'] = undefined;
  294. 294 : /**
  295. 295 : * @member {module:models/AuditInfoVo} audit_info
  296. 296 : */
  297. 297 : exports.prototype['audit_info'] = undefined;
  298. 298 :
  299. 299 :
  300. 300 : /**
  301. 301 : * Allowed values for the <code>status</code> property.
  302. 302 : * @enum {String}
  303. 303 : * @readonly
  304. 304 : */
  305. 305 : exports.StatusEnum = {
  306. 306 : /**
  307. 307 : * value: "scheduled"
  308. 308 : * @const
  309. 309 : */
  310. 310 : "scheduled": "scheduled",
  311. 311 : /**
  312. 312 : * value: "cancelled"
  313. 313 : * @const
  314. 314 : */
  315. 315 : "cancelled": "cancelled",
  316. 316 : /**
  317. 317 : * value: "processing"
  318. 318 : * @const
  319. 319 : */
  320. 320 : "processing": "processing",
  321. 321 : /**
  322. 322 : * value: "processed"
  323. 323 : * @const
  324. 324 : */
  325. 325 : "processed": "processed",
  326. 326 : /**
  327. 327 : * value: "returned"
  328. 328 : * @const
  329. 329 : */
  330. 330 : "returned": "returned",
  331. 331 : /**
  332. 332 : * value: "declined"
  333. 333 : * @const
  334. 334 : */
  335. 335 : "declined": "declined",
  336. 336 : /**
  337. 337 : * value: "disputed"
  338. 338 : * @const
  339. 339 : */
  340. 340 : "disputed": "disputed",
  341. 341 : /**
  342. 342 : * value: "error"
  343. 343 : * @const
  344. 344 : */
  345. 345 : "error": "error" };
  346. 346 :
  347. 347 : /**
  348. 348 : * Allowed values for the <code>payment_method</code> property.
  349. 349 : * @enum {String}
  350. 350 : * @readonly
  351. 351 : */
  352. 352 : exports.PaymentMethodEnum = {
  353. 353 : /**
  354. 354 : * value: "ach"
  355. 355 : * @const
  356. 356 : */
  357. 357 : "ach": "ach",
  358. 358 : /**
  359. 359 : * value: "check"
  360. 360 : * @const
  361. 361 : */
  362. 362 : "check": "check",
  363. 363 : /**
  364. 364 : * value: "visa_debit"
  365. 365 : * @const
  366. 366 : */
  367. 367 : "visa_debit": "visa_debit",
  368. 368 : /**
  369. 369 : * value: "pinless_debit"
  370. 370 : * @const
  371. 371 : */
  372. 372 : "pinless_debit": "pinless_debit",
  373. 373 : /**
  374. 374 : * value: "master_debit"
  375. 375 : * @const
  376. 376 : */
  377. 377 : "master_debit": "master_debit",
  378. 378 : /**
  379. 379 : * value: "amex_credit"
  380. 380 : * @const
  381. 381 : */
  382. 382 : "amex_credit": "amex_credit",
  383. 383 : /**
  384. 384 : * value: "discover_credit"
  385. 385 : * @const
  386. 386 : */
  387. 387 : "discover_credit": "discover_credit",
  388. 388 : /**
  389. 389 : * value: "visa_credit"
  390. 390 : * @const
  391. 391 : */
  392. 392 : "visa_credit": "visa_credit",
  393. 393 : /**
  394. 394 : * value: "master_credit"
  395. 395 : * @const
  396. 396 : */
  397. 397 : "master_credit": "master_credit",
  398. 398 : /**
  399. 399 : * value: "discover_debit"
  400. 400 : * @const
  401. 401 : */
  402. 402 : "discover_debit": "discover_debit",
  403. 403 : /**
  404. 404 : * value: "cash"
  405. 405 : * @const
  406. 406 : */
  407. 407 : "cash": "cash",
  408. 408 : /**
  409. 409 : * value: "swiped_card"
  410. 410 : * @const
  411. 411 : */
  412. 412 : "swiped_card": "swiped_card",
  413. 413 : /**
  414. 414 : * value: "scanned_check"
  415. 415 : * @const
  416. 416 : */
  417. 417 : "scanned_check": "scanned_check",
  418. 418 : /**
  419. 419 : * value: "apple_pay"
  420. 420 : * @const
  421. 421 : */
  422. 422 : "apple_pay": "apple_pay",
  423. 423 : /**
  424. 424 : * value: "google_pay"
  425. 425 : * @const
  426. 426 : */
  427. 427 : "google_pay": "google_pay",
  428. 428 : /**
  429. 429 : * value: "voyager_fleet"
  430. 430 : * @const
  431. 431 : */
  432. 432 : "voyager_fleet": "voyager_fleet",
  433. 433 : /**
  434. 434 : * value: "external_pos"
  435. 435 : * @const
  436. 436 : */
  437. 437 : "external_pos": "external_pos",
  438. 438 : /**
  439. 439 : * value: "rtp_rfp"
  440. 440 : * @const
  441. 441 : */
  442. 442 : "rtp_rfp": "rtp_rfp" };
  443. 443 :
  444. 444 : /**
  445. 445 : * Allowed values for the <code>payment_schedule_type</code> property.
  446. 446 : * @enum {String}
  447. 447 : * @readonly
  448. 448 : */
  449. 449 : exports.PaymentScheduleTypeEnum = {
  450. 450 : /**
  451. 451 : * value: "one_time_payment"
  452. 452 : * @const
  453. 453 : */
  454. 454 : "one_time_payment": "one_time_payment",
  455. 455 : /**
  456. 456 : * value: "autopay_generated_payment"
  457. 457 : * @const
  458. 458 : */
  459. 459 : "autopay_generated_payment": "autopay_generated_payment",
  460. 460 : /**
  461. 461 : * value: "variable_recurring_generated_payment"
  462. 462 : * @const
  463. 463 : */
  464. 464 : "variable_recurring_generated_payment": "variable_recurring_generated_payment",
  465. 465 : /**
  466. 466 : * value: "payment_plan_generated"
  467. 467 : * @const
  468. 468 : */
  469. 469 : "payment_plan_generated": "payment_plan_generated" };
  470. 470 :
  471. 471 : /**
  472. 472 : * Allowed values for the <code>payment_amount_type</code> property.
  473. 473 : * @enum {String}
  474. 474 : * @readonly
  475. 475 : */
  476. 476 : exports.PaymentAmountTypeEnum = {
  477. 477 : /**
  478. 478 : * value: "current_balance"
  479. 479 : * @const
  480. 480 : */
  481. 481 : "current_balance": "current_balance",
  482. 482 : /**
  483. 483 : * value: "minimum_payment_due"
  484. 484 : * @const
  485. 485 : */
  486. 486 : "minimum_payment_due": "minimum_payment_due",
  487. 487 : /**
  488. 488 : * value: "past_payment_due"
  489. 489 : * @const
  490. 490 : */
  491. 491 : "past_payment_due": "past_payment_due",
  492. 492 : /**
  493. 493 : * value: "statement_balance"
  494. 494 : * @const
  495. 495 : */
  496. 496 : "statement_balance": "statement_balance",
  497. 497 : /**
  498. 498 : * value: "discounted_amount"
  499. 499 : * @const
  500. 500 : */
  501. 501 : "discounted_amount": "discounted_amount",
  502. 502 : /**
  503. 503 : * value: "penalty_amount"
  504. 504 : * @const
  505. 505 : */
  506. 506 : "penalty_amount": "penalty_amount",
  507. 507 : /**
  508. 508 : * value: "other"
  509. 509 : * @const
  510. 510 : */
  511. 511 : "other": "other",
  512. 512 : /**
  513. 513 : * value: "payoff_amount"
  514. 514 : * @const
  515. 515 : */
  516. 516 : "payoff_amount": "payoff_amount",
  517. 517 : /**
  518. 518 : * value: "paydown_amount"
  519. 519 : * @const
  520. 520 : */
  521. 521 : "paydown_amount": "paydown_amount" };
  522. 522 :
  523. 523 :
  524. 524 : return exports;
  525. 525 : }));
  526. 526 :
  527. 527 :