@mountainpass/problem-document 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +3 -1
- package/.prettierignore +1 -0
- package/.prettierrc.json +3 -0
- package/docs/assets/css/main.css +2660 -0
- package/docs/assets/images/icons.png +0 -0
- package/docs/assets/images/icons@2x.png +0 -0
- package/docs/assets/images/widgets.png +0 -0
- package/docs/assets/images/widgets@2x.png +0 -0
- package/docs/assets/js/main.js +248 -0
- package/docs/assets/js/search.js +1 -0
- package/docs/classes/ProblemDocument.html +285 -0
- package/docs/index.html +108 -0
- package/docs/modules.html +206 -0
- package/lib/index.d.ts +489 -349
- package/lib/index.js +45 -1
- package/package.json +28 -4
package/lib/index.js
CHANGED
|
@@ -1,10 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ProblemDocument = void 0;
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* This class implements RFC7807 "problem detail", a way to carry machine-
|
|
7
|
+
* readable details of errors in a HTTP response to avoid the need to
|
|
8
|
+
* define new error response formats for HTTP APIs.
|
|
9
|
+
*
|
|
10
|
+
* Official Documentation @ https://datatracker.ietf.org/doc/html/rfc7807
|
|
11
|
+
*
|
|
12
|
+
* Consumers MUST use the "type" string as the primary identifier for
|
|
13
|
+
* the problem type; the "title" string is advisory and included only
|
|
14
|
+
* for users who are not aware of the semantics of the URI and do not
|
|
15
|
+
* have the ability to discover them (e.g., offline log analysis).
|
|
16
|
+
* Consumers SHOULD NOT automatically dereference the type URI.
|
|
17
|
+
*
|
|
18
|
+
* The "status" member, if present, is only advisory; it conveys the
|
|
19
|
+
* HTTP status code used for the convenience of the consumer.
|
|
20
|
+
* Generators MUST use the same status code in the actual HTTP response,
|
|
21
|
+
* to assure that generic HTTP software that does not understand this
|
|
22
|
+
* format still behaves correctly. See Section 5 for further caveats
|
|
23
|
+
* regarding its use.
|
|
24
|
+
*
|
|
25
|
+
* Consumers can use the status member to determine what the original
|
|
26
|
+
* status code used by the generator was, in cases where it has been
|
|
27
|
+
* changed (e.g., by an intermediary or cache), and when message bodies
|
|
28
|
+
* persist without HTTP information. Generic HTTP software will still
|
|
29
|
+
* use the HTTP status code.
|
|
30
|
+
*
|
|
31
|
+
* The "detail" member, if present, ought to focus on helping the client
|
|
32
|
+
* correct the problem, rather than giving debugging information.
|
|
33
|
+
*
|
|
34
|
+
* Consumers SHOULD NOT parse the "detail" member for information;
|
|
35
|
+
* extensions are more suitable and less error-prone ways to obtain such
|
|
36
|
+
* information.
|
|
37
|
+
*
|
|
38
|
+
* Note that both {@link BaseProblemDocumentProperties.type type} and {@link BaseProblemDocumentProperties.instance instance} accept relative URIs; this means
|
|
39
|
+
* that they must be resolved relative to the document's base URI, as
|
|
40
|
+
* per {@link https://datatracker.ietf.org/doc/html/rfc3986#section-5 [RFC3986], Section 5}.
|
|
41
|
+
*/
|
|
4
42
|
class ProblemDocument {
|
|
43
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* construct a new ProblemDocument instance
|
|
46
|
+
*
|
|
47
|
+
* @param data properties to assign to the new instance
|
|
48
|
+
*/
|
|
5
49
|
constructor(data) {
|
|
6
50
|
Object.assign(this, data);
|
|
7
51
|
}
|
|
8
52
|
}
|
|
9
53
|
exports.ProblemDocument = ProblemDocument;
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcVdBLE1BQWEsZUFBZTtJQU8xQixZQUFZLElBQTZCO1FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7Q0FDRjtBQVZELDBDQVVDIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9wcmV0dHltdWNoYnJ5Y2UvaHR0cC1zdGF0dXMtY29kZXMvYmxvYi9tYXN0ZXIvc3JjL3N0YXR1cy1jb2Rlcy50cyB1bmRlciBNSVQgTGljZW5zZVxuLy8gSWYgeW91IGtub3cgaG93IHRvIGNvbnZlcnQgbnVtZXJpYyBlbnVtIHZhbHVlcyB0byBhIHVuaW9uIHR5cGUsIHBsZWFzZSBzdWJtaXQgYSBQUi5cbnR5cGUgU3RhdHVzQ29kZSA9XG4vKiogQUNDRVBURURcbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi4zLjNcbipcbiogVGhlIHJlcXVlc3QgaGFzIGJlZW4gcmVjZWl2ZWQgYnV0IG5vdCB5ZXQgYWN0ZWQgdXBvbi4gSXQgaXMgbm9uLWNvbW1pdHRhbCwgbWVhbmluZyB0aGF0IHRoZXJlIGlzIG5vIHdheSBpbiBIVFRQIHRvIGxhdGVyIHNlbmQgYW4gYXN5bmNocm9ub3VzIHJlc3BvbnNlIGluZGljYXRpbmcgdGhlIG91dGNvbWUgb2YgcHJvY2Vzc2luZyB0aGUgcmVxdWVzdC4gSXQgaXMgaW50ZW5kZWQgZm9yIGNhc2VzIHdoZXJlIGFub3RoZXIgcHJvY2VzcyBvciBzZXJ2ZXIgaGFuZGxlcyB0aGUgcmVxdWVzdCwgb3IgZm9yIGJhdGNoIHByb2Nlc3NpbmcuXG4qL1xuMjAyIHxcbi8qKiBCQURfR0FURVdBWVxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjYuM1xuKlxuKiBUaGlzIGVycm9yIHJlc3BvbnNlIG1lYW5zIHRoYXQgdGhlIHNlcnZlciwgd2hpbGUgd29ya2luZyBhcyBhIGdhdGV3YXkgdG8gZ2V0IGEgcmVzcG9uc2UgbmVlZGVkIHRvIGhhbmRsZSB0aGUgcmVxdWVzdCwgZ290IGFuIGludmFsaWQgcmVzcG9uc2UuXG4qL1xuNTAyIHxcbi8qKiBCQURfUkVRVUVTVFxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjUuMVxuKlxuKiBUaGlzIHJlc3BvbnNlIG1lYW5zIHRoYXQgc2VydmVyIGNvdWxkIG5vdCB1bmRlcnN0YW5kIHRoZSByZXF1ZXN0IGR1ZSB0byBpbnZhbGlkIHN5bnRheC5cbiovXG40MDAgfFxuLyoqIENPTkZMSUNUXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNS44XG4qXG4qIFRoaXMgcmVzcG9uc2UgaXMgc2VudCB3aGVuIGEgcmVxdWVzdCBjb25mbGljdHMgd2l0aCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgc2VydmVyLlxuKi9cbjQwOSB8XG4vKiogQ09OVElOVUVcbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi4yLjFcbipcbiogVGhpcyBpbnRlcmltIHJlc3BvbnNlIGluZGljYXRlcyB0aGF0IGV2ZXJ5dGhpbmcgc28gZmFyIGlzIE9LIGFuZCB0aGF0IHRoZSBjbGllbnQgc2hvdWxkIGNvbnRpbnVlIHdpdGggdGhlIHJlcXVlc3Qgb3IgaWdub3JlIGl0IGlmIGl0IGlzIGFscmVhZHkgZmluaXNoZWQuXG4qL1xuMTAwIHxcbi8qKiBDUkVBVEVEXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuMy4yXG4qXG4qIFRoZSByZXF1ZXN0IGhhcyBzdWNjZWVkZWQgYW5kIGEgbmV3IHJlc291cmNlIGhhcyBiZWVuIGNyZWF0ZWQgYXMgYSByZXN1bHQgb2YgaXQuIFRoaXMgaXMgdHlwaWNhbGx5IHRoZSByZXNwb25zZSBzZW50IGFmdGVyIGEgUFVUIHJlcXVlc3QuXG4qL1xuMjAxIHxcbi8qKiBFWFBFQ1RBVElPTl9GQUlMRURcbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi41LjE0XG4qXG4qIFRoaXMgcmVzcG9uc2UgY29kZSBtZWFucyB0aGUgZXhwZWN0YXRpb24gaW5kaWNhdGVkIGJ5IHRoZSBFeHBlY3QgcmVxdWVzdCBoZWFkZXIgZmllbGQgY2FuJ3QgYmUgbWV0IGJ5IHRoZSBzZXJ2ZXIuXG4qL1xuNDE3IHxcbi8qKiBGQUlMRURfREVQRU5ERU5DWVxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzI1MTgjc2VjdGlvbi0xMC41XG4qXG4qIFRoZSByZXF1ZXN0IGZhaWxlZCBkdWUgdG8gZmFpbHVyZSBvZiBhIHByZXZpb3VzIHJlcXVlc3QuXG4qL1xuNDI0IHxcbi8qKiBGT1JCSURERU5cbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi41LjNcbipcbiogVGhlIGNsaWVudCBkb2VzIG5vdCBoYXZlIGFjY2VzcyByaWdodHMgdG8gdGhlIGNvbnRlbnQsIGkuZS4gdGhleSBhcmUgdW5hdXRob3JpemVkLCBzbyBzZXJ2ZXIgaXMgcmVqZWN0aW5nIHRvIGdpdmUgcHJvcGVyIHJlc3BvbnNlLiBVbmxpa2UgNDAxLCB0aGUgY2xpZW50J3MgaWRlbnRpdHkgaXMga25vd24gdG8gdGhlIHNlcnZlci5cbiovXG40MDMgfFxuLyoqIEdBVEVXQVlfVElNRU9VVFxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjYuNVxuKlxuKiBUaGlzIGVycm9yIHJlc3BvbnNlIGlzIGdpdmVuIHdoZW4gdGhlIHNlcnZlciBpcyBhY3RpbmcgYXMgYSBnYXRld2F5IGFuZCBjYW5ub3QgZ2V0IGEgcmVzcG9uc2UgaW4gdGltZS5cbiovXG41MDQgfFxuLyoqIEdPTkVcbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi41LjlcbipcbiogVGhpcyByZXNwb25zZSB3b3VsZCBiZSBzZW50IHdoZW4gdGhlIHJlcXVlc3RlZCBjb250ZW50IGhhcyBiZWVuIHBlcm1hbmVudGx5IGRlbGV0ZWQgZnJvbSBzZXJ2ZXIsIHdpdGggbm8gZm9yd2FyZGluZyBhZGRyZXNzLiBDbGllbnRzIGFyZSBleHBlY3RlZCB0byByZW1vdmUgdGhlaXIgY2FjaGVzIGFuZCBsaW5rcyB0byB0aGUgcmVzb3VyY2UuIFRoZSBIVFRQIHNwZWNpZmljYXRpb24gaW50ZW5kcyB0aGlzIHN0YXR1cyBjb2RlIHRvIGJlIHVzZWQgZm9yIFwibGltaXRlZC10aW1lLCBwcm9tb3Rpb25hbCBzZXJ2aWNlc1wiLiBBUElzIHNob3VsZCBub3QgZmVlbCBjb21wZWxsZWQgdG8gaW5kaWNhdGUgcmVzb3VyY2VzIHRoYXQgaGF2ZSBiZWVuIGRlbGV0ZWQgd2l0aCB0aGlzIHN0YXR1cyBjb2RlLlxuKi9cbjQxMCB8XG4vKiogSFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURURcbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi42LjZcbipcbiogVGhlIEhUVFAgdmVyc2lvbiB1c2VkIGluIHRoZSByZXF1ZXN0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlci5cbiovXG41MDUgfFxuLyoqIElNX0FfVEVBUE9UXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjMyNCNzZWN0aW9uLTIuMy4yXG4qXG4qIEFueSBhdHRlbXB0IHRvIGJyZXcgY29mZmVlIHdpdGggYSB0ZWFwb3Qgc2hvdWxkIHJlc3VsdCBpbiB0aGUgZXJyb3IgY29kZSBcIjQxOCBJJ20gYSB0ZWFwb3RcIi4gVGhlIHJlc3VsdGluZyBlbnRpdHkgYm9keSBNQVkgYmUgc2hvcnQgYW5kIHN0b3V0LlxuKi9cbjQxOCB8XG4vKiogSU5TVUZGSUNJRU5UX1NQQUNFX09OX1JFU09VUkNFXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjUxOCNzZWN0aW9uLTEwLjZcbipcbiogVGhlIDUwNyAoSW5zdWZmaWNpZW50IFN0b3JhZ2UpIHN0YXR1cyBjb2RlIG1lYW5zIHRoZSBtZXRob2QgY291bGQgbm90IGJlIHBlcmZvcm1lZCBvbiB0aGUgcmVzb3VyY2UgYmVjYXVzZSB0aGUgc2VydmVyIGlzIHVuYWJsZSB0byBzdG9yZSB0aGUgcmVwcmVzZW50YXRpb24gbmVlZGVkIHRvIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZSB0aGUgcmVxdWVzdC4gVGhpcyBjb25kaXRpb24gaXMgY29uc2lkZXJlZCB0byBiZSB0ZW1wb3JhcnkuIElmIHRoZSByZXF1ZXN0IHdoaWNoIHJlY2VpdmVkIHRoaXMgc3RhdHVzIGNvZGUgd2FzIHRoZSByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbiwgdGhlIHJlcXVlc3QgTVVTVCBOT1QgYmUgcmVwZWF0ZWQgdW50aWwgaXQgaXMgcmVxdWVzdGVkIGJ5IGEgc2VwYXJhdGUgdXNlciBhY3Rpb24uXG4qL1xuNDE5IHxcbi8qKiBJTlNVRkZJQ0lFTlRfU1RPUkFHRVxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzI1MTgjc2VjdGlvbi0xMC42XG4qXG4qIFRoZSBzZXJ2ZXIgaGFzIGFuIGludGVybmFsIGNvbmZpZ3VyYXRpb24gZXJyb3I6IHRoZSBjaG9zZW4gdmFyaWFudCByZXNvdXJjZSBpcyBjb25maWd1cmVkIHRvIGVuZ2FnZSBpbiB0cmFuc3BhcmVudCBjb250ZW50IG5lZ290aWF0aW9uIGl0c2VsZiwgYW5kIGlzIHRoZXJlZm9yZSBub3QgYSBwcm9wZXIgZW5kIHBvaW50IGluIHRoZSBuZWdvdGlhdGlvbiBwcm9jZXNzLlxuKi9cbjUwNyB8XG4vKiogSU5URVJOQUxfU0VSVkVSX0VSUk9SXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNi4xXG4qXG4qIFRoZSBzZXJ2ZXIgZW5jb3VudGVyZWQgYW4gdW5leHBlY3RlZCBjb25kaXRpb24gdGhhdCBwcmV2ZW50ZWQgaXQgZnJvbSBmdWxmaWxsaW5nIHRoZSByZXF1ZXN0LlxuKi9cbjUwMCB8XG4vKiogTEVOR1RIX1JFUVVJUkVEXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNS4xMFxuKlxuKiBUaGUgc2VydmVyIHJlamVjdGVkIHRoZSByZXF1ZXN0IGJlY2F1c2UgdGhlIENvbnRlbnQtTGVuZ3RoIGhlYWRlciBmaWVsZCBpcyBub3QgZGVmaW5lZCBhbmQgdGhlIHNlcnZlciByZXF1aXJlcyBpdC5cbiovXG40MTEgfFxuLyoqIExPQ0tFRFxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzI1MTgjc2VjdGlvbi0xMC40XG4qXG4qIFRoZSByZXNvdXJjZSB0aGF0IGlzIGJlaW5nIGFjY2Vzc2VkIGlzIGxvY2tlZC5cbiovXG40MjMgfFxuLyoqIE1FVEhPRF9GQUlMVVJFXG4qIEBkZXByZWNhdGVkXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL3JmY2RpZmY/ZGlmZnR5cGU9LS1od2RpZmYmdXJsMj1kcmFmdC1pZXRmLXdlYmRhdi1wcm90b2NvbC0wNi50eHRcbipcbiogQSBkZXByZWNhdGVkIHJlc3BvbnNlIHVzZWQgYnkgdGhlIFNwcmluZyBGcmFtZXdvcmsgd2hlbiBhIG1ldGhvZCBoYXMgZmFpbGVkLlxuKi9cbjQyMCB8XG4vKiogTUVUSE9EX05PVF9BTExPV0VEXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNS41XG4qXG4qIFRoZSByZXF1ZXN0IG1ldGhvZCBpcyBrbm93biBieSB0aGUgc2VydmVyIGJ1dCBoYXMgYmVlbiBkaXNhYmxlZCBhbmQgY2Fubm90IGJlIHVzZWQuIEZvciBleGFtcGxlLCBhbiBBUEkgbWF5IGZvcmJpZCBERUxFVEUtaW5nIGEgcmVzb3VyY2UuIFRoZSB0d28gbWFuZGF0b3J5IG1ldGhvZHMsIEdFVCBhbmQgSEVBRCwgbXVzdCBuZXZlciBiZSBkaXNhYmxlZCBhbmQgc2hvdWxkIG5vdCByZXR1cm4gdGhpcyBlcnJvciBjb2RlLlxuKi9cbjQwNSB8XG4vKiogTU9WRURfUEVSTUFORU5UTFlcbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi40LjJcbipcbiogVGhpcyByZXNwb25zZSBjb2RlIG1lYW5zIHRoYXQgVVJJIG9mIHJlcXVlc3RlZCByZXNvdXJjZSBoYXMgYmVlbiBjaGFuZ2VkLiBQcm9iYWJseSwgbmV3IFVSSSB3b3VsZCBiZSBnaXZlbiBpbiB0aGUgcmVzcG9uc2UuXG4qL1xuMzAxIHxcbi8qKiBNT1ZFRF9URU1QT1JBUklMWVxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjQuM1xuKlxuKiBUaGlzIHJlc3BvbnNlIGNvZGUgbWVhbnMgdGhhdCBVUkkgb2YgcmVxdWVzdGVkIHJlc291cmNlIGhhcyBiZWVuIGNoYW5nZWQgdGVtcG9yYXJpbHkuIE5ldyBjaGFuZ2VzIGluIHRoZSBVUkkgbWlnaHQgYmUgbWFkZSBpbiB0aGUgZnV0dXJlLiBUaGVyZWZvcmUsIHRoaXMgc2FtZSBVUkkgc2hvdWxkIGJlIHVzZWQgYnkgdGhlIGNsaWVudCBpbiBmdXR1cmUgcmVxdWVzdHMuXG4qL1xuMzAyIHxcbi8qKiBNVUxUSV9TVEFUVVNcbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMyNTE4I3NlY3Rpb24tMTAuMlxuKlxuKiBBIE11bHRpLVN0YXR1cyByZXNwb25zZSBjb252ZXlzIGluZm9ybWF0aW9uIGFib3V0IG11bHRpcGxlIHJlc291cmNlcyBpbiBzaXR1YXRpb25zIHdoZXJlIG11bHRpcGxlIHN0YXR1cyBjb2RlcyBtaWdodCBiZSBhcHByb3ByaWF0ZS5cbiovXG4yMDcgfFxuLyoqIE1VTFRJUExFX0NIT0lDRVNcbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi40LjFcbipcbiogVGhlIHJlcXVlc3QgaGFzIG1vcmUgdGhhbiBvbmUgcG9zc2libGUgcmVzcG9uc2VzLiBVc2VyLWFnZW50IG9yIHVzZXIgc2hvdWxkIGNob29zZSBvbmUgb2YgdGhlbS4gVGhlcmUgaXMgbm8gc3RhbmRhcmRpemVkIHdheSB0byBjaG9vc2Ugb25lIG9mIHRoZSByZXNwb25zZXMuXG4qL1xuMzAwIHxcbi8qKiBORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU4NSNzZWN0aW9uLTZcbipcbiogVGhlIDUxMSBzdGF0dXMgY29kZSBpbmRpY2F0ZXMgdGhhdCB0aGUgY2xpZW50IG5lZWRzIHRvIGF1dGhlbnRpY2F0ZSB0byBnYWluIG5ldHdvcmsgYWNjZXNzLlxuKi9cbjUxMSB8XG4vKiogTk9fQ09OVEVOVFxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjMuNVxuKlxuKiBUaGVyZSBpcyBubyBjb250ZW50IHRvIHNlbmQgZm9yIHRoaXMgcmVxdWVzdCwgYnV0IHRoZSBoZWFkZXJzIG1heSBiZSB1c2VmdWwuIFRoZSB1c2VyLWFnZW50IG1heSB1cGRhdGUgaXRzIGNhY2hlZCBoZWFkZXJzIGZvciB0aGlzIHJlc291cmNlIHdpdGggdGhlIG5ldyBvbmVzLlxuKi9cbjIwNCB8XG4vKiogTk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT05cbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi4zLjRcbipcbiogVGhpcyByZXNwb25zZSBjb2RlIG1lYW5zIHJldHVybmVkIG1ldGEtaW5mb3JtYXRpb24gc2V0IGlzIG5vdCBleGFjdCBzZXQgYXMgYXZhaWxhYmxlIGZyb20gdGhlIG9yaWdpbiBzZXJ2ZXIsIGJ1dCBjb2xsZWN0ZWQgZnJvbSBhIGxvY2FsIG9yIGEgdGhpcmQgcGFydHkgY29weS4gRXhjZXB0IHRoaXMgY29uZGl0aW9uLCAyMDAgT0sgcmVzcG9uc2Ugc2hvdWxkIGJlIHByZWZlcnJlZCBpbnN0ZWFkIG9mIHRoaXMgcmVzcG9uc2UuXG4qL1xuMjAzIHxcbi8qKiBOT1RfQUNDRVBUQUJMRVxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjUuNlxuKlxuKiBUaGlzIHJlc3BvbnNlIGlzIHNlbnQgd2hlbiB0aGUgd2ViIHNlcnZlciwgYWZ0ZXIgcGVyZm9ybWluZyBzZXJ2ZXItZHJpdmVuIGNvbnRlbnQgbmVnb3RpYXRpb24sIGRvZXNuJ3QgZmluZCBhbnkgY29udGVudCBmb2xsb3dpbmcgdGhlIGNyaXRlcmlhIGdpdmVuIGJ5IHRoZSB1c2VyIGFnZW50LlxuKi9cbjQwNiB8XG4vKiogTk9UX0ZPVU5EXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNS40XG4qXG4qIFRoZSBzZXJ2ZXIgY2FuIG5vdCBmaW5kIHJlcXVlc3RlZCByZXNvdXJjZS4gSW4gdGhlIGJyb3dzZXIsIHRoaXMgbWVhbnMgdGhlIFVSTCBpcyBub3QgcmVjb2duaXplZC4gSW4gYW4gQVBJLCB0aGlzIGNhbiBhbHNvIG1lYW4gdGhhdCB0aGUgZW5kcG9pbnQgaXMgdmFsaWQgYnV0IHRoZSByZXNvdXJjZSBpdHNlbGYgZG9lcyBub3QgZXhpc3QuIFNlcnZlcnMgbWF5IGFsc28gc2VuZCB0aGlzIHJlc3BvbnNlIGluc3RlYWQgb2YgNDAzIHRvIGhpZGUgdGhlIGV4aXN0ZW5jZSBvZiBhIHJlc291cmNlIGZyb20gYW4gdW5hdXRob3JpemVkIGNsaWVudC4gVGhpcyByZXNwb25zZSBjb2RlIGlzIHByb2JhYmx5IHRoZSBtb3N0IGZhbW91cyBvbmUgZHVlIHRvIGl0cyBmcmVxdWVudCBvY2N1cnJlbmNlIG9uIHRoZSB3ZWIuXG4qL1xuNDA0IHxcbi8qKiBOT1RfSU1QTEVNRU5URURcbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi42LjJcbipcbiogVGhlIHJlcXVlc3QgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlciBhbmQgY2Fubm90IGJlIGhhbmRsZWQuIFRoZSBvbmx5IG1ldGhvZHMgdGhhdCBzZXJ2ZXJzIGFyZSByZXF1aXJlZCB0byBzdXBwb3J0IChhbmQgdGhlcmVmb3JlIHRoYXQgbXVzdCBub3QgcmV0dXJuIHRoaXMgY29kZSkgYXJlIEdFVCBhbmQgSEVBRC5cbiovXG41MDEgfFxuLyoqIE5PVF9NT0RJRklFRFxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzIjc2VjdGlvbi00LjFcbipcbiogVGhpcyBpcyB1c2VkIGZvciBjYWNoaW5nIHB1cnBvc2VzLiBJdCBpcyB0ZWxsaW5nIHRvIGNsaWVudCB0aGF0IHJlc3BvbnNlIGhhcyBub3QgYmVlbiBtb2RpZmllZC4gU28sIGNsaWVudCBjYW4gY29udGludWUgdG8gdXNlIHNhbWUgY2FjaGVkIHZlcnNpb24gb2YgcmVzcG9uc2UuXG4qL1xuMzA0IHxcbi8qKiBPS1xuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjMuMVxuKlxuKiBUaGUgcmVxdWVzdCBoYXMgc3VjY2VlZGVkLiBUaGUgbWVhbmluZyBvZiBhIHN1Y2Nlc3MgdmFyaWVzIGRlcGVuZGluZyBvbiB0aGUgSFRUUCBtZXRob2Q6XG4qIEdFVDogVGhlIHJlc291cmNlIGhhcyBiZWVuIGZldGNoZWQgYW5kIGlzIHRyYW5zbWl0dGVkIGluIHRoZSBtZXNzYWdlIGJvZHkuXG4qIEhFQUQ6IFRoZSBlbnRpdHkgaGVhZGVycyBhcmUgaW4gdGhlIG1lc3NhZ2UgYm9keS5cbiogUE9TVDogVGhlIHJlc291cmNlIGRlc2NyaWJpbmcgdGhlIHJlc3VsdCBvZiB0aGUgYWN0aW9uIGlzIHRyYW5zbWl0dGVkIGluIHRoZSBtZXNzYWdlIGJvZHkuXG4qIFRSQUNFOiBUaGUgbWVzc2FnZSBib2R5IGNvbnRhaW5zIHRoZSByZXF1ZXN0IG1lc3NhZ2UgYXMgcmVjZWl2ZWQgYnkgdGhlIHNlcnZlclxuKi9cbjIwMCB8XG4vKiogUEFSVElBTF9DT05URU5UXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMyNzZWN0aW9uLTQuMVxuKlxuKiBUaGlzIHJlc3BvbnNlIGNvZGUgaXMgdXNlZCBiZWNhdXNlIG9mIHJhbmdlIGhlYWRlciBzZW50IGJ5IHRoZSBjbGllbnQgdG8gc2VwYXJhdGUgZG93bmxvYWQgaW50byBtdWx0aXBsZSBzdHJlYW1zLlxuKi9cbjIwNiB8XG4vKiogUEFZTUVOVF9SRVFVSVJFRFxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjUuMlxuKlxuKiBUaGlzIHJlc3BvbnNlIGNvZGUgaXMgcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UuIEluaXRpYWwgYWltIGZvciBjcmVhdGluZyB0aGlzIGNvZGUgd2FzIHVzaW5nIGl0IGZvciBkaWdpdGFsIHBheW1lbnQgc3lzdGVtcyBob3dldmVyIHRoaXMgaXMgbm90IHVzZWQgY3VycmVudGx5LlxuKi9cbjQwMiB8XG4vKiogUEVSTUFORU5UX1JFRElSRUNUXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzUzOCNzZWN0aW9uLTNcbipcbiogVGhpcyBtZWFucyB0aGF0IHRoZSByZXNvdXJjZSBpcyBub3cgcGVybWFuZW50bHkgbG9jYXRlZCBhdCBhbm90aGVyIFVSSSwgc3BlY2lmaWVkIGJ5IHRoZSBMb2NhdGlvbjogSFRUUCBSZXNwb25zZSBoZWFkZXIuIFRoaXMgaGFzIHRoZSBzYW1lIHNlbWFudGljcyBhcyB0aGUgMzAxIE1vdmVkIFBlcm1hbmVudGx5IEhUVFAgcmVzcG9uc2UgY29kZSwgd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgdGhlIHVzZXIgYWdlbnQgbXVzdCBub3QgY2hhbmdlIHRoZSBIVFRQIG1ldGhvZCB1c2VkOiBpZiBhIFBPU1Qgd2FzIHVzZWQgaW4gdGhlIGZpcnN0IHJlcXVlc3QsIGEgUE9TVCBtdXN0IGJlIHVzZWQgaW4gdGhlIHNlY29uZCByZXF1ZXN0LlxuKi9cbjMwOCB8XG4vKiogUFJFQ09ORElUSU9OX0ZBSUxFRFxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzIjc2VjdGlvbi00LjJcbipcbiogVGhlIGNsaWVudCBoYXMgaW5kaWNhdGVkIHByZWNvbmRpdGlvbnMgaW4gaXRzIGhlYWRlcnMgd2hpY2ggdGhlIHNlcnZlciBkb2VzIG5vdCBtZWV0LlxuKi9cbjQxMiB8XG4vKiogUFJFQ09ORElUSU9OX1JFUVVJUkVEXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU4NSNzZWN0aW9uLTNcbipcbiogVGhlIG9yaWdpbiBzZXJ2ZXIgcmVxdWlyZXMgdGhlIHJlcXVlc3QgdG8gYmUgY29uZGl0aW9uYWwuIEludGVuZGVkIHRvIHByZXZlbnQgdGhlICdsb3N0IHVwZGF0ZScgcHJvYmxlbSwgd2hlcmUgYSBjbGllbnQgR0VUcyBhIHJlc291cmNlJ3Mgc3RhdGUsIG1vZGlmaWVzIGl0LCBhbmQgUFVUcyBpdCBiYWNrIHRvIHRoZSBzZXJ2ZXIsIHdoZW4gbWVhbndoaWxlIGEgdGhpcmQgcGFydHkgaGFzIG1vZGlmaWVkIHRoZSBzdGF0ZSBvbiB0aGUgc2VydmVyLCBsZWFkaW5nIHRvIGEgY29uZmxpY3QuXG4qL1xuNDI4IHxcbi8qKiBQUk9DRVNTSU5HXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjUxOCNzZWN0aW9uLTEwLjFcbipcbiogVGhpcyBjb2RlIGluZGljYXRlcyB0aGF0IHRoZSBzZXJ2ZXIgaGFzIHJlY2VpdmVkIGFuZCBpcyBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0LCBidXQgbm8gcmVzcG9uc2UgaXMgYXZhaWxhYmxlIHlldC5cbiovXG4xMDIgfFxuLyoqIFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzNSNzZWN0aW9uLTMuMlxuKlxuKiBUaGlzIGlzIHNpbWlsYXIgdG8gNDAxIGJ1dCBhdXRoZW50aWNhdGlvbiBpcyBuZWVkZWQgdG8gYmUgZG9uZSBieSBhIHByb3h5LlxuKi9cbjQwNyB8XG4vKiogUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRVxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY1ODUjc2VjdGlvbi01XG4qXG4qIFRoZSBzZXJ2ZXIgaXMgdW53aWxsaW5nIHRvIHByb2Nlc3MgdGhlIHJlcXVlc3QgYmVjYXVzZSBpdHMgaGVhZGVyIGZpZWxkcyBhcmUgdG9vIGxhcmdlLiBUaGUgcmVxdWVzdCBNQVkgYmUgcmVzdWJtaXR0ZWQgYWZ0ZXIgcmVkdWNpbmcgdGhlIHNpemUgb2YgdGhlIHJlcXVlc3QgaGVhZGVyIGZpZWxkcy5cbiovXG40MzEgfFxuLyoqIFJFUVVFU1RfVElNRU9VVFxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjUuN1xuKlxuKiBUaGlzIHJlc3BvbnNlIGlzIHNlbnQgb24gYW4gaWRsZSBjb25uZWN0aW9uIGJ5IHNvbWUgc2VydmVycywgZXZlbiB3aXRob3V0IGFueSBwcmV2aW91cyByZXF1ZXN0IGJ5IHRoZSBjbGllbnQuIEl0IG1lYW5zIHRoYXQgdGhlIHNlcnZlciB3b3VsZCBsaWtlIHRvIHNodXQgZG93biB0aGlzIHVudXNlZCBjb25uZWN0aW9uLiBUaGlzIHJlc3BvbnNlIGlzIHVzZWQgbXVjaCBtb3JlIHNpbmNlIHNvbWUgYnJvd3NlcnMsIGxpa2UgQ2hyb21lLCBGaXJlZm94IDI3Kywgb3IgSUU5LCB1c2UgSFRUUCBwcmUtY29ubmVjdGlvbiBtZWNoYW5pc21zIHRvIHNwZWVkIHVwIHN1cmZpbmcuIEFsc28gbm90ZSB0aGF0IHNvbWUgc2VydmVycyBtZXJlbHkgc2h1dCBkb3duIHRoZSBjb25uZWN0aW9uIHdpdGhvdXQgc2VuZGluZyB0aGlzIG1lc3NhZ2UuXG4qL1xuNDA4IHxcbi8qKiBSRVFVRVNUX1RPT19MT05HXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNS4xMVxuKlxuKiBSZXF1ZXN0IGVudGl0eSBpcyBsYXJnZXIgdGhhbiBsaW1pdHMgZGVmaW5lZCBieSBzZXJ2ZXI7IHRoZSBzZXJ2ZXIgbWlnaHQgY2xvc2UgdGhlIGNvbm5lY3Rpb24gb3IgcmV0dXJuIGFuIFJldHJ5LUFmdGVyIGhlYWRlciBmaWVsZC5cbiovXG40MTMgfFxuLyoqIFJFUVVFU1RfVVJJX1RPT19MT05HXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNS4xMlxuKlxuKiBUaGUgVVJJIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50IGlzIGxvbmdlciB0aGFuIHRoZSBzZXJ2ZXIgaXMgd2lsbGluZyB0byBpbnRlcnByZXQuXG4qL1xuNDE0IHxcbi8qKiBSRVFVRVNURURfUkFOR0VfTk9UX1NBVElTRklBQkxFXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMyNzZWN0aW9uLTQuNFxuKlxuKiBUaGUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IHRoZSBSYW5nZSBoZWFkZXIgZmllbGQgaW4gdGhlIHJlcXVlc3QgY2FuJ3QgYmUgZnVsZmlsbGVkOyBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHJhbmdlIGlzIG91dHNpZGUgdGhlIHNpemUgb2YgdGhlIHRhcmdldCBVUkkncyBkYXRhLlxuKi9cbjQxNiB8XG4vKiogUkVTRVRfQ09OVEVOVFxuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjMuNlxuKlxuKiBUaGlzIHJlc3BvbnNlIGNvZGUgaXMgc2VudCBhZnRlciBhY2NvbXBsaXNoaW5nIHJlcXVlc3QgdG8gdGVsbCB1c2VyIGFnZW50IHJlc2V0IGRvY3VtZW50IHZpZXcgd2hpY2ggc2VudCB0aGlzIHJlcXVlc3QuXG4qL1xuMjA1IHxcbi8qKiBTRUVfT1RIRVJcbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi40LjRcbipcbiogU2VydmVyIHNlbnQgdGhpcyByZXNwb25zZSB0byBkaXJlY3RpbmcgY2xpZW50IHRvIGdldCByZXF1ZXN0ZWQgcmVzb3VyY2UgdG8gYW5vdGhlciBVUkkgd2l0aCBhbiBHRVQgcmVxdWVzdC5cbiovXG4zMDMgfFxuLyoqIFNFUlZJQ0VfVU5BVkFJTEFCTEVcbiogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi42LjRcbipcbiogVGhlIHNlcnZlciBpcyBub3QgcmVhZHkgdG8gaGFuZGxlIHRoZSByZXF1ZXN0LiBDb21tb24gY2F1c2VzIGFyZSBhIHNlcnZlciB0aGF0IGlzIGRvd24gZm9yIG1haW50ZW5hbmNlIG9yIHRoYXQgaXMgb3ZlcmxvYWRlZC4gTm90ZSB0aGF0IHRvZ2V0aGVyIHdpdGggdGhpcyByZXNwb25zZSwgYSB1c2VyLWZyaWVuZGx5IHBhZ2UgZXhwbGFpbmluZyB0aGUgcHJvYmxlbSBzaG91bGQgYmUgc2VudC4gVGhpcyByZXNwb25zZXMgc2hvdWxkIGJlIHVzZWQgZm9yIHRlbXBvcmFyeSBjb25kaXRpb25zIGFuZCB0aGUgUmV0cnktQWZ0ZXI6IEhUVFAgaGVhZGVyIHNob3VsZCwgaWYgcG9zc2libGUsIGNvbnRhaW4gdGhlIGVzdGltYXRlZCB0aW1lIGJlZm9yZSB0aGUgcmVjb3Zlcnkgb2YgdGhlIHNlcnZpY2UuIFRoZSB3ZWJtYXN0ZXIgbXVzdCBhbHNvIHRha2UgY2FyZSBhYm91dCB0aGUgY2FjaGluZy1yZWxhdGVkIGhlYWRlcnMgdGhhdCBhcmUgc2VudCBhbG9uZyB3aXRoIHRoaXMgcmVzcG9uc2UsIGFzIHRoZXNlIHRlbXBvcmFyeSBjb25kaXRpb24gcmVzcG9uc2VzIHNob3VsZCB1c3VhbGx5IG5vdCBiZSBjYWNoZWQuXG4qL1xuNTAzIHxcbi8qKiBTV0lUQ0hJTkdfUFJPVE9DT0xTXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuMi4yXG4qXG4qIFRoaXMgY29kZSBpcyBzZW50IGluIHJlc3BvbnNlIHRvIGFuIFVwZ3JhZGUgcmVxdWVzdCBoZWFkZXIgYnkgdGhlIGNsaWVudCwgYW5kIGluZGljYXRlcyB0aGUgcHJvdG9jb2wgdGhlIHNlcnZlciBpcyBzd2l0Y2hpbmcgdG9vLlxuKi9cbjEwMSB8XG4vKiogVEVNUE9SQVJZX1JFRElSRUNUXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNC43XG4qXG4qIFNlcnZlciBzZW50IHRoaXMgcmVzcG9uc2UgdG8gZGlyZWN0aW5nIGNsaWVudCB0byBnZXQgcmVxdWVzdGVkIHJlc291cmNlIHRvIGFub3RoZXIgVVJJIHdpdGggc2FtZSBtZXRob2QgdGhhdCB1c2VkIHByaW9yIHJlcXVlc3QuIFRoaXMgaGFzIHRoZSBzYW1lIHNlbWFudGljIHRoYW4gdGhlIDMwMiBGb3VuZCBIVFRQIHJlc3BvbnNlIGNvZGUsIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHRoZSB1c2VyIGFnZW50IG11c3Qgbm90IGNoYW5nZSB0aGUgSFRUUCBtZXRob2QgdXNlZDogaWYgYSBQT1NUIHdhcyB1c2VkIGluIHRoZSBmaXJzdCByZXF1ZXN0LCBhIFBPU1QgbXVzdCBiZSB1c2VkIGluIHRoZSBzZWNvbmQgcmVxdWVzdC5cbiovXG4zMDcgfFxuLyoqIFRPT19NQU5ZX1JFUVVFU1RTXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU4NSNzZWN0aW9uLTRcbipcbiogVGhlIHVzZXIgaGFzIHNlbnQgdG9vIG1hbnkgcmVxdWVzdHMgaW4gYSBnaXZlbiBhbW91bnQgb2YgdGltZSAoXCJyYXRlIGxpbWl0aW5nXCIpLlxuKi9cbjQyOSB8XG4vKiogVU5BVVRIT1JJWkVEXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzNSNzZWN0aW9uLTMuMVxuKlxuKiBBbHRob3VnaCB0aGUgSFRUUCBzdGFuZGFyZCBzcGVjaWZpZXMgXCJ1bmF1dGhvcml6ZWRcIiwgc2VtYW50aWNhbGx5IHRoaXMgcmVzcG9uc2UgbWVhbnMgXCJ1bmF1dGhlbnRpY2F0ZWRcIi4gVGhhdCBpcywgdGhlIGNsaWVudCBtdXN0IGF1dGhlbnRpY2F0ZSBpdHNlbGYgdG8gZ2V0IHRoZSByZXF1ZXN0ZWQgcmVzcG9uc2UuXG4qL1xuNDAxIHxcbi8qKiBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OU1xuKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc3MjVcbipcbiogVGhlIHVzZXItYWdlbnQgcmVxdWVzdGVkIGEgcmVzb3VyY2UgdGhhdCBjYW5ub3QgbGVnYWxseSBiZSBwcm92aWRlZCwgc3VjaCBhcyBhIHdlYiBwYWdlIGNlbnNvcmVkIGJ5IGEgZ292ZXJubWVudC5cbiovXG40NTEgfFxuLyoqIFVOUFJPQ0VTU0FCTEVfRU5USVRZXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjUxOCNzZWN0aW9uLTEwLjNcbipcbiogVGhlIHJlcXVlc3Qgd2FzIHdlbGwtZm9ybWVkIGJ1dCB3YXMgdW5hYmxlIHRvIGJlIGZvbGxvd2VkIGR1ZSB0byBzZW1hbnRpYyBlcnJvcnMuXG4qL1xuNDIyIHxcbi8qKiBVTlNVUFBPUlRFRF9NRURJQV9UWVBFXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNS4xM1xuKlxuKiBUaGUgbWVkaWEgZm9ybWF0IG9mIHRoZSByZXF1ZXN0ZWQgZGF0YSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBzZXJ2ZXIsIHNvIHRoZSBzZXJ2ZXIgaXMgcmVqZWN0aW5nIHRoZSByZXF1ZXN0LlxuKi9cbjQxNSB8XG4vKiogVVNFX1BST1hZXG4qIEBkZXByZWNhdGVkXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNC42XG4qXG4qIFdhcyBkZWZpbmVkIGluIGEgcHJldmlvdXMgdmVyc2lvbiBvZiB0aGUgSFRUUCBzcGVjaWZpY2F0aW9uIHRvIGluZGljYXRlIHRoYXQgYSByZXF1ZXN0ZWQgcmVzcG9uc2UgbXVzdCBiZSBhY2Nlc3NlZCBieSBhIHByb3h5LiBJdCBoYXMgYmVlbiBkZXByZWNhdGVkIGR1ZSB0byBzZWN1cml0eSBjb25jZXJucyByZWdhcmRpbmcgaW4tYmFuZCBjb25maWd1cmF0aW9uIG9mIGEgcHJveHkuXG4qL1xuMzA1IHxcbi8qKiBNSVNESVJFQ1RFRF9SRVFVRVNUXG4qIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzc1NDAjc2VjdGlvbi05LjEuMlxuKlxuKiBEZWZpbmVkIGluIHRoZSBzcGVjaWZpY2F0aW9uIG9mIEhUVFAvMiB0byBpbmRpY2F0ZSB0aGF0IGEgc2VydmVyIGlzIG5vdCBhYmxlIHRvIHByb2R1Y2UgYSByZXNwb25zZSBmb3IgdGhlIGNvbWJpbmF0aW9uIG9mIHNjaGVtZSBhbmQgYXV0aG9yaXR5IHRoYXQgYXJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IFVSSS5cbiovXG40MjFcblxudHlwZSBCYXNlUHJvYmxlbURvY3VtZW50ID0ge1xuICBkZXRhaWw/OiBzdHJpbmc7XG4gIGluc3RhbmNlPzogc3RyaW5nOyAvLyBpbnN0YW5jZSBjYW4gYmUgYSByZWxhdGl2ZSBVUkksIHNvIGFueSBzdHJpbmcgaXMgdmFsaWRcbiAgc3RhdHVzPzogU3RhdHVzQ29kZTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7IC8vIHR5cGUgY2FuIGJlIGEgcmVsYXRpdmUgVVJJLCBzbyBhbnkgc3RyaW5nIGlzIHZhbGlkXG59XG5cbnR5cGUgRXh0ZW5kZWRQcm9ibGVtRG9jdW1lbnQgPSBPbWl0PFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBrZXlvZiBCYXNlUHJvYmxlbURvY3VtZW50PiAmIEJhc2VQcm9ibGVtRG9jdW1lbnQ7XG5cbmV4cG9ydCBjbGFzcyBQcm9ibGVtRG9jdW1lbnQgaW1wbGVtZW50cyBFeHRlbmRlZFByb2JsZW1Eb2N1bWVudCB7XG4gIGRldGFpbD86IHN0cmluZztcbiAgaW5zdGFuY2U/OiBzdHJpbmc7XG4gIHN0YXR1cz86IFN0YXR1c0NvZGU7XG4gIHRpdGxlPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBbazogc3RyaW5nXTogdW5rbm93bjtcbiAgY29uc3RydWN0b3IoZGF0YTogRXh0ZW5kZWRQcm9ibGVtRG9jdW1lbnQpIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpO1xuICB9XG59XG4iXX0=
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBc2NBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNHO0FBQ0gsTUFBYSxlQUFlO0lBTzFCOzs7OztPQUtHO0lBQ0gsWUFBWSxJQUErQjtRQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUFoQkQsMENBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIdHRwIFN0YXR1cyBDb2RlcyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9wcmV0dHltdWNoYnJ5Y2UvaHR0cC1zdGF0dXMtY29kZXMvYmxvYi9tYXN0ZXIvc3JjL3N0YXR1cy1jb2Rlcy50cyB1bmRlciBNSVQgTGljZW5zZVxuICogSWYgeW91IGtub3cgaG93IHRvIGNvbnZlcnQgbnVtZXJpYyBlbnVtIHZhbHVlcyB0byBhIHVuaW9uIHR5cGUsIHBsZWFzZSBzdWJtaXQgYSBQUi5cbiAqL1xudHlwZSBTdGF0dXNDb2RlID1cbiAgLyoqXG4gICAqIEFDQ0VQVEVEXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuMy4zXG4gICAqXG4gICAqIFRoZSByZXF1ZXN0IGhhcyBiZWVuIHJlY2VpdmVkIGJ1dCBub3QgeWV0IGFjdGVkIHVwb24uIEl0IGlzIG5vbi1jb21taXR0YWwsIG1lYW5pbmcgdGhhdCB0aGVyZSBpcyBubyB3YXkgaW4gSFRUUCB0byBsYXRlciBzZW5kIGFuIGFzeW5jaHJvbm91cyByZXNwb25zZSBpbmRpY2F0aW5nIHRoZSBvdXRjb21lIG9mIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QuIEl0IGlzIGludGVuZGVkIGZvciBjYXNlcyB3aGVyZSBhbm90aGVyIHByb2Nlc3Mgb3Igc2VydmVyIGhhbmRsZXMgdGhlIHJlcXVlc3QsIG9yIGZvciBiYXRjaCBwcm9jZXNzaW5nLlxuICAgKi9cbiAgfCAyMDJcbiAgLyoqXG4gICAqIEJBRF9HQVRFV0FZXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNi4zXG4gICAqXG4gICAqIFRoaXMgZXJyb3IgcmVzcG9uc2UgbWVhbnMgdGhhdCB0aGUgc2VydmVyLCB3aGlsZSB3b3JraW5nIGFzIGEgZ2F0ZXdheSB0byBnZXQgYSByZXNwb25zZSBuZWVkZWQgdG8gaGFuZGxlIHRoZSByZXF1ZXN0LCBnb3QgYW4gaW52YWxpZCByZXNwb25zZS5cbiAgICovXG4gIHwgNTAyXG4gIC8qKlxuICAgKiBCQURfUkVRVUVTVFxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjUuMVxuICAgKlxuICAgKiBUaGlzIHJlc3BvbnNlIG1lYW5zIHRoYXQgc2VydmVyIGNvdWxkIG5vdCB1bmRlcnN0YW5kIHRoZSByZXF1ZXN0IGR1ZSB0byBpbnZhbGlkIHN5bnRheC5cbiAgICovXG4gIHwgNDAwXG4gIC8qKlxuICAgKiBDT05GTElDVFxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjUuOFxuICAgKlxuICAgKiBUaGlzIHJlc3BvbnNlIGlzIHNlbnQgd2hlbiBhIHJlcXVlc3QgY29uZmxpY3RzIHdpdGggdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHNlcnZlci5cbiAgICovXG4gIHwgNDA5XG4gIC8qKlxuICAgKiBDT05USU5VRVxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjIuMVxuICAgKlxuICAgKiBUaGlzIGludGVyaW0gcmVzcG9uc2UgaW5kaWNhdGVzIHRoYXQgZXZlcnl0aGluZyBzbyBmYXIgaXMgT0sgYW5kIHRoYXQgdGhlIGNsaWVudCBzaG91bGQgY29udGludWUgd2l0aCB0aGUgcmVxdWVzdCBvciBpZ25vcmUgaXQgaWYgaXQgaXMgYWxyZWFkeSBmaW5pc2hlZC5cbiAgICovXG4gIHwgMTAwXG4gIC8qKlxuICAgKiBDUkVBVEVEXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuMy4yXG4gICAqXG4gICAqIFRoZSByZXF1ZXN0IGhhcyBzdWNjZWVkZWQgYW5kIGEgbmV3IHJlc291cmNlIGhhcyBiZWVuIGNyZWF0ZWQgYXMgYSByZXN1bHQgb2YgaXQuIFRoaXMgaXMgdHlwaWNhbGx5IHRoZSByZXNwb25zZSBzZW50IGFmdGVyIGEgUFVUIHJlcXVlc3QuXG4gICAqL1xuICB8IDIwMVxuICAvKipcbiAgICogRVhQRUNUQVRJT05fRkFJTEVEXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNS4xNFxuICAgKlxuICAgKiBUaGlzIHJlc3BvbnNlIGNvZGUgbWVhbnMgdGhlIGV4cGVjdGF0aW9uIGluZGljYXRlZCBieSB0aGUgRXhwZWN0IHJlcXVlc3QgaGVhZGVyIGZpZWxkIGNhbid0IGJlIG1ldCBieSB0aGUgc2VydmVyLlxuICAgKi9cbiAgfCA0MTdcbiAgLyoqXG4gICAqIEZBSUxFRF9ERVBFTkRFTkNZXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjUxOCNzZWN0aW9uLTEwLjVcbiAgICpcbiAgICogVGhlIHJlcXVlc3QgZmFpbGVkIGR1ZSB0byBmYWlsdXJlIG9mIGEgcHJldmlvdXMgcmVxdWVzdC5cbiAgICovXG4gIHwgNDI0XG4gIC8qKlxuICAgKiBGT1JCSURERU5cbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi41LjNcbiAgICpcbiAgICogVGhlIGNsaWVudCBkb2VzIG5vdCBoYXZlIGFjY2VzcyByaWdodHMgdG8gdGhlIGNvbnRlbnQsIGkuZS4gdGhleSBhcmUgdW5hdXRob3JpemVkLCBzbyBzZXJ2ZXIgaXMgcmVqZWN0aW5nIHRvIGdpdmUgcHJvcGVyIHJlc3BvbnNlLiBVbmxpa2UgNDAxLCB0aGUgY2xpZW50J3MgaWRlbnRpdHkgaXMga25vd24gdG8gdGhlIHNlcnZlci5cbiAgICovXG4gIHwgNDAzXG4gIC8qKlxuICAgKiBHQVRFV0FZX1RJTUVPVVRcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi42LjVcbiAgICpcbiAgICogVGhpcyBlcnJvciByZXNwb25zZSBpcyBnaXZlbiB3aGVuIHRoZSBzZXJ2ZXIgaXMgYWN0aW5nIGFzIGEgZ2F0ZXdheSBhbmQgY2Fubm90IGdldCBhIHJlc3BvbnNlIGluIHRpbWUuXG4gICAqL1xuICB8IDUwNFxuICAvKipcbiAgICogR09ORVxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjUuOVxuICAgKlxuICAgKiBUaGlzIHJlc3BvbnNlIHdvdWxkIGJlIHNlbnQgd2hlbiB0aGUgcmVxdWVzdGVkIGNvbnRlbnQgaGFzIGJlZW4gcGVybWFuZW50bHkgZGVsZXRlZCBmcm9tIHNlcnZlciwgd2l0aCBubyBmb3J3YXJkaW5nIGFkZHJlc3MuIENsaWVudHMgYXJlIGV4cGVjdGVkIHRvIHJlbW92ZSB0aGVpciBjYWNoZXMgYW5kIGxpbmtzIHRvIHRoZSByZXNvdXJjZS4gVGhlIEhUVFAgc3BlY2lmaWNhdGlvbiBpbnRlbmRzIHRoaXMgc3RhdHVzIGNvZGUgdG8gYmUgdXNlZCBmb3IgXCJsaW1pdGVkLXRpbWUsIHByb21vdGlvbmFsIHNlcnZpY2VzXCIuIEFQSXMgc2hvdWxkIG5vdCBmZWVsIGNvbXBlbGxlZCB0byBpbmRpY2F0ZSByZXNvdXJjZXMgdGhhdCBoYXZlIGJlZW4gZGVsZXRlZCB3aXRoIHRoaXMgc3RhdHVzIGNvZGUuXG4gICAqL1xuICB8IDQxMFxuICAvKipcbiAgICogSFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURURcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi42LjZcbiAgICpcbiAgICogVGhlIEhUVFAgdmVyc2lvbiB1c2VkIGluIHRoZSByZXF1ZXN0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlci5cbiAgICovXG4gIHwgNTA1XG4gIC8qKlxuICAgKiBJTV9BX1RFQVBPVFxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzIzMjQjc2VjdGlvbi0yLjMuMlxuICAgKlxuICAgKiBBbnkgYXR0ZW1wdCB0byBicmV3IGNvZmZlZSB3aXRoIGEgdGVhcG90IHNob3VsZCByZXN1bHQgaW4gdGhlIGVycm9yIGNvZGUgXCI0MTggSSdtIGEgdGVhcG90XCIuIFRoZSByZXN1bHRpbmcgZW50aXR5IGJvZHkgTUFZIGJlIHNob3J0IGFuZCBzdG91dC5cbiAgICovXG4gIHwgNDE4XG4gIC8qKlxuICAgKiBJTlNVRkZJQ0lFTlRfU1BBQ0VfT05fUkVTT1VSQ0VcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMyNTE4I3NlY3Rpb24tMTAuNlxuICAgKlxuICAgKiBUaGUgNTA3IChJbnN1ZmZpY2llbnQgU3RvcmFnZSkgc3RhdHVzIGNvZGUgbWVhbnMgdGhlIG1ldGhvZCBjb3VsZCBub3QgYmUgcGVyZm9ybWVkIG9uIHRoZSByZXNvdXJjZSBiZWNhdXNlIHRoZSBzZXJ2ZXIgaXMgdW5hYmxlIHRvIHN0b3JlIHRoZSByZXByZXNlbnRhdGlvbiBuZWVkZWQgdG8gc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlIHRoZSByZXF1ZXN0LiBUaGlzIGNvbmRpdGlvbiBpcyBjb25zaWRlcmVkIHRvIGJlIHRlbXBvcmFyeS4gSWYgdGhlIHJlcXVlc3Qgd2hpY2ggcmVjZWl2ZWQgdGhpcyBzdGF0dXMgY29kZSB3YXMgdGhlIHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLCB0aGUgcmVxdWVzdCBNVVNUIE5PVCBiZSByZXBlYXRlZCB1bnRpbCBpdCBpcyByZXF1ZXN0ZWQgYnkgYSBzZXBhcmF0ZSB1c2VyIGFjdGlvbi5cbiAgICovXG4gIHwgNDE5XG4gIC8qKlxuICAgKiBJTlNVRkZJQ0lFTlRfU1RPUkFHRVxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzI1MTgjc2VjdGlvbi0xMC42XG4gICAqXG4gICAqIFRoZSBzZXJ2ZXIgaGFzIGFuIGludGVybmFsIGNvbmZpZ3VyYXRpb24gZXJyb3I6IHRoZSBjaG9zZW4gdmFyaWFudCByZXNvdXJjZSBpcyBjb25maWd1cmVkIHRvIGVuZ2FnZSBpbiB0cmFuc3BhcmVudCBjb250ZW50IG5lZ290aWF0aW9uIGl0c2VsZiwgYW5kIGlzIHRoZXJlZm9yZSBub3QgYSBwcm9wZXIgZW5kIHBvaW50IGluIHRoZSBuZWdvdGlhdGlvbiBwcm9jZXNzLlxuICAgKi9cbiAgfCA1MDdcbiAgLyoqXG4gICAqIElOVEVSTkFMX1NFUlZFUl9FUlJPUlxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjYuMVxuICAgKlxuICAgKiBUaGUgc2VydmVyIGVuY291bnRlcmVkIGFuIHVuZXhwZWN0ZWQgY29uZGl0aW9uIHRoYXQgcHJldmVudGVkIGl0IGZyb20gZnVsZmlsbGluZyB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHwgNTAwXG4gIC8qKlxuICAgKiBMRU5HVEhfUkVRVUlSRURcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi41LjEwXG4gICAqXG4gICAqIFRoZSBzZXJ2ZXIgcmVqZWN0ZWQgdGhlIHJlcXVlc3QgYmVjYXVzZSB0aGUgQ29udGVudC1MZW5ndGggaGVhZGVyIGZpZWxkIGlzIG5vdCBkZWZpbmVkIGFuZCB0aGUgc2VydmVyIHJlcXVpcmVzIGl0LlxuICAgKi9cbiAgfCA0MTFcbiAgLyoqXG4gICAqIExPQ0tFRFxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzI1MTgjc2VjdGlvbi0xMC40XG4gICAqXG4gICAqIFRoZSByZXNvdXJjZSB0aGF0IGlzIGJlaW5nIGFjY2Vzc2VkIGlzIGxvY2tlZC5cbiAgICovXG4gIHwgNDIzXG4gIC8qKlxuICAgKiBNRVRIT0RfRkFJTFVSRVxuICAgKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9yZmNkaWZmP2RpZmZ0eXBlPS0taHdkaWZmJnVybDI9ZHJhZnQtaWV0Zi13ZWJkYXYtcHJvdG9jb2wtMDYudHh0XG4gICAqXG4gICAqIEEgZGVwcmVjYXRlZCByZXNwb25zZSB1c2VkIGJ5IHRoZSBTcHJpbmcgRnJhbWV3b3JrIHdoZW4gYSBtZXRob2QgaGFzIGZhaWxlZC5cbiAgICovXG4gIHwgNDIwXG4gIC8qKlxuICAgKiBNRVRIT0RfTk9UX0FMTE9XRURcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi41LjVcbiAgICpcbiAgICogVGhlIHJlcXVlc3QgbWV0aG9kIGlzIGtub3duIGJ5IHRoZSBzZXJ2ZXIgYnV0IGhhcyBiZWVuIGRpc2FibGVkIGFuZCBjYW5ub3QgYmUgdXNlZC4gRm9yIGV4YW1wbGUsIGFuIEFQSSBtYXkgZm9yYmlkIERFTEVURS1pbmcgYSByZXNvdXJjZS4gVGhlIHR3byBtYW5kYXRvcnkgbWV0aG9kcywgR0VUIGFuZCBIRUFELCBtdXN0IG5ldmVyIGJlIGRpc2FibGVkIGFuZCBzaG91bGQgbm90IHJldHVybiB0aGlzIGVycm9yIGNvZGUuXG4gICAqL1xuICB8IDQwNVxuICAvKipcbiAgICogTU9WRURfUEVSTUFORU5UTFlcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi40LjJcbiAgICpcbiAgICogVGhpcyByZXNwb25zZSBjb2RlIG1lYW5zIHRoYXQgVVJJIG9mIHJlcXVlc3RlZCByZXNvdXJjZSBoYXMgYmVlbiBjaGFuZ2VkLiBQcm9iYWJseSwgbmV3IFVSSSB3b3VsZCBiZSBnaXZlbiBpbiB0aGUgcmVzcG9uc2UuXG4gICAqL1xuICB8IDMwMVxuICAvKipcbiAgICogTU9WRURfVEVNUE9SQVJJTFlcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi40LjNcbiAgICpcbiAgICogVGhpcyByZXNwb25zZSBjb2RlIG1lYW5zIHRoYXQgVVJJIG9mIHJlcXVlc3RlZCByZXNvdXJjZSBoYXMgYmVlbiBjaGFuZ2VkIHRlbXBvcmFyaWx5LiBOZXcgY2hhbmdlcyBpbiB0aGUgVVJJIG1pZ2h0IGJlIG1hZGUgaW4gdGhlIGZ1dHVyZS4gVGhlcmVmb3JlLCB0aGlzIHNhbWUgVVJJIHNob3VsZCBiZSB1c2VkIGJ5IHRoZSBjbGllbnQgaW4gZnV0dXJlIHJlcXVlc3RzLlxuICAgKi9cbiAgfCAzMDJcbiAgLyoqXG4gICAqIE1VTFRJX1NUQVRVU1xuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzI1MTgjc2VjdGlvbi0xMC4yXG4gICAqXG4gICAqIEEgTXVsdGktU3RhdHVzIHJlc3BvbnNlIGNvbnZleXMgaW5mb3JtYXRpb24gYWJvdXQgbXVsdGlwbGUgcmVzb3VyY2VzIGluIHNpdHVhdGlvbnMgd2hlcmUgbXVsdGlwbGUgc3RhdHVzIGNvZGVzIG1pZ2h0IGJlIGFwcHJvcHJpYXRlLlxuICAgKi9cbiAgfCAyMDdcbiAgLyoqXG4gICAqIE1VTFRJUExFX0NIT0lDRVNcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi40LjFcbiAgICpcbiAgICogVGhlIHJlcXVlc3QgaGFzIG1vcmUgdGhhbiBvbmUgcG9zc2libGUgcmVzcG9uc2VzLiBVc2VyLWFnZW50IG9yIHVzZXIgc2hvdWxkIGNob29zZSBvbmUgb2YgdGhlbS4gVGhlcmUgaXMgbm8gc3RhbmRhcmRpemVkIHdheSB0byBjaG9vc2Ugb25lIG9mIHRoZSByZXNwb25zZXMuXG4gICAqL1xuICB8IDMwMFxuICAvKipcbiAgICogTkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRFxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY1ODUjc2VjdGlvbi02XG4gICAqXG4gICAqIFRoZSA1MTEgc3RhdHVzIGNvZGUgaW5kaWNhdGVzIHRoYXQgdGhlIGNsaWVudCBuZWVkcyB0byBhdXRoZW50aWNhdGUgdG8gZ2FpbiBuZXR3b3JrIGFjY2Vzcy5cbiAgICovXG4gIHwgNTExXG4gIC8qKlxuICAgKiBOT19DT05URU5UXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuMy41XG4gICAqXG4gICAqIFRoZXJlIGlzIG5vIGNvbnRlbnQgdG8gc2VuZCBmb3IgdGhpcyByZXF1ZXN0LCBidXQgdGhlIGhlYWRlcnMgbWF5IGJlIHVzZWZ1bC4gVGhlIHVzZXItYWdlbnQgbWF5IHVwZGF0ZSBpdHMgY2FjaGVkIGhlYWRlcnMgZm9yIHRoaXMgcmVzb3VyY2Ugd2l0aCB0aGUgbmV3IG9uZXMuXG4gICAqL1xuICB8IDIwNFxuICAvKipcbiAgICogTk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT05cbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi4zLjRcbiAgICpcbiAgICogVGhpcyByZXNwb25zZSBjb2RlIG1lYW5zIHJldHVybmVkIG1ldGEtaW5mb3JtYXRpb24gc2V0IGlzIG5vdCBleGFjdCBzZXQgYXMgYXZhaWxhYmxlIGZyb20gdGhlIG9yaWdpbiBzZXJ2ZXIsIGJ1dCBjb2xsZWN0ZWQgZnJvbSBhIGxvY2FsIG9yIGEgdGhpcmQgcGFydHkgY29weS4gRXhjZXB0IHRoaXMgY29uZGl0aW9uLCAyMDAgT0sgcmVzcG9uc2Ugc2hvdWxkIGJlIHByZWZlcnJlZCBpbnN0ZWFkIG9mIHRoaXMgcmVzcG9uc2UuXG4gICAqL1xuICB8IDIwM1xuICAvKipcbiAgICogTk9UX0FDQ0VQVEFCTEVcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi41LjZcbiAgICpcbiAgICogVGhpcyByZXNwb25zZSBpcyBzZW50IHdoZW4gdGhlIHdlYiBzZXJ2ZXIsIGFmdGVyIHBlcmZvcm1pbmcgc2VydmVyLWRyaXZlbiBjb250ZW50IG5lZ290aWF0aW9uLCBkb2Vzbid0IGZpbmQgYW55IGNvbnRlbnQgZm9sbG93aW5nIHRoZSBjcml0ZXJpYSBnaXZlbiBieSB0aGUgdXNlciBhZ2VudC5cbiAgICovXG4gIHwgNDA2XG4gIC8qKlxuICAgKiBOT1RfRk9VTkRcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi41LjRcbiAgICpcbiAgICogVGhlIHNlcnZlciBjYW4gbm90IGZpbmQgcmVxdWVzdGVkIHJlc291cmNlLiBJbiB0aGUgYnJvd3NlciwgdGhpcyBtZWFucyB0aGUgVVJMIGlzIG5vdCByZWNvZ25pemVkLiBJbiBhbiBBUEksIHRoaXMgY2FuIGFsc28gbWVhbiB0aGF0IHRoZSBlbmRwb2ludCBpcyB2YWxpZCBidXQgdGhlIHJlc291cmNlIGl0c2VsZiBkb2VzIG5vdCBleGlzdC4gU2VydmVycyBtYXkgYWxzbyBzZW5kIHRoaXMgcmVzcG9uc2UgaW5zdGVhZCBvZiA0MDMgdG8gaGlkZSB0aGUgZXhpc3RlbmNlIG9mIGEgcmVzb3VyY2UgZnJvbSBhbiB1bmF1dGhvcml6ZWQgY2xpZW50LiBUaGlzIHJlc3BvbnNlIGNvZGUgaXMgcHJvYmFibHkgdGhlIG1vc3QgZmFtb3VzIG9uZSBkdWUgdG8gaXRzIGZyZXF1ZW50IG9jY3VycmVuY2Ugb24gdGhlIHdlYi5cbiAgICovXG4gIHwgNDA0XG4gIC8qKlxuICAgKiBOT1RfSU1QTEVNRU5URURcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi42LjJcbiAgICpcbiAgICogVGhlIHJlcXVlc3QgbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlciBhbmQgY2Fubm90IGJlIGhhbmRsZWQuIFRoZSBvbmx5IG1ldGhvZHMgdGhhdCBzZXJ2ZXJzIGFyZSByZXF1aXJlZCB0byBzdXBwb3J0IChhbmQgdGhlcmVmb3JlIHRoYXQgbXVzdCBub3QgcmV0dXJuIHRoaXMgY29kZSkgYXJlIEdFVCBhbmQgSEVBRC5cbiAgICovXG4gIHwgNTAxXG4gIC8qKlxuICAgKiBOT1RfTU9ESUZJRURcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMyI3NlY3Rpb24tNC4xXG4gICAqXG4gICAqIFRoaXMgaXMgdXNlZCBmb3IgY2FjaGluZyBwdXJwb3Nlcy4gSXQgaXMgdGVsbGluZyB0byBjbGllbnQgdGhhdCByZXNwb25zZSBoYXMgbm90IGJlZW4gbW9kaWZpZWQuIFNvLCBjbGllbnQgY2FuIGNvbnRpbnVlIHRvIHVzZSBzYW1lIGNhY2hlZCB2ZXJzaW9uIG9mIHJlc3BvbnNlLlxuICAgKi9cbiAgfCAzMDRcbiAgLyoqXG4gICAqIE9LXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuMy4xXG4gICAqXG4gICAqIFRoZSByZXF1ZXN0IGhhcyBzdWNjZWVkZWQuIFRoZSBtZWFuaW5nIG9mIGEgc3VjY2VzcyB2YXJpZXMgZGVwZW5kaW5nIG9uIHRoZSBIVFRQIG1ldGhvZDpcbiAgICogR0VUOiBUaGUgcmVzb3VyY2UgaGFzIGJlZW4gZmV0Y2hlZCBhbmQgaXMgdHJhbnNtaXR0ZWQgaW4gdGhlIG1lc3NhZ2UgYm9keS5cbiAgICogSEVBRDogVGhlIGVudGl0eSBoZWFkZXJzIGFyZSBpbiB0aGUgbWVzc2FnZSBib2R5LlxuICAgKiBQT1NUOiBUaGUgcmVzb3VyY2UgZGVzY3JpYmluZyB0aGUgcmVzdWx0IG9mIHRoZSBhY3Rpb24gaXMgdHJhbnNtaXR0ZWQgaW4gdGhlIG1lc3NhZ2UgYm9keS5cbiAgICogVFJBQ0U6IFRoZSBtZXNzYWdlIGJvZHkgY29udGFpbnMgdGhlIHJlcXVlc3QgbWVzc2FnZSBhcyByZWNlaXZlZCBieSB0aGUgc2VydmVyXG4gICAqL1xuICB8IDIwMFxuICAvKipcbiAgICogUEFSVElBTF9DT05URU5UXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMyNzZWN0aW9uLTQuMVxuICAgKlxuICAgKiBUaGlzIHJlc3BvbnNlIGNvZGUgaXMgdXNlZCBiZWNhdXNlIG9mIHJhbmdlIGhlYWRlciBzZW50IGJ5IHRoZSBjbGllbnQgdG8gc2VwYXJhdGUgZG93bmxvYWQgaW50byBtdWx0aXBsZSBzdHJlYW1zLlxuICAgKi9cbiAgfCAyMDZcbiAgLyoqXG4gICAqIFBBWU1FTlRfUkVRVUlSRURcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNi41LjJcbiAgICpcbiAgICogVGhpcyByZXNwb25zZSBjb2RlIGlzIHJlc2VydmVkIGZvciBmdXR1cmUgdXNlLiBJbml0aWFsIGFpbSBmb3IgY3JlYXRpbmcgdGhpcyBjb2RlIHdhcyB1c2luZyBpdCBmb3IgZGlnaXRhbCBwYXltZW50IHN5c3RlbXMgaG93ZXZlciB0aGlzIGlzIG5vdCB1c2VkIGN1cnJlbnRseS5cbiAgICovXG4gIHwgNDAyXG4gIC8qKlxuICAgKiBQRVJNQU5FTlRfUkVESVJFQ1RcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3NTM4I3NlY3Rpb24tM1xuICAgKlxuICAgKiBUaGlzIG1lYW5zIHRoYXQgdGhlIHJlc291cmNlIGlzIG5vdyBwZXJtYW5lbnRseSBsb2NhdGVkIGF0IGFub3RoZXIgVVJJLCBzcGVjaWZpZWQgYnkgdGhlIExvY2F0aW9uOiBIVFRQIFJlc3BvbnNlIGhlYWRlci4gVGhpcyBoYXMgdGhlIHNhbWUgc2VtYW50aWNzIGFzIHRoZSAzMDEgTW92ZWQgUGVybWFuZW50bHkgSFRUUCByZXNwb25zZSBjb2RlLCB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCB0aGUgdXNlciBhZ2VudCBtdXN0IG5vdCBjaGFuZ2UgdGhlIEhUVFAgbWV0aG9kIHVzZWQ6IGlmIGEgUE9TVCB3YXMgdXNlZCBpbiB0aGUgZmlyc3QgcmVxdWVzdCwgYSBQT1NUIG11c3QgYmUgdXNlZCBpbiB0aGUgc2Vjb25kIHJlcXVlc3QuXG4gICAqL1xuICB8IDMwOFxuICAvKipcbiAgICogUFJFQ09ORElUSU9OX0ZBSUxFRFxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzIjc2VjdGlvbi00LjJcbiAgICpcbiAgICogVGhlIGNsaWVudCBoYXMgaW5kaWNhdGVkIHByZWNvbmRpdGlvbnMgaW4gaXRzIGhlYWRlcnMgd2hpY2ggdGhlIHNlcnZlciBkb2VzIG5vdCBtZWV0LlxuICAgKi9cbiAgfCA0MTJcbiAgLyoqXG4gICAqIFBSRUNPTkRJVElPTl9SRVFVSVJFRFxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY1ODUjc2VjdGlvbi0zXG4gICAqXG4gICAqIFRoZSBvcmlnaW4gc2VydmVyIHJlcXVpcmVzIHRoZSByZXF1ZXN0IHRvIGJlIGNvbmRpdGlvbmFsLiBJbnRlbmRlZCB0byBwcmV2ZW50IHRoZSAnbG9zdCB1cGRhdGUnIHByb2JsZW0sIHdoZXJlIGEgY2xpZW50IEdFVHMgYSByZXNvdXJjZSdzIHN0YXRlLCBtb2RpZmllcyBpdCwgYW5kIFBVVHMgaXQgYmFjayB0byB0aGUgc2VydmVyLCB3aGVuIG1lYW53aGlsZSBhIHRoaXJkIHBhcnR5IGhhcyBtb2RpZmllZCB0aGUgc3RhdGUgb24gdGhlIHNlcnZlciwgbGVhZGluZyB0byBhIGNvbmZsaWN0LlxuICAgKi9cbiAgfCA0MjhcbiAgLyoqXG4gICAqIFBST0NFU1NJTkdcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMyNTE4I3NlY3Rpb24tMTAuMVxuICAgKlxuICAgKiBUaGlzIGNvZGUgaW5kaWNhdGVzIHRoYXQgdGhlIHNlcnZlciBoYXMgcmVjZWl2ZWQgYW5kIGlzIHByb2Nlc3NpbmcgdGhlIHJlcXVlc3QsIGJ1dCBubyByZXNwb25zZSBpcyBhdmFpbGFibGUgeWV0LlxuICAgKi9cbiAgfCAxMDJcbiAgLyoqXG4gICAqIFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzNSNzZWN0aW9uLTMuMlxuICAgKlxuICAgKiBUaGlzIGlzIHNpbWlsYXIgdG8gNDAxIGJ1dCBhdXRoZW50aWNhdGlvbiBpcyBuZWVkZWQgdG8gYmUgZG9uZSBieSBhIHByb3h5LlxuICAgKi9cbiAgfCA0MDdcbiAgLyoqXG4gICAqIFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM2NTg1I3NlY3Rpb24tNVxuICAgKlxuICAgKiBUaGUgc2VydmVyIGlzIHVud2lsbGluZyB0byBwcm9jZXNzIHRoZSByZXF1ZXN0IGJlY2F1c2UgaXRzIGhlYWRlciBmaWVsZHMgYXJlIHRvbyBsYXJnZS4gVGhlIHJlcXVlc3QgTUFZIGJlIHJlc3VibWl0dGVkIGFmdGVyIHJlZHVjaW5nIHRoZSBzaXplIG9mIHRoZSByZXF1ZXN0IGhlYWRlciBmaWVsZHMuXG4gICAqL1xuICB8IDQzMVxuICAvKipcbiAgICogUkVRVUVTVF9USU1FT1VUXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNS43XG4gICAqXG4gICAqIFRoaXMgcmVzcG9uc2UgaXMgc2VudCBvbiBhbiBpZGxlIGNvbm5lY3Rpb24gYnkgc29tZSBzZXJ2ZXJzLCBldmVuIHdpdGhvdXQgYW55IHByZXZpb3VzIHJlcXVlc3QgYnkgdGhlIGNsaWVudC4gSXQgbWVhbnMgdGhhdCB0aGUgc2VydmVyIHdvdWxkIGxpa2UgdG8gc2h1dCBkb3duIHRoaXMgdW51c2VkIGNvbm5lY3Rpb24uIFRoaXMgcmVzcG9uc2UgaXMgdXNlZCBtdWNoIG1vcmUgc2luY2Ugc29tZSBicm93c2VycywgbGlrZSBDaHJvbWUsIEZpcmVmb3ggMjcrLCBvciBJRTksIHVzZSBIVFRQIHByZS1jb25uZWN0aW9uIG1lY2hhbmlzbXMgdG8gc3BlZWQgdXAgc3VyZmluZy4gQWxzbyBub3RlIHRoYXQgc29tZSBzZXJ2ZXJzIG1lcmVseSBzaHV0IGRvd24gdGhlIGNvbm5lY3Rpb24gd2l0aG91dCBzZW5kaW5nIHRoaXMgbWVzc2FnZS5cbiAgICovXG4gIHwgNDA4XG4gIC8qKlxuICAgKiBSRVFVRVNUX1RPT19MT05HXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNS4xMVxuICAgKlxuICAgKiBSZXF1ZXN0IGVudGl0eSBpcyBsYXJnZXIgdGhhbiBsaW1pdHMgZGVmaW5lZCBieSBzZXJ2ZXI7IHRoZSBzZXJ2ZXIgbWlnaHQgY2xvc2UgdGhlIGNvbm5lY3Rpb24gb3IgcmV0dXJuIGFuIFJldHJ5LUFmdGVyIGhlYWRlciBmaWVsZC5cbiAgICovXG4gIHwgNDEzXG4gIC8qKlxuICAgKiBSRVFVRVNUX1VSSV9UT09fTE9OR1xuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjUuMTJcbiAgICpcbiAgICogVGhlIFVSSSByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudCBpcyBsb25nZXIgdGhhbiB0aGUgc2VydmVyIGlzIHdpbGxpbmcgdG8gaW50ZXJwcmV0LlxuICAgKi9cbiAgfCA0MTRcbiAgLyoqXG4gICAqIFJFUVVFU1RFRF9SQU5HRV9OT1RfU0FUSVNGSUFCTEVcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMzI3NlY3Rpb24tNC40XG4gICAqXG4gICAqIFRoZSByYW5nZSBzcGVjaWZpZWQgYnkgdGhlIFJhbmdlIGhlYWRlciBmaWVsZCBpbiB0aGUgcmVxdWVzdCBjYW4ndCBiZSBmdWxmaWxsZWQ7IGl0J3MgcG9zc2libGUgdGhhdCB0aGUgcmFuZ2UgaXMgb3V0c2lkZSB0aGUgc2l6ZSBvZiB0aGUgdGFyZ2V0IFVSSSdzIGRhdGEuXG4gICAqL1xuICB8IDQxNlxuICAvKipcbiAgICogUkVTRVRfQ09OVEVOVFxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjMuNlxuICAgKlxuICAgKiBUaGlzIHJlc3BvbnNlIGNvZGUgaXMgc2VudCBhZnRlciBhY2NvbXBsaXNoaW5nIHJlcXVlc3QgdG8gdGVsbCB1c2VyIGFnZW50IHJlc2V0IGRvY3VtZW50IHZpZXcgd2hpY2ggc2VudCB0aGlzIHJlcXVlc3QuXG4gICAqL1xuICB8IDIwNVxuICAvKipcbiAgICogU0VFX09USEVSXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNC40XG4gICAqXG4gICAqIFNlcnZlciBzZW50IHRoaXMgcmVzcG9uc2UgdG8gZGlyZWN0aW5nIGNsaWVudCB0byBnZXQgcmVxdWVzdGVkIHJlc291cmNlIHRvIGFub3RoZXIgVVJJIHdpdGggYW4gR0VUIHJlcXVlc3QuXG4gICAqL1xuICB8IDMwM1xuICAvKipcbiAgICogU0VSVklDRV9VTkFWQUlMQUJMRVxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjYuNFxuICAgKlxuICAgKiBUaGUgc2VydmVyIGlzIG5vdCByZWFkeSB0byBoYW5kbGUgdGhlIHJlcXVlc3QuIENvbW1vbiBjYXVzZXMgYXJlIGEgc2VydmVyIHRoYXQgaXMgZG93biBmb3IgbWFpbnRlbmFuY2Ugb3IgdGhhdCBpcyBvdmVybG9hZGVkLiBOb3RlIHRoYXQgdG9nZXRoZXIgd2l0aCB0aGlzIHJlc3BvbnNlLCBhIHVzZXItZnJpZW5kbHkgcGFnZSBleHBsYWluaW5nIHRoZSBwcm9ibGVtIHNob3VsZCBiZSBzZW50LiBUaGlzIHJlc3BvbnNlcyBzaG91bGQgYmUgdXNlZCBmb3IgdGVtcG9yYXJ5IGNvbmRpdGlvbnMgYW5kIHRoZSBSZXRyeS1BZnRlcjogSFRUUCBoZWFkZXIgc2hvdWxkLCBpZiBwb3NzaWJsZSwgY29udGFpbiB0aGUgZXN0aW1hdGVkIHRpbWUgYmVmb3JlIHRoZSByZWNvdmVyeSBvZiB0aGUgc2VydmljZS4gVGhlIHdlYm1hc3RlciBtdXN0IGFsc28gdGFrZSBjYXJlIGFib3V0IHRoZSBjYWNoaW5nLXJlbGF0ZWQgaGVhZGVycyB0aGF0IGFyZSBzZW50IGFsb25nIHdpdGggdGhpcyByZXNwb25zZSwgYXMgdGhlc2UgdGVtcG9yYXJ5IGNvbmRpdGlvbiByZXNwb25zZXMgc2hvdWxkIHVzdWFsbHkgbm90IGJlIGNhY2hlZC5cbiAgICovXG4gIHwgNTAzXG4gIC8qKlxuICAgKiBTV0lUQ0hJTkdfUFJPVE9DT0xTXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuMi4yXG4gICAqXG4gICAqIFRoaXMgY29kZSBpcyBzZW50IGluIHJlc3BvbnNlIHRvIGFuIFVwZ3JhZGUgcmVxdWVzdCBoZWFkZXIgYnkgdGhlIGNsaWVudCwgYW5kIGluZGljYXRlcyB0aGUgcHJvdG9jb2wgdGhlIHNlcnZlciBpcyBzd2l0Y2hpbmcgdG9vLlxuICAgKi9cbiAgfCAxMDFcbiAgLyoqXG4gICAqIFRFTVBPUkFSWV9SRURJUkVDVFxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjQuN1xuICAgKlxuICAgKiBTZXJ2ZXIgc2VudCB0aGlzIHJlc3BvbnNlIHRvIGRpcmVjdGluZyBjbGllbnQgdG8gZ2V0IHJlcXVlc3RlZCByZXNvdXJjZSB0byBhbm90aGVyIFVSSSB3aXRoIHNhbWUgbWV0aG9kIHRoYXQgdXNlZCBwcmlvciByZXF1ZXN0LiBUaGlzIGhhcyB0aGUgc2FtZSBzZW1hbnRpYyB0aGFuIHRoZSAzMDIgRm91bmQgSFRUUCByZXNwb25zZSBjb2RlLCB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCB0aGUgdXNlciBhZ2VudCBtdXN0IG5vdCBjaGFuZ2UgdGhlIEhUVFAgbWV0aG9kIHVzZWQ6IGlmIGEgUE9TVCB3YXMgdXNlZCBpbiB0aGUgZmlyc3QgcmVxdWVzdCwgYSBQT1NUIG11c3QgYmUgdXNlZCBpbiB0aGUgc2Vjb25kIHJlcXVlc3QuXG4gICAqL1xuICB8IDMwN1xuICAvKipcbiAgICogVE9PX01BTllfUkVRVUVTVFNcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM2NTg1I3NlY3Rpb24tNFxuICAgKlxuICAgKiBUaGUgdXNlciBoYXMgc2VudCB0b28gbWFueSByZXF1ZXN0cyBpbiBhIGdpdmVuIGFtb3VudCBvZiB0aW1lIChcInJhdGUgbGltaXRpbmdcIikuXG4gICAqL1xuICB8IDQyOVxuICAvKipcbiAgICogVU5BVVRIT1JJWkVEXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzNSNzZWN0aW9uLTMuMVxuICAgKlxuICAgKiBBbHRob3VnaCB0aGUgSFRUUCBzdGFuZGFyZCBzcGVjaWZpZXMgXCJ1bmF1dGhvcml6ZWRcIiwgc2VtYW50aWNhbGx5IHRoaXMgcmVzcG9uc2UgbWVhbnMgXCJ1bmF1dGhlbnRpY2F0ZWRcIi4gVGhhdCBpcywgdGhlIGNsaWVudCBtdXN0IGF1dGhlbnRpY2F0ZSBpdHNlbGYgdG8gZ2V0IHRoZSByZXF1ZXN0ZWQgcmVzcG9uc2UuXG4gICAqL1xuICB8IDQwMVxuICAvKipcbiAgICogVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlNcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3NzI1XG4gICAqXG4gICAqIFRoZSB1c2VyLWFnZW50IHJlcXVlc3RlZCBhIHJlc291cmNlIHRoYXQgY2Fubm90IGxlZ2FsbHkgYmUgcHJvdmlkZWQsIHN1Y2ggYXMgYSB3ZWIgcGFnZSBjZW5zb3JlZCBieSBhIGdvdmVybm1lbnQuXG4gICAqL1xuICB8IDQ1MVxuICAvKipcbiAgICogVU5QUk9DRVNTQUJMRV9FTlRJVFlcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMyNTE4I3NlY3Rpb24tMTAuM1xuICAgKlxuICAgKiBUaGUgcmVxdWVzdCB3YXMgd2VsbC1mb3JtZWQgYnV0IHdhcyB1bmFibGUgdG8gYmUgZm9sbG93ZWQgZHVlIHRvIHNlbWFudGljIGVycm9ycy5cbiAgICovXG4gIHwgNDIyXG4gIC8qKlxuICAgKiBVTlNVUFBPUlRFRF9NRURJQV9UWVBFXG4gICAqIE9mZmljaWFsIERvY3VtZW50YXRpb24gQCBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYuNS4xM1xuICAgKlxuICAgKiBUaGUgbWVkaWEgZm9ybWF0IG9mIHRoZSByZXF1ZXN0ZWQgZGF0YSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBzZXJ2ZXIsIHNvIHRoZSBzZXJ2ZXIgaXMgcmVqZWN0aW5nIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgfCA0MTVcbiAgLyoqXG4gICAqIFVTRV9QUk9YWVxuICAgKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiBPZmZpY2lhbCBEb2N1bWVudGF0aW9uIEAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzEjc2VjdGlvbi02LjQuNlxuICAgKlxuICAgKiBXYXMgZGVmaW5lZCBpbiBhIHByZXZpb3VzIHZlcnNpb24gb2YgdGhlIEhUVFAgc3BlY2lmaWNhdGlvbiB0byBpbmRpY2F0ZSB0aGF0IGEgcmVxdWVzdGVkIHJlc3BvbnNlIG11c3QgYmUgYWNjZXNzZWQgYnkgYSBwcm94eS4gSXQgaGFzIGJlZW4gZGVwcmVjYXRlZCBkdWUgdG8gc2VjdXJpdHkgY29uY2VybnMgcmVnYXJkaW5nIGluLWJhbmQgY29uZmlndXJhdGlvbiBvZiBhIHByb3h5LlxuICAgKi9cbiAgfCAzMDVcbiAgLyoqXG4gICAqIE1JU0RJUkVDVEVEX1JFUVVFU1RcbiAgICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjNzU0MCNzZWN0aW9uLTkuMS4yXG4gICAqXG4gICAqIERlZmluZWQgaW4gdGhlIHNwZWNpZmljYXRpb24gb2YgSFRUUC8yIHRvIGluZGljYXRlIHRoYXQgYSBzZXJ2ZXIgaXMgbm90IGFibGUgdG8gcHJvZHVjZSBhIHJlc3BvbnNlIGZvciB0aGUgY29tYmluYXRpb24gb2Ygc2NoZW1lIGFuZCBhdXRob3JpdHkgdGhhdCBhcmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgVVJJLlxuICAgKi9cbiAgfCA0MjE7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgUHJvYmxlbSBEb2N1bWVudHMsIHdoaWNoIGluY2x1ZGVzIHRoZSBub24tZXh0ZW5zaW9uIGZpZWxkc1xuICovXG5leHBvcnQgdHlwZSBCYXNlUHJvYmxlbURvY3VtZW50UHJvcGVydGllcyA9IHtcbiAgLyoqXG4gICAqIEEgVVJJIHJlZmVyZW5jZSBbe0BsaW5rIGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjMzk4NiBSRkMzOTg2fV0gdGhhdCBpZGVudGlmaWVzIHRoZVxuICAgKiBwcm9ibGVtIHR5cGUuICBUaGlzIHNwZWNpZmljYXRpb24gZW5jb3VyYWdlcyB0aGF0LCB3aGVuXG4gICAqIGRlcmVmZXJlbmNlZCwgaXQgcHJvdmlkZSBodW1hbi1yZWFkYWJsZSBkb2N1bWVudGF0aW9uIGZvciB0aGVcbiAgICogcHJvYmxlbSB0eXBlIChlLmcuLCB1c2luZyBIVE1MIFt7QGxpbmsgaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM3ODA3I3JlZi1XM0MuUkVDLWh0bWw1LTIwMTQxMDI4IFczQy5SRUMtaHRtbDUtMjAxNDEwMjh9XSkuICBXaGVuXG4gICAqIHRoaXMgbWVtYmVyIGlzIG5vdCBwcmVzZW50LCBpdHMgdmFsdWUgaXMgYXNzdW1lZCB0byBiZVxuICAgKiBcImFib3V0OmJsYW5rXCIuXG4gICAqL1xuICB0eXBlPzogc3RyaW5nO1xuICAvKipcbiAgICogQSBzaG9ydCwgaHVtYW4tcmVhZGFibGUgc3VtbWFyeSBvZiB0aGUgcHJvYmxlbVxuICAgKiB0eXBlLiAgSXQgU0hPVUxEIE5PVCBjaGFuZ2UgZnJvbSBvY2N1cnJlbmNlIHRvIG9jY3VycmVuY2Ugb2YgdGhlXG4gICAqIHByb2JsZW0sIGV4Y2VwdCBmb3IgcHVycG9zZXMgb2YgbG9jYWxpemF0aW9uIChlLmcuLCB1c2luZ1xuICAgKiBwcm9hY3RpdmUgY29udGVudCBuZWdvdGlhdGlvbjsgc2VlIHtAbGluayBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzcyMzEjc2VjdGlvbi0zLjQgW1JGQzcyMzFdLCBTZWN0aW9uIDMuNH0pLlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgSFRUUCBzdGF0dXMgY29kZSAoe0BsaW5rIGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjNzIzMSNzZWN0aW9uLTYgW1JGQzcyMzFdLCBTZWN0aW9uIDZ9KVxuICAgKiBnZW5lcmF0ZWQgYnkgdGhlIG9yaWdpbiBzZXJ2ZXIgZm9yIHRoaXMgb2NjdXJyZW5jZSBvZiB0aGUgcHJvYmxlbS5cbiAgICovXG4gIHN0YXR1cz86IFN0YXR1c0NvZGU7XG4gIC8qKlxuICAgKiBBIGh1bWFuLXJlYWRhYmxlIGV4cGxhbmF0aW9uIHNwZWNpZmljIHRvIHRoaXMgb2NjdXJyZW5jZSBvZiB0aGUgcHJvYmxlbS5cbiAgICovXG4gIGRldGFpbD86IHN0cmluZztcbiAgLyoqXG4gICAqIEEgVVJJIHJlZmVyZW5jZSB0aGF0IGlkZW50aWZpZXMgdGhlIHNwZWNpZmljXG4gICAqIG9jY3VycmVuY2Ugb2YgdGhlIHByb2JsZW0uICBJdCBtYXkgb3IgbWF5IG5vdCB5aWVsZCBmdXJ0aGVyXG4gICAqIGluZm9ybWF0aW9uIGlmIGRlcmVmZXJlbmNlZC5cbiAgICovXG4gIGluc3RhbmNlPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBUaGUgUHJvYmxlbSBEb2N1bWVudCB3aXRoIGV4dGVuc2lvbnNcbiAqXG4gKiBOb3RlIHRoZSB1c2Ugb2YgT21pdCwgdGhpcyBhbGxvd3MgYXV0by1jb21wbGV0aW9uIG9mIHRoZSBiYXNlIGZpZWxkc1xuICovXG5leHBvcnQgdHlwZSBQcm9ibGVtRG9jdW1lbnRQcm9wZXJ0aWVzID0gT21pdDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGtleW9mIEJhc2VQcm9ibGVtRG9jdW1lbnRQcm9wZXJ0aWVzXG4+ICZcbiAgQmFzZVByb2JsZW1Eb2N1bWVudFByb3BlcnRpZXM7XG5cbi8qKlxuICpcbiAqIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBSRkM3ODA3IFwicHJvYmxlbSBkZXRhaWxcIiwgYSB3YXkgdG8gY2FycnkgbWFjaGluZS1cbiAqIHJlYWRhYmxlIGRldGFpbHMgb2YgZXJyb3JzIGluIGEgSFRUUCByZXNwb25zZSB0byBhdm9pZCB0aGUgbmVlZCB0b1xuICogZGVmaW5lIG5ldyBlcnJvciByZXNwb25zZSBmb3JtYXRzIGZvciBIVFRQIEFQSXMuXG4gKlxuICogT2ZmaWNpYWwgRG9jdW1lbnRhdGlvbiBAIGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjNzgwN1xuICpcbiAqIENvbnN1bWVycyBNVVNUIHVzZSB0aGUgXCJ0eXBlXCIgc3RyaW5nIGFzIHRoZSBwcmltYXJ5IGlkZW50aWZpZXIgZm9yXG4gKiB0aGUgcHJvYmxlbSB0eXBlOyB0aGUgXCJ0aXRsZVwiIHN0cmluZyBpcyBhZHZpc29yeSBhbmQgaW5jbHVkZWQgb25seVxuICogZm9yIHVzZXJzIHdobyBhcmUgbm90IGF3YXJlIG9mIHRoZSBzZW1hbnRpY3Mgb2YgdGhlIFVSSSBhbmQgZG8gbm90XG4gKiBoYXZlIHRoZSBhYmlsaXR5IHRvIGRpc2NvdmVyIHRoZW0gKGUuZy4sIG9mZmxpbmUgbG9nIGFuYWx5c2lzKS5cbiAqIENvbnN1bWVycyBTSE9VTEQgTk9UIGF1dG9tYXRpY2FsbHkgZGVyZWZlcmVuY2UgdGhlIHR5cGUgVVJJLlxuICpcbiAqIFRoZSBcInN0YXR1c1wiIG1lbWJlciwgaWYgcHJlc2VudCwgaXMgb25seSBhZHZpc29yeTsgaXQgY29udmV5cyB0aGVcbiAqIEhUVFAgc3RhdHVzIGNvZGUgdXNlZCBmb3IgdGhlIGNvbnZlbmllbmNlIG9mIHRoZSBjb25zdW1lci5cbiAqIEdlbmVyYXRvcnMgTVVTVCB1c2UgdGhlIHNhbWUgc3RhdHVzIGNvZGUgaW4gdGhlIGFjdHVhbCBIVFRQIHJlc3BvbnNlLFxuICogdG8gYXNzdXJlIHRoYXQgZ2VuZXJpYyBIVFRQIHNvZnR3YXJlIHRoYXQgZG9lcyBub3QgdW5kZXJzdGFuZCB0aGlzXG4gKiBmb3JtYXQgc3RpbGwgYmVoYXZlcyBjb3JyZWN0bHkuICBTZWUgU2VjdGlvbiA1IGZvciBmdXJ0aGVyIGNhdmVhdHNcbiAqIHJlZ2FyZGluZyBpdHMgdXNlLlxuICpcbiAqIENvbnN1bWVycyBjYW4gdXNlIHRoZSBzdGF0dXMgbWVtYmVyIHRvIGRldGVybWluZSB3aGF0IHRoZSBvcmlnaW5hbFxuICogc3RhdHVzIGNvZGUgdXNlZCBieSB0aGUgZ2VuZXJhdG9yIHdhcywgaW4gY2FzZXMgd2hlcmUgaXQgaGFzIGJlZW5cbiAqIGNoYW5nZWQgKGUuZy4sIGJ5IGFuIGludGVybWVkaWFyeSBvciBjYWNoZSksIGFuZCB3aGVuIG1lc3NhZ2UgYm9kaWVzXG4gKiBwZXJzaXN0IHdpdGhvdXQgSFRUUCBpbmZvcm1hdGlvbi4gIEdlbmVyaWMgSFRUUCBzb2Z0d2FyZSB3aWxsIHN0aWxsXG4gKiB1c2UgdGhlIEhUVFAgc3RhdHVzIGNvZGUuXG4gKlxuICogVGhlIFwiZGV0YWlsXCIgbWVtYmVyLCBpZiBwcmVzZW50LCBvdWdodCB0byBmb2N1cyBvbiBoZWxwaW5nIHRoZSBjbGllbnRcbiAqIGNvcnJlY3QgdGhlIHByb2JsZW0sIHJhdGhlciB0aGFuIGdpdmluZyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uXG4gKlxuICogQ29uc3VtZXJzIFNIT1VMRCBOT1QgcGFyc2UgdGhlIFwiZGV0YWlsXCIgbWVtYmVyIGZvciBpbmZvcm1hdGlvbjtcbiAqIGV4dGVuc2lvbnMgYXJlIG1vcmUgc3VpdGFibGUgYW5kIGxlc3MgZXJyb3ItcHJvbmUgd2F5cyB0byBvYnRhaW4gc3VjaFxuICogaW5mb3JtYXRpb24uXG4gKlxuICogTm90ZSB0aGF0IGJvdGgge0BsaW5rIEJhc2VQcm9ibGVtRG9jdW1lbnRQcm9wZXJ0aWVzLnR5cGUgdHlwZX0gYW5kIHtAbGluayBCYXNlUHJvYmxlbURvY3VtZW50UHJvcGVydGllcy5pbnN0YW5jZSBpbnN0YW5jZX0gYWNjZXB0IHJlbGF0aXZlIFVSSXM7IHRoaXMgbWVhbnNcbiAqIHRoYXQgdGhleSBtdXN0IGJlIHJlc29sdmVkIHJlbGF0aXZlIHRvIHRoZSBkb2N1bWVudCdzIGJhc2UgVVJJLCBhc1xuICogcGVyIHtAbGluayBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzM5ODYjc2VjdGlvbi01IFtSRkMzOTg2XSwgU2VjdGlvbiA1fS5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb2JsZW1Eb2N1bWVudCBpbXBsZW1lbnRzIFByb2JsZW1Eb2N1bWVudFByb3BlcnRpZXMge1xuICBkZXRhaWw/OiBzdHJpbmc7XG4gIGluc3RhbmNlPzogc3RyaW5nO1xuICBzdGF0dXM/OiBTdGF0dXNDb2RlO1xuICB0aXRsZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgW2s6IHN0cmluZ106IHVua25vd247XG4gIC8qKlxuICAgKlxuICAgKiBjb25zdHJ1Y3QgYSBuZXcgUHJvYmxlbURvY3VtZW50IGluc3RhbmNlXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIHByb3BlcnRpZXMgdG8gYXNzaWduIHRvIHRoZSBuZXcgaW5zdGFuY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKGRhdGE6IFByb2JsZW1Eb2N1bWVudFByb3BlcnRpZXMpIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mountainpass/problem-document",
|
|
3
3
|
"description": "A basic RFC7807 Problem Document with basic type checking and autocomplete",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "https://github.com/mountain-pass/problem-document"
|
|
7
|
+
},
|
|
4
8
|
"scripts": {
|
|
5
9
|
"build": "npx projen build",
|
|
6
10
|
"bump": "npx projen bump",
|
|
7
11
|
"clobber": "npx projen clobber",
|
|
8
12
|
"compile": "npx projen compile",
|
|
9
13
|
"default": "npx projen default",
|
|
14
|
+
"docgen": "npx projen docgen",
|
|
10
15
|
"eject": "npx projen eject",
|
|
11
16
|
"eslint": "npx projen eslint",
|
|
12
17
|
"package": "npx projen package",
|
|
13
18
|
"post-compile": "npx projen post-compile",
|
|
14
|
-
"post-upgrade": "npx projen post-upgrade",
|
|
15
19
|
"pre-compile": "npx projen pre-compile",
|
|
16
20
|
"prepare": "npx projen prepare",
|
|
17
21
|
"release": "npx projen release",
|
|
@@ -19,10 +23,15 @@
|
|
|
19
23
|
"test:update": "npx projen test:update",
|
|
20
24
|
"test:watch": "npx projen test:watch",
|
|
21
25
|
"unbump": "npx projen unbump",
|
|
22
|
-
"upgrade": "npx projen upgrade",
|
|
23
26
|
"watch": "npx projen watch",
|
|
24
27
|
"projen": "npx projen"
|
|
25
28
|
},
|
|
29
|
+
"author": {
|
|
30
|
+
"name": "Mountain Pass",
|
|
31
|
+
"email": "Mountain Pass <info@mountain-pass.com.au>",
|
|
32
|
+
"url": "https://mountain-pass.com.au",
|
|
33
|
+
"organization": "Mountain Pass"
|
|
34
|
+
},
|
|
26
35
|
"devDependencies": {
|
|
27
36
|
"@commitlint/cli": "^16.2.4",
|
|
28
37
|
"@commitlint/config-conventional": "^16.2.4",
|
|
@@ -32,26 +41,41 @@
|
|
|
32
41
|
"@typescript-eslint/eslint-plugin": "^5",
|
|
33
42
|
"@typescript-eslint/parser": "^5",
|
|
34
43
|
"eslint": "^8",
|
|
44
|
+
"eslint-config-prettier": "^8.5.0",
|
|
35
45
|
"eslint-import-resolver-node": "^0.3.6",
|
|
36
46
|
"eslint-import-resolver-typescript": "^2.7.1",
|
|
37
47
|
"eslint-plugin-import": "^2.26.0",
|
|
48
|
+
"eslint-plugin-jsdoc": "^39.2.9",
|
|
49
|
+
"eslint-plugin-jsdoc-typescript": "^2.1.0",
|
|
50
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
51
|
+
"eslint-plugin-unicorn": "^42.0.0",
|
|
38
52
|
"http-status-codes": "^2.2.0",
|
|
39
53
|
"husky": "^7.0.4",
|
|
40
54
|
"jest": "^27",
|
|
41
55
|
"jest-junit": "^13",
|
|
42
56
|
"json-schema": "^0.4.0",
|
|
43
|
-
"
|
|
57
|
+
"prettier": "^2.6.2",
|
|
44
58
|
"projen": "^0.54.50",
|
|
45
59
|
"standard-version": "^9",
|
|
46
60
|
"ts-jest": "^27.1.4",
|
|
61
|
+
"typedoc": "^0.21.4",
|
|
47
62
|
"typescript": "^4.6.3"
|
|
48
63
|
},
|
|
64
|
+
"keywords": [
|
|
65
|
+
"document",
|
|
66
|
+
"problem",
|
|
67
|
+
"rfc7807"
|
|
68
|
+
],
|
|
49
69
|
"main": "lib/index.js",
|
|
50
70
|
"license": "Apache-2.0",
|
|
71
|
+
"homepage": "https://github.com/mountain-pass/problem-document",
|
|
51
72
|
"publishConfig": {
|
|
52
73
|
"access": "public"
|
|
53
74
|
},
|
|
54
|
-
"version": "0.0.
|
|
75
|
+
"version": "0.0.3",
|
|
76
|
+
"bugs": {
|
|
77
|
+
"url": "https://github.com/mountain-pass/problem-document/issues"
|
|
78
|
+
},
|
|
55
79
|
"jest": {
|
|
56
80
|
"testMatch": [
|
|
57
81
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|