@dashkite/http-headers 0.5.0

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.
@@ -0,0 +1,9 @@
1
+ import * as Link from "./link";
2
+ import * as Authorization from "./authorization";
3
+ import * as WWWAuthenticate from "./www-authenticate";
4
+ import * as Accept from "./accept";
5
+ import * as ContentType from "./content-type";
6
+ export { Link, Authorization, WWWAuthenticate, Accept, ContentType }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9odHRwLWhlYWRlcnMvc3JjL2luZGV4LmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLENBQUEsUUFBUCxNQUFBOztBQUNBLE9BQU8sQ0FBQSxpQkFBUCxNQUFBOztBQUNBLE9BQU8sQ0FBQSxtQkFBUCxNQUFBOztBQUNBLE9BQU8sQ0FBQSxVQUFQLE1BQUE7O0FBQ0EsT0FBTyxDQUFBLGVBQVAsTUFBQTs7QUFFQSxPQUFBO0VBQ0UsSUFERjtFQUVFLGFBRkY7RUFHRSxlQUhGO0VBSUUsTUFKRjtFQUtFLFdBTEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBMaW5rIGZyb20gXCIuL2xpbmtcIlxuaW1wb3J0ICogYXMgQXV0aG9yaXphdGlvbiBmcm9tIFwiLi9hdXRob3JpemF0aW9uXCJcbmltcG9ydCAqIGFzIFdXV0F1dGhlbnRpY2F0ZSBmcm9tIFwiLi93d3ctYXV0aGVudGljYXRlXCJcbmltcG9ydCAqIGFzIEFjY2VwdCBmcm9tIFwiLi9hY2NlcHRcIlxuaW1wb3J0ICogYXMgQ29udGVudFR5cGUgZnJvbSBcIi4vY29udGVudC10eXBlXCJcblxuZXhwb3J0IHtcbiAgTGlua1xuICBBdXRob3JpemF0aW9uXG4gIFdXV0F1dGhlbnRpY2F0ZVxuICBBY2NlcHRcbiAgQ29udGVudFR5cGVcbn0iXX0=
7
+ //# sourceURL=/@dashkite/http-headers/src/index.coffee
8
+
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2h0dHAtaGVhZGVycy9zcmMvaW5kZXguY29mZmVlIl0sInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBMaW5rIGZyb20gXCIuL2xpbmtcIlxuaW1wb3J0ICogYXMgQXV0aG9yaXphdGlvbiBmcm9tIFwiLi9hdXRob3JpemF0aW9uXCJcbmltcG9ydCAqIGFzIFdXV0F1dGhlbnRpY2F0ZSBmcm9tIFwiLi93d3ctYXV0aGVudGljYXRlXCJcbmltcG9ydCAqIGFzIEFjY2VwdCBmcm9tIFwiLi9hY2NlcHRcIlxuaW1wb3J0ICogYXMgQ29udGVudFR5cGUgZnJvbSBcIi4vY29udGVudC10eXBlXCJcblxuZXhwb3J0IHtcbiAgTGlua1xuICBBdXRob3JpemF0aW9uXG4gIFdXV0F1dGhlbnRpY2F0ZVxuICBBY2NlcHRcbiAgQ29udGVudFR5cGVcbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxDQUFBLElBQUEsSUFBUCxNQUFBLFNBQUE7QUFDQSxPQUFPLENBQUEsSUFBQSxhQUFQLE1BQUEsa0JBQUE7QUFDQSxPQUFPLENBQUEsSUFBQSxlQUFQLE1BQUEscUJBQUE7QUFDQSxPQUFPLENBQUEsSUFBQSxNQUFQLE1BQUEsV0FBQTtBQUNBLE9BQU8sQ0FBQSxJQUFBLFdBQVAsTUFBQSxpQkFBQTtBQUVBLE9BQUEsRUFDRSxJQURGLEVBRUUsYUFGRixFQUdFLGVBSEYsRUFJRSxNQUpGLEVBS0UsV0FMRiJ9
@@ -0,0 +1,64 @@
1
+ var format, link, links, parse, parseToken;
2
+ import * as Parse from "@dashkite/parse";
3
+ import { ows, parameterList, uriReference, commaDelimited, token } from "./common";
4
+ // Link = #link-value
5
+ // link-value = "<" URI-Reference ">" *( OWS ";" OWS link-param )
6
+ // link-param = token BWS [ "=" BWS ( token / quoted-string ) ]
7
+ link = Parse.pipe([
8
+ Parse.all([
9
+ Parse.pipe([
10
+ Parse.between([
11
+ "<",
12
+ ">"
13
+ ], uriReference),
14
+ Parse.tag("uri")
15
+ ]),
16
+ Parse.optional(Parse.pipe([
17
+ Parse.all([
18
+ Parse.skip(ows),
19
+ parameterList
20
+ ]),
21
+ Parse.first,
22
+ Parse.tag("parameters")
23
+ ]))
24
+ ]),
25
+ Parse.merge
26
+ ]);
27
+ links = Parse.list(commaDelimited, link);
28
+ parse = Parse.parser(links);
29
+ parseToken = Parse.parser(token);
30
+ format = function(links) {
31
+ var result;
32
+ result = function() {
33
+ var _result, i, len, parameters, results, uri;
34
+ results = [];
35
+ for(i = 0, len = links.length; i < len; i++){
36
+ ({ uri, parameters } = links[i]);
37
+ if (parameters != null) {
38
+ _result = function() {
39
+ var key, results1, value;
40
+ results1 = [];
41
+ for(key in parameters){
42
+ value = parameters[key];
43
+ try {
44
+ parseToken(value);
45
+ results1.push(`${key}=${value}`);
46
+ } catch (error) {
47
+ results1.push(`${key}=${JSON.stringify(value)}`);
48
+ }
49
+ }
50
+ return results1;
51
+ }();
52
+ results.push(`<${uri}> ${_result.join('; ')}`);
53
+ } else {
54
+ results.push(`<${uri}>`);
55
+ }
56
+ }
57
+ return results;
58
+ }();
59
+ return result.join(", ");
60
+ };
61
+ export { parse, format }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9odHRwLWhlYWRlcnMvc3JjL2xpbmsuY29mZmVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUEsTUFBQSxFQUFBLElBQUEsRUFBQSxLQUFBLEVBQUEsS0FBQSxFQUFBOztBQUFBLE9BQU8sQ0FBQSxTQUFQLE1BQUE7O0FBRUEsT0FBQTtFQUNFLEdBREY7RUFFRSxhQUZGO0VBR0UsWUFIRjtFQUlFLGNBSkY7RUFLRSxLQUxGO0NBQUEsTUFBQSxXQUZBOzs7OztBQWNBLElBQUEsR0FBTyxLQUFLLENBQUMsSUFBTixDQUFXLENBQ2hCLEtBQUssQ0FBQyxHQUFOLENBQVUsQ0FDUixLQUFLLENBQUMsSUFBTixDQUFXLENBQ1QsS0FBSyxDQUFDLE9BQU4sQ0FBYyxDQUFFLEdBQUYsRUFBTyxHQUFQLENBQWQsRUFBNEIsWUFBNUIsQ0FEUyxFQUVULEtBQUssQ0FBQyxHQUFOLENBQVUsS0FBVixDQUZTLENBQVgsQ0FEUSxFQUtSLEtBQUssQ0FBQyxRQUFOLENBQWUsS0FBSyxDQUFDLElBQU4sQ0FBVyxDQUN4QixLQUFLLENBQUMsR0FBTixDQUFVLENBQ1IsS0FBSyxDQUFDLElBQU4sQ0FBVyxHQUFYLENBRFEsRUFFUixhQUZRLENBQVYsQ0FEd0IsRUFLeEIsS0FBSyxDQUFDLEtBTGtCLEVBTXhCLEtBQUssQ0FBQyxHQUFOLENBQVUsWUFBVixDQU53QixDQUFYLENBQWYsQ0FMUSxDQUFWLENBRGdCLEVBZWhCLEtBQUssQ0FBQyxLQWZVLENBQVg7O0FBa0JQLEtBQUEsR0FBUSxLQUFLLENBQUMsSUFBTixDQUFXLGNBQVgsRUFBMkIsSUFBM0I7O0FBRVIsS0FBQSxHQUFRLEtBQUssQ0FBQyxNQUFOLENBQWEsS0FBYjs7QUFFUixVQUFBLEdBQWEsS0FBSyxDQUFDLE1BQU4sQ0FBYSxLQUFiOztBQUViLE1BQUEsR0FBUyxRQUFBLENBQUUsS0FBRixDQUFBO0FBQ1QsTUFBQTtFQUFFLE1BQUEsR0FBWSxDQUFBLFFBQUEsQ0FBQSxDQUFBO0FBQ2QsUUFBQSxPQUFBLEVBQUEsQ0FBQSxFQUFBLEdBQUEsRUFBQSxVQUFBLEVBQUEsT0FBQSxFQUFBO0FBQUk7SUFBQSxLQUFBLHVDQUFBO09BQUksQ0FBRSxHQUFGLEVBQU8sVUFBUDtNQUNGLElBQUcsa0JBQUg7UUFDRSxPQUFBLEdBQWEsQ0FBQSxRQUFBLENBQUEsQ0FBQTtBQUNyQixjQUFBLEdBQUEsRUFBQSxRQUFBLEVBQUE7QUFBVTtVQUFBLEtBQUEsaUJBQUE7O0FBQ0U7Y0FDRSxVQUFBLENBQVcsS0FBWDs0QkFDQSxDQUFBLENBQUEsQ0FBSSxHQUFKLENBQUEsQ0FBQSxDQUFBLENBQWEsS0FBYixDQUFBLEdBRkY7YUFHQSxhQUFBOzRCQUNFLENBQUEsQ0FBQSxDQUFJLEdBQUosQ0FBQSxDQUFBLENBQUEsQ0FBYSxJQUFJLENBQUMsU0FBTCxDQUFlLEtBQWYsQ0FBYixDQUFBLEdBREY7O1VBSkYsQ0FBQTs7UUFEVyxDQUFBO3FCQU9iLENBQUEsQ0FBQSxDQUFBLENBQUssR0FBTCxDQUFBLEVBQUEsQ0FBQSxDQUFjLE9BQU8sQ0FBQyxJQUFSLENBQWEsSUFBYixDQUFkLENBQUEsR0FSRjtPQUFBLE1BQUE7cUJBVUUsQ0FBQSxDQUFBLENBQUEsQ0FBSyxHQUFMLENBQUEsQ0FBQSxHQVZGOztJQURGLENBQUE7O0VBRFUsQ0FBQTtTQWFaLE1BQU0sQ0FBQyxJQUFQLENBQVksSUFBWjtBQWRPOztBQWdCVCxPQUFBO0VBQ0UsS0FERjtFQUVFLE1BRkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBQYXJzZSBmcm9tIFwiQGRhc2hraXRlL3BhcnNlXCJcblxuaW1wb3J0IHtcbiAgb3dzXG4gIHBhcmFtZXRlckxpc3RcbiAgdXJpUmVmZXJlbmNlXG4gIGNvbW1hRGVsaW1pdGVkXG4gIHRva2VuXG59IGZyb20gXCIuL2NvbW1vblwiXG5cbiMgICBMaW5rICAgICAgID0gI2xpbmstdmFsdWVcbiMgICBsaW5rLXZhbHVlID0gXCI8XCIgVVJJLVJlZmVyZW5jZSBcIj5cIiAqKCBPV1MgXCI7XCIgT1dTIGxpbmstcGFyYW0gKVxuIyAgIGxpbmstcGFyYW0gPSB0b2tlbiBCV1MgWyBcIj1cIiBCV1MgKCB0b2tlbiAvIHF1b3RlZC1zdHJpbmcgKSBdXG5cbmxpbmsgPSBQYXJzZS5waXBlIFtcbiAgUGFyc2UuYWxsIFtcbiAgICBQYXJzZS5waXBlIFtcbiAgICAgIFBhcnNlLmJldHdlZW4gWyBcIjxcIiwgXCI+XCIgXSwgdXJpUmVmZXJlbmNlXG4gICAgICBQYXJzZS50YWcgXCJ1cmlcIlxuICAgIF1cbiAgICBQYXJzZS5vcHRpb25hbCBQYXJzZS5waXBlIFtcbiAgICAgIFBhcnNlLmFsbCBbXG4gICAgICAgIFBhcnNlLnNraXAgb3dzXG4gICAgICAgIHBhcmFtZXRlckxpc3RcbiAgICAgIF1cbiAgICAgIFBhcnNlLmZpcnN0XG4gICAgICBQYXJzZS50YWcgXCJwYXJhbWV0ZXJzXCJcbiAgICBdXG4gIF1cbiAgUGFyc2UubWVyZ2Vcbl1cblxubGlua3MgPSBQYXJzZS5saXN0IGNvbW1hRGVsaW1pdGVkLCBsaW5rXG5cbnBhcnNlID0gUGFyc2UucGFyc2VyIGxpbmtzXG5cbnBhcnNlVG9rZW4gPSBQYXJzZS5wYXJzZXIgdG9rZW5cblxuZm9ybWF0ID0gKCBsaW5rcyApIC0+XG4gIHJlc3VsdCA9IGRvIC0+XG4gICAgZm9yIHsgdXJpLCBwYXJhbWV0ZXJzIH0gaW4gbGlua3NcbiAgICAgIGlmIHBhcmFtZXRlcnM/XG4gICAgICAgIF9yZXN1bHQgPSBkbyAtPlxuICAgICAgICAgIGZvciBrZXksIHZhbHVlIG9mIHBhcmFtZXRlcnNcbiAgICAgICAgICAgIHRyeVxuICAgICAgICAgICAgICBwYXJzZVRva2VuIHZhbHVlXG4gICAgICAgICAgICAgIFwiI3sga2V5IH09I3sgdmFsdWUgfVwiXG4gICAgICAgICAgICBjYXRjaFxuICAgICAgICAgICAgICBcIiN7IGtleSB9PSN7IEpTT04uc3RyaW5naWZ5IHZhbHVlIH1cIlxuICAgICAgICBcIjwjeyB1cmkgfT4gI3tfcmVzdWx0LmpvaW4gJzsgJ31cIlxuICAgICAgZWxzZVxuICAgICAgICBcIjwjeyB1cmkgfT5cIlxuICByZXN1bHQuam9pbiBcIiwgXCJcblxuZXhwb3J0IHtcbiAgcGFyc2VcbiAgZm9ybWF0XG59Il19
62
+ //# sourceURL=/@dashkite/http-headers/src/link.coffee
63
+
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2h0dHAtaGVhZGVycy9zcmMvbGluay5jb2ZmZWUiXSwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFBhcnNlIGZyb20gXCJAZGFzaGtpdGUvcGFyc2VcIlxuXG5pbXBvcnQge1xuICBvd3NcbiAgcGFyYW1ldGVyTGlzdFxuICB1cmlSZWZlcmVuY2VcbiAgY29tbWFEZWxpbWl0ZWRcbiAgdG9rZW5cbn0gZnJvbSBcIi4vY29tbW9uXCJcblxuIyAgIExpbmsgICAgICAgPSAjbGluay12YWx1ZVxuIyAgIGxpbmstdmFsdWUgPSBcIjxcIiBVUkktUmVmZXJlbmNlIFwiPlwiICooIE9XUyBcIjtcIiBPV1MgbGluay1wYXJhbSApXG4jICAgbGluay1wYXJhbSA9IHRva2VuIEJXUyBbIFwiPVwiIEJXUyAoIHRva2VuIC8gcXVvdGVkLXN0cmluZyApIF1cblxubGluayA9IFBhcnNlLnBpcGUgW1xuICBQYXJzZS5hbGwgW1xuICAgIFBhcnNlLnBpcGUgW1xuICAgICAgUGFyc2UuYmV0d2VlbiBbIFwiPFwiLCBcIj5cIiBdLCB1cmlSZWZlcmVuY2VcbiAgICAgIFBhcnNlLnRhZyBcInVyaVwiXG4gICAgXVxuICAgIFBhcnNlLm9wdGlvbmFsIFBhcnNlLnBpcGUgW1xuICAgICAgUGFyc2UuYWxsIFtcbiAgICAgICAgUGFyc2Uuc2tpcCBvd3NcbiAgICAgICAgcGFyYW1ldGVyTGlzdFxuICAgICAgXVxuICAgICAgUGFyc2UuZmlyc3RcbiAgICAgIFBhcnNlLnRhZyBcInBhcmFtZXRlcnNcIlxuICAgIF1cbiAgXVxuICBQYXJzZS5tZXJnZVxuXVxuXG5saW5rcyA9IFBhcnNlLmxpc3QgY29tbWFEZWxpbWl0ZWQsIGxpbmtcblxucGFyc2UgPSBQYXJzZS5wYXJzZXIgbGlua3NcblxucGFyc2VUb2tlbiA9IFBhcnNlLnBhcnNlciB0b2tlblxuXG5mb3JtYXQgPSAoIGxpbmtzICkgLT5cbiAgcmVzdWx0ID0gZG8gLT5cbiAgICBmb3IgeyB1cmksIHBhcmFtZXRlcnMgfSBpbiBsaW5rc1xuICAgICAgaWYgcGFyYW1ldGVycz9cbiAgICAgICAgX3Jlc3VsdCA9IGRvIC0+XG4gICAgICAgICAgZm9yIGtleSwgdmFsdWUgb2YgcGFyYW1ldGVyc1xuICAgICAgICAgICAgdHJ5XG4gICAgICAgICAgICAgIHBhcnNlVG9rZW4gdmFsdWVcbiAgICAgICAgICAgICAgXCIjeyBrZXkgfT0jeyB2YWx1ZSB9XCJcbiAgICAgICAgICAgIGNhdGNoXG4gICAgICAgICAgICAgIFwiI3sga2V5IH09I3sgSlNPTi5zdHJpbmdpZnkgdmFsdWUgfVwiXG4gICAgICAgIFwiPCN7IHVyaSB9PiAje19yZXN1bHQuam9pbiAnOyAnfVwiXG4gICAgICBlbHNlXG4gICAgICAgIFwiPCN7IHVyaSB9PlwiXG4gIHJlc3VsdC5qb2luIFwiLCBcIlxuXG5leHBvcnQge1xuICBwYXJzZVxuICBmb3JtYXRcbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBQSxNQUFBLEVBQUEsSUFBQSxFQUFBLEtBQUEsRUFBQSxLQUFBLEVBQUE7QUFBQSxPQUFPLENBQUEsSUFBQSxLQUFQLE1BQUEsa0JBQUE7QUFFQSxPQUFBLEVBQ0UsR0FERixFQUVFLGFBRkYsRUFHRSxZQUhGLEVBSUUsY0FKRixFQUtFLEtBTEYsUUFBQSxXQUZBOzs7O0FBY0EsSUFBQSxHQUFPLEtBQUssQ0FBQyxJQUFOLENBQVc7SUFDaEIsS0FBSyxDQUFDLEdBQU4sQ0FBVTtRQUNSLEtBQUssQ0FBQyxJQUFOLENBQVc7WUFDVCxLQUFLLENBQUMsT0FBTixDQUFjO2dCQUFFLEdBQUY7Z0JBQU8sR0FBUDthQUFkLEVBQTRCLFlBQTVCLENBRFM7WUFFVCxLQUFLLENBQUMsR0FBTixDQUFVLEtBQVYsQ0FGUztTQUFYLENBRFE7UUFLUixLQUFLLENBQUMsUUFBTixDQUFlLEtBQUssQ0FBQyxJQUFOLENBQVc7WUFDeEIsS0FBSyxDQUFDLEdBQU4sQ0FBVTtnQkFDUixLQUFLLENBQUMsSUFBTixDQUFXLEdBQVgsQ0FEUTtnQkFFUixhQUZRO2FBQVYsQ0FEd0I7WUFLeEIsS0FBSyxDQUFDLEtBTGtCO1lBTXhCLEtBQUssQ0FBQyxHQUFOLENBQVUsWUFBVixDQU53QjtTQUFYLENBQWYsQ0FMUTtLQUFWLENBRGdCO0lBZWhCLEtBQUssQ0FBQyxLQWZVO0NBQVg7QUFrQlAsS0FBQSxHQUFRLEtBQUssQ0FBQyxJQUFOLENBQVcsY0FBWCxFQUEyQixJQUEzQjtBQUVSLEtBQUEsR0FBUSxLQUFLLENBQUMsTUFBTixDQUFhLEtBQWI7QUFFUixVQUFBLEdBQWEsS0FBSyxDQUFDLE1BQU4sQ0FBYSxLQUFiO0FBRWIsTUFBQSxHQUFTLFFBQUEsQ0FBRSxLQUFGLENBQUE7SUFDVCxJQUFBO0lBQUUsTUFBQSxHQUFZLFFBQUEsQ0FBQSxDQUFBO1FBQ2QsSUFBQSxPQUFBLEVBQUEsQ0FBQSxFQUFBLEdBQUEsRUFBQSxVQUFBLEVBQUEsT0FBQSxFQUFBO1FBQUksVUFBQSxFQUFBO1FBQUEsSUFBQSxJQUFBLEdBQUEsTUFBQSxNQUFBLE1BQUEsRUFBQSxJQUFBLEtBQUEsR0FBQSxDQUFBO1lBQUksR0FBRSxHQUFGLEVBQU8sVUFBUCxFQUFBLEdBQUEsS0FBQSxDQUFBLEVBQUE7WUFDRixJQUFHLGNBQUEsSUFBSCxFQUFBO2dCQUNFLE9BQUEsR0FBYSxRQUFBLENBQUEsQ0FBQTtvQkFDckIsSUFBQSxHQUFBLEVBQUEsUUFBQSxFQUFBO29CQUFVLFdBQUEsRUFBQTtvQkFBQSxJQUFBLE9BQUEsVUFBQSxDQUFBOzt3QkFDRSxJQUFBOzRCQUNFLFVBQUEsQ0FBVyxLQUFYOzBDQUNBLENBQUEsQ0FBQSxDQUFJLEdBQUosQ0FBQSxDQUFBLENBQUEsQ0FBYSxLQUFiLENBQUEsQ0FBQSxFQUZGO3lCQUdBLENBQUEsT0FBQSxLQUFBLEVBQUE7MENBQ0UsQ0FBQSxDQUFBLENBQUksR0FBSixDQUFBLENBQUEsQ0FBQSxDQUFhLElBQUksQ0FBQyxTQUFMLENBQWUsS0FBZixDQUFiLENBQUEsQ0FBQSxFQURGOztvQkFKRixDQUFBOztnQkFEVyxDQUFBOzZCQU9iLENBQUEsQ0FBQSxDQUFBLENBQUssR0FBTCxDQUFBLEVBQUEsQ0FBQSxDQUFjLE9BQU8sQ0FBQyxJQUFSLENBQWEsSUFBYixDQUFkLENBQUEsQ0FBQSxFQVJGO2FBQUEsTUFBQTs2QkFVRSxDQUFBLENBQUEsQ0FBQSxDQUFLLEdBQUwsQ0FBQSxDQUFBLENBQUEsRUFWRjs7UUFERixDQUFBOztJQURVLENBQUE7V0FhWixNQUFNLENBQUMsSUFBUCxDQUFZLElBQVo7QUFkTztBQWdCVCxPQUFBLEVBQ0UsS0FERixFQUVFLE1BRkYifQ==
@@ -0,0 +1,18 @@
1
+ var format, parse;
2
+ import * as Parse from "@dashkite/parse";
3
+ import { // WWW-Authenticate = #challenge
4
+ // ; defined using IETF ABNF as:
5
+ // WWW-Authenticate = [ challenge *( OWS "," OWS challenge ) ]
6
+ // ; challenge is identical to credentials...
7
+ // challenge = auth-scheme [ 1*SP ( token68 / [ auth-param *( OWS ","
8
+ // OWS auth-param ) ] ) ]
9
+ commaDelimited, credentials as challenge } from "./common";
10
+ import { format as _format } from "./authorization";
11
+ parse = Parse.parser(Parse.list(commaDelimited, challenge));
12
+ format = function(challenges) {
13
+ return challenges.map(_format).join(", ");
14
+ };
15
+ export { parse, format }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9odHRwLWhlYWRlcnMvc3JjL3d3dy1hdXRoZW50aWNhdGUuY29mZmVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUEsTUFBQSxFQUFBOztBQUFBLE9BQU8sQ0FBQSxTQUFQLE1BQUE7O0FBYUEsT0FBQTs7Ozs7Ozs7Ozs7RUFBUyxjQUFUO0VBQXlCLFdBQUEsYUFBekI7Q0FBQSxNQUFBOztBQUNBLE9BQUE7RUFBUyxNQUFBLFdBQVQ7Q0FBQSxNQUFBOztBQUVBLEtBQUEsR0FBUSxLQUFLLENBQUMsTUFBTixDQUFhLEtBQUssQ0FBQyxJQUFOLENBQVcsY0FBWCxFQUEyQixTQUEzQixDQUFiOztBQUVSLE1BQUEsR0FBUyxRQUFBLENBQUUsVUFBRixDQUFBO1NBQ1AsVUFDRSxDQUFDLEdBREgsQ0FDTyxPQURQLENBRUUsQ0FBQyxJQUZILENBRVEsSUFGUjtBQURPOztBQUtULE9BQUE7RUFBUyxLQUFUO0VBQWdCLE1BQWhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUGFyc2UgZnJvbSBcIkBkYXNoa2l0ZS9wYXJzZVwiXG5cbiNcbiMgV1dXLUF1dGhlbnRpY2F0ZSA9ICNjaGFsbGVuZ2UgXG4jXG4jIDsgZGVmaW5lZCB1c2luZyBJRVRGIEFCTkYgYXM6XG4jIFdXVy1BdXRoZW50aWNhdGUgPSBbIGNoYWxsZW5nZSAqKCBPV1MgXCIsXCIgT1dTIGNoYWxsZW5nZSApIF1cbiNcbiMgOyBjaGFsbGVuZ2UgaXMgaWRlbnRpY2FsIHRvIGNyZWRlbnRpYWxzLi4uXG4jIGNoYWxsZW5nZSA9IGF1dGgtc2NoZW1lIFsgMSpTUCAoIHRva2VuNjggLyBbIGF1dGgtcGFyYW0gKiggT1dTIFwiLFwiXG4jICBPV1MgYXV0aC1wYXJhbSApIF0gKSBdXG4jXG5cbmltcG9ydCB7IGNvbW1hRGVsaW1pdGVkLCBjcmVkZW50aWFscyBhcyBjaGFsbGVuZ2UgfSBmcm9tIFwiLi9jb21tb25cIlxuaW1wb3J0IHsgZm9ybWF0IGFzIF9mb3JtYXQgfSBmcm9tIFwiLi9hdXRob3JpemF0aW9uXCJcblxucGFyc2UgPSBQYXJzZS5wYXJzZXIgUGFyc2UubGlzdCBjb21tYURlbGltaXRlZCwgY2hhbGxlbmdlXG5cbmZvcm1hdCA9ICggY2hhbGxlbmdlcyApIC0+IFxuICBjaGFsbGVuZ2VzXG4gICAgLm1hcCBfZm9ybWF0XG4gICAgLmpvaW4gXCIsIFwiXG5cbmV4cG9ydCB7IHBhcnNlLCBmb3JtYXQgfSJdfQ==
16
+ //# sourceURL=/@dashkite/http-headers/src/www-authenticate.coffee
17
+
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2h0dHAtaGVhZGVycy9zcmMvd3d3LWF1dGhlbnRpY2F0ZS5jb2ZmZWUiXSwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFBhcnNlIGZyb20gXCJAZGFzaGtpdGUvcGFyc2VcIlxuXG4jXG4jIFdXVy1BdXRoZW50aWNhdGUgPSAjY2hhbGxlbmdlIFxuI1xuIyA7IGRlZmluZWQgdXNpbmcgSUVURiBBQk5GIGFzOlxuIyBXV1ctQXV0aGVudGljYXRlID0gWyBjaGFsbGVuZ2UgKiggT1dTIFwiLFwiIE9XUyBjaGFsbGVuZ2UgKSBdXG4jXG4jIDsgY2hhbGxlbmdlIGlzIGlkZW50aWNhbCB0byBjcmVkZW50aWFscy4uLlxuIyBjaGFsbGVuZ2UgPSBhdXRoLXNjaGVtZSBbIDEqU1AgKCB0b2tlbjY4IC8gWyBhdXRoLXBhcmFtICooIE9XUyBcIixcIlxuIyAgT1dTIGF1dGgtcGFyYW0gKSBdICkgXVxuI1xuXG5pbXBvcnQgeyBjb21tYURlbGltaXRlZCwgY3JlZGVudGlhbHMgYXMgY2hhbGxlbmdlIH0gZnJvbSBcIi4vY29tbW9uXCJcbmltcG9ydCB7IGZvcm1hdCBhcyBfZm9ybWF0IH0gZnJvbSBcIi4vYXV0aG9yaXphdGlvblwiXG5cbnBhcnNlID0gUGFyc2UucGFyc2VyIFBhcnNlLmxpc3QgY29tbWFEZWxpbWl0ZWQsIGNoYWxsZW5nZVxuXG5mb3JtYXQgPSAoIGNoYWxsZW5nZXMgKSAtPiBcbiAgY2hhbGxlbmdlc1xuICAgIC5tYXAgX2Zvcm1hdFxuICAgIC5qb2luIFwiLCBcIlxuXG5leHBvcnQgeyBwYXJzZSwgZm9ybWF0IH0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBQSxNQUFBLEVBQUE7QUFBQSxPQUFPLENBQUEsSUFBQSxLQUFQLE1BQUEsa0JBQUE7QUFhQSxPQUFBLEVBQVM7Ozs7OztjQUFULEVBQXlCLFdBQUEsSUFBQSxTQUF6QixRQUFBLFdBQUE7QUFDQSxPQUFBLEVBQVMsTUFBQSxJQUFBLE9BQVQsUUFBQSxrQkFBQTtBQUVBLEtBQUEsR0FBUSxLQUFLLENBQUMsTUFBTixDQUFhLEtBQUssQ0FBQyxJQUFOLENBQVcsY0FBWCxFQUEyQixTQUEzQixDQUFiO0FBRVIsTUFBQSxHQUFTLFFBQUEsQ0FBRSxVQUFGLENBQUE7V0FDUCxVQUNFLENBQUMsR0FESCxDQUNPLE9BRFAsQ0FFRSxDQUFDLElBRkgsQ0FFUSxJQUZSO0FBRE87QUFLVCxPQUFBLEVBQVMsS0FBVCxFQUFnQixNQUFoQiJ9
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ format: function() {
13
+ return format;
14
+ },
15
+ parse: function() {
16
+ return parse;
17
+ }
18
+ });
19
+ const _mediatype = require("@dashkite/media-type");
20
+ var format, parse;
21
+ parse = _mediatype.Accept.parse;
22
+ format = _mediatype.Accept.format;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9odHRwLWhlYWRlcnMvc3JjL2FjY2VwdC5jb2ZmZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBQSxNQUFBLEVBQUE7O0FBQUEsT0FBQTtFQUFTLE1BQVQ7Q0FBQSxNQUFBOztBQUVBLEtBQUEsR0FBUSxNQUFNLENBQUM7O0FBRWYsTUFBQSxHQUFTLE1BQU0sQ0FBQzs7QUFFaEIsT0FBQTtFQUFTLEtBQVQ7RUFBZ0IsTUFBaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2NlcHQgfSBmcm9tIFwiQGRhc2hraXRlL21lZGlhLXR5cGVcIlxuXG5wYXJzZSA9IEFjY2VwdC5wYXJzZVxuXG5mb3JtYXQgPSBBY2NlcHQuZm9ybWF0XG5cbmV4cG9ydCB7IHBhcnNlLCBmb3JtYXQgfSJdfQ==
24
+ //# sourceURL=/@dashkite/http-headers/src/accept.coffee
25
+
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2h0dHAtaGVhZGVycy9zcmMvYWNjZXB0LmNvZmZlZSJdLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjZXB0IH0gZnJvbSBcIkBkYXNoa2l0ZS9tZWRpYS10eXBlXCJcblxucGFyc2UgPSBBY2NlcHQucGFyc2VcblxuZm9ybWF0ID0gQWNjZXB0LmZvcm1hdFxuXG5leHBvcnQgeyBwYXJzZSwgZm9ybWF0IH0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7VUFNQTtlQUFnQjs7U0FBaEI7ZUFBUzs7OzJCQU5UO0FBQUEsSUFBQSxNQUFBLEVBQUE7QUFFQSxLQUFBLEdBQVEsaUJBQU0sQ0FBQyxLQUFBO0FBRWYsTUFBQSxHQUFTLGlCQUFNLENBQUMsTUFBQSJ9
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ format: function() {
13
+ return format;
14
+ },
15
+ parse: function() {
16
+ return parse;
17
+ }
18
+ });
19
+ const _scan = /*#__PURE__*/ _interop_require_wildcard(require("@dashkite/scan"));
20
+ const _parse = /*#__PURE__*/ _interop_require_wildcard(require("@dashkite/parse"));
21
+ const _common = require("./common");
22
+ function _getRequireWildcardCache(nodeInterop) {
23
+ if (typeof WeakMap !== "function") return null;
24
+ var cacheBabelInterop = new WeakMap();
25
+ var cacheNodeInterop = new WeakMap();
26
+ return (_getRequireWildcardCache = function(nodeInterop) {
27
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
28
+ })(nodeInterop);
29
+ }
30
+ function _interop_require_wildcard(obj, nodeInterop) {
31
+ if (!nodeInterop && obj && obj.__esModule) {
32
+ return obj;
33
+ }
34
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
35
+ return {
36
+ default: obj
37
+ };
38
+ }
39
+ var cache = _getRequireWildcardCache(nodeInterop);
40
+ if (cache && cache.has(obj)) {
41
+ return cache.get(obj);
42
+ }
43
+ var newObj = {
44
+ __proto__: null
45
+ };
46
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
47
+ for(var key in obj){
48
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
49
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
50
+ if (desc && (desc.get || desc.set)) {
51
+ Object.defineProperty(newObj, key, desc);
52
+ } else {
53
+ newObj[key] = obj[key];
54
+ }
55
+ }
56
+ }
57
+ newObj.default = obj;
58
+ if (cache) {
59
+ cache.set(obj, newObj);
60
+ }
61
+ return newObj;
62
+ }
63
+ var $, endToken, finish, format, name, parse, parseToken, scan, unquote, wsScheme, wsValue;
64
+ $ = {
65
+ space: " ",
66
+ tab: "\t",
67
+ assign: "=",
68
+ escape: "\\",
69
+ token: /^[!#$%&'*+\-\.^_`|~\da-zA-Z]+/,
70
+ comma: ","
71
+ };
72
+ unquote = function(state) {
73
+ if (state.current.startsWith('"') && state.current.endsWith('"')) {
74
+ state.current = state.current.slice(1, -1);
75
+ }
76
+ return state;
77
+ };
78
+ finish = function(state) {
79
+ var i, item, len, parameter, ref, result;
80
+ result = {};
81
+ ref = state.data.output;
82
+ for(i = 0, len = ref.length; i < len; i++){
83
+ item = ref[i];
84
+ if (item.scheme != null) {
85
+ result.scheme = item.scheme;
86
+ } else if (item.token != null) {
87
+ result.token = item.token;
88
+ } else if (item.name != null) {
89
+ parameter = item.name;
90
+ } else if (item.value != null) {
91
+ if (result.parameters == null) {
92
+ result.parameters = {};
93
+ }
94
+ result.parameters[parameter] = item.value;
95
+ }
96
+ }
97
+ return result;
98
+ };
99
+ scan = _scan.make("start", {
100
+ start: {
101
+ default: _scan.pipe([
102
+ _scan.append,
103
+ _scan.poke("scheme")
104
+ ]),
105
+ [$.space]: _scan.skip,
106
+ [$.tab]: _scan.skip
107
+ },
108
+ scheme: {
109
+ default: _scan.append,
110
+ [$.space]: wsScheme = _scan.pipe([
111
+ _scan.skip,
112
+ _scan.trim,
113
+ _scan.match($.token),
114
+ _scan.lower,
115
+ _scan.tag("scheme"),
116
+ _scan.save("output"),
117
+ _scan.clear,
118
+ _scan.poke("token")
119
+ ]),
120
+ [$.tab]: wsScheme
121
+ },
122
+ token: {
123
+ default: _scan.append,
124
+ [$.escape]: _scan.pipe([
125
+ _scan.skip,
126
+ _scan.push("escape")
127
+ ]),
128
+ [$.assign]: name = _scan.pipe([
129
+ _scan.skip,
130
+ _scan.poke("maybe-value")
131
+ ]),
132
+ end: endToken = _scan.pipe([
133
+ _scan.skip,
134
+ _scan.tag("token"),
135
+ _scan.save("output"),
136
+ _scan.clear,
137
+ _scan.pop,
138
+ finish
139
+ ])
140
+ },
141
+ "maybe-value": {
142
+ default: _scan.pipe([
143
+ _scan.buffer,
144
+ _scan.trim,
145
+ _scan.match($.token),
146
+ _scan.lower,
147
+ _scan.tag("name"),
148
+ _scan.save("output"),
149
+ _scan.clear,
150
+ _scan.unbuffer(_scan.append),
151
+ _scan.poke("value")
152
+ ]),
153
+ [$.assign]: _scan.pipe([
154
+ _scan.skip,
155
+ _scan.append("=="),
156
+ _scan.poke("token")
157
+ ]),
158
+ end: endToken
159
+ },
160
+ value: {
161
+ default: _scan.append,
162
+ [$.space]: wsValue = _scan.pipe([
163
+ _scan.skip,
164
+ unquote,
165
+ _scan.match($.token),
166
+ _scan.tag("value"),
167
+ _scan.save("output"),
168
+ _scan.clear,
169
+ _scan.poke("parameter")
170
+ ]),
171
+ [$.tab]: wsValue,
172
+ [$.escape]: _scan.pipe([
173
+ _scan.skip,
174
+ _scan.push("escape")
175
+ ]),
176
+ [$.comma]: _scan.pipe([
177
+ _scan.skip,
178
+ unquote,
179
+ _scan.match($.token),
180
+ _scan.tag("value"),
181
+ _scan.save("output"),
182
+ _scan.clear,
183
+ _scan.poke("parameter")
184
+ ]),
185
+ end: _scan.pipe([
186
+ _scan.skip,
187
+ unquote,
188
+ _scan.match($.token),
189
+ _scan.tag("value"),
190
+ _scan.save("output"),
191
+ _scan.clear,
192
+ _scan.pop,
193
+ finish
194
+ ])
195
+ },
196
+ parameter: {
197
+ default: _scan.pipe([
198
+ _scan.append,
199
+ _scan.poke("name")
200
+ ]),
201
+ [$.space]: _scan.skip,
202
+ [$.tab]: _scan.skip
203
+ },
204
+ name: {
205
+ default: _scan.append,
206
+ [$.assign]: name
207
+ },
208
+ escape: {
209
+ default: _scan.pipe([
210
+ _scan.append,
211
+ _scan.pop
212
+ ])
213
+ }
214
+ });
215
+ parseToken = _parse.parser(_common.token);
216
+ parse = function(text) {
217
+ return scan(text);
218
+ };
219
+ format = function({ scheme, parameters, token }) {
220
+ var key, result, value;
221
+ if (scheme != null && parameters != null) {
222
+ result = [];
223
+ for(key in parameters){
224
+ value = parameters[key];
225
+ try {
226
+ parseToken(value);
227
+ } catch (error) {
228
+ // JSON.stringify escapes quotes
229
+ value = JSON.stringify(value);
230
+ }
231
+ result.push(`${key}=${value}`);
232
+ }
233
+ return `${scheme} ${result.join(', ')}`;
234
+ } else if (scheme != null && token != null) {
235
+ return `${scheme} ${token}`;
236
+ } else if (scheme != null) {
237
+ return scheme;
238
+ } else {
239
+ throw new Error("invalid authorization header description");
240
+ }
241
+ };
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9odHRwLWhlYWRlcnMvc3JjL2F1dGhvcml6YXRpb24uY29mZmVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUEsQ0FBQSxFQUFBLFFBQUEsRUFBQSxNQUFBLEVBQUEsTUFBQSxFQUFBLElBQUEsRUFBQSxLQUFBLEVBQUEsVUFBQSxFQUFBLElBQUEsRUFBQSxPQUFBLEVBQUEsUUFBQSxFQUFBOztBQUFBLE9BQU8sQ0FBQSxRQUFQLE1BQUE7O0FBQ0EsT0FBTyxDQUFBLFNBQVAsTUFBQTs7QUFFQSxPQUFBO0VBQVMsS0FBVDtDQUFBLE1BQUE7O0FBRUEsQ0FBQSxHQUNFO0VBQUEsS0FBQSxFQUFPLEdBQVA7RUFDQSxHQUFBLEVBQUssSUFETDtFQUVBLE1BQUEsRUFBUSxHQUZSO0VBR0EsTUFBQSxFQUFRLElBSFI7RUFJQSxLQUFBLEVBQU8sK0JBSlA7RUFLQSxLQUFBLEVBQU87QUFMUDs7QUFPRixPQUFBLEdBQVUsUUFBQSxDQUFFLEtBQUYsQ0FBQTtFQUNSLElBQUcsQ0FBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQWQsQ0FBeUIsR0FBekIsQ0FBRixDQUFBLElBQW9DLENBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFkLENBQXVCLEdBQXZCLENBQUYsQ0FBdkM7SUFDRSxLQUFLLENBQUMsT0FBTixHQUFnQixLQUFLLENBQUMsT0FBTyxjQUQvQjs7U0FFQTtBQUhROztBQUtWLE1BQUEsR0FBUyxRQUFBLENBQUUsS0FBRixDQUFBO0FBQ1QsTUFBQSxDQUFBLEVBQUEsSUFBQSxFQUFBLEdBQUEsRUFBQSxTQUFBLEVBQUEsR0FBQSxFQUFBO0VBQUUsTUFBQSxHQUFTLENBQUE7QUFDVDtFQUFBLEtBQUEscUNBQUE7O0lBQ0UsSUFBRyxtQkFBSDtNQUNFLE1BQU0sQ0FBQyxNQUFQLEdBQWdCLElBQUksQ0FBQyxPQUR2QjtLQUFBLE1BRUssSUFBRyxrQkFBSDtNQUNILE1BQU0sQ0FB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QSxFQUFBO0VBQUUsSUFBRyxnQkFBQSxJQUFXLG9CQUFkO0lBQ0UsTUFBQSxHQUFTO0lBQ1QsS0FBQSxpQkFBQTs7QUFDRTtRQUNFLFVBQUEsQ0FBVyxLQUFYLEVBREY7T0FFQSxhQUFBOztRQUVFLEtBQUEsR0FBUSxJQUFJLENBQUMsU0FBTCxDQUFlLEtBQWYsRUFGVjs7TUFHQSxNQUFNLENBQUMsSUFBUCxDQUFZLENBQUEsQ0FBQSxDQUFHLEdBQUgsQ0FBQSxDQUFBLENBQUEsQ0FBVSxLQUFWLENBQUEsQ0FBWjtJQU5GO1dBT0EsQ0FBQSxDQUFBLENBQUksTUFBSixFQUFBLENBQUEsQ0FBZSxNQUFNLENBQUMsSUFBUCxDQUFZLElBQVosQ0FBZixDQUFBLEVBVEY7R0FBQSxNQVVLLElBQUcsZ0JBQUEsSUFBVyxlQUFkO1dBQ0gsQ0FBQSxDQUFBLENBQUksTUFBSixFQUFBLENBQUEsQ0FBZ0IsS0FBaEIsQ0FBQSxFQURHO0dBQUEsTUFFQSxJQUFHLGNBQUg7V0FDSCxPQURHO0dBQUEsTUFBQTtJQUdILE1BQU0sSUFBSSxLQUFKLENBQVUsMENBQVYsRUFISDs7QUFiRTs7QUFrQlQsT0FBQTtFQUNFLEtBREY7RUFFRSxNQUZGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgU2NhbiBmcm9tIFwiQGRhc2hraXRlL3NjYW5cIlxuaW1wb3J0ICogYXMgUGFyc2UgZnJvbSBcIkBkYXNoa2l0ZS9wYXJzZVwiXG5cbmltcG9ydCB7IHRva2VuIH0gZnJvbSBcIi4vY29tbW9uXCJcblxuJCA9IFxuICBzcGFjZTogXCIgXCJcbiAgdGFiOiBcIlxcdFwiXG4gIGFzc2lnbjogXCI9XCJcbiAgZXNjYXBlOiBcIlxcXFxcIlxuICB0b2tlbjogL15bISMkJSYnKitcXC1cXC5eX2B8flxcZGEtekEtWl0rL1xuICBjb21tYTogXCIsXCJcblxudW5xdW90ZSA9ICggc3RhdGUgKSAtPlxuICBpZiAoIHN0YXRlLmN1cnJlbnQuc3RhcnRzV2l0aCAnXCInICkgJiYgKCBzdGF0ZS5jdXJyZW50LmVuZHNXaXRoICdcIicgKVxuICAgIHN0YXRlLmN1cnJlbnQgPSBzdGF0ZS5jdXJyZW50WzEuLi4tMV1cbiAgc3RhdGVcblxuZmluaXNoID0gKCBzdGF0ZSApIC0+XG4gIHJlc3VsdCA9IHt9XG4gIGZvciBpdGVtIGluIHN0YXRlLmRhdGEub3V0cHV0XG4gICAgaWYgaXRlbS5zY2hlbWU/XG4gICAgICByZXN1bHQuc2NoZW1lID0gaXRlbS5zY2hlbWVcbiAgICBlbHNlIGlmIGl0ZW0udG9rZW4/XG4gICAgICByZXN1bHQudG9rZW4gPSBpdGVtLnRva2VuXG4gICAgZWxzZSBpZiBpdGVtLm5hbWU/XG4gICAgICBwYXJhbWV0ZXIgPSBpdGVtLm5hbWVcbiAgICBlbHNlIGlmIGl0ZW0udmFsdWU/XG4gICAgICByZXN1bHQucGFyYW1ldGVycyA/PSB7fVxuICAgICAgcmVzdWx0LnBhcmFtZXRlcnNbIHBhcmFtZXRlciBdID0gaXRlbS52YWx1ZVxuICByZXN1bHRcblxuc2NhbiA9IFNjYW4ubWFrZSBcInN0YXJ0XCIsXG5cbiAgc3RhcnQ6XG5cbiAgICBkZWZhdWx0OiBTY2FuLnBpcGUgW1xuICAgICAgU2Nhbi5hcHBlbmRcbiAgICAgIFNjYW4ucG9rZSBcInNjaGVtZVwiXG4gICAgXVxuXG4gICAgWyAkLnNwYWNlIF06IFNjYW4uc2tpcFxuICAgIFsgJC50YWIgXTogU2Nhbi5za2lwXG5cbiAgc2NoZW1lOlxuXG4gICAgZGVmYXVsdDogU2Nhbi5hcHBlbmRcbiAgXG4gICAgWyAkLnNwYWNlIF06IHdzU2NoZW1lID0gU2Nhbi5waXBlIFtcbiAgICAgIFNjYW4uc2tpcFxuICAgICAgU2Nhbi50cmltXG4gICAgICBTY2FuLm1hdGNoICQudG9rZW5cbiAgICAgIFNjYW4ubG93ZXJcbiAgICAgIFNjYW4udGFnIFwic2NoZW1lXCJcbiAgICAgIFNjYW4uc2F2ZSBcIm91dHB1dFwiXG4gICAgICBTY2FuLmNsZWFyXG4gICAgICBTY2FuLnBva2UgXCJ0b2tlblwiXG4gICAgXVxuICAgIFsgJC50YWIgXTogd3NTY2hlbWVcblxuICB0b2tlbjpcblxuICAgIGRlZmF1bHQ6IFNjYW4uYXBwZW5kXG5cbiAgICBbICQuZXNjYXBlIF06IFNjYW4ucGlwZSBbXG4gICAgICBTY2FuLnNraXBcbiAgICAgIFNjYW4ucHVzaCBcImVzY2FwZVwiXG4gICAgXVxuXG4gICAgWyAkLmFzc2lnbiBdOiBuYW1lID0gU2Nhbi5waXBlIFtcbiAgICAgIFNjYW4uc2tpcFxuICAgICAgU2Nhbi5wb2tlIFwibWF5YmUtdmFsdWVcIlxuICAgIF1cblxuICAgIGVuZDogZW5kVG9rZW4gPSBTY2FuLnBpcGUgW1xuICAgICAgU2Nhbi5za2lwXG4gICAgICBTY2FuLnRhZyBcInRva2VuXCJcbiAgICAgIFNjYW4uc2F2ZSBcIm91dHB1dFwiXG4gICAgICBTY2FuLmNsZWFyXG4gICAgICBTY2FuLnBvcFxuICAgICAgZmluaXNoXG4gICAgXVxuXG4gIFwibWF5YmUtdmFsdWVcIjpcbiAgXG4gICAgZGVmYXVsdDogU2Nhbi5waXBlIFtcbiAgICAgIFNjYW4uYnVmZmVyXG4gICAgICBTY2FuLnRyaW1cbiAgICAgIFNjYW4ubWF0Y2ggJC50b2tlblxuICAgICAgU2Nhbi5sb3dlclxuICAgICAgU2Nhbi50YWcgXCJuYW1lXCJcbiAgICAgIFNjYW4uc2F2ZSBcIm91dHB1dFwiXG4gICAgICBTY2FuLmNsZWFyXG4gICAgICBTY2FuLnVuYnVmZmVyIFNjYW4uYXBwZW5kXG4gICAgICBTY2FuLnBva2UgXCJ2YWx1ZVwiXG4gICAgXVxuXG4gICAgWyAkLmFzc2lnbiBdOiBTY2FuLnBpcGUgW1xuICAgICAgU2Nhbi5za2lwXG4gICAgICBTY2FuLmFwcGVuZCBcIj09XCJcbiAgICAgIFNjYW4ucG9rZSBcInRva2VuXCJcbiAgICBdXG5cbiAgICBlbmQ6IGVuZFRva2VuXG4gIFxuICB2YWx1ZTpcblxuICAgIGRlZmF1bHQ6IFNjYW4uYXBwZW5kXG5cbiAgICBbICQuc3BhY2UgXTogd3NWYWx1ZSA9IFNjYW4ucGlwZSBbXG4gICAgICBTY2FuLnNraXBcbiAgICAgIHVucXVvdGVcbiAgICAgIFNjYW4ubWF0Y2ggJC50b2tlblxuICAgICAgU2Nhbi50YWcgXCJ2YWx1ZVwiXG4gICAgICBTY2FuLnNhdmUgXCJvdXRwdXRcIlxuICAgICAgU2Nhbi5jbGVhclxuICAgICAgU2Nhbi5wb2tlIFwicGFyYW1ldGVyXCJcbiAgICBdXG4gICAgWyAkLnRhYiBdOiB3c1ZhbHVlXG5cbiAgICBbICQuZXNjYXBlIF06IFNjYW4ucGlwZSBbXG4gICAgICBTY2FuLnNraXBcbiAgICAgIFNjYW4ucHVzaCBcImVzY2FwZVwiXG4gICAgXVxuXG4gICAgWyAkLmNvbW1hIF06IFNjYW4ucGlwZSBbXG4gICAgICBTY2FuLnNraXBcbiAgICAgIHVucXVvdGVcbiAgICAgIFNjYW4ubWF0Y2ggJC50b2tlblxuICAgICAgU2Nhbi50YWcgXCJ2YWx1ZVwiXG4gICAgICBTY2FuLnNhdmUgXCJvdXRwdXRcIlxuICAgICAgU2Nhbi5jbGVhclxuICAgICAgU2Nhbi5wb2tlIFwicGFyYW1ldGVyXCJcbiAgICBdXG5cbiAgICBlbmQ6IFNjYW4ucGlwZSBbXG4gICAgICBTY2FuLnNraXBcbiAgICAgIHVucXVvdGVcbiAgICAgIFNjYW4ubWF0Y2ggJC50b2tlblxuICAgICAgU2Nhbi50YWcgXCJ2YWx1ZVwiXG4gICAgICBTY2FuLnNhdmUgXCJvdXRwdXRcIlxuICAgICAgU2Nhbi5jbGVhclxuICAgICAgU2Nhbi5wb3BcbiAgICAgIGZpbmlzaFxuICAgIF1cblxuICBwYXJhbWV0ZXI6XG5cbiAgICBkZWZhdWx0OiBTY2FuLnBpcGUgW1xuICAgICAgU2Nhbi5hcHBlbmRcbiAgICAgIFNjYW4ucG9rZSBcIm5hbWVcIlxuICAgIF1cblxuICAgIFsgJC5zcGFjZSBdOiBTY2FuLnNraXBcbiAgICBbICQudGFiIF06IFNjYW4uc2tpcFxuXG4gIG5hbWU6XG5cbiAgICBkZWZhdWx0OiBTY2FuLmFwcGVuZFxuXG4gICAgWyAkLmFzc2lnbl06IG5hbWVcblxuICBlc2NhcGU6XG5cbiAgICBkZWZhdWx0OiBTY2FuLnBpcGUgW1xuICAgICAgU2Nhbi5hcHBlbmRcbiAgICAgIFNjYW4ucG9wXG4gICAgXVxuXG5wYXJzZVRva2VuID0gUGFyc2UucGFyc2VyIHRva2VuXG5cbnBhcnNlID0gKCB0ZXh0ICkgLT5cbiAgc2NhbiB0ZXh0XG5cbmZvcm1hdCA9ICh7IHNjaGVtZSwgcGFyYW1ldGVycywgdG9rZW4gfSkgLT5cbiAgaWYgc2NoZW1lPyAmJiBwYXJhbWV0ZXJzP1xuICAgIHJlc3VsdCA9IFtdXG4gICAgZm9yIGtleSwgdmFsdWUgb2YgcGFyYW1ldGVyc1xuICAgICAgdHJ5XG4gICAgICAgIHBhcnNlVG9rZW4gdmFsdWVcbiAgICAgIGNhdGNoXG4gICAgICAgICMgSlNPTi5zdHJpbmdpZnkgZXNjYXBlcyBxdW90ZXNcbiAgICAgICAgdmFsdWUgPSBKU09OLnN0cmluZ2lmeSB2YWx1ZVxuICAgICAgcmVzdWx0LnB1c2ggXCIje2tleX09I3t2YWx1ZX1cIlxuICAgIFwiI3sgc2NoZW1lIH0gI3tyZXN1bHQuam9pbiAnLCAnfVwiXG4gIGVsc2UgaWYgc2NoZW1lPyAmJiB0b2tlbj9cbiAgICBcIiN7IHNjaGVtZSB9ICN7IHRva2VuIH1cIlxuICBlbHNlIGlmIHNjaGVtZT9cbiAgICBzY2hlbWVcbiAgZWxzZVxuICAgIHRocm93IG5ldyBFcnJvciBcImludmFsaWQgYXV0aG9yaXphdGlvbiBoZWFkZXIgZGVzY3JpcHRpb25cIlxuXG5leHBvcnQge1xuICBwYXJzZVxuICBmb3JtYXRcbn1cbiJdfQ==
243
+ //# sourceURL=/@dashkite/http-headers/src/authorization.coffee
244
+
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2h0dHAtaGVhZGVycy9zcmMvYXV0aG9yaXphdGlvbi5jb2ZmZWUiXSwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFNjYW4gZnJvbSBcIkBkYXNoa2l0ZS9zY2FuXCJcbmltcG9ydCAqIGFzIFBhcnNlIGZyb20gXCJAZGFzaGtpdGUvcGFyc2VcIlxuXG5pbXBvcnQgeyB0b2tlbiB9IGZyb20gXCIuL2NvbW1vblwiXG5cbiQgPSBcbiAgc3BhY2U6IFwiIFwiXG4gIHRhYjogXCJcXHRcIlxuICBhc3NpZ246IFwiPVwiXG4gIGVzY2FwZTogXCJcXFxcXCJcbiAgdG9rZW46IC9eWyEjJCUmJyorXFwtXFwuXl9gfH5cXGRhLXpBLVpdKy9cbiAgY29tbWE6IFwiLFwiXG5cbnVucXVvdGUgPSAoIHN0YXRlICkgLT5cbiAgaWYgKCBzdGF0ZS5jdXJyZW50LnN0YXJ0c1dpdGggJ1wiJyApICYmICggc3RhdGUuY3VycmVudC5lbmRzV2l0aCAnXCInIClcbiAgICBzdGF0ZS5jdXJyZW50ID0gc3RhdGUuY3VycmVudFsxLi4uLTFdXG4gIHN0YXRlXG5cbmZpbmlzaCA9ICggc3RhdGUgKSAtPlxuICByZXN1bHQgPSB7fVxuICBmb3IgaXRlbSBpbiBzdGF0ZS5kYXRhLm91dHB1dFxuICAgIGlmIGl0ZW0uc2NoZW1lP1xuICAgICAgcmVzdWx0LnNjaGVtZSA9IGl0ZW0uc2NoZW1lXG4gICAgZWxzZSBpZiBpdGVtLnRva2VuP1xuICAgICAgcmVzdWx0LnRva2VuID0gaXRlbS50b2tlblxuICAgIGVsc2UgaWYgaXRlbS5uYW1lP1xuICAgICAgcGFyYW1ldGVyID0gaXRlbS5uYW1lXG4gICAgZWxzZSBpZiBpdGVtLnZhbHVlP1xuICAgICAgcmVzdWx0LnBhcmFtZXRlcnMgPz0ge31cbiAgICAgIHJlc3VsdC5wYXJhbWV0ZXJzWyBwYXJhbWV0ZXIgXSA9IGl0ZW0udmFsdWVcbiAgcmVzdWx0XG5cbnNjYW4gPSBTY2FuLm1ha2UgXCJzdGFydFwiLFxuXG4gIHN0YXJ0OlxuXG4gICAgZGVmYXVsdDogU2Nhbi5waXBlIFtcbiAgICAgIFNjYW4uYXBwZW5kXG4gICAgICBTY2FuLnBva2UgXCJzY2hlbWVcIlxuICAgIF1cblxuICAgIFsgJC5zcGFjZSBdOiBTY2FuLnNraXBcbiAgICBbICQudGFiIF06IFNjYW4uc2tpcFxuXG4gIHNjaGVtZTpcblxuICAgIGRlZmF1bHQ6IFNjYW4uYXBwZW5kXG4gIFxuICAgIFsgJC5zcGFjZSBdOiB3c1NjaGVtZSA9IFNjYW4ucGlwZSBbXG4gICAgICBTY2FuLnNraXBcbiAgICAgIFNjYW4udHJpbVxuICAgICAgU2Nhbi5tYXRjaCAkLnRva2VuXG4gICAgICBTY2FuLmxvd2VyXG4gICAgICBTY2FuLnRhZyBcInNjaGVtZVwiXG4gICAgICBTY2FuLnNhdmUgXCJvdXRwdXRcIlxuICAgICAgU2Nhbi5jbGVhclxuICAgICAgU2Nhbi5wb2tlIFwidG9rZW5cIlxuICAgIF1cbiAgICBbICQudGFiIF06IHdzU2NoZW1lXG5cbiAgdG9rZW46XG5cbiAgICBkZWZhdWx0OiBTY2FuLmFwcGVuZFxuXG4gICAgWyAkLmVzY2FwZSBdOiBTY2FuLnBpcGUgW1xuICAgICAgU2Nhbi5za2lwXG4gICAgICBTY2FuLnB1c2ggXCJlc2NhcGVcIlxuICAgIF1cblxuICAgIFsgJC5hc3NpZ24gXTogbmFtZSA9IFNjYW4ucGlwZSBbXG4gICAgICBTY2FuLnNraXBcbiAgICAgIFNjYW4ucG9rZSBcIm1heWJlLXZhbHVlXCJcbiAgICBdXG5cbiAgICBlbmQ6IGVuZFRva2VuID0gU2Nhbi5waXBlIFtcbiAgICAgIFNjYW4uc2tpcFxuICAgICAgU2Nhbi50YWcgXCJ0b2tlblwiXG4gICAgICBTY2FuLnNhdmUgXCJvdXRwdXRcIlxuICAgICAgU2Nhbi5jbGVhclxuICAgICAgU2Nhbi5wb3BcbiAgICAgIGZpbmlzaFxuICAgIF1cblxuICBcIm1heWJlLXZhbHVlXCI6XG4gIFxuICAgIGRlZmF1bHQ6IFNjYW4ucGlwZSBbXG4gICAgICBTY2FuLmJ1ZmZlclxuICAgICAgU2Nhbi50cmltXG4gICAgICBTY2FuLm1hdGNoICQudG9rZW5cbiAgICAgIFNjYW4ubG93ZXJcbiAgICAgIFNjYW4udGFnIFwibmFtZVwiXG4gICAgICBTY2FuLnNhdmUgXCJvdXRwdXRcIlxuICAgICAgU2Nhbi5jbGVhclxuICAgICAgU2Nhbi51bmJ1ZmZlciBTY2FuLmFwcGVuZFxuICAgICAgU2Nhbi5wb2tlIFwidmFsdWVcIlxuICAgIF1cblxuICAgIFsgJC5hc3NpZ24gXTogU2Nhbi5waXBlIFtcbiAgICAgIFNjYW4uc2tpcFxuICAgICAgU2Nhbi5hcHBlbmQgXCI9PVwiXG4gICAgICBTY2FuLnBva2UgXCJ0b2tlblwiXG4gICAgXVxuXG4gICAgZW5kOiBlbmRUb2tlblxuICBcbiAgdmFsdWU6XG5cbiAgICBkZWZhdWx0OiBTY2FuLmFwcGVuZFxuXG4gICAgWyAkLnNwYWNlIF06IHdzVmFsdWUgPSBTY2FuLnBpcGUgW1xuICAgICAgU2Nhbi5za2lwXG4gICAgICB1bnF1b3RlXG4gICAgICBTY2FuLm1hdGNoICQudG9rZW5cbiAgICAgIFNjYW4udGFnIFwidmFsdWVcIlxuICAgICAgU2Nhbi5zYXZlIFwib3V0cHV0XCJcbiAgICAgIFNjYW4uY2xlYXJcbiAgICAgIFNjYW4ucG9rZSBcInBhcmFtZXRlclwiXG4gICAgXVxuICAgIFsgJC50YWIgXTogd3NWYWx1ZVxuXG4gICAgWyAkLmVzY2FwZSBdOiBTY2FuLnBpcGUgW1xuICAgICAgU2Nhbi5za2lwXG4gICAgICBTY2FuLnB1c2ggXCJlc2NhcGVcIlxuICAgIF1cblxuICAgIFsgJC5jb21tYSBdOiBTY2FuLnBpcGUgW1xuICAgICAgU2Nhbi5za2lwXG4gICAgICB1bnF1b3RlXG4gICAgICBTY2FuLm1hdGNoICQudG9rZW5cbiAgICAgIFNjYW4udGFnIFwidmFsdWVcIlxuICAgICAgU2Nhbi5zYXZlIFwib3V0cHV0XCJcbiAgICAgIFNjYW4uY2xlYXJcbiAgICAgIFNjYW4ucG9rZSBcInBhcmFtZXRlclwiXG4gICAgXVxuXG4gICAgZW5kOiBTY2FuLnBpcGUgW1xuICAgICAgU2Nhbi5za2lwXG4gICAgICB1bnF1b3RlXG4gICAgICBTY2FuLm1hdGNoICQudG9rZW5cbiAgICAgIFNjYW4udGFnIFwidmFsdWVcIlxuICAgICAgU2Nhbi5zYXZlIFwib3V0cHV0XCJcbiAgICAgIFNjYW4uY2xlYXJcbiAgICAgIFNjYW4ucG9wXG4gICAgICBmaW5pc2hcbiAgICBdXG5cbiAgcGFyYW1ldGVyOlxuXG4gICAgZGVmYXVsdDogU2Nhbi5waXBlIFtcbiAgICAgIFNjYW4uYXBwZW5kXG4gICAgICBTY2FuLnBva2UgXCJuYW1lXCJcbiAgICBdXG5cbiAgICBbICQuc3BhY2UgXTogU2Nhbi5za2lwXG4gICAgWyAkLnRhYiBdOiBTY2FuLnNraXBcblxuICBuYW1lOlxuXG4gICAgZGVmYXVsdDogU2Nhbi5hcHBlbmRcblxuICAgIFsgJC5hc3NpZ25dOiBuYW1lXG5cbiAgZXNjYXBlOlxuXG4gICAgZGVmYXVsdDogU2Nhbi5waXBlIFtcbiAgICAgIFNjYW4uYXBwZW5kXG4gICAgICBTY2FuLnBvcFxuICAgIF1cblxucGFyc2VUb2tlbiA9IFBhcnNlLnBhcnNlciB0b2tlblxuXG5wYXJzZSA9ICggdGV4dCApIC0+XG4gIHNjYW4gdGV4dFxuXG5mb3JtYXQgPSAoeyBzY2hlbWUsIHBhcmFtZXRlcnMsIHRva2VuIH0pIC0+XG4gIGlmIHNjaGVtZT8gJiYgcGFyYW1ldGVycz9cbiAgICByZXN1bHQgPSBbXVxuICAgIGZvciBrZXksIHZhbHVlIG9mIHBhcmFtZXRlcnNcbiAgICAgIHRyeVxuICAgICAgICBwYXJzZVRva2VuIHZhbHVlXG4gICAgICBjYXRjaFxuICAgICAgICAjIEpTT04uc3RyaW5naWZ5IGVzY2FwZXMgcXVvdGVzXG4gICAgICAgIHZhbHVlID0gSlNPTi5zdHJpbmdpZnkgdmFsdWVcbiAgICAgIHJlc3VsdC5wdXNoIFwiI3trZXl9PSN7dmFsdWV9XCJcbiAgICBcIiN7IHNjaGVtZSB9ICN7cmVzdWx0LmpvaW4gJywgJ31cIlxuICBlbHNlIGlmIHNjaGVtZT8gJiYgdG9rZW4/XG4gICAgXCIjeyBzY2hlbWUgfSAjeyB0b2tlbiB9XCJcbiAgZWxzZSBpZiBzY2hlbWU/XG4gICAgc2NoZW1lXG4gIGVsc2VcbiAgICB0aHJvdyBuZXcgRXJyb3IgXCJpbnZhbGlkIGF1dGhvcml6YXRpb24gaGVhZGVyIGRlc2NyaXB0aW9uXCJcblxuZXhwb3J0IHtcbiAgcGFyc2VcbiAgZm9ybWF0XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFrTUUsTUFGRjs7O0lBQ0UsS0FERjs7Ozs4REFoTUE7K0RBQ0E7d0JBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUhBLElBQUEsQ0FBQSxFQUFBLFFBQUEsRUFBQSxNQUFBLEVBQUEsTUFBQSxFQUFBLElBQUEsRUFBQSxLQUFBLEVBQUEsVUFBQSxFQUFBLElBQUEsRUFBQSxPQUFBLEVBQUEsUUFBQSxFQUFBO0FBS0EsQ0FBQSxHQUNFO0lBQUEsS0FBQSxFQUFPLEdBQVA7SUFDQSxHQUFBLEVBQUssSUFETDtJQUVBLE1BQUEsRUFBUSxHQUZSO0lBR0EsTUFBQSxFQUFRLElBSFI7SUFJQSxLQUFBLEVBQU8sK0JBSlA7SUFLQSxLQUFBLEVBQU87QUFMUDtBQU9GLE9BQUEsR0FBVSxRQUFBLENBQUUsS0FBRixDQUFBO0lBQ1IsSUFBRyxBQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBZCxDQUF5QixHQUF6QixDQUFGLENBQUEsR0FBc0MsQ0FBRixJQUFPLENBQUMsT0FBTyxDQUFDLFFBQWQsQ0FBdUIsR0FBdkIsQ0FBRixDQUF2QyxDQUFBO1FBQ0UsS0FBSyxDQUFDLE9BQU4sR0FBZ0IsS0FBSyxDQUFDLE9BQU8sQ0FBQSxLQUFBLENBQUEsR0FBQSxDQUFBLEdBRC9COztXQUVBO0FBSFE7QUFLVixNQUFBLEdBQVMsUUFBQSxDQUFFLEtBQUYsQ0FBQTtJQUNULElBQUEsQ0FBQSxFQUFBLElBQUEsRUFBQSxHQUFBLEVBQUEs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