pareto-resources 0.2.154 → 0.2.155

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. package/dist/implementation/{refiners/path_non_normalized/text.d.ts → deserializers/path_non_normalized.d.ts} +1 -1
  2. package/dist/implementation/deserializers/path_non_normalized.js +41 -0
  3. package/dist/implementation/deserializers/path_unrestricted.d.ts +12 -0
  4. package/dist/implementation/deserializers/path_unrestricted.js +9 -0
  5. package/package.json +1 -1
  6. package/dist/declarations/refiners/path_unrestricted/list_of_characters.d.ts +0 -10
  7. package/dist/declarations/refiners/path_unrestricted/list_of_characters.js +0 -2
  8. package/dist/implementation/refiners/path_non_normalized/character.d.ts +0 -3
  9. package/dist/implementation/refiners/path_non_normalized/character.js +0 -36
  10. package/dist/implementation/refiners/path_non_normalized/list_of_characters.d.ts +0 -4
  11. package/dist/implementation/refiners/path_non_normalized/list_of_characters.js +0 -10
  12. package/dist/implementation/refiners/path_non_normalized/text.js +0 -5
  13. package/dist/implementation/refiners/path_sandboxed/list_of_characters.d.ts +0 -1
  14. package/dist/implementation/refiners/path_sandboxed/list_of_characters.js +0 -33
  15. package/dist/implementation/refiners/path_sandboxed/non_normalized_path.d.ts +0 -1
  16. package/dist/implementation/refiners/path_sandboxed/non_normalized_path.js +0 -139
  17. package/dist/implementation/refiners/path_unrestricted/list_of_characters.d.ts +0 -6
  18. package/dist/implementation/refiners/path_unrestricted/list_of_characters.js +0 -9
  19. package/dist/implementation/refiners/path_unrestricted/text.d.ts +0 -5
  20. package/dist/implementation/refiners/path_unrestricted/text.js +0 -9
@@ -1,3 +1,3 @@
1
1
  import type * as p_ti from 'pareto-core/interface/transformer';
2
- import type * as s_out from "../../../interface/schemas/path_non_normalized.js";
2
+ import type * as s_out from "../../interface/schemas/path_non_normalized.js";
3
3
  export declare const Non_Normalized_Path: p_ti.Transformer<string, s_out.Non_Normalized_Path>;
@@ -0,0 +1,41 @@
1
+ import p_list_from_text from 'pareto-core/implementation/refiner/specials/list_from_text';
2
+ import p_iterate from 'pareto-core/implementation/refiner/specials/iterate';
3
+ import p_text_from_list from 'pareto-core/implementation/transformer/specials/text_from_list';
4
+ import p_unreachable_code_path from 'pareto-core/implementation/transformer/specials/unreachable_code_path';
5
+ export const Non_Normalized_Path = ($) => p_iterate({
6
+ list: p_list_from_text($, ($) => $),
7
+ end_info: null,
8
+ assign: (iterator) => {
9
+ return {
10
+ 'leading slash': iterator.peek(() => false, ($) => $ === 47 // '/'
11
+ ? iterator.consume(() => p_unreachable_code_path("peeked"), () => true)
12
+ : false),
13
+ 'segments': iterator.build_list({
14
+ has_more_items: (item) => item !== 47 // '/' //a non-slash -> continue
15
+ || iterator.peek(() => false, // path ends with a slash -> stop
16
+ ($) => true),
17
+ handle: () => {
18
+ const $p_segment_text = p_text_from_list(iterator.build_list({
19
+ has_more_items: (item) => item !== 47, // '/'
20
+ handle: () => iterator.consume(() => p_unreachable_code_path("has_more_items -> true"), ($) => $),
21
+ on_no_progression: () => p_unreachable_code_path("'handle' is immediately consuming"),
22
+ }), ($) => $);
23
+ iterator.consume(// discard the slash or the end of the list
24
+ () => null, () => null);
25
+ switch ($p_segment_text) {
26
+ case "...js": return ['parent', null];
27
+ case ".": return ['current', null];
28
+ case "": return ['nothing', null];
29
+ default: return ['child', $p_segment_text];
30
+ }
31
+ },
32
+ on_no_progression: () => p_unreachable_code_path("'handle' is expected to consume at least one item"),
33
+ }),
34
+ 'trailing slash': iterator.peek(() => false, ($) => $ === 47 // '/'
35
+ ? iterator.consume(() => p_unreachable_code_path("peeked"), () => true)
36
+ : false),
37
+ };
38
+ },
39
+ on_dangling_item: null,
40
+ });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aF9ub25fbm9ybWFsaXplZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9kZXNlcmlhbGl6ZXJzL3BhdGhfbm9uX25vcm1hbGl6ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxnQkFBZ0IsTUFBTSw0REFBNEQsQ0FBQTtBQUN6RixPQUFPLFNBQVMsTUFBTSxxREFBcUQsQ0FBQTtBQUMzRSxPQUFPLGdCQUFnQixNQUFNLGdFQUFnRSxDQUFBO0FBQzdGLE9BQU8sdUJBQXVCLE1BQU0sdUVBQXVFLENBQUE7QUFNM0csTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBRzVCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDakIsSUFBSSxFQUFFLGdCQUFnQixDQUNsQixDQUFDLEVBQ0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDWDtJQUNELFFBQVEsRUFBRSxJQUFJO0lBQ2QsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDakIsT0FBTztZQUNILGVBQWUsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUMxQixHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQ1gsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTTtnQkFDbEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ2QsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEVBQ3ZDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDYjtnQkFDRCxDQUFDLENBQUMsS0FBSyxDQUNkO1lBQ0QsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUM7Z0JBQzVCLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3JCLElBQUksS0FBSyxFQUFFLENBQUMsZ0NBQWdDO3VCQUN6QyxRQUFRLENBQUMsSUFBSSxDQUNaLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxpQ0FBaUM7b0JBQzlDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQ2Q7Z0JBQ0wsTUFBTSxFQUFFLEdBQUcsRUFBRTtvQkFDVCxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FDcEMsUUFBUSxDQUFDLFVBQVUsQ0FBQzt3QkFDaEIsY0FBYyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFLE1BQU07d0JBQzdDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUMxQixHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxFQUN2RCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNYO3dCQUNELGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDLG1DQUFtQyxDQUFDO3FCQUN4RixDQUFDLEVBQ0YsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDWCxDQUFBO29CQUNELFFBQVEsQ0FBQyxPQUFPLENBQUUsMkNBQTJDO29CQUN6RCxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQ1YsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNiLENBQUE7b0JBQ0QsUUFBUSxlQUFlLEVBQUUsQ0FBQzt3QkFDdEIsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFBO3dCQUNyQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUE7d0JBQ2xDLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQTt3QkFDakMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQTtvQkFDOUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDLG1EQUFtRCxDQUFDO2FBQ3hHLENBQUM7WUFDRixnQkFBZ0IsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUMzQixHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQ1gsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTTtnQkFDbEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ2QsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEVBQ3ZDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDYjtnQkFDRCxDQUFDLENBQUMsS0FBSyxDQUNkO1NBQ0osQ0FBQTtJQUVMLENBQUM7SUFDRCxnQkFBZ0IsRUFBRSxJQUFJO0NBQ3pCLENBQUMsQ0FBQSJ9
@@ -0,0 +1,12 @@
1
+ import type * as p_ from 'pareto-core/implementation/refiner';
2
+ import type * as s_out from "../../interface/schemas/fs_unrestricted_path.js";
3
+ import type * as s_function from "../../declarations/refiners/path_unrestricted/non_normalized_path.js";
4
+ export declare namespace s_function2 {
5
+ type Parameters = {
6
+ 'pedantic': boolean;
7
+ };
8
+ }
9
+ export type Node_Path = p_.Refiner_With_Parameter<s_out.Node_Path, s_function.Error, string, s_function2.Parameters>;
10
+ export declare const Node_Path: Node_Path;
11
+ export declare const Context_Path: (//This one is exceptional because it will never produce errors
12
+ $: string) => s_out.Context_Path;
@@ -0,0 +1,9 @@
1
+ //dependencies
2
+ import * as r_from_non_normalized_path from "../refiners/path_unrestricted/non_normalized_path.js";
3
+ import * as deser_non_normalized from "./path_non_normalized.js";
4
+ export const Node_Path = ($, abort, $p) => {
5
+ return r_from_non_normalized_path.Node_Path(deser_non_normalized.Non_Normalized_Path($), abort, $p);
6
+ };
7
+ export const Context_Path = (//This one is exceptional because it will never produce errors
8
+ $) => r_from_non_normalized_path.Context_Path(deser_non_normalized.Non_Normalized_Path($));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aF91bnJlc3RyaWN0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1wbGVtZW50YXRpb24vZGVzZXJpYWxpemVycy9wYXRoX3VucmVzdHJpY3RlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQkEsY0FBYztBQUNkLE9BQU8sS0FBSywwQkFBMEIsTUFBTSxzREFBc0QsQ0FBQTtBQUNsRyxPQUFPLEtBQUssb0JBQW9CLE1BQU0sMEJBQTBCLENBQUE7QUFFaEUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFjLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUNqRCxPQUFPLDBCQUEwQixDQUFDLFNBQVMsQ0FDdkMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQzNDLEtBQUssRUFDTCxFQUFFLENBQ0wsQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFFLDhEQUE4RDtBQUN4RixDQUFTLEVBQ1MsRUFBRSxDQUFDLDBCQUEwQixDQUFDLFlBQVksQ0FDNUQsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQzlDLENBQUEifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pareto-resources",
3
- "version": "0.2.154",
3
+ "version": "0.2.155",
4
4
  "author": "Corno",
5
5
  "license": "Apache-2.0",
6
6
  "description": "A library providing resources for the Pareto programming Language",
@@ -1,10 +0,0 @@
1
- import type * as p_ from 'pareto-core/interface/refiner';
2
- import type * as s_in from "../../../interface/schemas/list_of_characters.js";
3
- import type * as s_out from "../../../interface/schemas/fs_unrestricted_path.js";
4
- import type * as s_function from "./non_normalized_path.js";
5
- export declare namespace s_function2 {
6
- type Parameters = {
7
- 'pedantic': boolean;
8
- };
9
- }
10
- export type Node_Path = p_.Refiner_With_Parameter<s_out.Node_Path, s_function.Error, s_in.List_Of_Characters, s_function2.Parameters>;
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RlY2xhcmF0aW9ucy9yZWZpbmVycy9wYXRoX3VucmVzdHJpY3RlZC9saXN0X29mX2NoYXJhY3RlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,3 +0,0 @@
1
- import type * as p_i from 'pareto-core/interface/refiner';
2
- import * as s_out from "../../../interface/schemas/path_non_normalized.js";
3
- export declare const Non_Normalized_Path: p_i.Production_Without_Error<s_out.Non_Normalized_Path, number, null>;
@@ -1,36 +0,0 @@
1
- import p_text_from_list from 'pareto-core/implementation/transformer/specials/text_from_list';
2
- import p_unreachable_code_path from 'pareto-core/implementation/transformer/specials/unreachable_code_path';
3
- //schemas
4
- import * as s_out from "../../../interface/schemas/path_non_normalized.js";
5
- export const Non_Normalized_Path = (iterator) => {
6
- return {
7
- 'leading slash': iterator.peek(() => false, ($) => $ === 47 // '/'
8
- ? iterator.consume(() => p_unreachable_code_path("peeked"), () => true)
9
- : false),
10
- 'segments': iterator.build_list({
11
- has_more_items: (item) => item !== 47 // '/' //a non-slash -> continue
12
- || iterator.peek(() => false, // path ends with a slash -> stop
13
- ($) => true),
14
- handle: () => {
15
- const $p_segment_text = p_text_from_list(iterator.build_list({
16
- has_more_items: (item) => item !== 47, // '/'
17
- handle: () => iterator.consume(() => p_unreachable_code_path("has_more_items -> true"), ($) => $),
18
- on_no_progression: () => p_unreachable_code_path("'handle' is immediately consuming"),
19
- }), ($) => $);
20
- iterator.consume(// discard the slash or the end of the list
21
- () => null, () => null);
22
- switch ($p_segment_text) {
23
- case "...js": return ['parent', null];
24
- case ".": return ['current', null];
25
- case "": return ['nothing', null];
26
- default: return ['child', $p_segment_text];
27
- }
28
- },
29
- on_no_progression: () => p_unreachable_code_path("'handle' is expected to consume at least one item"),
30
- }),
31
- 'trailing slash': iterator.peek(() => false, ($) => $ === 47 // '/'
32
- ? iterator.consume(() => p_unreachable_code_path("peeked"), () => true)
33
- : false),
34
- };
35
- };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmFjdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL3JlZmluZXJzL3BhdGhfbm9uX25vcm1hbGl6ZWQvY2hhcmFjdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sZ0JBQWdCLE1BQU0sZ0VBQWdFLENBQUE7QUFDN0YsT0FBTyx1QkFBdUIsTUFBTSx1RUFBdUUsQ0FBQTtBQUUzRyxTQUFTO0FBQ1QsT0FBTyxLQUFLLEtBQUssTUFBTSxtREFBbUQsQ0FBQTtBQUUxRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FJNUIsQ0FBQyxRQUFRLEVBQUUsRUFBRTtJQUNiLE9BQU87UUFDSCxlQUFlLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FDMUIsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUNYLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU07WUFDbEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ2QsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEVBQ3ZDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDYjtZQUNELENBQUMsQ0FBQyxLQUFLLENBQ2Q7UUFDRCxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUM1QixjQUFjLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNyQixJQUFJLEtBQUssRUFBRSxDQUFDLGdDQUFnQzttQkFDekMsUUFBUSxDQUFDLElBQUksQ0FDWixHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsaUNBQWlDO2dCQUM5QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUNkO1lBQ0wsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FDcEMsUUFBUSxDQUFDLFVBQVUsQ0FBQztvQkFDaEIsY0FBYyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFLE1BQU07b0JBQzdDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUMxQixHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxFQUN2RCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNYO29CQUNELGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDLG1DQUFtQyxDQUFDO2lCQUN4RixDQUFDLEVBQ0YsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDWCxDQUFBO2dCQUNELFFBQVEsQ0FBQyxPQUFPLENBQUUsMkNBQTJDO2dCQUN6RCxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQ1YsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNiLENBQUE7Z0JBQ0QsUUFBUSxlQUFlLEVBQUUsQ0FBQztvQkFDdEIsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFBO29CQUNyQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBQ2xDLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQTtvQkFDakMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQTtnQkFDOUMsQ0FBQztZQUNMLENBQUM7WUFDRCxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxtREFBbUQsQ0FBQztTQUN4RyxDQUFDO1FBQ0YsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FDM0IsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUNYLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU07WUFDbEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ2QsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEVBQ3ZDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDYjtZQUNELENBQUMsQ0FBQyxLQUFLLENBQ2Q7S0FDSixDQUFBO0FBRUwsQ0FBQyxDQUFBIn0=
@@ -1,4 +0,0 @@
1
- import type * as p_t from 'pareto-core/interface/transformer';
2
- import type * as s_in from "../../../interface/schemas/list_of_characters.js";
3
- import type * as s_out from "../../../interface/schemas/path_non_normalized.js";
4
- export declare const Non_Normalized_Path: p_t.Transformer<s_in.List_Of_Characters, s_out.Non_Normalized_Path>;
@@ -1,10 +0,0 @@
1
- import p_iterate from 'pareto-core/implementation/refiner/specials/iterate';
2
- //dependencies
3
- import * as pr_path from "./character.js";
4
- export const Non_Normalized_Path = ($) => p_iterate({
5
- list: $,
6
- end_info: null,
7
- assign: (iterator) => pr_path.Non_Normalized_Path(iterator),
8
- on_dangling_item: null,
9
- });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL3JlZmluZXJzL3BhdGhfbm9uX25vcm1hbGl6ZWQvbGlzdF9vZl9jaGFyYWN0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sU0FBUyxNQUFNLHFEQUFxRCxDQUFBO0FBTTNFLGNBQWM7QUFDZCxPQUFPLEtBQUssT0FBTyxNQUFNLGdCQUFnQixDQUFBO0FBR3pDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUc1QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQ2pCLElBQUksRUFBRSxDQUFDO0lBQ1AsUUFBUSxFQUFFLElBQUk7SUFDZCxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7SUFDM0QsZ0JBQWdCLEVBQUUsSUFBSTtDQUN6QixDQUFDLENBQUEifQ==
@@ -1,5 +0,0 @@
1
- import p_list_from_text from 'pareto-core/implementation/refiner/specials/list_from_text';
2
- //dependencies
3
- import * as t_from_list_of_characters from "./list_of_characters.js";
4
- export const Non_Normalized_Path = ($) => t_from_list_of_characters.Non_Normalized_Path(p_list_from_text($, ($) => $));
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9yZWZpbmVycy9wYXRoX25vbl9ub3JtYWxpemVkL3RleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxnQkFBZ0IsTUFBTSw0REFBNEQsQ0FBQTtBQUt6RixjQUFjO0FBQ2QsT0FBTyxLQUFLLHlCQUF5QixNQUFNLHlCQUF5QixDQUFBO0FBR3BFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUc1QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQ3BELGdCQUFnQixDQUNaLENBQUMsRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNYLENBQ0osQ0FBQSJ9
@@ -1,33 +0,0 @@
1
- // import p_iterate from 'pareto-core/implementation/refiner/specials/iterate'
2
- // import p_text_from_list from 'pareto-core/implementation/refiner/specials/text_from_list'
3
- export {};
4
- // import type * as s_out from "../../../interface/schemas/fs_sandboxed_path.js"
5
- // import type * as s_in from "../../../interface/schemas/list_of_characters.js"
6
- // import type * as s_error from "./non_normalized_path.js"
7
- // import type * as s_function from "../../../interface/schemas/sandboxed_path_from_non_normalized_path.js"
8
- // export type Parameters = { 'pedantic': boolean }
9
- // export namespace interface_ {
10
- // export type Node_Path = p_i.Refiner_With_Parameter<
11
- // s_out.Node_Path, s_error.Error, s_in.List_Of_Characters, Parameters
12
- // >
13
- // }
14
- // //dependencies
15
- // import * as r_from_non_normalized_path from "./non_normalized_path.js"
16
- // import * as r_non_normalized_path_from_loc from "../path non_normalized/list_of_characters.js"
17
- // export const Node_Path: interface_.Node_Path = ($, abort, $p) => {
18
- // return r_from_non_normalized_path.Node_Path(
19
- // r_non_normalized_path_from_loc.Non_Normalized_Path($),
20
- // abort,
21
- // $p,
22
- // )
23
- // }
24
- // export const Context_Path: p_i.Refiner<
25
- // s_out.Context_Path, s_function.Error, s_in.List_Of_Characters
26
- // > = (
27
- // $,
28
- // abort,
29
- // ) => r_from_non_normalized_path.Context_Path(
30
- // r_non_normalized_path_from_loc.Non_Normalized_Path($),
31
- // abort,
32
- // )
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL3JlZmluZXJzL3BhdGhfc2FuZGJveGVkL2xpc3Rfb2ZfY2hhcmFjdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4RUFBOEU7QUFDOUUsNEZBQTRGOztBQUU1RixnRkFBZ0Y7QUFDaEYsZ0ZBQWdGO0FBQ2hGLDJEQUEyRDtBQUMzRCwyR0FBMkc7QUFFM0csbURBQW1EO0FBRW5ELGdDQUFnQztBQUNoQywwREFBMEQ7QUFDMUQsc0VBQXNFO0FBQ3RFLElBQUk7QUFDSixJQUFJO0FBR0osaUJBQWlCO0FBQ2pCLHlFQUF5RTtBQUN6RSxpR0FBaUc7QUFFakcscUVBQXFFO0FBQ3JFLG1EQUFtRDtBQUNuRCxpRUFBaUU7QUFDakUsaUJBQWlCO0FBQ2pCLGNBQWM7QUFDZCxRQUFRO0FBQ1IsSUFBSTtBQUVKLDBDQUEwQztBQUMxQyxnRUFBZ0U7QUFDaEUsUUFBUTtBQUNSLFNBQVM7QUFDVCxhQUFhO0FBQ2IsZ0RBQWdEO0FBQ2hELDZEQUE2RDtBQUM3RCxhQUFhO0FBQ2IsSUFBSSJ9
@@ -1,139 +0,0 @@
1
- // import type * as s_out from "../../../interface/schemas/fs_sandboxed_path.js"
2
- // import type * as s_in from "../../../interface/schemas/path_non_normalized.js"
3
- // import type * as s_function from "../../../interface/schemas/sandboxed_path_from_non_normalized_path.js"
4
- export {};
5
- // import { remove_last_element } from "../../../temp/temp_core.js"
6
- // type Intermediate_Result = {
7
- // subppath: s_out.Context_Subpath
8
- // node: string | null
9
- // up_steps: number
10
- // }
11
- // export type Error =
12
- // | ['trailing slash not allowed', null]
13
- // | ['no node', null]
14
- // | ['absolute path not allowed', null]
15
- // | ['up steps not allowed', null]
16
- // export namespace interface_ {
17
- // export type Node_Path = p_i.Refiner_With_Parameter<
18
- // s_out.Node_Path, Error, s_in.Non_Normalized_Path, { 'pedantic': boolean }
19
- // >
20
- // }
21
- // export const Node_Path: interface_.Node_Path = ($, abort, $p) => {
22
- // if ($p.pedantic) {
23
- // if ($['trailing slash']) {
24
- // abort(['trailing slash not allowed', null])
25
- // }
26
- // }
27
- // let intermediate_result: Intermediate_Result = {
28
- // subppath: p_.literal.list([]),
29
- // node: null,
30
- // up_steps: 0,
31
- // }
32
- // $.segments.__ l_map_deprecated(
33
- // ($) => {
34
- // intermediate_result = p_.from.state($).decide(
35
- //($): Intermediate_Result => {
36
- // switch ($[0]) {
37
- // case 'parent': return p_.option($, ($) => ({
38
- // 'up_steps': intermediate_result.node === null
39
- // ? p_.from.list(intermediate_result.subppath).is_ empty()
40
- // ? intermediate_result.up_steps + 1
41
- // : intermediate_result.up_steps
42
- // : intermediate_result.up_steps,
43
- // 'subppath': intermediate_result.node === null
44
- // ? p_.from.list(intermediate_result.subppath).is_ empty()
45
- // ? p_.literal.list([])
46
- // : remove_last_element(intermediate_result.subppath)
47
- // : intermediate_result.subppath,
48
- // 'node': null,
49
- // }))
50
- // case 'child': return p_.option($, ($): Intermediate_Result => ({
51
- // 'up_steps': intermediate_result.up_steps,
52
- // 'subppath': intermediate_result.node === null
53
- // ? intermediate_result.subppath
54
- // : p_.literal.nested_ list([
55
- // intermediate_result.subppath,
56
- // [
57
- // intermediate_result.node
58
- // ]
59
- // ]),
60
- // 'node': $,
61
- // }))
62
- // case 'current': return p_.option($, ($) => intermediate_result)
63
- // case 'nothing': return p_.option($, ($) => intermediate_result)
64
- // default: return p_.exhaustive($[0])
65
- // }
66
- // })
67
- // })
68
- // if (intermediate_result.node === null) {
69
- // return abort(['no node', null])
70
- // }
71
- // if ($['leading slash']) {
72
- // return abort(['absolute path not allowed', null])
73
- // }
74
- // if (intermediate_result.up_steps > 0) {
75
- // return abort(['up steps not allowed', null])
76
- // }
77
- // return {
78
- // 'context': {
79
- // 'start': null,
80
- // 'subpath': intermediate_result.subppath,
81
- // },
82
- // 'node': intermediate_result.node
83
- // }
84
- // }
85
- // type Intermediate_Result2 = {
86
- // subppath: s_out.Context_Subpath
87
- // up_steps: number
88
- // }
89
- // export const Context_Path: p_i.Refiner<
90
- // s_out.Context_Path, s_function.Error, s_in.Non_Normalized_Path
91
- // > = (
92
- // $,
93
- // abort,
94
- // ) => {
95
- // let intermediate_result: Intermediate_Result2 = {
96
- // subppath: p_.literal.list([]),
97
- // up_steps: 0,
98
- // }
99
- // $.segments.__ l_map_deprecated(
100
- // ($) => {
101
- // intermediate_result = p_.from.state($).decide(
102
- // ($): Intermediate_Result2 => {
103
- // switch ($[0]) {
104
- // case 'parent': return p_.option($, ($) => ({
105
- // 'up_steps': p_.from.list(intermediate_result.subppath).is_ empty()
106
- // ? intermediate_result.up_steps + 1
107
- // : intermediate_result.up_steps,
108
- // 'subppath': p_.from.list(intermediate_result.subppath).is_ empty()
109
- // ? intermediate_result.subppath
110
- // : remove_last_element(intermediate_result.subppath),
111
- // 'node': null,
112
- // }))
113
- // case 'child': return p_.option($, ($): Intermediate_Result2 => ({
114
- // 'up_steps': intermediate_result.up_steps,
115
- // 'subppath': p_.literal.nested_ list([
116
- // intermediate_result.subppath,
117
- // [
118
- // $
119
- // ]
120
- // ]),
121
- // }))
122
- // case 'current': return p_.option($, ($) => intermediate_result)
123
- // case 'nothing': return p_.option($, ($) => intermediate_result)
124
- // default: return p_.exhaustive($[0])
125
- // }
126
- // })
127
- // })
128
- // if ($['leading slash']) {
129
- // return abort(['absolute path not allowed', null])
130
- // }
131
- // if (intermediate_result.up_steps > 0) {
132
- // return abort(['up steps not allowed', null])
133
- // }
134
- // return {
135
- // 'start': null,
136
- // 'subpath': intermediate_result.subppath,
137
- // }
138
- // }
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9uX25vcm1hbGl6ZWRfcGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9yZWZpbmVycy9wYXRoX3NhbmRib3hlZC9ub25fbm9ybWFsaXplZF9wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGdGQUFnRjtBQUNoRixpRkFBaUY7QUFDakYsMkdBQTJHOztBQUUzRyxtRUFBbUU7QUFHbkUsK0JBQStCO0FBQy9CLHNDQUFzQztBQUN0QywwQkFBMEI7QUFDMUIsdUJBQXVCO0FBQ3ZCLElBQUk7QUFFSixzQkFBc0I7QUFDdEIsNkNBQTZDO0FBQzdDLDBCQUEwQjtBQUMxQiw0Q0FBNEM7QUFDNUMsdUNBQXVDO0FBRXZDLGdDQUFnQztBQUNoQywwREFBMEQ7QUFDMUQsNEVBQTRFO0FBQzVFLElBQUk7QUFDSixJQUFJO0FBRUoscUVBQXFFO0FBRXJFLHlCQUF5QjtBQUN6QixxQ0FBcUM7QUFDckMsMERBQTBEO0FBQzFELFlBQVk7QUFDWixRQUFRO0FBQ1IsdURBQXVEO0FBRXZELHlDQUF5QztBQUN6QyxzQkFBc0I7QUFDdEIsdUJBQXVCO0FBQ3ZCLFFBQVE7QUFFUix1Q0FBdUM7QUFDdkMsV0FBVztBQUNYLHlEQUF5RDtBQUN6RCwrQkFBK0I7QUFDL0IsOEJBQThCO0FBQzlCLCtEQUErRDtBQUMvRCxvRUFBb0U7QUFDcEUsbUZBQW1GO0FBQ25GLGlFQUFpRTtBQUNqRSw2REFBNkQ7QUFDN0QsMERBQTBEO0FBQzFELG9FQUFvRTtBQUNwRSxtRkFBbUY7QUFDbkYsb0RBQW9EO0FBQ3BELGtGQUFrRjtBQUNsRiwwREFBMEQ7QUFDMUQsb0NBQW9DO0FBQ3BDLHNCQUFzQjtBQUN0QixtRkFBbUY7QUFDbkYsZ0VBQWdFO0FBQ2hFLG9FQUFvRTtBQUNwRSx5REFBeUQ7QUFDekQsc0RBQXNEO0FBQ3RELDREQUE0RDtBQUM1RCxnQ0FBZ0M7QUFDaEMsMkRBQTJEO0FBQzNELGdDQUFnQztBQUNoQyw4QkFBOEI7QUFDOUIsaUNBQWlDO0FBQ2pDLHNCQUFzQjtBQUN0QixrRkFBa0Y7QUFDbEYsa0ZBQWtGO0FBQ2xGLHNEQUFzRDtBQUN0RCxnQkFBZ0I7QUFDaEIsYUFBYTtBQUNiLFNBQVM7QUFFVCwrQ0FBK0M7QUFDL0MsMENBQTBDO0FBQzFDLFFBQVE7QUFFUixnQ0FBZ0M7QUFDaEMsNERBQTREO0FBQzVELFFBQVE7QUFDUiw4Q0FBOEM7QUFDOUMsdURBQXVEO0FBQ3ZELFFBQVE7QUFDUixlQUFlO0FBQ2YsdUJBQXVCO0FBQ3ZCLDZCQUE2QjtBQUM3Qix1REFBdUQ7QUFDdkQsYUFBYTtBQUNiLDJDQUEyQztBQUMzQyxRQUFRO0FBRVIsSUFBSTtBQUVKLGdDQUFnQztBQUNoQyxzQ0FBc0M7QUFDdEMsdUJBQXVCO0FBQ3ZCLElBQUk7QUFFSiwwQ0FBMEM7QUFDMUMsaUVBQWlFO0FBQ2pFLFFBQVE7QUFDUixTQUFTO0FBQ1QsYUFBYTtBQUNiLFNBQVM7QUFFVCx3REFBd0Q7QUFFeEQseUNBQXlDO0FBQ3pDLHVCQUF1QjtBQUN2QixRQUFRO0FBRVIsc0NBQXNDO0FBQ3RDLFdBQVc7QUFDWCx5REFBeUQ7QUFDekQsaUNBQWlDO0FBQ2pDLDhCQUE4QjtBQUM5QiwrREFBK0Q7QUFDL0QseUZBQXlGO0FBQ3pGLDZEQUE2RDtBQUM3RCwwREFBMEQ7QUFDMUQseUZBQXlGO0FBQ3pGLHlEQUF5RDtBQUN6RCwrRUFBK0U7QUFDL0Usb0NBQW9DO0FBQ3BDLHNCQUFzQjtBQUN0QixvRkFBb0Y7QUFDcEYsZ0VBQWdFO0FBQ2hFLDREQUE0RDtBQUM1RCx3REFBd0Q7QUFDeEQsNEJBQTRCO0FBQzVCLGdDQUFnQztBQUNoQyw0QkFBNEI7QUFDNUIsMEJBQTBCO0FBQzFCLHNCQUFzQjtBQUN0QixrRkFBa0Y7QUFDbEYsa0ZBQWtGO0FBQ2xGLHNEQUFzRDtBQUN0RCxnQkFBZ0I7QUFDaEIsYUFBYTtBQUNiLFNBQVM7QUFFVCxnQ0FBZ0M7QUFDaEMsNERBQTREO0FBQzVELFFBQVE7QUFDUiw4Q0FBOEM7QUFDOUMsdURBQXVEO0FBQ3ZELFFBQVE7QUFDUixlQUFlO0FBQ2YseUJBQXlCO0FBQ3pCLG1EQUFtRDtBQUNuRCxRQUFRO0FBRVIsSUFBSSJ9
@@ -1,6 +0,0 @@
1
- import type * as interface_ from "../../../declarations/refiners/path_unrestricted/list_of_characters.js";
2
- import type * as s_in from "../../../interface/schemas/list_of_characters.js";
3
- import type * as s_out from "../../../interface/schemas/fs_unrestricted_path.js";
4
- export declare const Node_Path: interface_.Node_Path;
5
- export declare const Context_Path: (//This one is exceptional because it will never produce errors
6
- $: s_in.List_Of_Characters) => s_out.Context_Path;
@@ -1,9 +0,0 @@
1
- //dependencies
2
- import * as r_from_non_normalized_path from "./non_normalized_path.js";
3
- import * as r_non_normalized_path_from_loc from "../path_non_normalized/list_of_characters.js";
4
- export const Node_Path = ($, abort, $p) => {
5
- return r_from_non_normalized_path.Node_Path(r_non_normalized_path_from_loc.Non_Normalized_Path($), abort, $p);
6
- };
7
- export const Context_Path = (//This one is exceptional because it will never produce errors
8
- $) => r_from_non_normalized_path.Context_Path(r_non_normalized_path_from_loc.Non_Normalized_Path($));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdF9vZl9jaGFyYWN0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL3JlZmluZXJzL3BhdGhfdW5yZXN0cmljdGVkL2xpc3Rfb2ZfY2hhcmFjdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxjQUFjO0FBQ2QsT0FBTyxLQUFLLDBCQUEwQixNQUFNLDBCQUEwQixDQUFBO0FBQ3RFLE9BQU8sS0FBSyw4QkFBOEIsTUFBTSw4Q0FBOEMsQ0FBQTtBQUU5RixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQXlCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUM1RCxPQUFPLDBCQUEwQixDQUFDLFNBQVMsQ0FDdkMsOEJBQThCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQ3JELEtBQUssRUFDTCxFQUFFLENBQ0wsQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFFLDhEQUE4RDtBQUN4RixDQUEwQixFQUNSLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLENBQzVELDhCQUE4QixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUN4RCxDQUFBIn0=
@@ -1,5 +0,0 @@
1
- import type * as interface_ from "../../../declarations/refiners/path_unrestricted/text.js";
2
- import type * as s_out from "../../../interface/schemas/fs_unrestricted_path.js";
3
- export declare const Node_Path: interface_.Node_Path;
4
- export declare const Context_Path: (//This one is exceptional because it will never produce errors
5
- $: string) => s_out.Context_Path;
@@ -1,9 +0,0 @@
1
- import p_list_from_text from 'pareto-core/implementation/refiner/specials/list_from_text';
2
- //dependencies
3
- import * as r_from_list_of_characters from "./list_of_characters.js";
4
- export const Node_Path = ($, abort, $p) => {
5
- return r_from_list_of_characters.Node_Path(p_list_from_text($, ($) => $), abort, $p);
6
- };
7
- export const Context_Path = (//This one is exceptional because it will never produce errors
8
- $) => r_from_list_of_characters.Context_Path(p_list_from_text($, ($) => $));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9yZWZpbmVycy9wYXRoX3VucmVzdHJpY3RlZC90ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sZ0JBQWdCLE1BQU0sNERBQTRELENBQUE7QUFPekYsY0FBYztBQUNkLE9BQU8sS0FBSyx5QkFBeUIsTUFBTSx5QkFBeUIsQ0FBQTtBQUVwRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQXlCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUM1RCxPQUFPLHlCQUF5QixDQUFDLFNBQVMsQ0FDdEMsZ0JBQWdCLENBQ1osQ0FBQyxFQUNELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQ1gsRUFDRCxLQUFLLEVBQ0wsRUFBRSxDQUNMLENBQUE7QUFDTCxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBRSw4REFBOEQ7QUFDeEYsQ0FBUyxFQUNTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQzNELGdCQUFnQixDQUNaLENBQUMsRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNYLENBQ0osQ0FBQSJ9