egg 4.0.0-beta.5 → 4.0.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/commonjs/app/extend/context.d.ts +154 -2
  2. package/dist/commonjs/app/extend/context.js +82 -84
  3. package/dist/commonjs/app/extend/context.types.d.ts +16 -0
  4. package/dist/commonjs/app/extend/context.types.js +3 -0
  5. package/dist/commonjs/app/extend/helper.d.ts +37 -0
  6. package/dist/commonjs/app/extend/helper.js +49 -0
  7. package/dist/commonjs/app/extend/request.d.ts +128 -0
  8. package/dist/commonjs/app/extend/request.js +270 -0
  9. package/dist/commonjs/app/extend/response.d.ts +25 -0
  10. package/dist/commonjs/app/extend/response.js +37 -0
  11. package/dist/commonjs/app/middleware/meta.d.ts +2 -3
  12. package/dist/commonjs/app/middleware/meta.js +1 -1
  13. package/dist/commonjs/app/middleware/notfound.d.ts +2 -3
  14. package/dist/commonjs/app/middleware/notfound.js +1 -1
  15. package/dist/commonjs/app/middleware/site_file.d.ts +4 -2
  16. package/dist/commonjs/app/middleware/site_file.js +2 -3
  17. package/dist/commonjs/config/config.default.js +3 -2
  18. package/dist/commonjs/lib/application.d.ts +5 -12
  19. package/dist/commonjs/lib/application.js +9 -20
  20. package/dist/commonjs/lib/core/base_context_class.d.ts +2 -2
  21. package/dist/commonjs/lib/core/context_httpclient.d.ts +3 -3
  22. package/dist/commonjs/lib/core/context_httpclient.js +1 -1
  23. package/dist/commonjs/lib/core/httpclient.d.ts +2 -3
  24. package/dist/commonjs/lib/core/httpclient.js +3 -6
  25. package/dist/commonjs/lib/core/messenger/IMessenger.d.ts +2 -2
  26. package/dist/commonjs/lib/core/messenger/index.js +2 -2
  27. package/dist/commonjs/lib/core/messenger/ipc.d.ts +5 -3
  28. package/dist/commonjs/lib/core/messenger/ipc.js +23 -17
  29. package/dist/commonjs/lib/core/messenger/local.d.ts +2 -2
  30. package/dist/commonjs/lib/core/messenger/local.js +14 -11
  31. package/dist/commonjs/lib/egg.d.ts +20 -15
  32. package/dist/commonjs/lib/egg.js +15 -11
  33. package/dist/commonjs/lib/egg.types.d.ts +6 -0
  34. package/dist/commonjs/lib/egg.types.js +3 -0
  35. package/dist/commonjs/lib/type.d.ts +4 -7
  36. package/dist/commonjs/lib/utils.d.ts +2 -0
  37. package/dist/commonjs/lib/utils.js +21 -0
  38. package/dist/esm/app/extend/context.d.ts +154 -2
  39. package/dist/esm/app/extend/context.js +82 -85
  40. package/dist/esm/app/extend/context.types.d.ts +16 -0
  41. package/dist/esm/app/extend/context.types.js +2 -0
  42. package/dist/esm/app/extend/helper.d.ts +37 -0
  43. package/dist/esm/app/extend/helper.js +43 -0
  44. package/dist/esm/app/extend/request.d.ts +128 -0
  45. package/dist/esm/app/extend/request.js +264 -0
  46. package/dist/esm/app/extend/response.d.ts +25 -0
  47. package/dist/esm/app/extend/response.js +34 -0
  48. package/dist/esm/app/middleware/meta.d.ts +2 -3
  49. package/dist/esm/app/middleware/meta.js +1 -1
  50. package/dist/esm/app/middleware/notfound.d.ts +2 -3
  51. package/dist/esm/app/middleware/notfound.js +1 -1
  52. package/dist/esm/app/middleware/site_file.d.ts +4 -2
  53. package/dist/esm/app/middleware/site_file.js +2 -3
  54. package/dist/esm/config/config.default.js +3 -2
  55. package/dist/esm/lib/application.d.ts +5 -12
  56. package/dist/esm/lib/application.js +9 -20
  57. package/dist/esm/lib/core/base_context_class.d.ts +2 -2
  58. package/dist/esm/lib/core/context_httpclient.d.ts +3 -3
  59. package/dist/esm/lib/core/context_httpclient.js +1 -1
  60. package/dist/esm/lib/core/httpclient.d.ts +2 -3
  61. package/dist/esm/lib/core/httpclient.js +2 -2
  62. package/dist/esm/lib/core/messenger/IMessenger.d.ts +2 -2
  63. package/dist/esm/lib/core/messenger/index.js +2 -2
  64. package/dist/esm/lib/core/messenger/ipc.d.ts +5 -3
  65. package/dist/esm/lib/core/messenger/ipc.js +23 -17
  66. package/dist/esm/lib/core/messenger/local.d.ts +2 -2
  67. package/dist/esm/lib/core/messenger/local.js +14 -11
  68. package/dist/esm/lib/egg.d.ts +20 -15
  69. package/dist/esm/lib/egg.js +13 -12
  70. package/dist/esm/lib/egg.types.d.ts +6 -0
  71. package/dist/esm/lib/egg.types.js +2 -0
  72. package/dist/esm/lib/type.d.ts +4 -7
  73. package/dist/esm/lib/utils.d.ts +2 -0
  74. package/dist/esm/lib/utils.js +14 -0
  75. package/dist/package.json +1 -1
  76. package/package.json +16 -13
  77. package/src/app/extend/context.ts +124 -102
  78. package/src/app/extend/context.types.ts +24 -0
  79. package/src/app/extend/{helper.js → helper.ts} +14 -13
  80. package/src/app/extend/{request.js → request.ts} +81 -79
  81. package/src/app/extend/response.ts +36 -0
  82. package/src/app/middleware/meta.ts +2 -3
  83. package/src/app/middleware/notfound.ts +2 -3
  84. package/src/app/middleware/site_file.ts +4 -6
  85. package/src/config/config.default.ts +2 -1
  86. package/src/lib/application.ts +14 -21
  87. package/src/lib/core/base_context_class.ts +2 -2
  88. package/src/lib/core/context_httpclient.ts +3 -3
  89. package/src/lib/core/httpclient.ts +4 -5
  90. package/src/lib/core/messenger/IMessenger.ts +2 -2
  91. package/src/lib/core/messenger/index.ts +1 -1
  92. package/src/lib/core/messenger/ipc.ts +23 -17
  93. package/src/lib/core/messenger/local.ts +12 -10
  94. package/src/lib/egg.ts +47 -24
  95. package/src/lib/egg.types.ts +6 -0
  96. package/src/lib/type.ts +6 -13
  97. package/src/lib/utils.ts +16 -0
  98. package/src/app/extend/response.js +0 -101
@@ -36,23 +36,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.EggApplicationCore = void 0;
39
+ exports.EggApplicationCore = exports.Response = exports.Request = exports.EggLogger = exports.Router = exports.Context = void 0;
40
40
  const node_perf_hooks_1 = require("node:perf_hooks");
41
41
  const node_path_1 = __importDefault(require("node:path"));
42
42
  const node_fs_1 = __importDefault(require("node:fs"));
43
43
  const node_http_1 = __importDefault(require("node:http"));
44
44
  const node_inspector_1 = __importDefault(require("node:inspector"));
45
- const node_url_1 = require("node:url");
46
45
  const core_1 = require("@eggjs/core");
46
+ Object.defineProperty(exports, "Router", { enumerable: true, get: function () { return core_1.Router; } });
47
47
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
48
48
  // @ts-ignore
49
49
  const cluster_client_1 = __importStar(require("cluster-client"));
50
50
  const extend2_1 = require("extend2");
51
51
  const egg_logger_1 = require("egg-logger");
52
+ Object.defineProperty(exports, "EggLogger", { enumerable: true, get: function () { return egg_logger_1.EggLogger; } });
52
53
  const cookies_1 = require("@eggjs/cookies");
53
54
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
54
55
  // @ts-ignore
55
56
  const circular_json_for_egg_1 = __importDefault(require("circular-json-for-egg"));
57
+ const context_js_1 = __importDefault(require("../app/extend/context.js"));
58
+ exports.Context = context_js_1.default;
56
59
  const index_js_1 = require("./core/messenger/index.js");
57
60
  const context_httpclient_js_1 = require("./core/context_httpclient.js");
58
61
  const httpclient_js_1 = require("./core/httpclient.js");
@@ -61,7 +64,15 @@ const singleton_js_1 = require("./core/singleton.js");
61
64
  const utils_js_1 = require("./core/utils.js");
62
65
  const base_context_class_js_1 = require("./core/base_context_class.js");
63
66
  const base_hook_class_js_1 = require("./core/base_hook_class.js");
67
+ const utils_js_2 = require("./utils.js");
68
+ require("./egg.types.js");
64
69
  const EGG_PATH = Symbol.for('egg#eggPath');
70
+ class Request extends core_1.Request {
71
+ }
72
+ exports.Request = Request;
73
+ class Response extends core_1.Response {
74
+ }
75
+ exports.Response = Response;
65
76
  /**
66
77
  * Based on koa's Application
67
78
  * @see https://github.com/eggjs/egg-core
@@ -384,7 +395,6 @@ class EggApplicationCore extends core_1.EggCore {
384
395
  if (!(err instanceof Error)) {
385
396
  const newError = new Error(String(err));
386
397
  // err maybe an object, try to copy the name, message and stack to the new error instance
387
- /* istanbul ignore else */
388
398
  if (err) {
389
399
  if (err.name)
390
400
  newError.name = err.name;
@@ -395,7 +405,6 @@ class EggApplicationCore extends core_1.EggCore {
395
405
  }
396
406
  err = newError;
397
407
  }
398
- /* istanbul ignore else */
399
408
  if (err.name === 'Error') {
400
409
  err.name = 'unhandledRejectionError';
401
410
  }
@@ -470,12 +479,7 @@ class EggApplicationCore extends core_1.EggCore {
470
479
  }
471
480
  }
472
481
  get [EGG_PATH]() {
473
- if (typeof __dirname !== 'undefined') {
474
- return node_path_1.default.dirname(__dirname);
475
- }
476
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
477
- // @ts-ignore
478
- return node_path_1.default.dirname(node_path_1.default.dirname((0, node_url_1.fileURLToPath)('import_meta_url_placeholder_by_tshy_after')));
482
+ return (0, utils_js_2.getSourceDirname)();
479
483
  }
480
484
  #setupTimeoutTimer() {
481
485
  const startTimeoutTimer = setTimeout(() => {
@@ -610,4 +614,4 @@ class EggApplicationCore extends core_1.EggCore {
610
614
  }
611
615
  }
612
616
  exports.EggApplicationCore = EggApplicationCore;
613
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWdnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9lZ2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQThDO0FBQzlDLDBEQUE2QjtBQUM3QixzREFBeUI7QUFDekIsMERBQTRFO0FBQzVFLG9FQUF1QztBQUN2Qyx1Q0FBeUM7QUFDekMsc0NBQWdGO0FBQ2hGLDZEQUE2RDtBQUM3RCxhQUFhO0FBQ2IsaUVBQWtGO0FBQ2xGLHFDQUFpQztBQUNqQywyQ0FBc0Y7QUFDdEYsNENBQTJEO0FBQzNELDZEQUE2RDtBQUM3RCxhQUFhO0FBQ2Isa0ZBQWlEO0FBSWpELHdEQUFrRjtBQUNsRix3RUFBaUU7QUFDakUsd0RBRThCO0FBQzlCLGdEQUFpRDtBQUNqRCxzREFFNkI7QUFDN0IsOENBQWdEO0FBQ2hELHdFQUFnRTtBQUNoRSxrRUFBMEQ7QUFHMUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQXNCM0M7Ozs7O0dBS0c7QUFDSCxNQUFhLGtCQUFtQixTQUFRLGNBQU87SUFDN0MsZ0dBQWdHO0lBQ2hHLGNBQWMsR0FBRyxpQkFBYyxDQUFDO0lBQ2hDLGFBQWEsR0FBRyw2QkFBYSxDQUFDO0lBQzlCLGlCQUFpQixHQUFHLHlDQUFpQixDQUFDO0lBQ3RDLFVBQVUsR0FBRywwQkFBVSxDQUFDO0lBQ3hCOzs7O09BSUc7SUFDSCxnQkFBZ0IsR0FBRyx3Q0FBZ0IsQ0FBQztJQUVwQzs7OztPQUlHO0lBQ0gsVUFBVSxHQUFHLHdDQUFnQixDQUFDO0lBRTlCOzs7O09BSUc7SUFDSCxPQUFPLEdBQUcsd0NBQWdCLENBQUM7SUFFM0I7Ozs7T0FJRztJQUNILFlBQVksR0FBRyx3Q0FBZ0IsQ0FBQztJQUVoQzs7O09BR0c7SUFDSCxhQUFhLEdBQUcsa0NBQWEsQ0FBQztJQUU5Qjs7O09BR0c7SUFDSCxJQUFJ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
617
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWdnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9lZ2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQThDO0FBQzlDLDBEQUE2QjtBQUM3QixzREFBeUI7QUFDekIsMERBQTRFO0FBQzVFLG9FQUF1QztBQUV2QyxzQ0FLcUI7QUErQ25CLHVGQWhEQSxhQUFNLE9BZ0RBO0FBekNSLDZEQUE2RDtBQUM3RCxhQUFhO0FBQ2IsaUVBQWtGO0FBQ2xGLHFDQUFpQztBQUNqQywyQ0FBc0Y7QUFzQ3BGLDBGQXRDc0Qsc0JBQVMsT0FzQ3REO0FBckNYLDRDQUEyRDtBQUMzRCw2REFBNkQ7QUFDN0QsYUFBYTtBQUNiLGtGQUFpRDtBQUdqRCwwRUFBMkU7QUE2QnpFLGtCQTdCSyxvQkFBTyxDQTZCTDtBQTNCVCx3REFBa0Y7QUFDbEYsd0VBQWlFO0FBQ2pFLHdEQUU4QjtBQUM5QixnREFBaUQ7QUFDakQsc0RBRTZCO0FBQzdCLDhDQUFnRDtBQUNoRCx3RUFBZ0U7QUFDaEUsa0VBQTBEO0FBRTFELHlDQUE4QztBQUU5QywwQkFBd0I7QUFFeEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQWUzQyxNQUFhLE9BQVEsU0FBUSxjQUFjO0NBSTFDO0FBSkQsMEJBSUM7QUFFRCxNQUFhLFFBQVMsU0FBUSxlQUFlO0NBSTVDO0FBSkQsNEJBSUM7QUFZRDs7Ozs7R0FLRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsY0FBTztJQUU3QyxnR0FBZ0c7SUFDaEcsY0FBYyxHQUFHLGlCQUFjLENBQUM7SUFDaEMsYUFBYSxHQUFHLDZCQUFhLENBQUM7SUFDOUIsaUJBQWlCLEdBQUcseUNBQWlCLENBQUM7SUFDdEMsVUFBVSxHQUFHLDBCQUFVLENBQUM7SUFDeEI7Ozs7T0FJRztJQUNILGdCQUFnQixHQUFHLHdDQUFnQixDQUFDO0lBRXBDOzs7O09BSUc7SUFDSCxVQUFVLEdBQUcsd0NBQWdCLENBQUM7SUFFOUI7Ozs7T0FJRztJQUNILE9BQU8sR0FBRyx3Q0FBZ0IsQ0FBQztJQUUzQjs7OztPQUlHO0lBQ0gsWUFBWSxHQUFHLHdDQUFnQixDQUFDO0lBRWhDOzs7T0FHRztJQUNILGFBQWEsR0FBRyxrQ0FBYSxDQUFDO0lBRTlCOzs7T0FHRztJQUNILElBQUksR0FBRyxrQ0FBYSxDQUFDO0lBSXJCLFdBQVcsQ0FBYztJQUN6QixRQUFRLENBQWM7SUFDdEIsZUFBZSxHQUFVLEVBQUUsQ0FBQztJQUVuQixTQUFTLENBQWE7SUFDL0IsS0FBSyxDQUFTO0lBQ2QsV0FBVyxDQUFlO0lBRzFCOzs7Ozs7O09BT0c7SUFDSCxZQUFZLE9BQW1DO1FBQzdDLE9BQU8sR0FBRztZQUNSLElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDdEIsR0FBRyxPQUFPO1NBQ1gsQ0FBQztRQUNGLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmOzs7O1dBSUc7UUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUEsaUJBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUV2Qyx5REFBeUQ7UUFDekQsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUM1QyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFUyxLQUFLLENBQUMsVUFBVTtRQUN4QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVTLEtBQUssQ0FBQyxJQUFJO1FBQ2xCLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLHNGQUFzRjtRQUN0RixrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNyQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsYUFBYSxDQUFDLENBQUM7UUFDMUYsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTlFLDJFQUEyRTtRQUMzRSxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RSxPQUFPLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRWxFLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLEtBQUssSUFBSSxFQUFFO1lBQzVDLDRCQUE0QjtZQUM1QixLQUFLLE1BQU0sYUFBYSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDakQsTUFBTSxJQUFBLHNCQUFrQixFQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzFDLENBQUM7WUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztZQUUxQix3REFBd0Q7WUFDeEQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGFBQWEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDbEUsTUFBTSxJQUFJLENBQUMsS0FBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLENBQUM7WUFFRCxLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztnQkFDM0MsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDaEYsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNILE9BQU8sQ0FBQyxXQUFvQixFQUFFLE9BQWdCO1FBQzVDLE1BQU0sa0JBQWtCLEdBQUc7WUFDekIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWE7WUFDNUIsR0FBRyxPQUFPO1lBQ1YsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDMUMsNkRBQTZEO1lBQzdELElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDOUIsbURBQW1EO1lBQ25ELFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU87WUFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3ZCLHNDQUFzQztZQUN0QyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsd0JBQVMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxTQUFTO1NBQ3BGLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxJQUFBLHdCQUFtQixFQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bb0JHO0lBQ0gsT0FBTztRQUNMLE1BQU0sR0FBRyxHQUFHO1lBQ1YsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRztTQUNyQixDQUFDO1FBRUYsU0FBUyxRQUFRLENBQUMsR0FBUSxFQUFFLEdBQVEsRUFBRSxJQUFjO1lBQ2xELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdEIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsU0FBUyxJQUFJLENBQUMsR0FBUSxFQUFFLEdBQVEsRUFBRSxJQUFjO1lBQzlDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsR0FBRyxHQUFHLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFO1lBQ2xCLE1BQU07WUFDTixTQUFTO1lBQ1QsaUJBQWlCO1NBQ2xCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFO1lBQ2QsUUFBUTtZQUNSLFlBQVk7WUFDWixZQUFZO1lBQ1osU0FBUztZQUNULGFBQWE7WUFDYixRQUFRO1lBQ1IsZ0JBQWdCO1NBQ2pCLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bc0NHO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBVSxHQUF5QixFQUFFLE9BQWtDO1FBQy9FLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBSSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLFVBQVU7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLE9BQU87UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBQSx5QkFBYSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLElBQVk7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsMEJBQTBCLENBQUMsR0FBUTtRQUNqQyxJQUFJLENBQUMsQ0FBQyxHQUFHLFlBQVksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN4Qyx5RkFBeUY7WUFDekYsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDUixJQUFJLEdBQUcsQ0FBQyxJQUFJO29CQUFFLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDdkMsSUFBSSxHQUFHLENBQUMsT0FBTztvQkFBRSxRQUFRLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7Z0JBQ2hELElBQUksR0FBRyxDQUFDLEtBQUs7b0JBQUUsUUFBUSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzVDLENBQUM7WUFDRCxHQUFHLEdBQUcsUUFBUSxDQUFDO1FBQ2pCLENBQUM7UUFDRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDekIsR0FBRyxDQUFDLElBQUksR0FBRyx5QkFBeUIsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQjtRQUNoQixJQUFJLFVBQStCLENBQUM7UUFDcEMsSUFBSSxDQUFDO1lBQ0gsd0JBQXdCO1lBQ3hCLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNsQixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBQSxnQkFBTSxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVU7WUFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztTQUM3QixDQUFDLENBQUM7UUFDSCxJQUFBLHdCQUFhLEVBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLE9BQU87WUFDTCxNQUFNO1lBQ04sSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVTtTQUM3QixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVU7UUFDUixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNsQyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsaUJBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsaUJBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkIsQ0FBQztZQUVELG9CQUFvQjtZQUNwQixNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBRW5ELGNBQWM7WUFDZCxNQUFNLFFBQVEsR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxjQUFjLENBQUMsQ0FBQztZQUMvRCxpQkFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsK0JBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXBFLG1CQUFtQjtZQUNuQixNQUFNLFlBQVksR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3hFLGlCQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSwrQkFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUFDLE9BQU8sR0FBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQztZQUNILE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDbEMsTUFBTSxRQUFRLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksV0FBVyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztZQUM5RSxpQkFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsK0JBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUM3QyxpREFBaUQ7WUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0Qix3RUFBd0U7WUFDeEUsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsZ0NBQWdDO2dCQUNoQyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLEVBQUUsQ0FBQztvQkFDMUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsd0RBQXdELEVBQzNFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sR0FBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNaLE9BQU8sSUFBQSwyQkFBZ0IsR0FBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLDhCQUE4QixJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixNQUFNLENBQUMsQ0FBQztZQUN0RyxpQkFBaUI7WUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUN6QixJQUFJLElBQUksQ0FBQyxHQUFHO29CQUFFLFNBQVM7Z0JBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLDJCQUEyQiwrQkFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkYsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLHdFQUF3RSxFQUM1RixJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sS0FBSyxDQUFDLE1BQXNCLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksR0FBRztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxtQ0FBbUM7SUFDbkMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFHLENBQUM7SUFFYjs7O09BR0c7SUFDSCxJQUFJLEtBQUs7UUFDUCx5REFBeUQ7UUFDekQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBQ0QsbUNBQW1DO0lBQ25DLElBQUksS0FBSyxDQUFDLENBQUMsSUFBRyxDQUFDO0lBRWY7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxJQUFZLEVBQUUsTUFBNkI7UUFDdEQsTUFBTSxPQUFPLEdBQXFCO1lBQ2hDLElBQUk7WUFDSixNQUFNO1lBQ04sR0FBRyxFQUFFLElBQUk7U0FDVixDQUFDO1FBQ0YsTUFBTSxTQUFTLEdBQUcsSUFBSSx3QkFBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQzFCLE1BQU0sV0FBVyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFXO1FBQzdCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDaEMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBUyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEMsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILHNCQUFzQixDQUFDLEdBQVM7UUFDOUIsTUFBTSxPQUFPLEdBQVE7WUFDbkIsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxXQUFXO2dCQUNqQixpQkFBaUIsRUFBRSxXQUFXO2FBQy9CO1lBQ0QsS0FBSyxFQUFFLEVBQUU7WUFDVCxXQUFXLEVBQUUsRUFBRTtZQUNmLElBQUksRUFBRSxXQUFXO1lBQ2pCLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsR0FBRztZQUNSLElBQUksRUFBRSxHQUFHO1lBQ1QsTUFBTSxFQUFFO2dCQUNOLGFBQWEsRUFBRSxXQUFXO2dCQUMxQixVQUFVLEVBQUUsSUFBSTthQUNqQjtTQUNGLENBQUM7UUFDRixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxPQUFPLElBQUksR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUM3RCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzFCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLElBQUksbUJBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsYUFBYSxDQUFDLEdBQW9CLEVBQUUsR0FBbUI7UUFDckQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFlLENBQUM7UUFDMUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLElBQVcsQ0FBQztRQUN2RCxPQUFPLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDL0MsT0FBTyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUM7UUFDckMsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDNUIsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDM0IsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLEdBQWEsQ0FBQztRQUM5RCxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMvQixPQUFPLENBQUMsb0JBQW9CLEdBQUcsNkJBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNqRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFwa0JELGdEQW9rQkMifQ==
@@ -0,0 +1,6 @@
1
+ declare module '@eggjs/core' {
2
+ interface EggCore {
3
+ inspect(): any;
4
+ }
5
+ }
6
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWdnLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9lZ2cudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,15 +1,13 @@
1
1
  import type { Socket } from 'node:net';
2
- import type { EggCoreContext } from '@eggjs/core';
3
2
  import type { RequestOptions as HttpClientRequestOptions } from 'urllib';
4
3
  import type { EggLoggerOptions, EggLoggersOptions } from 'egg-logger';
5
4
  import type { FileLoaderOptions } from '@eggjs/core';
6
- import type { EggApplicationCore } from './egg.js';
5
+ import type { EggApplicationCore, ContextDelegation } from './egg.js';
7
6
  import type { MetaMiddlewareOptions } from '../app/middleware/meta.js';
8
7
  import type { NotFoundMiddlewareOptions } from '../app/middleware/notfound.js';
9
8
  import type { SiteFileMiddlewareOptions } from '../app/middleware/site_file.js';
10
- type IgnoreItem = string | RegExp | ((ctx: EggCoreContext) => boolean);
9
+ type IgnoreItem = string | RegExp | ((ctx: ContextDelegation) => boolean);
11
10
  type IgnoreOrMatch = IgnoreItem | IgnoreItem[];
12
- export type Next = () => Promise<void>;
13
11
  export interface ClientErrorResponse {
14
12
  body: string | Buffer;
15
13
  status: number;
@@ -89,7 +87,7 @@ export interface EggAppConfig {
89
87
  };
90
88
  /** Default is `'error'`, it will return `400` response when `Prototype-Poisoning` happen. */
91
89
  onProtoPoisoning: 'error' | 'remove' | 'ignore';
92
- onerror(err: any, ctx: EggCoreContext): void;
90
+ onerror(err: any, ctx: ContextDelegation): void;
93
91
  };
94
92
  /**
95
93
  * logger options
@@ -292,5 +290,4 @@ export interface EggAppConfig {
292
290
  };
293
291
  [prop: string]: any;
294
292
  }
295
- export type { EggLogger, } from 'egg-logger';
296
- export type { ILifecycleBoot, } from '@eggjs/core';
293
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare function getSourceDirname(): string;
2
+ export declare function getSourceFile(filename: string): string;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getSourceDirname = getSourceDirname;
7
+ exports.getSourceFile = getSourceFile;
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const node_url_1 = require("node:url");
10
+ function getSourceDirname() {
11
+ if (typeof __dirname !== 'undefined') {
12
+ return node_path_1.default.dirname(__dirname);
13
+ }
14
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
15
+ // @ts-ignore
16
+ return node_path_1.default.dirname(node_path_1.default.dirname((0, node_url_1.fileURLToPath)('import_meta_url_placeholder_by_tshy_after')));
17
+ }
18
+ function getSourceFile(filename) {
19
+ return node_path_1.default.join(getSourceDirname(), filename);
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBSUEsNENBT0M7QUFFRCxzQ0FFQztBQWRELDBEQUE2QjtBQUM3Qix1Q0FBeUM7QUFFekMsU0FBZ0IsZ0JBQWdCO0lBQzlCLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDckMsT0FBTyxtQkFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsNkRBQTZEO0lBQzdELGFBQWE7SUFDYixPQUFPLG1CQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFJLENBQUMsT0FBTyxDQUFDLElBQUEsd0JBQWEsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFDLFFBQWdCO0lBQzVDLE9BQU8sbUJBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNqRCxDQUFDIn0=
@@ -1,2 +1,154 @@
1
- declare const Context: any;
2
- export default Context;
1
+ import { Context as EggCoreContext, Router, type ContextDelegation as EggCoreContextDelegation } from '@eggjs/core';
2
+ import type { Cookies as ContextCookies } from '@eggjs/cookies';
3
+ import { EggLogger } from 'egg-logger';
4
+ import type { Application } from '../../lib/application.js';
5
+ import type { HttpClientRequestURL, HttpClientRequestOptions, HttpClient } from '../../lib/core/httpclient.js';
6
+ import type { ContextHttpClient } from '../../lib/core/context_httpclient.js';
7
+ import type { BaseContextClass } from '../../lib//core/base_context_class.js';
8
+ import Request from './request.js';
9
+ import Response from './response.js';
10
+ import type Helper from './helper.js';
11
+ import './context.types.js';
12
+ interface Cookies extends ContextCookies {
13
+ request: any;
14
+ response: any;
15
+ }
16
+ export default class Context extends EggCoreContext {
17
+ app: Application;
18
+ request: Request;
19
+ service: BaseContextClass;
20
+ /**
21
+ * Request start time
22
+ * @member {Number} Context#starttime
23
+ */
24
+ starttime: number;
25
+ /**
26
+ * Request start timer using `performance.now()`
27
+ * @member {Number} Context#performanceStarttime
28
+ */
29
+ performanceStarttime: number;
30
+ /**
31
+ * Get the current visitor's cookies.
32
+ */
33
+ get cookies(): Cookies;
34
+ /**
35
+ * Get a wrapper httpclient instance contain ctx in the hold request process
36
+ *
37
+ * @return {ContextHttpClient} the wrapper httpclient instance
38
+ */
39
+ get httpclient(): ContextHttpClient;
40
+ /**
41
+ * Alias to {@link Context#httpclient}
42
+ */
43
+ get httpClient(): ContextHttpClient;
44
+ /**
45
+ * Shortcut for httpclient.curl
46
+ *
47
+ * @function Context#curl
48
+ * @param {String|Object} url - request url address.
49
+ * @param {Object} [options] - options for request.
50
+ * @return {Object} see {@link ContextHttpClient#curl}
51
+ */
52
+ curl(url: HttpClientRequestURL, options?: HttpClientRequestOptions): ReturnType<HttpClient['request']>;
53
+ /**
54
+ * Alias to {@link Application#router}
55
+ *
56
+ * @member {Router} Context#router
57
+ * @since 1.0.0
58
+ * @example
59
+ * ```js
60
+ * this.router.pathFor('post', { id: 12 });
61
+ * ```
62
+ */
63
+ get router(): Router;
64
+ /**
65
+ * Set router to Context, only use on EggRouter
66
+ * @param {Router} val router instance
67
+ */
68
+ set router(val: Router);
69
+ /**
70
+ * Get helper instance from {@link Application#Helper}
71
+ *
72
+ * @member {Helper} Context#helper
73
+ * @since 1.0.0
74
+ */
75
+ get helper(): Helper;
76
+ /**
77
+ * Wrap app.loggers with context information,
78
+ * if a custom logger is defined by naming aLogger, then you can `ctx.getLogger('aLogger')`
79
+ *
80
+ * @param {String} name - logger name
81
+ */
82
+ getLogger(name: string): EggLogger;
83
+ /**
84
+ * Logger for Application
85
+ *
86
+ * @member {Logger} Context#logger
87
+ * @since 1.0.0
88
+ * @example
89
+ * ```js
90
+ * this.logger.info('some request data: %j', this.request.body);
91
+ * this.logger.warn('WARNING!!!!');
92
+ * ```
93
+ */
94
+ get logger(): EggLogger;
95
+ /**
96
+ * Logger for frameworks and plugins
97
+ *
98
+ * @member {Logger} Context#coreLogger
99
+ * @since 1.0.0
100
+ */
101
+ get coreLogger(): EggLogger;
102
+ /**
103
+ * locals is an object for view, you can use `app.locals` and `ctx.locals` to set variables,
104
+ * which will be used as data when view is rendering.
105
+ * The difference between `app.locals` and `ctx.locals` is the context level, `app.locals` is global level, and `ctx.locals` is request level. when you get `ctx.locals`, it will merge `app.locals`.
106
+ *
107
+ * when you set locals, only object is available
108
+ *
109
+ * ```js
110
+ * this.locals = {
111
+ * a: 1
112
+ * };
113
+ * this.locals = {
114
+ * b: 1
115
+ * };
116
+ * this.locals.c = 1;
117
+ * console.log(this.locals);
118
+ * {
119
+ * a: 1,
120
+ * b: 1,
121
+ * c: 1,
122
+ * };
123
+ * ```
124
+ *
125
+ * `ctx.locals` has cache, it only merges `app.locals` once in one request.
126
+ *
127
+ * @member {Object} Context#locals
128
+ */
129
+ get locals(): Record<string, any>;
130
+ set locals(val: Record<string, any>);
131
+ /**
132
+ * alias to {@link Context#locals}, compatible with koa that use this variable
133
+ * @member {Object} state
134
+ * @see Context#locals
135
+ */
136
+ get state(): Record<string, any>;
137
+ set state(val: Record<string, any>);
138
+ /**
139
+ * Run async function in the background
140
+ * @param {Function} scope - the first args is ctx
141
+ * ```js
142
+ * this.body = 'hi';
143
+ *
144
+ * this.runInBackground(async ctx => {
145
+ * await ctx.mysql.query(sql);
146
+ * await ctx.curl(url);
147
+ * });
148
+ * ```
149
+ */
150
+ runInBackground(scope: (ctx: ContextDelegation) => Promise<void>, taskName?: string): void;
151
+ _runInBackground(scope: (ctx: ContextDelegation) => Promise<void>, taskName: string): Promise<void>;
152
+ }
153
+ export type ContextDelegation = EggCoreContextDelegation & Context & Pick<Request, 'acceptJSON' | 'queries' | 'accept' | 'ip'> & Pick<Response, 'realStatus'>;
154
+ export {};