diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 07864de8c..5960a3b96 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,11 +8,11 @@ jobs: strategy: matrix: - node-version: [16, 18, 20] + node-version: [18, 20] steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: npm @@ -29,7 +29,7 @@ jobs: ) needs: [test] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - run: npm ci - run: npm run build env: @@ -54,7 +54,7 @@ jobs: && !contains(github.ref, 'beta') needs: [test] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - run: npm ci - run: npm run build env: diff --git a/.github/workflows/pr-preview.yml b/.github/workflows/pr-preview.yml index 77d5c187f..8bf95453f 100644 --- a/.github/workflows/pr-preview.yml +++ b/.github/workflows/pr-preview.yml @@ -8,11 +8,11 @@ jobs: strategy: matrix: - node-version: [16, 18, 20] + node-version: [18, 20] steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: npm @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest needs: test steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - run: npm ci - run: npm run build:content - run: npm run build diff --git a/dist/projects.json b/dist/projects.json index b077a9790..5087c4cb9 100644 --- a/dist/projects.json +++ b/dist/projects.json @@ -3,22 +3,39 @@ "slug": "how-might-we", "repo": "Laboratoria/curriculum", "path": "projects/00-how-might-we", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:39.884Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:57.387Z", "prefix": 0, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "hidden" + ], "learningObjectives": [ - "agile-planning/tasks", - "design-concept/ideate", - "design-concept/prioritize-ideas", - "interaction-design/user-flows", - "interface-design/visual-design", - "design-prototype/basic-prototypes", - "design-specs/project-documentation" + { + "id": "agile-planning/tasks" + }, + { + "id": "design-concept/ideate" + }, + { + "id": "design-concept/prioritize-ideas" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "design-specs/project-documentation" + } ], "intl": { "es": { @@ -33,28 +50,54 @@ "slug": "trivia", "repo": "Laboratoria/curriculum", "path": "projects/00-trivia", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:40.295Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:57.139Z", "prefix": 0, "track": "web-dev", "tracks": [ "web-dev" ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive", - "js/data-types/strings", - "js/variables", - "js/conditionals", - "js/functions", - "js/semantics", - "user-centricity/centricity", - "product-design/interactivity" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive" + }, + { + "id": "js/data-types/strings" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/functions" + }, + { + "id": "js/semantics" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + } ], "intl": { "es": { @@ -73,38 +116,87 @@ "slug": "card-validation", "repo": "Laboratoria/curriculum", "path": "projects/01-card-validation", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:40.227Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:57.514Z", "prefix": 1, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "deprecated" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive", - "js/data-types/strings", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/github/setup", - "scm/github/gh-pages", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive" + }, + { + "id": "js/data-types/strings" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + } ], "intl": { "es": { @@ -123,38 +215,87 @@ "slug": "cipher", "repo": "Laboratoria/curriculum", "path": "projects/01-cipher", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:43.140Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:57.438Z", "prefix": 1, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "deprecated" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive", - "js/data-types/strings", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/github/setup", - "scm/github/gh-pages", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive" + }, + { + "id": "js/data-types/strings" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + } ], "intl": { "es": { @@ -173,41 +314,96 @@ "slug": "design-detectives", "repo": "Laboratoria/curriculum", "path": "projects/01-design-detectives", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:42.952Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:56.736Z", "prefix": 1, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "agile-planning/tasks", - "agile-planning/workplan", - "business-understanding/benchmark", - "research-planning/research-plan", - "research-planning/desk-research", - "research-planning/research-sample", - "research-planning/participants", - "research-quantitative/user-surveys", - "research-analysis/identify-patterns", - "research-analysis/process-information", - "research-analysis/synthesize-results", - "design-concept/design-references", - "design-concept/ideate", - "design-concept/prioritize-ideas", - "interaction-design/user-flows", - "interaction-design/usability", - "interface-design/visual-design", - "design-prototype/basic-prototypes", - "design-prototype/high-fidelity", - "usability-analysis/moderated-testing", - "usability-analysis/heuristic-analysis", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-pitch/ai-presentations", - "design-specs/file-organization", - "design-specs/project-documentation" + { + "id": "agile-planning/tasks" + }, + { + "id": "agile-planning/workplan" + }, + { + "id": "business-understanding/benchmark" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/desk-research" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "research-quantitative/user-surveys" + }, + { + "id": "research-analysis/identify-patterns" + }, + { + "id": "research-analysis/process-information" + }, + { + "id": "research-analysis/synthesize-results" + }, + { + "id": "design-concept/design-references" + }, + { + "id": "design-concept/ideate" + }, + { + "id": "design-concept/prioritize-ideas" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interaction-design/usability" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "design-prototype/high-fidelity" + }, + { + "id": "usability-analysis/moderated-testing" + }, + { + "id": "usability-analysis/heuristic-analysis" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-pitch/ai-presentations" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/project-documentation" + } ], "intl": { "es": { @@ -222,38 +418,87 @@ "slug": "text-analyzer", "repo": "Laboratoria/curriculum", "path": "projects/01-text-analyzer", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:43.449Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:57.543Z", "prefix": 1, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive", - "js/data-types/strings", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/github/setup", - "scm/github/gh-pages", - "user-centricity/centricity", - "product-design/fidelity", - "product-design/visual-design" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive" + }, + { + "id": "js/data-types/strings" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/fidelity" + }, + { + "id": "product-design/visual-design" + } ], "intl": { "es": { @@ -272,44 +517,105 @@ "slug": "data-lovers", "repo": "Laboratoria/curriculum", "path": "projects/02-data-lovers", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:47.187Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:57.403Z", "prefix": 2, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "deprecated" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + } ], "intl": { "es": { @@ -328,46 +634,111 @@ "slug": "dataverse", "repo": "Laboratoria/curriculum", "path": "projects/02-dataverse", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:47.449Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:00.589Z", "prefix": 2, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test", - "ai-prompting/giving-instructions", - "ai-prompting/few-shot-prompting" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + }, + { + "id": "ai-prompting/giving-instructions" + }, + { + "id": "ai-prompting/few-shot-prompting" + } ], "intl": { "es": { @@ -386,59 +757,150 @@ "slug": "design-assigned", "repo": "Laboratoria/curriculum", "path": "projects/02-design-assigned", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:46.730Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:59.920Z", "prefix": 2, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "agile-planning/scope", - "agile-planning/workplan", - "agile-planning/tasks", - "business-understanding/business-model", - "business-understanding/goals-and-kpis", - "business-understanding/benchmark", - "research-planning/research-plan", - "research-planning/desk-research", - "research-planning/research-sample", - "research-planning/participants", - "research-qualitative/user-interviews", - "research-qualitative/exploratory-techniques", - "research-quantitative/user-surveys", - "research-quantitative/analytical-techniques", - "research-analysis/process-information", - "research-analysis/experience-mapping", - "research-analysis/identify-patterns", - "research-analysis/synthesize-results", - "research-analysis/ai-analysis", - "design-concept/define-mvp", - "design-concept/design-references", - "design-concept/ideate", - "design-concept/prioritize-ideas", - "interaction-design/user-flows", - "interaction-design/usability", - "interaction-design/information-architecture", - "content-design/voice-tone", - "content-design/micro-content", - "interface-design/visual-design", - "interface-design/accesibility", - "interface-design/responsive-design", - "design-prototype/basic-prototypes", - "design-prototype/high-fidelity", - "design-prototype/advanced-interactions", - "usability-analysis/moderated-testing", - "usability-analysis/heuristic-analysis", - "usability-analysis/non-moderated-testing", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-specs/file-organization", - "design-specs/use-cases", - "design-specs/project-documentation", - "design-systems/atomic-design", - "design-systems/design-system" + { + "id": "agile-planning/scope" + }, + { + "id": "agile-planning/workplan" + }, + { + "id": "agile-planning/tasks" + }, + { + "id": "business-understanding/business-model" + }, + { + "id": "business-understanding/goals-and-kpis" + }, + { + "id": "business-understanding/benchmark" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/desk-research" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "research-qualitative/user-interviews" + }, + { + "id": "research-qualitative/exploratory-techniques" + }, + { + "id": "research-quantitative/user-surveys" + }, + { + "id": "research-quantitative/analytical-techniques" + }, + { + "id": "research-analysis/process-information" + }, + { + "id": "research-analysis/experience-mapping" + }, + { + "id": "research-analysis/identify-patterns" + }, + { + "id": "research-analysis/synthesize-results" + }, + { + "id": "research-analysis/ai-analysis" + }, + { + "id": "design-concept/define-mvp" + }, + { + "id": "design-concept/design-references" + }, + { + "id": "design-concept/ideate" + }, + { + "id": "design-concept/prioritize-ideas" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interaction-design/usability" + }, + { + "id": "interaction-design/information-architecture" + }, + { + "id": "content-design/voice-tone" + }, + { + "id": "content-design/micro-content" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "interface-design/accesibility" + }, + { + "id": "interface-design/responsive-design" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "design-prototype/high-fidelity" + }, + { + "id": "design-prototype/advanced-interactions" + }, + { + "id": "usability-analysis/moderated-testing" + }, + { + "id": "usability-analysis/heuristic-analysis" + }, + { + "id": "usability-analysis/non-moderated-testing" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/use-cases" + }, + { + "id": "design-specs/project-documentation" + }, + { + "id": "design-systems/atomic-design" + }, + { + "id": "design-systems/design-system" + } ], "intl": { "es": { @@ -453,107 +915,229 @@ "slug": "emergency-room", "repo": "Laboratoria/curriculum", "path": "projects/02-emergency-room", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:50.450Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:00.033Z", "prefix": 2, "track": "web-dev", "tracks": [ "web-dev" ], - "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test" - ], - "intl": { - "es": { - "title": "Sala de Emergencias", - "summary": "

En este proyecto crearás una aplicación web para la gestión de la cola de\npacientes en la sala de emergencias de un hospital. Esta aplicación permitirá\nregistrar a las pacientes que llegan, e ir haciéndolas pasar según el nivel de\ngravedad de su caso.

" - }, - "pt": { - "title": "Projeto de extensão: Sala de Emergências", - "summary": "

\"Free

" - } - }, - "cover": "https://c.pxhere.com/photos/41/df/hospital_a_e_emergency_hospital_beds_hospital_ward-599363.jpg!d", - "thumb": "data:image/png;base64,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" - }, - { - "slug": "memory-match", - "repo": "Laboratoria/curriculum", - "path": "projects/02-memory-match", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:50.560Z", - "prefix": 2, - "track": "web-dev", - "tracks": [ - "web-dev" + "tags": [ + "hidden" ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test" - ], - "intl": { - "es": { - "title": "Memory Match Game", - "summary": "

En este proyecto construirás una versión web del juego Memory Match, en la\nque una jugadora pueda jugar sola, en el navegador.

" + { + "id": "html/semantics" }, - "pt": { + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + } + ], + "intl": { + "es": { + "title": "Sala de Emergencias", + "summary": "

En este proyecto crearás una aplicación web para la gestión de la cola de\npacientes en la sala de emergencias de un hospital. Esta aplicación permitirá\nregistrar a las pacientes que llegan, e ir haciéndolas pasar según el nivel de\ngravedad de su caso.

" + }, + "pt": { + "title": "Projeto de extensão: Sala de Emergências", + "summary": "

\"Free

" + } + }, + "cover": "https://c.pxhere.com/photos/41/df/hospital_a_e_emergency_hospital_beds_hospital_ward-599363.jpg!d", + "thumb": "data:image/png;base64,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" + }, + { + "slug": "memory-match", + "repo": "Laboratoria/curriculum", + "path": "projects/02-memory-match", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:00.302Z", + "prefix": 2, + "track": "web-dev", + "tracks": [ + "web-dev" + ], + "tags": [ + "hidden" + ], + "learningObjectives": [ + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + } + ], + "intl": { + "es": { + "title": "Memory Match Game", + "summary": "

En este proyecto construirás una versión web del juego Memory Match, en la\nque una jugadora pueda jugar sola, en el navegador.

" + }, + "pt": { "title": "Memory Match Game", "summary": "

Neste projeto será construído uma versão web do jogo Memory Match, em\nque uma jogadora possa jogar sozinha no navegador.

" } @@ -565,50 +1149,123 @@ "slug": "mindset-mvp", "repo": "Laboratoria/curriculum", "path": "projects/02-mindset-mvp", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:50.320Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:59.690Z", "prefix": 2, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "agile-planning/workplan", - "agile-planning/tasks", - "business-understanding/business-model", - "business-understanding/goals-and-kpis", - "business-understanding/benchmark", - "research-planning/research-plan", - "research-planning/desk-research", - "research-planning/research-sample", - "research-planning/participants", - "research-qualitative/user-interviews", - "research-analysis/process-information", - "research-analysis/experience-mapping", - "research-analysis/identify-patterns", - "research-analysis/synthesize-results", - "research-analysis/ai-analysis", - "design-concept/define-mvp", - "design-concept/design-references", - "design-concept/ideate", - "design-concept/prioritize-ideas", - "interaction-design/user-flows", - "interaction-design/usability", - "interaction-design/information-architecture", - "content-design/micro-content", - "interface-design/visual-design", - "interface-design/accesibility", - "design-prototype/basic-prototypes", - "design-prototype/high-fidelity", - "usability-analysis/moderated-testing", - "usability-analysis/heuristic-analysis", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-specs/file-organization", - "design-specs/use-cases", - "design-specs/project-documentation", - "design-systems/atomic-design" + { + "id": "agile-planning/workplan" + }, + { + "id": "agile-planning/tasks" + }, + { + "id": "business-understanding/business-model" + }, + { + "id": "business-understanding/goals-and-kpis" + }, + { + "id": "business-understanding/benchmark" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/desk-research" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "research-qualitative/user-interviews" + }, + { + "id": "research-analysis/process-information" + }, + { + "id": "research-analysis/experience-mapping" + }, + { + "id": "research-analysis/identify-patterns" + }, + { + "id": "research-analysis/synthesize-results" + }, + { + "id": "research-analysis/ai-analysis" + }, + { + "id": "design-concept/define-mvp" + }, + { + "id": "design-concept/design-references" + }, + { + "id": "design-concept/ideate" + }, + { + "id": "design-concept/prioritize-ideas" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interaction-design/usability" + }, + { + "id": "interaction-design/information-architecture" + }, + { + "id": "content-design/micro-content" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "interface-design/accesibility" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "design-prototype/high-fidelity" + }, + { + "id": "usability-analysis/moderated-testing" + }, + { + "id": "usability-analysis/heuristic-analysis" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/use-cases" + }, + { + "id": "design-specs/project-documentation" + }, + { + "id": "design-systems/atomic-design" + } ], "intl": { "es": { @@ -623,48 +1280,117 @@ "slug": "uxploradoras", "repo": "Laboratoria/curriculum", "path": "projects/02-uxploradoras", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:53.021Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:00.080Z", "prefix": 2, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "agile-planning/scope", - "agile-planning/workplan", - "agile-planning/tasks", - "business-understanding/benchmark", - "design-concept/design-references", - "design-concept/ideate", - "design-concept/prioritize-ideas", - "interaction-design/user-flows", - "interaction-design/usability", - "interaction-design/information-architecture", - "interface-design/visual-design", - "interface-design/accesibility", - "interface-design/responsive-design", - "interface-design/ai-proposals", - "content-design/voice-tone", - "content-design/micro-content", - "content-design/ai-content", - "content-design/visual-content", - "design-prototype/basic-prototypes", - "design-prototype/high-fidelity", - "design-prototype/ai-plugins", - "research-planning/research-plan", - "research-planning/research-sample", - "research-planning/participants", - "usability-analysis/non-moderated-testing", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-pitch/ai-presentations", - "design-specs/file-organization", - "design-specs/use-cases", - "design-specs/project-documentation", - "design-systems/atomic-design", - "design-systems/design-system" + { + "id": "agile-planning/scope" + }, + { + "id": "agile-planning/workplan" + }, + { + "id": "agile-planning/tasks" + }, + { + "id": "business-understanding/benchmark" + }, + { + "id": "design-concept/design-references" + }, + { + "id": "design-concept/ideate" + }, + { + "id": "design-concept/prioritize-ideas" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interaction-design/usability" + }, + { + "id": "interaction-design/information-architecture" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "interface-design/accesibility" + }, + { + "id": "interface-design/responsive-design" + }, + { + "id": "interface-design/ai-proposals" + }, + { + "id": "content-design/voice-tone" + }, + { + "id": "content-design/micro-content" + }, + { + "id": "content-design/ai-content" + }, + { + "id": "content-design/visual-content" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "design-prototype/high-fidelity" + }, + { + "id": "design-prototype/ai-plugins" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "usability-analysis/non-moderated-testing" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-pitch/ai-presentations" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/use-cases" + }, + { + "id": "design-specs/project-documentation" + }, + { + "id": "design-systems/atomic-design" + }, + { + "id": "design-systems/design-system" + } ], "intl": { "es": { @@ -679,33 +1405,72 @@ "slug": "uxploradoras-ui", "repo": "Laboratoria/curriculum", "path": "projects/02-uxploradoras-ui", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:53.017Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:00.165Z", "prefix": 2, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "deprecated" + ], "learningObjectives": [ - "agile-planning/scope", - "agile-planning/workplan", - "agile-planning/tasks", - "research-planning/research-plan", - "research-planning/research-sample", - "research-planning/participants", - "content-design/voice-tone", - "content-design/micro-content", - "interface-design/visual-design", - "interface-design/accesibility", - "design-prototype/basic-prototypes", - "usability-analysis/non-moderated-testing", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-specs/file-organization", - "design-specs/use-cases", - "design-specs/project-documentation", - "design-systems/atomic-design" + { + "id": "agile-planning/scope" + }, + { + "id": "agile-planning/workplan" + }, + { + "id": "agile-planning/tasks" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "content-design/voice-tone" + }, + { + "id": "content-design/micro-content" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "interface-design/accesibility" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "usability-analysis/non-moderated-testing" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/use-cases" + }, + { + "id": "design-specs/project-documentation" + }, + { + "id": "design-systems/atomic-design" + } ], "intl": { "es": { @@ -720,56 +1485,141 @@ "slug": "dataverse-chat", "repo": "Laboratoria/curriculum", "path": "projects/03-dataverse-chat", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:53.182Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:03.539Z", "prefix": 3, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "css/grid", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "browser/routing", - "browser/storage", - "browser/fetch", - "js/async/callbacks", - "js/async/promises", - "js/semantics", - "js/variables", - "js/functions", - "js/conditionals", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/expression-vs-statement", - "js/loops", - "js/modules/es-modules", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "http/headers", - "http/request-response", - "http/status-codes", - "ai-prompting/priming-chatbots", - "ai-prompting/open-ai-api", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "css/grid" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "browser/routing" + }, + { + "id": "browser/storage" + }, + { + "id": "browser/fetch" + }, + { + "id": "js/async/callbacks" + }, + { + "id": "js/async/promises" + }, + { + "id": "js/semantics" + }, + { + "id": "js/variables" + }, + { + "id": "js/functions" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "js/loops" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "http/headers" + }, + { + "id": "http/request-response" + }, + { + "id": "http/status-codes" + }, + { + "id": "ai-prompting/priming-chatbots" + }, + { + "id": "ai-prompting/open-ai-api" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + } ], "intl": { "es": { @@ -788,190 +1638,446 @@ "slug": "design-lab", "repo": "Laboratoria/curriculum", "path": "projects/03-design-lab", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:56.801Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:02.759Z", "prefix": 3, "track": "ux", "tracks": [ "ux" ], - "learningObjectives": [ - "agile-planning/scope", - "agile-planning/workplan", - "agile-planning/tasks", - "business-understanding/business-model", - "business-understanding/goals-and-kpis", - "business-understanding/benchmark", - "research-planning/research-plan", - "research-planning/desk-research", - "research-planning/research-sample", - "research-planning/participants", - "research-qualitative/user-interviews", - "research-qualitative/exploratory-techniques", - "research-quantitative/user-surveys", - "research-quantitative/analytical-techniques", - "research-analysis/process-information", - "research-analysis/experience-mapping", - "research-analysis/identify-patterns", - "research-analysis/synthesize-results", - "research-analysis/ai-analysis", - "design-concept/define-mvp", - "design-concept/design-references", - "design-concept/ideate", - "design-concept/prioritize-ideas", - "interaction-design/user-flows", - "interaction-design/usability", - "interaction-design/information-architecture", - "content-design/voice-tone", - "content-design/micro-content", - "content-design/ai-content", - "content-design/visual-content", - "interface-design/visual-design", - "interface-design/accesibility", - "interface-design/responsive-design", - "interface-design/ai-proposals", - "design-prototype/basic-prototypes", - "design-prototype/high-fidelity", - "design-prototype/advanced-interactions", - "design-prototype/ai-plugins", - "usability-analysis/moderated-testing", - "usability-analysis/heuristic-analysis", - "usability-analysis/non-moderated-testing", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-pitch/ai-presentations", - "design-specs/file-organization", - "design-specs/use-cases", - "design-specs/project-documentation", - "design-systems/atomic-design", - "design-systems/design-system" - ], - "intl": { - "es": { - "title": "Design Lab", - "summary": "

Podrás elegir entre resolver un reto de uno de los sectores que más perfiles de\nUX contrata o de un sector innovador donde el rol de UX se está volviendo cada\nvez más importante.

" - } - }, - "cover": "https://raw.githubusercontent.com/Laboratoria/bootcamp/main/projects/03-design-lab/thumb.png", - "thumb": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAPACAYAAADUtWS5AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAFaVSURBVHgB7N3Lk1VVmjfg5RVFIZOyDcMQGhi2GAGOSpkIg1ZmYIRSQ6DUMZeaN8kfIOBYq9RhY0UIM7QH4gSrR2KE2kOTSvhs2wuZoHiH77wbN6ZIQubJs/bZe53niTiRyS05ue+5fut91y2Xz669nAAAAAAAAADovFsTAAAAAAAAAEUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQ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ABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMA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EQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABBx4P6to/cHAAAAAAAAAEvPCWAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIj4D3PqiG/D9mUEAAAAAElFTkSuQmCC" - }, - { - "slug": "movie-challenge", - "repo": "Laboratoria/curriculum", - "path": "projects/03-movie-challenge", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:57.008Z", - "prefix": 3, - "track": "web-dev", - "tracks": [ - "web-dev" + "tags": [ + "featured" ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "browser/fetch", - "browser/routing", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/async/callbacks", - "js/async/promises", - "js/testing/unit", - "js/testing/mocks", - "js/testing/async", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "http/request-response", - "http/headers", - "http/status-codes", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test" - ], - "intl": { - "es": { - "title": "Movie Challenge", - "summary": "

En este proyecto, crearás una página web para ver, filtrar y ordenar el\ncatálogo de peliculas de la The Movie Database API V3.\nEsta página puede servir como un catálogo de películas general, pero también si\nud quiere, puede considerar la posibilidad de diseñarlo para un público en\nespecífico con preferencias como \"películas occidentales\" o \"películas de los\n80\", por ejemplo.

" + { + "id": "agile-planning/scope" }, - "pt": { - "title": "Projeto de extensão: Movie Challenge", - "summary": "

Neste projeto, você criará uma página da web destinada a visualizar, filtrar e\nordenar o catálogo de filmes da The Movie Database API V3\nEsta página pode servir como um catálogo de filmes geral, mas também, se você\nquiser, pode considerar a possibilidade de projetá-la para um público específico\ncom preferências como \"filmes western\" ou \"filmes dos anos 80\", por exemplo.

" - } - }, - "cover": "https://live.staticflickr.com/117/257368762_38bf6fcf9f_h.jpg", - "thumb": "data:image/png;base64,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" - }, - { - "slug": "social-network", - "repo": "Laboratoria/curriculum", - "path": "projects/03-social-network", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:57.099Z", + { + "id": "agile-planning/workplan" + }, + { + "id": "agile-planning/tasks" + }, + { + "id": "business-understanding/business-model" + }, + { + "id": "business-understanding/goals-and-kpis" + }, + { + "id": "business-understanding/benchmark" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/desk-research" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "research-qualitative/user-interviews" + }, + { + "id": "research-qualitative/exploratory-techniques" + }, + { + "id": "research-quantitative/user-surveys" + }, + { + "id": "research-quantitative/analytical-techniques" + }, + { + "id": "research-analysis/process-information" + }, + { + "id": "research-analysis/experience-mapping" + }, + { + "id": "research-analysis/identify-patterns" + }, + { + "id": "research-analysis/synthesize-results" + }, + { + "id": "research-analysis/ai-analysis" + }, + { + "id": "design-concept/define-mvp" + }, + { + "id": "design-concept/design-references" + }, + { + "id": "design-concept/ideate" + }, + { + "id": "design-concept/prioritize-ideas" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interaction-design/usability" + }, + { + "id": "interaction-design/information-architecture" + }, + { + "id": "content-design/voice-tone" + }, + { + "id": "content-design/micro-content" + }, + { + "id": "content-design/ai-content" + }, + { + "id": "content-design/visual-content" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "interface-design/accesibility" + }, + { + "id": "interface-design/responsive-design" + }, + { + "id": "interface-design/ai-proposals" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "design-prototype/high-fidelity" + }, + { + "id": "design-prototype/advanced-interactions" + }, + { + "id": "design-prototype/ai-plugins" + }, + { + "id": "usability-analysis/moderated-testing" + }, + { + "id": "usability-analysis/heuristic-analysis" + }, + { + "id": "usability-analysis/non-moderated-testing" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-pitch/ai-presentations" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/use-cases" + }, + { + "id": "design-specs/project-documentation" + }, + { + "id": "design-systems/atomic-design" + }, + { + "id": "design-systems/design-system" + } + ], + "intl": { + "es": { + "title": "Design Lab", + "summary": "

Podrás elegir entre resolver un reto de uno de los sectores que más perfiles de\nUX contrata o de un sector innovador donde el rol de UX se está volviendo cada\nvez más importante.

" + } + }, + "cover": "https://raw.githubusercontent.com/Laboratoria/bootcamp/main/projects/03-design-lab/thumb.png", + "thumb": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAPACAYAAADUtWS5AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAFaVSURBVHgB7N3Lk1VVmjfg5RVFIZOyDcMQGhi2GAGOSpkIg1ZmYIRSQ6DUMZeaN8kfIOBYq9RhY0UIM7QH4gSrR2KE2kOTSvhs2wuZoHiH77wbN6ZIQubJs/bZe53niTiRyS05ue+5fut91y2Xz669nAAAAAAAAADovFsTAAAAAAAAAEUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQCAEwAAAAAAAAQCEEwAAAAAAAAACFEAADAAAAAAAAFEIADAAAAAAAAFAIATAAAAAAAABAIQTAAAAAAAAAAIUQAAMAAAAAAAAUQgAMAAAAAAAAUAgBMAAAAAAAAEAhBMAAAAAAAAAAhRAAAwAAAAAAABRCAAwAAAAAAABQ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ABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMA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EQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABAhAAMAAAAAAABECMAAAAAAAAAAEQIwAAAAAAAAQIQADAAAAAAAABBx4P6to/cHAAAAAAAAAEvPCWAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIgQgAEAAAAAAAAiBGAAAAAAAACACAEYAAAAAAAAIEIABgAAAAAAAIj4D3PqiG/D9mUEAAAAAElFTkSuQmCC" + }, + { + "slug": "movie-challenge", + "repo": "Laboratoria/curriculum", + "path": "projects/03-movie-challenge", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:03.047Z", + "prefix": 3, + "track": "web-dev", + "tracks": [ + "web-dev" + ], + "learningObjectives": [ + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "browser/fetch" + }, + { + "id": "browser/routing" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/async/callbacks" + }, + { + "id": "js/async/promises" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "http/request-response" + }, + { + "id": "http/headers" + }, + { + "id": "http/status-codes" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + } + ], + "intl": { + "es": { + "title": "Movie Challenge", + "summary": "

En este proyecto, crearás una página web para ver, filtrar y ordenar el\ncatálogo de peliculas de la The Movie Database API V3.\nEsta página puede servir como un catálogo de películas general, pero también si\nud quiere, puede considerar la posibilidad de diseñarlo para un público en\nespecífico con preferencias como \"películas occidentales\" o \"películas de los\n80\", por ejemplo.

" + }, + "pt": { + "title": "Projeto de extensão: Movie Challenge", + "summary": "

Neste projeto, você criará uma página da web destinada a visualizar, filtrar e\nordenar o catálogo de filmes da The Movie Database API V3\nEsta página pode servir como um catálogo de filmes geral, mas também, se você\nquiser, pode considerar a possibilidade de projetá-la para um público específico\ncom preferências como \"filmes western\" ou \"filmes dos anos 80\", por exemplo.

" + } + }, + "cover": "https://live.staticflickr.com/117/257368762_38bf6fcf9f_h.jpg", + "thumb": "data:image/png;base64,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" + }, + { + "slug": "social-network", + "repo": "Laboratoria/curriculum", + "path": "projects/03-social-network", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:03.379Z", "prefix": 3, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "deprecated" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "css/grid", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "browser/routing", - "js/data-types/arrays", - "js/data-types/objects", - "js/data-types/primitive-vs-non-primitive", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "js/async/callbacks", - "js/async/promises", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "scm/github/project-management", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test", - "firebase/auth", - "firebase/firestore" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "css/grid" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "browser/routing" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "js/async/callbacks" + }, + { + "id": "js/async/promises" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + }, + { + "id": "firebase/auth" + }, + { + "id": "firebase/firestore" + } ], "intl": { "es": { @@ -990,40 +2096,93 @@ "slug": "uxploradoras-ux", "repo": "Laboratoria/curriculum", "path": "projects/03-uxploradoras-ux", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:59.559Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:03.084Z", "prefix": 3, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "deprecated" + ], "learningObjectives": [ - "agile-planning/scope", - "agile-planning/workplan", - "agile-planning/tasks", - "research-planning/research-plan", - "research-planning/desk-research", - "research-planning/research-sample", - "research-planning/participants", - "research-quantitative/user-surveys", - "research-quantitative/analytical-techniques", - "research-analysis/process-information", - "research-analysis/experience-mapping", - "research-analysis/identify-patterns", - "research-analysis/synthesize-results", - "research-analysis/ai-analysis", - "interaction-design/user-flows", - "interaction-design/usability", - "interaction-design/information-architecture", - "content-design/voice-tone", - "content-design/micro-content", - "design-prototype/basic-prototypes", - "usability-analysis/non-moderated-testing", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-specs/file-organization", - "design-specs/project-documentation" + { + "id": "agile-planning/scope" + }, + { + "id": "agile-planning/workplan" + }, + { + "id": "agile-planning/tasks" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/desk-research" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "research-quantitative/user-surveys" + }, + { + "id": "research-quantitative/analytical-techniques" + }, + { + "id": "research-analysis/process-information" + }, + { + "id": "research-analysis/experience-mapping" + }, + { + "id": "research-analysis/identify-patterns" + }, + { + "id": "research-analysis/synthesize-results" + }, + { + "id": "research-analysis/ai-analysis" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interaction-design/usability" + }, + { + "id": "interaction-design/information-architecture" + }, + { + "id": "content-design/voice-tone" + }, + { + "id": "content-design/micro-content" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "usability-analysis/non-moderated-testing" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/project-documentation" + } ], "intl": { "es": { @@ -1038,62 +2197,159 @@ "slug": "burger-queen-api", "repo": "Laboratoria/curriculum", "path": "projects/04-burger-queen-api", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:59.634Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:03.199Z", "prefix": 4, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "hidden" + ], "learningObjectives": [ - "node/npm-install", - "node/package.json", - "node/npm-scripts", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/testing/e2e", - "js/modules/es-modules", - "js/modules/commonjs", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "scm/github/project-management", - "express/routing", - "express/middleware", - "http/request-response", - "http/headers", - "http/body", - "http/verbs", - "http/status-codes", - "http/json", - "http/cors", - "auth/jwt", - "auth/password-access-and-storage", - "webops/env-vars", - "webops/docker-containers", - "webops/docker-compose", - "webops/cloud-functions", - "mongodb/crud", - "mongodb/schemas", - "mongodb/dump-restore", - "postgres/psql", - "postgres/data-types", - "postgres/dump-restore", - "mysql/mysql", - "mysql/data-types", - "mysql/dump-restore", - "db/modeling", - "db/connection", - "sql/tables", - "sql/crud", - "sql/drop" + { + "id": "node/npm-install" + }, + { + "id": "node/package.json" + }, + { + "id": "node/npm-scripts" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/testing/e2e" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/modules/commonjs" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "express/routing" + }, + { + "id": "express/middleware" + }, + { + "id": "http/request-response" + }, + { + "id": "http/headers" + }, + { + "id": "http/body" + }, + { + "id": "http/verbs" + }, + { + "id": "http/status-codes" + }, + { + "id": "http/json" + }, + { + "id": "http/cors" + }, + { + "id": "auth/jwt" + }, + { + "id": "auth/password-access-and-storage" + }, + { + "id": "webops/env-vars" + }, + { + "id": "webops/docker-containers" + }, + { + "id": "webops/docker-compose" + }, + { + "id": "webops/cloud-functions" + }, + { + "id": "mongodb/crud" + }, + { + "id": "mongodb/schemas" + }, + { + "id": "mongodb/dump-restore" + }, + { + "id": "postgres/psql" + }, + { + "id": "postgres/data-types" + }, + { + "id": "postgres/dump-restore" + }, + { + "id": "mysql/mysql" + }, + { + "id": "mysql/data-types" + }, + { + "id": "mysql/dump-restore" + }, + { + "id": "db/modeling" + }, + { + "id": "db/connection" + }, + { + "id": "sql/tables" + }, + { + "id": "sql/crud" + }, + { + "id": "sql/drop" + } ], "intl": { "es": { @@ -1112,136 +2368,327 @@ "slug": "burger-queen-api-client", "repo": "Laboratoria/curriculum", "path": "projects/04-burger-queen-api-client", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:59.650Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:03.268Z", "prefix": 4, "track": "web-dev", "tracks": [ "web-dev" ], - "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "css/grid", - "css/media-queries", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "scm/github/project-management", - "http/request-response", - "http/headers", - "http/body", - "http/verbs", - "http/status-codes", - "http/json", - "http/cors", - "angular/components-and-templates", - "angular/component-lifecycle", - "angular/structural-directives", - "angular/input-output", - "angular/services", - "angular/routing", - "angular/observables", - "angular/http-client", - "angular/styles", - "react/jsx", - "react/components", - "react/events", - "react/lists-and-keys", - "react/conditional-rendering", - "react/lifting-up-state", - "react/hooks", - "react/css-modules", - "react/routing", - "vue/instance", - "vue/data-and-methods", - "vue/components", - "vue/props", - "vue/directives", - "vue/iteration", - "vue/events", - "vue/computed-props-and-observers", - "vue/routing", - "vue/classes-and-styles", - "typescript/basic-types/primitives", - "typescript/basic-types/arrays", - "typescript/basic-types/functions", - "typescript/basic-types/object-types/optional-properties", - "typescript/basic-types/union-types", - "typescript/basic-types/interfaces", - "typescript/basic-types/enums", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test" + "tags": [ + "featured" ], - "intl": { - "es": { - "title": "Burger Queen (API Client)", - "summary": "

Un pequeño restaurante de hamburguesas, que está creciendo, necesita un\nsistema a través del cual puedan tomar pedidos usando una tablet, y enviarlos\na la cocina para que se preparen ordenada y eficientemente.

" + "learningObjectives": [ + { + "id": "html/semantics" }, - "pt": { - "title": "Burger Queen (API Client)", - "summary": "

Um pequeno restaurante de hambúrgueres, que está crescendo, necessita uma\ninterface em que se possa realizar pedidos utilizando um tablet, e enviá-los\npara a cozinha para que sejam preparados de forma ordenada e eficiente.

" - } - }, - "cover": "https://user-images.githubusercontent.com/110297/42118136-996b4a52-7bc6-11e8-8a03-ada078754715.jpg", - "thumb": "data:image/png;base64,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" - }, - { - "slug": "md-links", - "repo": "Laboratoria/curriculum", - "path": "projects/04-md-links", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:02.652Z", - "prefix": 4, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "css/grid" + }, + { + "id": "css/media-queries" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "http/request-response" + }, + { + "id": "http/headers" + }, + { + "id": "http/body" + }, + { + "id": "http/verbs" + }, + { + "id": "http/status-codes" + }, + { + "id": "http/json" + }, + { + "id": "http/cors" + }, + { + "id": "angular/components-and-templates" + }, + { + "id": "angular/component-lifecycle" + }, + { + "id": "angular/structural-directives" + }, + { + "id": "angular/input-output" + }, + { + "id": "angular/services" + }, + { + "id": "angular/routing" + }, + { + "id": "angular/observables" + }, + { + "id": "angular/http-client" + }, + { + "id": "angular/styles" + }, + { + "id": "react/jsx" + }, + { + "id": "react/components" + }, + { + "id": "react/events" + }, + { + "id": "react/lists-and-keys" + }, + { + "id": "react/conditional-rendering" + }, + { + "id": "react/lifting-up-state" + }, + { + "id": "react/hooks" + }, + { + "id": "react/css-modules" + }, + { + "id": "react/routing" + }, + { + "id": "vue/instance" + }, + { + "id": "vue/data-and-methods" + }, + { + "id": "vue/components" + }, + { + "id": "vue/props" + }, + { + "id": "vue/directives" + }, + { + "id": "vue/iteration" + }, + { + "id": "vue/events" + }, + { + "id": "vue/computed-props-and-observers" + }, + { + "id": "vue/routing" + }, + { + "id": "vue/classes-and-styles" + }, + { + "id": "typescript/basic-types/primitives" + }, + { + "id": "typescript/basic-types/arrays" + }, + { + "id": "typescript/basic-types/functions" + }, + { + "id": "typescript/basic-types/object-types/optional-properties" + }, + { + "id": "typescript/basic-types/union-types" + }, + { + "id": "typescript/basic-types/interfaces" + }, + { + "id": "typescript/basic-types/enums" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + } + ], + "intl": { + "es": { + "title": "Burger Queen (API Client)", + "summary": "

Un pequeño restaurante de hamburguesas, que está creciendo, necesita un\nsistema a través del cual puedan tomar pedidos usando una tablet, y enviarlos\na la cocina para que se preparen ordenada y eficientemente.

" + }, + "pt": { + "title": "Burger Queen (API Client)", + "summary": "

Um pequeno restaurante de hambúrgueres, que está crescendo, necessita uma\ninterface em que se possa realizar pedidos utilizando um tablet, e enviá-los\npara a cozinha para que sejam preparados de forma ordenada e eficiente.

" + } + }, + "cover": "https://user-images.githubusercontent.com/110297/42118136-996b4a52-7bc6-11e8-8a03-ada078754715.jpg", + "thumb": "data:image/png;base64,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" + }, + { + "slug": "md-links", + "repo": "Laboratoria/curriculum", + "path": "projects/04-md-links", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:06.278Z", + "prefix": 4, "track": "web-dev", "tracks": [ "web-dev" ], "learningObjectives": [ - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/conditionals", - "js/functions", - "js/recursion", - "js/modules/commonjs", - "js/expression-vs-statement", - "js/async/callbacks", - "js/async/promises", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/testing/compatibility", - "js/linting", - "js/semantics", - "node/npm-install", - "node/package.json", - "node/npm-scripts", - "node/process", - "node/filesystem", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/collaboration", - "scm/github/project-management", - "http/request-response", - "http/status-codes" + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/functions" + }, + { + "id": "js/recursion" + }, + { + "id": "js/modules/commonjs" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "js/async/callbacks" + }, + { + "id": "js/async/promises" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/testing/compatibility" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "node/npm-install" + }, + { + "id": "node/package.json" + }, + { + "id": "node/npm-scripts" + }, + { + "id": "node/process" + }, + { + "id": "node/filesystem" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "http/request-response" + }, + { + "id": "http/status-codes" + } ], "intl": { "es": { @@ -1260,70 +2707,183 @@ "slug": "notes", "repo": "Laboratoria/curriculum", "path": "projects/04-notes", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:02.373Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:06.014Z", "prefix": 4, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "hidden" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "css/grid", - "css/media-queries", - "js/data-types/arrays", - "js/data-types/objects", - "js/data-types/primitive-vs-non-primitive", - "js/conditionals", - "js/functions", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "firebase/auth", - "firebase/firestore", - "angular/components-and-templates", - "angular/component-lifecycle", - "angular/structural-directives", - "angular/input-output", - "angular/services", - "angular/routing", - "angular/observables", - "angular/http-client", - "angular/styles", - "react/jsx", - "react/components", - "react/events", - "react/lists-and-keys", - "react/conditional-rendering", - "react/lifting-up-state", - "react/hooks", - "react/css-modules", - "react/routing", - "vue/instance", - "vue/data-and-methods", - "vue/components", - "vue/props", - "vue/directives", - "vue/iteration", - "vue/events", - "vue/computed-props-and-observers", - "vue/routing", - "vue/classes-and-styles" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "css/grid" + }, + { + "id": "css/media-queries" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "firebase/auth" + }, + { + "id": "firebase/firestore" + }, + { + "id": "angular/components-and-templates" + }, + { + "id": "angular/component-lifecycle" + }, + { + "id": "angular/structural-directives" + }, + { + "id": "angular/input-output" + }, + { + "id": "angular/services" + }, + { + "id": "angular/routing" + }, + { + "id": "angular/observables" + }, + { + "id": "angular/http-client" + }, + { + "id": "angular/styles" + }, + { + "id": "react/jsx" + }, + { + "id": "react/components" + }, + { + "id": "react/events" + }, + { + "id": "react/lists-and-keys" + }, + { + "id": "react/conditional-rendering" + }, + { + "id": "react/lifting-up-state" + }, + { + "id": "react/hooks" + }, + { + "id": "react/css-modules" + }, + { + "id": "react/routing" + }, + { + "id": "vue/instance" + }, + { + "id": "vue/data-and-methods" + }, + { + "id": "vue/components" + }, + { + "id": "vue/props" + }, + { + "id": "vue/directives" + }, + { + "id": "vue/iteration" + }, + { + "id": "vue/events" + }, + { + "id": "vue/computed-props-and-observers" + }, + { + "id": "vue/routing" + }, + { + "id": "vue/classes-and-styles" + } ], "intl": { "es": { @@ -1338,69 +2898,180 @@ "slug": "chat-app", "repo": "Laboratoria/curriculum", "path": "projects/05-chat-app", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:02.466Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:05.783Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "beta" + ], "learningObjectives": [ - "js/async/callbacks", - "js/async/promises", - "js/testing/unit", - "js/testing/e2e", - "auth/jwt", - "auth/password-access-and-storage", - "http/request-response", - "http/verbs", - "http/cors", - "express/routing", - "express/middleware", - "socket-io/client", - "socket-io/server", - "react/jsx", - "react/components", - "react/events", - "react/lists-and-keys", - "react/conditional-rendering", - "react/lifting-up-state", - "react/hooks", - "react/css-modules", - "react/routing", - "vue/instance", - "vue/data-and-methods", - "vue/components", - "vue/props", - "vue/directives", - "vue/iteration", - "vue/events", - "vue/computed-props-and-observers", - "vue/routing", - "vue/classes-and-styles", - "angular/components-and-templates", - "angular/component-lifecycle", - "angular/structural-directives", - "angular/input-output", - "angular/services", - "angular/routing", - "angular/observables", - "angular/http-client", - "angular/styles", - "cicd/build-pipelines", - "cicd/service-deployment", - "cicd/tbd", - "cicd/test-coverage", - "cicd/integration-tests", - "postgres/psql", - "postgres/data-types", - "postgres/dump-restore", - "db/modeling", - "db/connection", - "sql/tables", - "sql/crud", - "sql/drop" + { + "id": "js/async/callbacks" + }, + { + "id": "js/async/promises" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/e2e" + }, + { + "id": "auth/jwt" + }, + { + "id": "auth/password-access-and-storage" + }, + { + "id": "http/request-response" + }, + { + "id": "http/verbs" + }, + { + "id": "http/cors" + }, + { + "id": "express/routing" + }, + { + "id": "express/middleware" + }, + { + "id": "socket-io/client" + }, + { + "id": "socket-io/server" + }, + { + "id": "react/jsx" + }, + { + "id": "react/components" + }, + { + "id": "react/events" + }, + { + "id": "react/lists-and-keys" + }, + { + "id": "react/conditional-rendering" + }, + { + "id": "react/lifting-up-state" + }, + { + "id": "react/hooks" + }, + { + "id": "react/css-modules" + }, + { + "id": "react/routing" + }, + { + "id": "vue/instance" + }, + { + "id": "vue/data-and-methods" + }, + { + "id": "vue/components" + }, + { + "id": "vue/props" + }, + { + "id": "vue/directives" + }, + { + "id": "vue/iteration" + }, + { + "id": "vue/events" + }, + { + "id": "vue/computed-props-and-observers" + }, + { + "id": "vue/routing" + }, + { + "id": "vue/classes-and-styles" + }, + { + "id": "angular/components-and-templates" + }, + { + "id": "angular/component-lifecycle" + }, + { + "id": "angular/structural-directives" + }, + { + "id": "angular/input-output" + }, + { + "id": "angular/services" + }, + { + "id": "angular/routing" + }, + { + "id": "angular/observables" + }, + { + "id": "angular/http-client" + }, + { + "id": "angular/styles" + }, + { + "id": "cicd/build-pipelines" + }, + { + "id": "cicd/service-deployment" + }, + { + "id": "cicd/tbd" + }, + { + "id": "cicd/test-coverage" + }, + { + "id": "cicd/integration-tests" + }, + { + "id": "postgres/psql" + }, + { + "id": "postgres/data-types" + }, + { + "id": "postgres/dump-restore" + }, + { + "id": "db/modeling" + }, + { + "id": "db/connection" + }, + { + "id": "sql/tables" + }, + { + "id": "sql/crud" + }, + { + "id": "sql/drop" + } ], "intl": { "es": { @@ -1415,339 +3086,1059 @@ "slug": "fleet-management-api", "repo": "Laboratoria/curriculum", "path": "projects/05-fleet-management-api", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:05.659Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:06.138Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "http/request-response", - "http/headers", - "http/body", - "http/verbs", - "http/status-codes", - "http/json", - "http/cors", - "auth/jwt", - "auth/password-access-and-storage", - "java/access-modifiers", - "java/variables", - "java/conditionals", - "java/loops", - "java/data-types/primitive", - "java/data-types/primitive-vs-non-primitive", - "java/data-types/strings", - "java/data-types/arrays", - "java/collections/array-list", - "java/collections/hash-map", - "java/collections/hash-set", - "java/testing/junit", - "java/testing/mockito", - "java/spring-framework/core-concepts/beans", - "java/spring-framework/core-concepts/inversion-of-control", - "java/spring-framework/core-concepts/annotations", - "java/spring-framework/initializr", - "java/spring-framework/spring-boot", - "java/spring-framework/controllers", - "java/spring-framework/services", - "java/spring-framework/spring-data-jpa", - "java/spring-framework/entity", - "java/spring-framework/repository", - "java/spring-framework/spring-web/rest-controller", - "java/spring-framework/spring-web/request-mapping", - "java/spring-framework/spring-web/request-param", - "java/spring-framework/testing/spring-test", - "java/spring-framework/testing/hamcrest", - "java/hibernate-orm/setup", - "java/hibernate-orm/schema", - "java/hibernate-orm/entity", - "java/hibernate-orm/table", - "java/hibernate-orm/column", - "java/hibernate-orm/identifiers", - "java/hibernate-orm/associations", - "java/hibernate-orm/collections", - "java/hibernate-orm/persistance", - "java/hibernate-orm/querying", - "python/data-types/primitive", - "python/data-types/lists", - "python/data-types/tuples", - "python/data-types/dictionaries", - "python/data-types/sets", - "python/variables", - "python/conditionals", - "python/operators", - "python/docstrings", - "python/functions/basic-concepts", - "python/functions/args-kwargs", - "python/functions/closures", - "python/functions/lambda-functions", - "python/functions/decorators", - "python/iteration/loops", - "python/iteration/list-comprehension", - "python/iteration/functional-techniques", - "python/linting", - "python/testing/unit-tests", - "python/testing/mocks", - "python/testing/fixtures", - "python/modularization/modules", - "python/modularization/packages", - "python/dependency-management/pip", - "python/dependency-management/virtual-environment", - "python/dependency-management/requirements-file", - "python/serialization", - "python/flask/routes/route-decorator", - "python/flask/routes/view-function", - "python/flask/routes/variable-rules", - "python/flask/request/args", - "python/flask/request/headers", - "python/flask/response/response-parts", - "python/flask/response/jsonify", - "python/flask/testing/fixture-setup", - "python/flask/testing/test-client", - "python/django/setup/migrations", - "python/django/setup/app", - "python/django/models/fields", - "python/django/models/foreign-Key", - "python/django/views", - "python/django/testing", - "python/django/queryset", - "python/django/filter", - "python/django/order-by", - "python/django/url-configuration", - "python/django/rest-framework/serializers", - "python/django/rest-framework/pagination", - "python/django/rest-framework/query-params", - "python/django/rest-framework/viewset", - "python/django/rest-framework/apiview", - "csharp/data-types/primitives", - "csharp/data-types/non-primitives", - "csharp/data-types/structs", - "csharp/data-types/enums", - "csharp/data-types/anonymous-types", - "csharp/data-types/dynamic-types", - "csharp/collections/lists", - "csharp/collections/arrays", - "csharp/collections/sets", - "csharp/variables", - "csharp/conditionals", - "csharp/loops", - "csharp/operators", - "csharp/generics", - "csharp/access-modifiers", - "csharp/namespaces", - "csharp/functions/lambda-functions", - "csharp/functions/decorators", - "csharp/error-handling/try-catch", - "csharp/error-handling/throw", - "csharp/linq", - "csharp/async-await", - "csharp/.net-core", - "csharp/nuget-packages", - "csharp/testing/xunit", - "csharp/testing/mstest", - "csharp/entity-framework/code-first", - "csharp/entity-framework/models", - "csharp/entity-framework/fluent-api", - "csharp/entity-framework/controllers", - "csharp/entity-framework/migrations", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/testing/e2e", - "js/modules/es-modules", - "js/modules/commonjs", - "js/linting", - "js/semantics", - "node/npm-install", - "node/package.json", - "node/npm-scripts", - "express/routing", - "express/middleware", - "sql/crud", - "db/modeling", - "db/connection", - "postgres/data-types", - "postgres/indexes", - "object-oriented-programming/classes", - "object-oriented-programming/objects", - "object-oriented-programming/methods", - "object-oriented-programming/attributes", - "object-oriented-programming/constructors", - "object-oriented-programming/encapsulation", - "object-oriented-programming/abstraction", - "object-oriented-programming/composition", - "object-oriented-programming/interfaces", - "object-oriented-programming/inheritance", - "object-oriented-programming/unified-model-language", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/collaboration", - "scm/github/project-management", - "typescript/basic-types/primitives", - "typescript/basic-types/arrays", - "typescript/basic-types/functions", - "typescript/basic-types/object-types/optional-properties", - "typescript/basic-types/union-types", - "typescript/basic-types/interfaces", - "typescript/basic-types/enums" + { + "id": "http/request-response" + }, + { + "id": "http/headers" + }, + { + "id": "http/body" + }, + { + "id": "http/verbs" + }, + { + "id": "http/status-codes" + }, + { + "id": "http/json" + }, + { + "id": "http/cors" + }, + { + "id": "auth/jwt" + }, + { + "id": "auth/password-access-and-storage" + }, + { + "id": "sql/crud" + }, + { + "id": "db/modeling" + }, + { + "id": "db/connection" + }, + { + "id": "postgres/data-types" + }, + { + "id": "postgres/indexes" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + } + ], + "variants": [ + { + "name": "java", + "learningObjectives": [ + { + "id": "java/access-modifiers" + }, + { + "id": "java/variables" + }, + { + "id": "java/conditionals" + }, + { + "id": "java/loops" + }, + { + "id": "java/data-types/primitive" + }, + { + "id": "java/data-types/primitive-vs-non-primitive" + }, + { + "id": "java/data-types/strings" + }, + { + "id": "java/data-types/arrays" + }, + { + "id": "java/collections/array-list" + }, + { + "id": "java/collections/hash-map" + }, + { + "id": "java/collections/hash-set" + }, + { + "id": "java/testing/junit" + }, + { + "id": "java/testing/mockito" + }, + { + "id": "java/spring-framework/core-concepts/beans" + }, + { + "id": "java/spring-framework/core-concepts/inversion-of-control" + }, + { + "id": "java/spring-framework/core-concepts/annotations" + }, + { + "id": "java/spring-framework/initializr" + }, + { + "id": "java/spring-framework/spring-boot" + }, + { + "id": "java/spring-framework/controllers" + }, + { + "id": "java/spring-framework/services" + }, + { + "id": "java/spring-framework/spring-data-jpa" + }, + { + "id": "java/spring-framework/entity" + }, + { + "id": "java/spring-framework/repository" + }, + { + "id": "java/spring-framework/spring-web/rest-controller" + }, + { + "id": "java/spring-framework/spring-web/request-mapping" + }, + { + "id": "java/spring-framework/spring-web/request-param" + }, + { + "id": "java/spring-framework/testing/spring-test" + }, + { + "id": "java/spring-framework/testing/hamcrest" + }, + { + "id": "java/hibernate-orm/setup" + }, + { + "id": "java/hibernate-orm/schema" + }, + { + "id": "java/hibernate-orm/entity" + }, + { + "id": "java/hibernate-orm/table" + }, + { + "id": "java/hibernate-orm/column" + }, + { + "id": "java/hibernate-orm/identifiers" + }, + { + "id": "java/hibernate-orm/associations" + }, + { + "id": "java/hibernate-orm/collections" + }, + { + "id": "java/hibernate-orm/persistance" + }, + { + "id": "java/hibernate-orm/querying" + }, + { + "id": "object-oriented-programming/classes" + }, + { + "id": "object-oriented-programming/objects" + }, + { + "id": "object-oriented-programming/methods" + }, + { + "id": "object-oriented-programming/attributes" + }, + { + "id": "object-oriented-programming/constructors" + }, + { + "id": "object-oriented-programming/encapsulation" + }, + { + "id": "object-oriented-programming/abstraction" + }, + { + "id": "object-oriented-programming/composition" + }, + { + "id": "object-oriented-programming/interfaces" + }, + { + "id": "object-oriented-programming/inheritance" + }, + { + "id": "object-oriented-programming/unified-model-language" + } + ] + }, + { + "name": "node", + "learningObjectives": [ + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/testing/e2e" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/modules/commonjs" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "node/npm-install" + }, + { + "id": "node/package.json" + }, + { + "id": "node/npm-scripts" + }, + { + "id": "express/routing" + }, + { + "id": "express/middleware" + }, + { + "id": "typescript/basic-types/primitives" + }, + { + "id": "typescript/basic-types/arrays" + }, + { + "id": "typescript/basic-types/functions" + }, + { + "id": "typescript/basic-types/object-types/optional-properties" + }, + { + "id": "typescript/basic-types/union-types" + }, + { + "id": "typescript/basic-types/interfaces" + }, + { + "id": "typescript/basic-types/enums" + }, + { + "id": "object-oriented-programming/classes", + "optional": true + }, + { + "id": "object-oriented-programming/objects", + "optional": true + }, + { + "id": "object-oriented-programming/methods", + "optional": true + }, + { + "id": "object-oriented-programming/attributes", + "optional": true + }, + { + "id": "object-oriented-programming/constructors", + "optional": true + }, + { + "id": "object-oriented-programming/encapsulation", + "optional": true + }, + { + "id": "object-oriented-programming/abstraction", + "optional": true + }, + { + "id": "object-oriented-programming/composition", + "optional": true + }, + { + "id": "object-oriented-programming/interfaces", + "optional": true + }, + { + "id": "object-oriented-programming/inheritance", + "optional": true + }, + { + "id": "object-oriented-programming/unified-model-language", + "optional": true + } + ] + }, + { + "name": "python", + "learningObjectives": [ + { + "id": "python/data-types/primitive" + }, + { + "id": "python/data-types/lists" + }, + { + "id": "python/data-types/tuples" + }, + { + "id": "python/data-types/dictionaries" + }, + { + "id": "python/data-types/sets" + }, + { + "id": "python/variables" + }, + { + "id": "python/conditionals" + }, + { + "id": "python/operators" + }, + { + "id": "python/docstrings" + }, + { + "id": "python/functions/basic-concepts" + }, + { + "id": "python/functions/args-kwargs" + }, + { + "id": "python/functions/closures" + }, + { + "id": "python/functions/lambda-functions" + }, + { + "id": "python/functions/decorators" + }, + { + "id": "python/iteration/loops" + }, + { + "id": "python/iteration/list-comprehension" + }, + { + "id": "python/iteration/functional-techniques" + }, + { + "id": "python/linting" + }, + { + "id": "python/testing/unit-tests" + }, + { + "id": "python/testing/mocks" + }, + { + "id": "python/testing/fixtures" + }, + { + "id": "python/modularization/modules" + }, + { + "id": "python/modularization/packages" + }, + { + "id": "python/dependency-management/pip" + }, + { + "id": "python/dependency-management/virtual-environment" + }, + { + "id": "python/dependency-management/requirements-file" + }, + { + "id": "python/serialization" + }, + { + "id": "python/flask/routes/route-decorator" + }, + { + "id": "python/flask/routes/view-function" + }, + { + "id": "python/flask/routes/variable-rules" + }, + { + "id": "python/flask/request/args" + }, + { + "id": "python/flask/request/headers" + }, + { + "id": "python/flask/response/response-parts" + }, + { + "id": "python/flask/response/jsonify" + }, + { + "id": "python/flask/testing/fixture-setup" + }, + { + "id": "python/flask/testing/test-client" + }, + { + "id": "python/django/setup/migrations" + }, + { + "id": "python/django/setup/app" + }, + { + "id": "python/django/models/fields" + }, + { + "id": "python/django/models/foreign-Key" + }, + { + "id": "python/django/views" + }, + { + "id": "python/django/testing" + }, + { + "id": "python/django/queryset" + }, + { + "id": "python/django/filter" + }, + { + "id": "python/django/order-by" + }, + { + "id": "python/django/url-configuration" + }, + { + "id": "python/django/rest-framework/serializers" + }, + { + "id": "python/django/rest-framework/pagination" + }, + { + "id": "python/django/rest-framework/query-params" + }, + { + "id": "python/django/rest-framework/viewset" + }, + { + "id": "python/django/rest-framework/apiview" + }, + { + "id": "object-oriented-programming/classes", + "optional": true + }, + { + "id": "object-oriented-programming/objects", + "optional": true + }, + { + "id": "object-oriented-programming/methods", + "optional": true + }, + { + "id": "object-oriented-programming/attributes", + "optional": true + }, + { + "id": "object-oriented-programming/constructors", + "optional": true + }, + { + "id": "object-oriented-programming/encapsulation", + "optional": true + }, + { + "id": "object-oriented-programming/abstraction", + "optional": true + }, + { + "id": "object-oriented-programming/composition", + "optional": true + }, + { + "id": "object-oriented-programming/interfaces", + "optional": true + }, + { + "id": "object-oriented-programming/inheritance", + "optional": true + }, + { + "id": "object-oriented-programming/unified-model-language", + "optional": true + }, + { + "id": "sql/crud", + "exclude": true + }, + { + "id": "postgres/data-types", + "exclude": true + }, + { + "id": "postgres/indexes", + "exclude": true + } + ] + }, + { + "name": "csharp", + "learningObjectives": [ + { + "id": "csharp/data-types/primitives" + }, + { + "id": "csharp/data-types/non-primitives" + }, + { + "id": "csharp/data-types/structs" + }, + { + "id": "csharp/data-types/enums" + }, + { + "id": "csharp/data-types/anonymous-types" + }, + { + "id": "csharp/data-types/dynamic-types" + }, + { + "id": "csharp/collections/lists" + }, + { + "id": "csharp/collections/arrays" + }, + { + "id": "csharp/collections/sets" + }, + { + "id": "csharp/variables" + }, + { + "id": "csharp/conditionals" + }, + { + "id": "csharp/loops" + }, + { + "id": "csharp/operators" + }, + { + "id": "csharp/generics" + }, + { + "id": "csharp/access-modifiers" + }, + { + "id": "csharp/namespaces" + }, + { + "id": "csharp/functions/lambda-functions" + }, + { + "id": "csharp/functions/decorators" + }, + { + "id": "csharp/error-handling/try-catch" + }, + { + "id": "csharp/error-handling/throw" + }, + { + "id": "csharp/linq" + }, + { + "id": "csharp/async-await" + }, + { + "id": "csharp/.net-core" + }, + { + "id": "csharp/nuget-packages" + }, + { + "id": "csharp/testing/xunit" + }, + { + "id": "csharp/testing/mstest" + }, + { + "id": "csharp/entity-framework/code-first" + }, + { + "id": "csharp/entity-framework/models" + }, + { + "id": "csharp/entity-framework/fluent-api" + }, + { + "id": "csharp/entity-framework/controllers" + }, + { + "id": "csharp/entity-framework/migrations" + }, + { + "id": "object-oriented-programming/classes", + "optional": true + }, + { + "id": "object-oriented-programming/objects", + "optional": true + }, + { + "id": "object-oriented-programming/methods", + "optional": true + }, + { + "id": "object-oriented-programming/attributes", + "optional": true + }, + { + "id": "object-oriented-programming/constructors", + "optional": true + }, + { + "id": "object-oriented-programming/encapsulation", + "optional": true + }, + { + "id": "object-oriented-programming/abstraction", + "optional": true + }, + { + "id": "object-oriented-programming/composition", + "optional": true + }, + { + "id": "object-oriented-programming/interfaces", + "optional": true + }, + { + "id": "object-oriented-programming/inheritance", + "optional": true + }, + { + "id": "object-oriented-programming/unified-model-language", + "optional": true + } + ] + } ], "intl": { "es": { "title": "Fleet Management Software API", "summary": "

En este proyecto construirás la API REST de un\nFleet Management Software\npara consultar las ubicaciones de los vehículos de una empresa\nde taxis en Beijing, China.

" }, - "pt": { - "title": "Software de Gestão de Frota API", - "summary": "

Neste projeto, você construirá a API REST de um\nSoftware de Gestão de Frota\npara consultar as localizações dos veículos de uma empresa de táxis\nem Pequim, China.

" - } - }, - "cover": "https://firebasestorage.googleapis.com/v0/b/laboratoria-945ea.appspot.com/o/fleet-management-api-java%2Fthumb.jpg?alt=media", - "thumb": "data:image/png;base64,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" - }, - { - "slug": "fleet-management-fullstack", - "repo": "Laboratoria/curriculum", - "path": "projects/05-fleet-management-fullstack", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:05.520Z", - "prefix": 5, - "track": "web-dev", - "tracks": [ - "web-dev" - ], - "learningObjectives": [ - "node/npm-install", - "node/package.json", - "node/npm-scripts", - "node/process", - "node/filesystem", - "db/modeling", - "db/connection", - "db/indexes-constraints", - "sql/tables", - "sql/crud", - "sql/drop", - "postgres/psql", - "postgres/data-types", - "postgres/dump-restore", - "postgres/indexes", - "react/jsx", - "react/components", - "react/events", - "react/lists-and-keys", - "react/conditional-rendering", - "react/lifting-up-state", - "react/hooks", - "react/css-modules", - "react/routing", - "vue/instance", - "vue/data-and-methods", - "vue/components", - "vue/props", - "vue/directives", - "vue/iteration", - "vue/events", - "vue/computed-props-and-observers", - "vue/routing", - "vue/classes-and-styles", - "angular/components-and-templates", - "angular/component-lifecycle", - "angular/structural-directives", - "angular/input-output", - "angular/services", - "angular/routing", - "angular/observables", - "angular/http-client", - "angular/styles" - ], - "intl": { - "es": { - "title": "Fleet Management Software Fullstack", - "summary": "

En este proyecto construirás el frontend y backend de un\nFleet Management Software\npara visualizar en un mapa las ubicaciones de los vehículos de una empresa\nde taxis en Beijing, China.

" + "pt": { + "title": "Software de Gestão de Frota API", + "summary": "

Neste projeto, você construirá a API REST de um\nSoftware de Gestão de Frota\npara consultar as localizações dos veículos de uma empresa de táxis\nem Pequim, China.

" + } + }, + "cover": "https://firebasestorage.googleapis.com/v0/b/laboratoria-945ea.appspot.com/o/fleet-management-api-java%2Fthumb.jpg?alt=media", + "thumb": "data:image/png;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCADpAYsDASIAAhEBAxEB/8QAHAAAAgMBAQEBAAAAAAAAAAAABAUDBgcCAQAI/8QATRAAAgEDAwIDBQUEBQsCAwkAAQIDBAURABIhBjETQVEUImFxgQcykaGxFSPB0TM1QnLwJDQ2UmJzdJKy4fGC0hZTwhclN0NUg4Sis//EABkBAQEBAQEBAAAAAAAAAAAAAAIBAAMEBf/EAC4RAAICAQMDBAEEAgIDAAAAAAECABESAyExBEFRBRMiYXEUMkKBsdEVM5HB4f/aAAwDAQACEQMRAD8Az24266U8yvTywGLggCYKwwR557carzW29lDmpjHlgTJ/PV9q6Nqu5VMFGu2GOolhXeTnCPtyficaXXy0NaaczTOnvOoXnvk4+mumD+YclJqpV7VR3m1qiwRUcm0k5eVfP/1amprdc6u7PWVSU6SuAh8OZAMDtj3tNS8bQtIfugZ4Gc6jQtBHFLLjMqiQKBwgPYZ7k40acy5KIFXQ35DL4TUqswKBxIgbae4OSfx0sltV5nVlNUgVl2lROhHbnz0yqbhK909mVEKGLxAxznOcfhqe5NNao45p40aF3VMq3POrT+ZvjOLaL3b4Eip4KFwFC+9KDwB/e0z6Mku9r6vS9mnpjKFKSRCZdrLjBHfV2+zzpmgvlvra+4yTJT0/CrFgFsKWJP003+z/AKPtt+siXGsWSnZ3YJHE54Xy3E9zzo0/ma14lbuXV1wnu8ldbqKa11MrZmliaKYsAoHGTx25zn4ahn6pvVTTywXCruVdA5BEUscKhWVgwOV5OMabdddLUlqutPR2wyu0kIlcytxyxAA/DVXvtoltNE1TOylAygYzkkkD+OnWpVw/C6hzdT13gGnW1TtHt2hjtGfwOi/s5v1w6QoawyWx6qOocOUDYIYE/lg/lpJHSRNQQS7naonKqkYAAyxwMn89GSUcUH7hpGZlOGYDAz8Ncy7GfX0fRuo1X9tV3oNz2PELpurbpbk8GyR11BBtwQ0CzEkdjkn4+mpJurrrWJA91ira2aFiUPsqpgHHHB55GqxFFJU100UKKVRiNzHvjXLytTVHs9UirJgsNpzkawduZ5NbpW0iVYcRx1HfKu82tqRLVVI5ZWz4RwMHP8NLZaqWitPh1NBWqjFsSLCxK5+GPLXVOhqJoYYCvtExwu/hVGMknz4GuKqdGfwiwJQ43Yxn6azq7TdH1v6Ry2n3BBvwYLdL1dK2raopraY1PCeJFIxx8dc01wrI5vaK2gqXfZtIjgbHf4jXNugqa6N3SJPdZl+93weNdQyYnkgqItk0fdQc8aJ025Jnt0/WHTT9oKMfG/8Av+oU8lRdKmnemoKtEAbLNE3mMemtM6g63pLlZbfTVVHcYK6mG5gtOzIW8MoRnHYg99D3HoQWfp+jr560PVVJQCBFAVdy7jlj6KCe2ntL9lNLWUsM8l1lR5EDlRCpAyO2koZZ87X1hruWIqV2D7TOoIoYkiiogqKAA9JUEj6gc6hqOs6X2molajqiZ5WkO2mcAE/DGlly6ReC611NSytPDBK0SyFQCxHw8tJbhRm33H2OQBpAF5+Jxx+emS6i5wAUmhJro9VcLtWXCloajwyyMimNhuKgZ8vhob9tzxS1DQWqtMzIYlEkbBO+c5A+emtLQKZWgEkbBYzK7DgKvb6nOgnt9N4WVmYyeQKjGuJLE3c+70qdSmnqdKqZA1YPY8juIk/aN93gilQIO+KV8/jnTFL3NEERrRWMxAGRExH6aWCSUKziikYA8bSOfiNEwvHK65Tb/rZA93UAJOxi1/VeoIA1Vv8AN/7kyPWRO9e9tqmiDHEQjJyMY1BJf60Us0NNZqwtK4dzJGcLwBgY78DTaGlhqKCpkjmXwqfBfcnLZ8lwe/bv66VSwRtIqU5JLHBDgfljTCMJ8xuuZlw7Xl+DFsN0vaOqtaj4APIWJgcfDR0lwqKqIwx2itVm8zH2519W0VVQ0xn8COQDJI3Y0wtNOlfPsDRxKoyzupIH4DUKleZ20+r1tetNd+wiytStopUQ22rm8RMDCdu/bOMceuoLjebhUUFLT01nrNsCYEkkZyxHw8hj9NWqttSzU6TmePwclFIQksQcZx6d9Ka6iEEDSxr4pH9gLgn5aQZgKnFfT9XVUuq2B/6iOy3S50lcJauz1Jh2EHw4juz9fLTe73Kou/hUkNnr4X3o+90BAA58tCpMI5o1mpHRWON5AwOM6sUFpmEK1RSOJCMqGOGI+QGdUMx4nmfTGmfkKi01/sdNFTzU9c820jPhMSOeM/47aiu14uFTKDTW5xswVMyMTnHfjTmrsj+IcyU6sDgqxIIPn2BH56UV1JJSTmIp4m4bg0YyCBo+29T6Ters5QsBaCgfr/E4obzVwAmuoJ5HP3fBibA+edB3OCqrZZK2KnqYEIVWzETgA88effU1LVwyNIqhw0RAYMpHJGncdvqJIUjDorTfcXf54zg+nA1AGWLW63W61WZlvizv2/uLl6uopaoSww1jvHkOixEnkYwD8Dj6Z0on6hq/a2ngtLliu3L7xx8gNOamzuHK+0RZ8wMkZ0qqVmpZmiaOV9oBLJkg59NdTqtc8P8Ax7qocqaMPoesImpBDU2+sFWR7yxxZUfU6rkUot6SyVXiKhwoRkIcEljgDzGDn4Z03s8rXKaIU/ijcxU7iRtwcEnTlrK1TK5FWhMYBYsG4znGPwOt7jE1Of6YhDqVsNrlfqeoVaww0kFDVSOM+88ZUD3sjH076V0F5miqC1XQTJCARlVLHOrS9tfkLVZPxyNJ6muloInlniqCgOMhvjo+4TOr9BqaQ+SkRdPFJdbnDU0sFQiRBgfEiIzkeWvIaqWmp3jenrZircuy5IJHr6ccfDVttDy1G5kqmRAP/mEn8BohrbJJC9R+0WCAlcHcSSPr21gzXD+mbAORsTQ/MrF6v1VcEjiprc6LHjBcHkhQM/XvqGw3etopZzUUDy5UECMhcAd+/c/AaeqJTTNNFWSSLgnhmBOPrpSt9ZKmKGQViPKQqkscfrre41zP0jaYthtBLkamvqnr/YZoxgKI93OQc5yBrZYPtbtiwRLNQXBpVRVcpHgEgYJGdUSD2yopjtmkRT7yl5SNwzjj8D+GpI7dXyIGjqsryATM3lxqh2JgbQKoHYUDJTf5oquWojhDyyOZG3VEXLMcs31POheorrU3ulSBoqccq2fHT3SDn11HTUEFY9TIkkqxRSmIdiWI7n4aGuix296ZIS8jTMw97jGBnUOo3Fz3j0fXOkdfEY+b+6/zPZbdXQUQNK1Gxxgh5gMjtwQe+ktRDe5mH72miREEaKsqYUDt89WKRqpLeJvDXwgOff5GgKaqiqaM1JJVPTHOsuXFzw6mlgMmESU9BdIq01TvSzv4fh4aVRxnPkdH3L9rXqGKmnp6SGNHD7knBzj5nTIxxiCGSRXG+MPhWHGe2Tj0xoEVuy6GmhhyPDDh2fOecY7DVp5xBWX3o29XPpe3VMUNJS1cM+CY5JgMEDHcHzB0BS3+7UECU9qnrbfSouFiimhfB9SzAk6SVVzltxjjrYAI5G2B0cHk/DRdTSsJYIImVqiYnC4wFAGSSfQfDRtl2M7LonUUuo2HMZzdR3WoaCStNRXVEIKrJK8QO3OduFAHcnnQfUN2uN7t5pDQFCWBDF1OOfh8tD+xgxu6TKxXORtxyNJaO4tUqXipXJAzjI/DWzbi51botRAGK8x/CK+mp6WKSjBEG10ff5qcjtnv20unmvtQyvzEzlmbECsF9B5/4OiqSviq1aNomjljwGRscZ7aJeiBqo4ExJIQzsB7oVRjJJIPmR5HXPEnvPevXdV/2D+IC3xt2BoiL7fPcqSbeaEySSE7mkUgL8Tt/hrmogudwuSVEtvkX3do8NSfPRc1GY0d98bEAnsfLQdBdkdRIlJUMg7lUB1gCO8nVN1JsaqVc6dL3bq0S09uV2gH7suD72RjkY9DnuO2kk8PUcj7xTsrEkn90OTq2Rzw1qFo0wxIUqwwQfQ6IWzI1UIhKGIQyOdu0KvYHJ75Pw08m8zwafSPqK2oq7CrP54lesFTfLZTGH9lGZiSxdmK5JOewB0TRW+6XC4T1U9DJDJKANq+9jA9dNTaIwjMJlO0ZPu6hoBO9OJ4qQFSAQC4BOtkx2E9PUema/TUdVKv7Ev1/wCtfa7LR2+qslx9rgCMJYwCm4KVPB55BP46Ur171ZHTxRU1RHCqLjYbWXx/6i+TqsGoinj3eGFYHDA44Ppr2ko1qTUtuQJBHvkPkM5249ex9PnqguRPnMFU7yxSda1ntE872asmeaQuxWILye/G7SatNbd721xNunijGz93jPbGT8+NKnalipZpY5DJsUsB4eMkDt31PE0iUzTmhmdcZAXGTxnSOZFSKyg2J1+0bjSvNLHaahWkRoRnDDGc5IBB740nev6iHCWxNn+1Gcn6504jVK0RrCEBfJ97gD1zqZLO7RPL4kHgo3hu3f3vQDz8vTXI3xPqr1HUsfeX+RA/J7QCnrq5KVFNlqWK4QncoJOO+O+PjryG2V7K0zUdQobLFceR8s+ejq6jgpKdZIJPHIGXHhbfwz3/AC1BDcgqoslFUqH8/DGB8+eNQWIOp09c7aq1F9PVXuno6qnp7NKgnAyZSWxj0A8/y40HTxdRQ1sUxot0UbhjGE2kj0zrTuk+h6jqignrYZ6alpYnKF5VJyQMnAA7Aan6b+z6S9rUNBWwxrEV5eLvnOPP4a625nzKQGUKqrr5XwGnax+GjDG7xCT+mpIaWutAZmt883iqo4UcY+f66vXUvQFVYYYHFTDVGVtuyNMEfHv21X7nRSUdPE1TGAruVUkcnAzqMHbmd9DX/T6gdOREdTdLj7JHT01nqiFZiXlAzknOAAe3x8/TQcNdevFxU2l/C5z4aHPw7nV/svQVTe7G93E9HS0UYZszZ3Mq/eIAHbjU1h+zyqvEE0sFTTKsbBSGU9yM/po4sZ6E6/U0wVU0DZr8zPqtK65KsEdsqYmzkMwGOxHkfjpzd7xTwNGsvjrJHHFnKFgpAGNxA47dtWLqHoqs6fkpDIIqkTEjEQGVxjk5xxzqp3ik9k2PUQ7DLkqCBnjGe3z00zSeXX1PfILcwS7dWRComenppJkUjO4lSM/AA69o+qIXMgqqKqR1HAiUyArgHOePXRn/AMP1LGIbYQ7jKITgnjPyHGof2HKjFSIGPwYHT94zqvpeuze2EOXNd6i40lVWT1VbT09UkTOjqdhDcDnA0dBeRFPDMaatPhk5xETuwCCoP11NGpg3xNCcgZIRMjt8NLZJ6Vy/h8spwwKkEHXK2JudUfU6ZH0Sux2NyGuvle0xeC1SYbn38jH4DXVNdaiSDxJ7XVCQNtOxMgfUnRK2+aqnWGFVMzDKoTg4xk9+B9dQyxGlkeN9pdO+1gefTOtgeZh6jqBRp3sIBRUtZbqiKplo6so5chFXyLZ5Gm8d7mgE4htlY5kAXaygBcZ58899dGdzCrmGfw0HJAOuLZKlw8NqMyOZW2oOQSc47amLA3Of6stpHRO4JuLmul3HIto2/wB1iddV4qbpSPSR0FSjSAe8ycDV9rehr7b6WOor44aeNmCjfUrnJ+AOdF2/ou7SeE9NLBIJVLptqOWUHGcd8camDTo3qGo+zG5mlIlRaJ6lZKOqkeTk4Hu8dsfHRM98qhQinprbNjJYtKpHJOcYHp/HVnv1muVFcXgqklWUKpIVi3ftyPlpCrSTVDwwSPJIpIIWQ8Ed/P4aQDDeAdQ2oq6IF0bH5iCG6XKHZE1vAg7ERo+QPrrxqaoulbSyQ0s8SQsWYunlqypRVz5IEhA7kS/d+fPGu6ZqiDOXl+jn+epRG87nV19QHTxJrbjiV+11f7OE0VUKlmLbjiFvd78fEYxp1T9Q00EKxhKpwvZhSt2+ulVVeadZT4tROCzYGd3OrNSdJ3+rpo6iCjqmikUMh3kZB7HvprkDtOGvqnU010tUbCIHlucM0i0sQgR3MjZKudx7/wBocaikiuNS8L1IErRMWXaipjIwf7R1od16Ipqfqa32WOteaqrInlLeEFSIDzPJJ7dtEXz7OEs1krLjNc1eKliaVlWHBfHkOeCe2p7RPedh6rrBSgO3jtv9ShTVdwlt7UQtzBW4D7wf46BobPcqW2lY6XeCfeBdQQDxnzz8tP6ax1M5cRANtbaPdxu5x9NS2egkr7oLVTqjVMhABPA55yfTVxdd55dTqPeGJHErdTBd8LHFEVRIljA8MEErx/r+nnx8tBQW27Q1/tbUomJjCbQQmMHPqdaXP0TOeoDZIqinkrxAJzsU7EH+0xHfHkM+Wu7z0DcLNbZa2rmozCm1cLkkliAB29Tq/MzzjETPr3TXW7ezr7B4Gxg+5ZQ2m9VUV0c8c62yVp4UYL767GLDHkc8c8Y0bT22qdCywAjsMDv8tcwwe1XBaCOLfVFhGEA7sew/PRZXuzO+nr4IyLweYi9pvmPdoIMEc+uf+bUFnhrbdEVagllJABIZcfrq+1vRdwpLpTW2ZaUV1ShkiiSQOSAcZOOw+ep6v7P7xQ0c1TPTRJBBGZJHzwAOTolDO/6/UoC+JS7Nba2auq6lqV40l2kAsuRj66YTVVXS1M8q0LiQxNDhnGDkghhtJPkR289F0kEihisEhCg5xEdQ1TIKlonQCRThlxyNbBhuZzHVNiyjhuf6iCouN3Kun7NjKspH9Jggka+s8klHSeHLQVLkcllQHHYeunNTQuksCvGFMzbUAG5u2c4HoNdraZm248IkcEKckavttOrepajfuNwbp6kqnFVL7NIqNN4i7sA+Xx+Gj3r6mCqqGShm8RozECQCmM5B4Oe+hrXWK8DPFBM8RGQRHqenqIKksFB3KcMrLgg6hVhuZtLrn09N9IUQ1E/kbiACsvRlG6ng8M8ECM5+P9rR9DcaiipEpxa5n2qBu8QD8tP6bpO41Vjku0cUEdAmT4ksoUnBxwO5540XQ9CXuupEqIKVGjbIUhwe2oEYcGejV9Y1tYAaoBrzf+5UaG21UlPJI8DKDKXAyM986Co6iso6WujW3SFqpAoDNwu0nvjJ53cat1ytVbZqlqOsgxOArFV5wCONJ56aSHLTxbFyVGfM6YzE+U+LmzKlLBdvCnjiokIZCARuByR8R8dWaK8TJReEbNWk42feXvj09NPLJ0rcrva6i4UcMQo4d2+WWUIBtGW798DR9t6JvFwp/Hooopox7pIkxhu+PwI5+Ork8mKiU6jpaqjoo6mSkmPDBlVeQCc9vXga5a9SpbjTU1uqpWaVpiWjKbc447c9tW2+2G6WeOGmrYSskwLIA2eM40hlpZacKahGQOSF57kd9Cn5nsTrGTTGkOxyH0YkN1r5mCS2eSOMkZKFmI59CNEvXLUxSRQUFb4hGBmAj89WOz9N3W8QyTWyinnhiOHkU4VTjPJJ9NE23pW8Vu+WkpnkjUjJWTj4Y0cTO2p6jqamzm5Yegep6Hpzpya33mKsTxJGI8OIsSGXB4xpfZus57CJ0tdOk6SKmWqlkQEqDjAVSfPzxpff7PcrYkHt0EkQlJCEsfeI/wDI0oZXjjJcuMkgHJ5x30wWqfNKqTLfWfaHLX06ftSiiDxsWX2WOVuPQ5X9NIb/AHpL7T0sNLR1amORmJaJgMEY8wDpZDFNMcxJK65wWBOB89TrFUQbHJYK4yPexkfD11i7VU7LoM1Up34+5ebB1ZbqHoc2O4pWRSinliZlgZgA2ef/AO2lVk68kscVVDQUa1SO4fdUM8WSFAyMKTj54+WqZd6sU7RmokZVbABJOCfTUVJcoKhmjjnLOBkjJ1gzVJqdOUPyBE0Wq68jvK04raHwqpN2Fpy8gK9+Syr6HVL62q0uxpZbdHVZgVi+2I5HIPHx40zt3TN5r7cbhTUcrUIBJmZ9qYHc8ntqeh6ZvFXBLJTUsjxg7SVfPOkWaqnMAKbiKK+UzVSSFqnMQbcgiYnlSABx6nSqa+TbyyW2qK9s8DTy9WKvtUsSVtO8LTAlMk+/jv2+elbRYX3y4zyPePb10MWqp9weuai656hVpiADX19EGFUV/t8USJUieOdxxH4TE5+HHOq1eaSonavqaeKpEbyblKxtkjAHpp1DQzTDxYoHdAeH3DA+pOjxR1QpPe3KCM4L4OM+mrTzwdT1o1yzEUSb5lct13NHcEqZaW4FdjDHgsS2e2M+WRpPX3OoknmljtlYQ5JxtP8ALVjuMMlPIocP7/baSQfh89DJPAWMfinxQMldxyBp5PPn4qTcOpr9Tfs6ONqavLlQmBSORux2zjXPQ1PU226WuoniqIo0nyx8MjAJOO/bPrrmlpp3IlWOXwvJySB+OmE61ApikyTIx/suTn8M6Jdp3HTtdYneah1pf7VebZTx0VyhMqTByrZ7YIPbvjPlpNbOoKS3XG3Vb0VbU1MNI9IrRMixupYncNxDazCoeOldFlLJwcYz2HfGpKSqpqgSCGfeYxg4Y+7ny0w85toFD8gRNUuvUVquNX7SGMbSKoKt72DjtkcayBZDbb9We0zGOmkeRk907feJIbPy4xqzRdLXsU4qTbaxabaGDuNq4PzI0RN01d62FJUt9TMnYEYbB/HjUYswqdOn1PY1BqDkRAt5pIaafMpkEhGwRqWJ4wflzjv66UydRQo2PZak488D+en9barhQSiKrpqmGRgSqsMZA8xoGTcnDyMDjOCecaLKxE9Wn17abs6fyNmVq8mOuSNaVWZkfe3ukca33pvq63U1hoYp6qJpRGCx3Dz5/jrI6arkZpDFK+37pO7Gplt9zdQ6Q7lYAg+KoyDppkvaeXqNYaxybaXK/dUrN1FSXmjpZ6eupYGhCSMjxtuPc7Wz21HXdcXS626poLjFSGkqomikMULB1yO4y2Mg4Oqr0nE3Vlx9kt6Ks+CW8U4CgdyT/jvp0elp/wBr1luiqaRpaMqKhy21EZuygnufhqgtOBCzu39QpRsQ9NK7uxb3U4HOfXQ3SFbJRdcJdWppvZBwy8bsFdpIGdFXzo+42OlSouAjRHfw1CnJLYJx+CnS2mpqhYxKsb7PUrgfjnUJ1CJgFUy53HqWCg6wqb7bAasTwpCYJQYiCBtJyQeMBe3x1Ff+upb5bJqCstkNPGWSVJUnMh3IwYcbR8RqjmRKtgsQLNuK4+I765eAmdoOBKqb8DkAZxyfL89YM0xCiWyh6kooKcI0E5cDJ2oT/DSXpud4uuVuopag0izK5zGc47E40or0FBRS1Uzq0MYBYx5J5IHb5nUtvqpEj8QQTtH2yq51mLnaVcRNPv8Af6GDrOC90k/tKx04hMAUrIWBPYEdsHOdS3jr6C8Wqttj2qrp1qoGQTPIpVSRwSAM99ZfTVUFy9+AFyzbQMc59NP7x0dc7dJRw1SU6VFWSsMPi7nYjGeAMDGR3OtkZMQI2oLvb4qYrIZQ2WY/ujgc+uqpUxS1fVNZU0tPUPTs4kVvCYZ/LT1vs96hRGaShjVVBZj4y4UAZJ/LSmhjmQlkjJUAcrnnPp66zM7CpQFE8qbgkF1V5IakOiurr4LDG4cYOMd9J0vUlOx8O11sgY72IBHn27fn8dMKxkeeVJBh1PIOgZ0YyRxwwySu52qiYJY/LP66vuND7a8yfpq8QW+2JDVUlwWUDcVFKxx9dR2gT1d2rp0pKpIXIZd0LAkY8xjvoTdhTuicHvtOMj4d9HWW5RGAPGkrI3mEJ7aDM7ColVQbmr0l6opvs4htLyvBWRqpVZInUNslD98cZxjXtm+0SG222GkFqranwcqHUqmRk+Tc6zL26mrGKqSXXurKQfz02uPSV2pYIaiotxiimx4ZdlBbjPAzntzqBmqUqLuWm49Q0Fde5q6VJIFqY4/3b4ZlYDBHHH4ar/WUsNatHHReIzpIS6BDkDHnrgdEXp1QfsyXJwR7p49PLSyCmmpql1eN1dDhu/HONUuxFATALc0HpO70NL9nlbaK+pWjrHWZE8VSofcMqe3bPB11YOuqawUElI1LPWHeZQ8DptOQBwWYenpqjTtuykjMGU4IJ5Gp5unbvFSJWNRTpSyY2SOQobPIxk850QzSlRzLbeer7XdqynrJVkpT4RjaOV0JBDcdjjVS6vuFDWGhFFUJIU3lx2CjjHOul6Yv0sMbxWyuZGG5SoyCPXvoZEraGpkimWeKSP76s2Cvz51SzVVSBVuaJ9n10oE6Eq7fLWQU9WxnADsFJ3L7p0D0p1zaum6GopqwzzSbkYilQSbSEVSp5A4xqj187S7UllckeRY6VO87ORE07Dy2k8/L1+Q1AxqqlKC7mp3rrWxX9qWZJp4CoZPDqk2MeRggAn4/hqmdW11FVpSLQzpKVZtwXy7c6rTtUYHie0AHjDbh9CNT2y6iIMRUyqAMnJYYGcfTnVLsRVTAC+ZLU1cMVtjiaoWOR1dSucHOTyfhgjn+Whb51HQqKbEkkuIhxEu4AjgjOjKirWvCtHUGcE4BV93PpqF6OvMmzw6hWIJGSe38vj20BdT6S+oMntkDdLr+4njvtBWkIfFjIII8RMZz6Y13HLDU1kZo23hUbcQCMdvXTGWgr0GZI5toXcffzx+P5alt9yFOCTUSRp2JJIAPprU3aTqPUW6gEOOZrNDfLdUfZh+zUuFJFWPRGEQvKFO7057Z0F0113a7HR1UFQamo3VDOHpYw47Ac5I5yDqj2u1V/UdY4tMMtZIi7yyv2U+eSfPUr9MXz9oNReBIKlSQUEwJBAyRwT210DGp8wqLu5eL91VZ721NUJO8JCMNlSAjDnvgE9/4DWfdVtDPdRJSyJJF4CrlD2OTwdS1/St6p6R6iro6gQwjezNkhR686ipJ56aB/FeWMZHLMQOdYs1UBKFFyO63SmW00EL1aIwoxEwb3RuG7P0576X3XqOhHhyeMZAEGfCAOPL14GeNTVMU1ZNI8e+VkHJ39gfmdBC2VrhyqlFGFJMgwfhkEjjTXUahtOZ01vcyW19TWuScrUTtDhAy+MuAwPHGM57aS3iaCuvM1TbpElh8ADxEGRkE8aMqKWeGPxH3sqkD3SSf/GjKG6JTRLHNUTQGRgqbiw3E9gNZnYjiVVUHmDUl1g/Z1OslVHvTbuBG0Eg88fw1xdep6BqpmjeWVe26OPv8edESLLJO3hNPIQMkIWY/lqKOCukLBVq9wGcNuB7+h5OuVGqn1W9QJ1V1QKKioPT3ugqg7Ozx7PKRSP0zoK0q8V4qKmIbYnqYXDdgV3DJ+Wm7rUQIXmaojRSAWZiBnTClri9JIntTdu3iH+eoAwnLqOsPUA5d5svV1dDXdJvFT1NO8o8MmMyqDwRnz8u/00h6S6vtdnsopat595mdwYIHkUgkf2gMH8dZlQWi53F3a20tbUqp95oVZgCfiONGx2C+MxRKerLqSDGH94Y78Z12zPifPxF3NE6iu1tvNRTTxSudsZXbLGVI94nse2so6oo2e/VbwDMbwKFYds88aPn6fvVPC889DWpGPvOw7D48/HXUVVLTxKk0jxsTtAZuSfTWLsRsJQou7lAjq1jDQ1UtQX3EF5EJJ+Jxq0xdVUEcMaFaliqAErBkZx5a9nWqn3SRiRlJxu4x+eolpbiVBWnqCDyCFBB1g7Rt05oMwIBhH2RTVXT3Uc9bdKSp8GaNo2ZISxXtg49OANWWrulJS3+8TxU9ZWwXCpjqQqq0JjKdgSVOec8DVfqLRPbKR6qTBQDJ/l+AOhadPbULRKuB5twPy1vmNoPidxLp1V1knUdLTxzWyekkpp/GU7jJvBR1I4UY+8D9DoKS/UP7Kem8GrErJtz4Bxn56qEFMKpS8Zwm5lyyYBx/q85P5aCrNtHVQ00ikyygsu0cYHfnWycCakMLsXtVO7u9FVne7lcQt2Ynn89GySzpUVc4pKomRETBjKkEHnv9Pz1C9abbRJLWU8iQ4GHABGDp1arPV36dorXSGokC7zjAAHqSdEF12mIVpW729ZU2qqp47dUg4CZxx3B9PQHTiguMNLQSwS0tb4oJBApyccaLh6Zuk9TUU9LQ+PJTuY5fAZZPDYdwdpOD8NcVthudrjWW4UMtOrkqglwpYjk4z3xkfjpZvc2CxN0MKijqlmqKSZWjqFk2iI4IBH8ta11j1Bbzf7TeqWoaeOjjZXg2FXJLqy9wB6+flqiUazxRkmJ1U9jn076GqJDUuTCXdsdlzoAsDEQpE06q+0ygq6aake218SVETxeKZocLuUjJw+cfnqr2i926npFjlcB1Azgg9gB66p6CZ2dAxDIwVg0mCpIzzk8ailmandPEmI3naoEmcn04OkGYdpKWSMjVV4r5YN7wuwKvtOPugH9NQxXKO23pXqoqgMscikJESSWXAweB+ejaC6CAEyzvGp5BZiBoi41TM/EsjEjOAxJ0LYHeUqpEpdVdwG3tRVQX12jTjpi9UFLaolq3kjkOSy+E5xkk+Q+OpZ6qUKwBqCM9xu2g+me2fh31Cly8JkV55VZ+FBZufhq5tNis8iuVPU9SRyQbmiIAB2Nyd2cYxrcevr1b6+K21tLXQNDTeKZVDYZdwQjjuT7hHGTzrIbddRDMniVTqG7bpCM6Y1rSzzt4ZnkfuArMTqZNfEpUETXo/tSsatCGSuyccrCCPod2qjR3W1LHLvqlZg7MSwJOC3c4GqL7PVuCFE4cNgoZCGHzGcjUEiTU+0zmVd5wuXPJ+HOqGYdpMRGNbVQS3e4iGVZEeUlCoODkdu2tb64uNJcbHa5aKrp2SFw7x+IAyKY8ZK9+P46yS2XLwYiJKiWNc/2nYDU1RG1VVYjMkkjkBQpJLE9saGTXuIioImu2/wC0Sx09DSRSftHckaIdlBMy5AAOCF50gnqrdU1tXK0rPuldw7xnJBOR5fT6aoFXabpTbRPQV0RY8B42BOozb6sKWelqRjvmM8aWbDtJiPMnvskU/UFdHBKre8CCDnuBpBbrnSU18pJJ51i8Hd4oI5X3SM4HPc+mrFbWeIhsOp/1iNC1QM1UdpLOTgYGSdEOwPEpUEVKlcLxTPXTSLJOQ7Eg+E3P5asFgvFp/ZkXtFZBE5De5IcN94+WiJKSrR1D084LdgYsZ/LXrUk4Te0EvHmU7flpe43iQKAKgtnnjW6tUwt/k4mbkDuCpH6nR9HdaUTVLrVib9xtHh++Rg5IwM+XOpqeWQUxRshT6gaFkDuRh3LY2jAycemoNRh2mbTB7xXBdaemkn8R6k72Mo/yaTAXGe+PTTtrlaHtrL7XTmRkIC7hknGhHjqEdBsmBVSFyhGB5447akVXVcEttHYY4Gl7rDtD7Y4uXP7ErtRWqnrIrhUR0zSRxlPFO3cAMY5/xzry5XWih6guxetR46z2kRvT/vW2yDAYAfPkEjVWllMiRbnJGPQaHkbBxu8+2Boq58SlAe80yk6wszdKxWcTVStT0yReJLDsWTbj4nv6aqHV1VRT2SRaaeFpBIjbc43c9tJ2oa4oJfZKkxAZ3eCcY/DUtLRVcajFNNhzkfuu/wCWlm1VU2IkEFfBTWurglm8N5JY3A8jgH/xjQX7Up2tcsSSmR3nIUKOTuAA7+eQeO/Gmdc0+8RujhgOVKDI+mNLJNyt7xwfio/lrLqMBVQtpgm7i+kvNLAIlm8ZY0lEbuU4U5zzgnHY6l6prqO5iiit0omljqEdlAOVA7nkaZwWe61y+NRW+pqIP9eOm3L+ONT0FFcIsutFMFB5/wAnH8tL3WriYaajvPrPUR01ruqvLCkrSRlMj3tuDnnyHb586HjuEMdJU76iPLPkEOORtA/7fPXd5hqyUM1PIEcYGYQAT+Gk6wyU6jKGJd24ZjUDPf076yahC0RM+mGN3CYrtRtIFaqjwTtO48c8aG64gpDSUnsxhdxOn9GQSBn4eWulomdWzCSjHe37kYJ9e2jLZCKaQskaKSOP3Kj+GmdY1xCNPfmah9jFzhg6cnilqoI3Wdv7W3z5znz5H5aXWyvjs3V9TV1pzAJZsyRgyH3mZgcLknI9AdUCpeVp2wxBJwcRqM/PjUbl1HLfTYv8tcw58RFL7zYbl1rZLlbammjqKhWdcAyUskYJyOMsANZT1z4VSaGWhdJGhkbcFPYbTz+mlIl5Lbkz6+Gn8tMKGdo0KhlXPl4aj+Gr7hqqlCC7iegrlFAUq6xJJclTIWOCSOBk9sdtNY7/AG5IkV6qNWVQCBG7YOPUDGhpnZiTlOT/APLX+Wu1hcqDlf8AkX+WihZZ6up1h1Korj9sY9RXw3G0PSw0FUHYHnb2OCPT46V2ylrKS17HppyMljtGTzxoyk6bulYviW+AVcIYq0lO29FYdxnzPy0XV0NbbYY0r4jTu4JVHbDEZxnHpnjOkxe7nkAWqlagNVBDTxeySfutxHv8Hnz44+Wgqtp6i6UdXJTOkUUbA85IJ8iPI8ad1MNRBGZZEIQDdlWzx9NS2miqbvURUtAjzTyfdUNj4/TWzcbTBF7Rf1HXm4WJaOioqvxvd5khwpHnrRfsbuEFqE6XJngMkSYkkQhTtPIzqs1PTN4iujUCw+LWxqryQwzh2RT2LAHgaYVNnvNDbmlraWeniXC7pH2gk9gOe51GZyblUKNpYui+oaPphrpSVzT1Uk1U8yNSRmbKlmwTjtnvrnrPqGh6g/Z01IlcqU7SLIk9O0f3guGAPfsdUJqOtkj8RI2dDk5D5+eg4Z1mHuM5OduNxzkcaubA8SBRUv8AcLjbzbKiNZdrvCyrlG77flqjWKZqenqZJ43CM2Q7ocBcn4fEahO8uQDJuHOCxB7j1+Y0X480VO3jTOiKMkmXgD8dRnbaUKvEihuEUdtESvK7GplYmONiDk5ByB6aBuNxiq57eMzBVnLkyRMoC7G5yRr0yw5O5+/nk6IiVHxsdiCMDaxP00vcPiEaY7Q3qast0lgmjp5op5zHgRxkls/h9dBpJJHTQyVMciqIwGJQ4HxPGvKelkklCxJIZPIZIOPrpvUTSxUxE0joqDDfve3565u5JudV0cbFRLPd6eOz0dMPHd42kYhIWYYZmIOcY7EaSGsjqquiTw51Al3FpImUKAreZHxGnTzJtOZWxnn3zomiCSqCsjEeocnWDtJ7QWQ9QVNJPbXWllEkjDACg5z+GntmqUjhlaXKsUX3mBAGO4/T8NR2+iq58+yU9RMAeSis2Pw7aYz09bJTFXjm2kZ94+WtmwINTYrVRdPXxLZzCKgLJ4zsSuTnLZzx66hlu1JPLRxNKcidGOUYDA7k8a+np6iCNQUkUHsOMHUEckyOys0iE8d8Z0vdbxANMeY+uNws8lumC11I77Gwqvk5xov7M6qnh6ls01U6RoDwXYAKSpAz9dJbfSVVQf8AJY5ZmXkiOPdj8Bp0sdeICHjlU4I95QO3z1zfUZq2nRVAl86huENH9oMdfXTxLQqkGJS4K4Cvu5+BIzpvcesem6+21lNQXmgkqpIJAiryT7pyBx6Z1i9THVwKJCZUyeCCBzoeWqrFUiWeoCkebHGrmfEmNd5oElNbY6VnQ02fDYqeO+OdIvsnqKdesbZJO6D924Qsw4fYcfXVR9p2VK7p38RzjBbOf4aYitkkpZGSX3E4YjA2nUZya2lCgTVL5XrB9ognuU6rRK0JVpG9zZ4f4Y3btPK2+dO1dvq4aCttTVLwuFC7c9ufL01+d5KzDbBUu2xs43ltpP8AE6mgqnkjJSqfd34bnSy+ocfuaLVUNJDaqpqYU6uKaTbgrx7p179jvgHqZ3kKl1pj4ee4bIzj6aolDFUZ3Re0SBuSVUtn8tNJ6ipMAKSTKTxlMg/iNRnJI2iC0OZpNzqzF9orSXCXZRpKn9K2FCeGdvfjGdP6+6WKpt9ZDR1tpeoaFwqo8ZJOD6awCtmqpHVZZquUDkByzAfjrjc/hlhK6t6jAP6auYhC/c0QW+lWJvCVCwDFcEHnGs/trotdSNMVKCRN4J+I76FikZZhiolLem/8eNMhcv3TBKhNrDkhlOdTUcmqEqqO82j7Sqp5bHRmmlRo1qFLYYEAbSB+eNQdP9W9O0tjoYa+50ENQkQV0kbLbvPyOsKqK1wzFauT3uH/AHvHyOu4auoEICVc4UH3Qr8D5Y1czXEOO/M1jqKW2V15nqoZ6eaORVZHQf2do1m3VKBb9UmIgxmCLaR27NxqCD2x33b6t887huP56ZQSVKrh/FJ3Ee8mf4azajVVShRfM1XpysSf7OTBT1EIqDSugCuFy5Ty+v6HVHoLxFQ0ZgF3gtc4rYJpCzkb4lU5T3Qc9xxqoXBpDUEN4nHGNnb8tReNJChCOyZ5IHGdIOQOISgJu5r3VHUFlvdNSvSXGCojSRuORzgY7j/GdZ91cKd7lYjCYnj9p2uMjHOO+q948jtl2zx3POp4klaJswbyMEEw5x8uNb3DVVLiPM3D7Qp5Y+l4vZd4jM0Qbwsj3eeOPLOhOkK+1t05SCuqaL2gbtwqJU3j3jjuc9saxo1txIZFnqShHvKdxGg3nqHfBEcjjhQYFZv0zpZ9qkx3u5rnV1BQ1dyWSBYWiMK8wtw3J9DrI03tfJYHSSVDW+H4YJBK5Huj013G13jkDf5cqHjb4TBfljGNMKtneBgaaPxgNxbwRuz65751GbagJVXfeTX9YIb1PHFDEsQlVAVUE7eP56guMzrN4QUqiAADb21XitU9Q8kklSTn7pBC/hjQ1aqSCP2iOIlDknaQT5YODo1tU+mes0/dR8dgtV9+Yzr4BUOZGZw7feIYjPx1n893uUc8iLWzBVYgDd8dWCFUEjmKpaNXPIjk2j5Aacw2u0GJS8ETsRkszZJOiARBr9Rpau6rU1DoTqSn6e6ehoLjTVpnVmYGnh8VSPmPl20u6yukF5vlLX0y1Rp/Z1hKzRFGVhIWPHpgjnVVqLDdIqSOsmoZ0gkwUdyF35GRgE5J+A50J+zq9mXbRzZbgDIz+GddQzDefOxHEs3VVRBNYGjptxk2nhUJzlGHl8SNAfZNcltl+ie5RVEERV4xK8L4GRwTx68aSxUdTG7oYSHXOR4i8fnoyBVFOKeQMpzu27vz0GZjuYlVRtLfeKqni6i6gkeomemuRi8KamiaVgV2kjaMEdiv0016x6qob9ZY6akhuUckM8cpE9MY1dVBBGc8nnONUu5dM3aOKGpnpGggmIVHmkCBiRkAZOe3w0AenrsFJNBOigFiXVlCgckkkYA+umGaHES1rcKRbS8TFkcxsuDGeDjVA6bjkjrakSQy7i8jpmM8Zbg9vT9dGQUFU4OyEk/3tH0xeGUwTho5lGSp740Wd+SJVVYGtUkdbcpZJIyDFEiHhtpycjPlzjSu/VdK9mqYhJEZGUDG3B7j4as1b0tchQrcfYWjpJCNszsqKcnA7kaWTdO3cnAt1U6ls8RsQ3xHHI+OmG+oMK7xnRCiS0EtLT7uTzIvfHz1WujTszIUfwcyeHuHbOcfnoo2OoSpeOSh/fIctwCfXTehaWm/yaQPC+3KqeOPUaGoxI4nbQI0nD+DchFdAjXFpJYveEe1j73ujIIz8/10mu1dSvZ54TPE0uxQQAck7h8NT1jLHKcFgxPcZA5Pr21FIZQx3SgE8czL/PXMgkT6SepFGdgv7r7+YXQNRChjEksO8KM5YfTUFikQVFWYyPC8U7OePpodZ4mVWL7xyQygsODzyNWmyVpMJVZjkY4z21DYFzz63UDWAFVNO6Jnz9md2gt8oWvZajCo2GLFfd4+WiukL1ZKCzmK41FJBL4hbbMvO3Ax3HprN6ynudXTpJDDWyxf68aMV/EaTTx10bsGFSQDtPc/+dMOa3E8hXfman1TU2y6XmllpZ6OWj9nAUpgKH3vn+GqT12kUUFCIHiKmVtwRwecar7irBWN1q8gZC7W7HRNBJJFJtZ5Ub0YkfrrFzWwmCi5qf2MVEcNmuccUyR1bSgglwONvun5Zzrj7P7rbrbQzpepYYJmEeFqRluFORz8dUGoesenDI1UVHO5d2MfMaBLV7AOHrWQjAbLkH66Ic1xKVF8zVurbhaLp7AaOpopYEaTcEAGGwOTn4ap/VsNNH0xXtTvThtqDCyLuI3rjA1U5mqwoVjV4U9ju4OpaZmce9NIceRYnSzNcTYC5XJp2ipniaVElY8DcAWHlo3qu7UbXBTDWU+zwwOD+R07rYpJmT3ZH7AYUnQJpJkdswSjJPeM9/w1A5riYoL5gfStdb5aipMtTTJt2cswUZ97jnXV3amkuQahkikBTLNGQQeeOdTMVLbSqkjuCg/loqJl8BVCxkFv9RfL6axdvEwUXNflIT7Jrb+zlXwjDB4rRDjBPv5I/wBrvoHpq600VXbVuFba4qBaSUTrUTRK3jeJ7v3ju+79NZRVXGSF2jWqMarn3FIUAfLQBqz7o3qR5ZRT/DWz24kK78zaepv2bW3XxqeajliMKhGhkUrt+hxrMusY/DvUwjxsMMZXB47aS/tBQQBPEF9MKBpvRyRtTsxSBifMxIf4ajOaqpQu93K9QSZnoi21UMqb9pyM7ucnXXU1XALvKPFpUUeQZcZ+WpayGAVfiCCmEmDlhAmf00CIaYud1NSH/wDjp/LSDmuISgu7jnpGGkrIZmCwSYl7gKRnA/PQtwggpurqVYkj8NggdQcLjxF74+uooKWmPuinpQDzjwEGT+GmlPBFFSyBYaYcYH7lP5ap1DXEuA8zbvtEeROn6MUa7YvaIxlFxxtbGT6f9tR9N1lkewUBuEtuFSIzv9okRXzuPfcc6xV7pccbTXSlD/ZOCPw0I9wqnkVpJ1Y7i2WiQ8/hrZfUOG93Nd6kp7fNdZZYDTFGRMGFgVK447cayW5B4+op0Zd0f7QCsuMjYSufpjXUVVUNKT4557gKoz+Wj5iJKT94sLE9yYlz+ms2oaqpQu93Na+0x/ZrTQrRJHHE1TszGoGR4bbRnHbj8hqWwUllqLFQS10FE9S0KmQzFd+7zznnWO1F7ujQmF7jMYduNhPGBpWKmRxlnUt6kDOrn9Q4b3c1XqS00T3mokgp4fDIQr4XKn3R6cap/wBlDGL7RqhagD3DKq7+6kSEcfTH5aSRVUzsMyBh2OSf567qCiASLHGsmPvDIb8c6p1NqqUJ9zTvtSnq0ulA6mURiBsFSwUNvGefXVkivdgZYgbhat5VeGnj3dvPnOdfnqerfjc27ByMyOcH/m16axm5ZUJIwSS3b8db3PqYJvdzROq4YZILo1M8RdhIVMbD49tZhZ0/yGpknjhykWI5Hb393htlcE9sZPzA01opveJKqR6F3/8AdrivFMXz7NArEEZDODg/+rW9z6mwA7wfp50CVbTxqwXbgsBgd9V55Y97ZaInJ8xpq9JShAwoYdp5B9/Hp/ra+9loxwaCmB9CG/8Adre59QhKPM2Hr2phnrel62GRJbfTVJkm2kYjXCkFh3HAI+fGrHUdU2eSmmSKuRZpEZYy0Lj3iDjuvrrEK1KholcjcuMnZIrcfQ6CSVZYwyuxBHkTq5HuJcRyJaemBTRU6CreJJEiRWEhAOQoz3+Ok15nx1TEaciWFXJIjO4bd7Edvhqv1Uiqrh2cHGdpznvjt38/PXNHdIqPBlnkjVSASd2qzMRVSKqje5tnXtfT18nTtTRzR1EdPVCWSJSCwGO+3v2BH10y6l6utNz6cudDRVzmpqKaRIh4TgMcdskY+H11iFZcfaJVeJp3HbKhu+iKGsWqiDQzsyjjIY6OTDkS4iXizXG2xQuJaiJGJLYIOdVm8zpVdWSS0jCSDbjcucHgfyOo6q33OKn9pamrlgxuEmx9uPXOibf7csiBRVZbsPe51G1GIqpVUCaD1rdKS6dKWZbfVwO0NVTvJAJFDBVVlI2k+RIGNWOl676fghgSavKMoVSvgSHaQACMhccax+vNc5wqVZI74DcHQPtEwkKNPOrjupcgjWzPcTYi7lvoayjW6XB551cvKzByp5BJP6Y1XOpJ4qjqvdSOJIRCo3Ke3ujj8QdQbatgCrVTA85BbRlvlqI3GJaj3hx7zc6jOxFVKqi4jhrI4uoKUy+4EmOV254IIHHzxoCqqMzFmBAJOCYzz+WrJX1EkkoJlmz/AHjoUTO5IWpl+XiHWDnxIUFxZ0g9N7HM8kkSq8kjAMwHG8+uiLbIP23WiDkBRlgcgnnXVXJtVBLPISe2ZD/PR9suBiBAqXHH/wAw/wA9FnNVOipvc169VHjfZvakt7bolan8REPYA85H9/B00s186dis1FFV11qSVYQCk0qBgfPIJzrC6+vdplPtcw+Uzfz1zFcZ2cha6pIzn+mY/wAdYPtuJDp73NPr2oqnqC5yeLTOhkzCY2GNmOMfTVK6wGy/U604XwhS5GwgjOT6aUvVS7lLVVST/vW/no62zSZc+LK5I7kk/nrNqEiqmVRc1vrCYp0dZFt4/wAlMkI/djgjYdvbyzqDpw26WtnW7R2lqEU8ApzN4W4tsG/OfeznPfWVTVdQA0Yqp9h4KhjjHpjQjSkLt8Q4UYAPlrB9uJCu/M0utt9JVXWvcRU+DKwHh/d2DgYI4xjGqT1DF4PUdVEFChFTI+n8tV6aqJkAM+WPftppa60BH96Ik+ZRT/DVZzXEqqLmx/aJO0NitCUJ20pkwCmACBCxQZHl3PzA0yoqTpuekpTUQWmSbwk3NIsZfOBnOec5zrB3uk6MUFWyx9tq4C/hjUS1btk+KDj/AGF/lqZfU2O/M1Out1NLX1MhhgBMjcJjaBny+GqN1ogpr5siRABAh24ABOkLVshfPtTA4xgbf5aMpqx2iYvIHbgZdFJ/MazOSOJQu/MWWaoLXSmEzr7OSxKscrnaccdvXSu5tRtcJtwpCN5wBtxptJFBJKzMkBY9z4Sfy1FJSQuFJSLAOeIk/wDbrZnxD7Yu7jHp+lpJrYjKsGMHtgef89IXYpLURx4anNURndwBjPHrzx9dHinpxIoEcGPIeCn8tMZY43t5Qxxfez/RL/LUOoe4lxgFohiqKK4tPDHK0IUxhgDsyDyPQ58/hpJFTQPPEGTneD3Pf5Z500kjiLJGVQpnt6/Pnn668jtlKHWRaeAMhypCkEH6HSzHiAIQeZxe6COltM9RDH4UgRisg4OcaPtmZLbVvLE8hhpRMrZ4Byo971ByfTXIpoWfEkaOpzlXLEHPfgnTGujjeh2RxRR5G3KAjj8dbOyNogu3MWWJImprhK8JzEo27WbjIOc88jjsdKYVFRPFG4Ch5Vyq+75/jo+CkamDqk0jK4IYMx5/DHb+OgjblSaOSNmR1cMGDHuO3nrpkvicwrXzGvUFqjoLNUVVI0kUyIWDbycfQ6un2LwQV94uH7QgSYQ0iGNZlDKxZveIB8xgfjqhZlnYw1tVJUU54MUjZU59dO6W4S2ir9qtTRUs5j8MuinlfTk/DQZtxQjC7cy8PBSVf2gzUE9LAlL7S0IjjjVMqBwMjB5+B0+vvSFkp7TK1NQbZNygOZHYqM89ydZJWdQ3KqqzNUVUZl77gm057ZyCDngc51yL1dDDs9qJj9Mtz9d3OlmPEIU+Y560oUt1lE1KgVzNGhbGTgnkc6qNvmFYakTRt+7YJ988j1+HppsLnVVIMVY6TRNglHyRkdvPSerzHNI1OfC+CHj1886LtlwJ7Oh1E0NQPqCxCpKWklolm8MiZsr7pOAAxHbtkY74zoJqCMr/AEk3Hb3hj9NCTy1EvD1EuzyRXwAc5J9cnX0VPICGE1QP/wB0kfponfierp+p0EVl1FskmvxB71JPbI6c0sn9JIEYEZyNfo7o0Rt0nG60kUc2xjsKhihC8DnnWCRUMNcR7eHnEZDIC+3BHnwOdOqO61lBEsNHVVUES9ljqCB+mkrVyJ4uoZHYFNpeOgZ47nXVNPdAJwId4Sb3ve3DJ9fXV2/Y9n//AEFL+H/fWFvcppIzHK0kiZPDuG7/ADXXg2sATF+DAf8A06eY8TzKhHePLg9KLI6RSxByueGGqFZ4Z4aOJ5VfPHdT3xpjFT17Rl0jqnVe7K5IH56ZRtXxRZeOsWMc5JbH66zOxN1MFUbSuR1Pgz1jMZSJNmHEZIwMDGR258tAX2sWrs88UYkd2KgDw2594fDVleoafcwndh2++TodGlVRHGZz8AGOl7zeJBpKO86tNRSU9BLHLUIrk5C9z2Gg+h4DE8T1MZSEzBmVgeF35I5+GmKvUqwZvaFGdvKEc+nbTWkrZEyu9x65X/toPqMw4lVFXiaN9oEwPUvSc8kitbY3kLtnKBjtwT/6c6sFRcOnzDN7LPaPa9jeF9zO/Bx+esWrKlnBxKduMkYGP00re41JUMtRMUyAp+PljUDk9pcADzLn0zBSG3oZvCLeHHuLkf6oznPx1W/3TdfRRzsnsnjRBwSMBcjOlPtbrgmUjLbckDk57dvU6JoLqqSnE8eT/sryfw1WckcTKoHebP15PJ/8TdPQTHFtZZN4H3Cd0Y5xx2IAz66sNbR2eOkqpqeloBUpDI8ZBAO4KcefrrCKi4VNQAxrZ2XyBkyO3kO2lZuH7xtkw3DjIVc/jjUzmwM0Ky08MtH4kzqXJJOW7Z76pvV2E6vnSMjaIkwB6bQdLBWS7hmeRc/HGmVvrSJifFDMR3IUn9NR3scSqlToSr7JTplSpkjD/EFxkfjx8teVkNG1bJtgpViHYLgDP00RcS80anfxjBG1R/DShoYETbiLCjjMacflrmLrifXHqCjUTUx/aAK/EHoYYmvtWqYWMbdqg8Zxrm4hYbjTiBgTsckA5HloqMRqVCOqjOfdAH6aPt8gjmAEgIHbIU/w0RY3nLqOrXWBpaua5ePCt32fWUW+KJEkaBXlRBuYEZILfE8HT7p/p+yVFst08tJHJK8SMz+KwyfXAYD8tY5W3K4CmEC1tQafAxEH90fIdtKIa6pichKuVWxgHfzjXXIVxPnFTfM0OGhScyyOro7O2VWQ4HPbvqh9bIafqHw4hsX2dT8Tyeee+uY62dufbJuf9vvqeKs3yN404kYKAC+GOPTnWZ9thMF35hDJC1whheOA07QyHYQNjEBcZHnjy+eho4KEjYYKYoxGf8Z1BUxLIhUlWjbuuBg6EZacFlKU5PbGxc/pp+79Q+39yzWWz0M1tjZqeBsBsZUHA3HVaq444epJYQqmDK7h2HbXVO8YwoZAoGABwMemi6Z6YiTclMXI5JUZ0G1SRVRhKPMCssEVW9XHVU8cirA0irsAy2Rk5GD/AOdJnhiIb9yVXHG1m/np7UUUDg4jRQ3cplSfhwe2gJaKhK7TFBknkD/zrZ32hCEHmWCksVJLSxs0AYiMe9g+mpvs2poKnrOipqtVlpxO+EfkMRnAP+PLSiJgwCrOUQADarkDA+umdDJHSRpJSxwRSxvvV0TDBvXUZ/qIL9zSuvIoIeoaGlhpqaCnaFXYJCq5zJtLZxngcab9OWahuDV8lXaDTPTVUkEQDPhkU8Hn1+HGsoud/ulbKntVZ4uzgb0B49Pl8NCm914l3+0e+PPLf+7VyHiEKQeZd/2FSGVmNMoJY5Xb257aoVdEI7pXwqm1UqWRVAxgbsYGpUu1WZOZE945Jwefz0RHJFKrvJFG0jEksc5J9e+oz2OIgv3NJ6j6bsdp6TE8NrhkqsRRiWXOcsQCSM40LYekLbe7HHUuBTl3YbUQN9048zqoV/Vd6ntpoJZqeSlwAFaIEjHb3u+RoSm6wvNJTiKiqFp4wxbYhOOe/B07UwEG5ZOqOjqGkuUcdLg/uw7/ALvAJJPYZ47aonVlElqnghp1OXiMh5892OBpvU9W3mrmWSokhkZV2jcncfHQNVUNdZo5q+ON2jTw1CEpwTnnHfnVLKBtMAbmq3e22y29De0UluoxOsMYWUwqzAsyqTkjk86q9po7fVpaYJ6Fn9uq5YWaE7PCCqDnse+499V9+ortHQmhWdmowuzwpHLDb6c6AS93CJGEc8keW3ExyspJ+ODqBhXExQ3zL/1T0rbqSop1pY3XMZLM+07ueP7Pcay3qVhQ3Suj2kQU6oSIx72MZJ+emT9RXSRxuqZGCggbpGb9dcyT+1lqqojD1RAHib2z7vb8NYuKqpsTd3KvFKZKunAaRC5VTtfA588fLX1/h9mq/DgrZ9pXJJVSfzGpZKBknRomKBcEA+9yOc5Ooq2CqrpDJU1WXHHuxqo/DHx0gVhIa5zZrW1c0xkrJyFxgLhcaHp6mYVFdDJyKeUIpHcj1Px0ba46yi8Q09SDv4IkQHHy0xoLTTxComfxpJqhtzneAM/DjjUZlHAiAPea5W9NWC3dIy18NriaoSn3hpGY+8exPPOk/SvTFrvtFUyPGIDFLsygLZ4z5n4+WkkvWlzNrkoKhIpqVkMbB1GWU9+caV0PVldQJIlIzwF23MYmC7vmMY1cl8Q4tfMuPUXRVtt607U4DyOWzujwMDHkD8dZtea2ahuU9NFDTlIyAMofQH10/m60udSFWeV5FUkjeVOPy1DK1FWuaipp90rgbjhecDHp8NbNRyJcT5lo+0uWgl/Yy25qH2fxJzKKcIMnwwF3bfmcZ0r2UVPbFcGnVgQQdy5AyM6z6uvC07bHqXDA8+QHn37agN5j3HNWBkef/jV9w8VJiDvLp9hkMU16Y1So7RRSNEGAIzuHkfgTqx1NTLW9TdURyUgrpKWrhihpW3bY4y4XeFUj+ye/x1ntBfxHAxSvMfo6vtI+RGuTepquo3C4TSSk48TeQxA8s9yPhoq3mUi+Jrv2g2mhs1ro/wBlUns5qKxY5nWRvuhWbHJPcgaRCgRbOZGDMxXd7xJydUsm4zx7YvbJ42OSFVnHHprlGuEkWAK0p24VsaeYEmNmc9PT4ppWlbEithST8edcxVAka5mRIZJ/aBtLgE7do4GfLTejaqp6bwliqEAGAvhH+Wl0s0iT+HK0kb/6rrtP5jXNdQjapW073uA9SJSeyUvhLTqxqohlcA9z2xp5VxU0XTcru0QYQt/aGT/jjSmpqhEVWSoAJPG5gND+1KJD/lAHPOWGmdY+JBp/cl6ZI9gp2Jwqj3cnnGOM6PK09QbktRBDKUMfhocZA2gngep89T0l0K04T2nA7feGlTQ01TIXO1yOzbs41wF3vPo6fUhNEaVd7/8AkGvlspKe1Szw0wilwuGUng5HqdE2+lj/AGfBNJnfjcSRzn56GnoaUMAyZHfBJxrkQxsWHjylTyF8QkD5DUqenU9Q03qlraXH7JaaC7XS1wV+J4AHZlftJtBwD/jy1e6yy2q5ddzWxqKGmpItuBTqI2zsJJ3D1JH4az2z3Cagigeik8GSH+jZAMrxqSa/3SprzXmt21YUL40aKrEAEDJA8gT+OmhFbz5LgniaRf8Aomy2my1lbD7XNKiBVSWQOoLMFzjHlnOq1BY6NYEleJGOzceO/GqtWdT3lo2hmutVJG/DK8pYH8dCRdQ3PhFr5AozgDTyUQ0Yd0htuVTaoqvGyWZUkz5jdzrT+uEpob/bKGClpaemljJdUiUbiZFXk4zwCf8Am1mFvqUgpokjjiyv3T4YJB9c6nq77c69gauvlnMeQhlwxUHGcH6D8BrmreYmBI2m1HouywMZUpKlmjyyr4rEHHIGO2qDQ2yJ4UkIGWOSMD1+Wqh+2bjEVkNwnBH+1oOO6VKghK2QLnP3tMMBJRhtDSpU9RGml4gev8JscYUyYP5a0r7RKejpqy30lNQUkUEkbs4WFfewygAnHl/HWcQ1kfg72WnaRiWZzGpJPqT66+r+o7lclVam4PN4ZOwnaSmcZwfLOB+Ggrbm4mXbYzaD0RY1beIas7SWwKhsNj4dvpqjC1QGQsu5AzZ2ADjnt21Tf2zdFOf2nVj5SEaDiu1yDk/tKpzuDff8/LTDAQ0YzstHFU9VUtLMoNO9aI3U/wCru7a0T7QoKOhuNtp6Cho6fxIpZCyQrnIZFHOPIMdZvFVkDxD4Jmzv8QxLuLZznOO+dS1nUV0uHhmtq/aCmQpkQZAPcAjnyH4aCtvvEymtjNeToWzF4XWSuATBVTUbl/AjtqjyWGj8abw4QITIxEZHYZPGq6nUt8RgRdq3jy8ZsfhocXu5GUv7XISz7zlicnSDAQ0YPbaVa2/01LKCsE1WITtOCqmTb+mtG+0O02m3GihobTRxLMsrSERncdu3AB7jue3w1RMwnMngJ4pO/eHcHdnOeD66LvHU91usaLXPTy+ETsbwgCucZGR64H4aCsN7ErKa2M0WH7PLNIkUm+ZCyqxUBSOQOOR21Wa3p+jir6gQQqsIkIVWUZAzqvr1ffY8IldKigYAEj4AHpzoZ+o7nLO8ksyl3bcTg8n8ddAwHaSjFrZkkKkYBmMXu8YG/bxrTerOkOnrPYo6mGheSoeSOLLzvj3u7cH4aopMLqZTEBKxMhZXI94nOR6c6PunW11r7ctHWQ0csSOjqxVg25ex4OPy0VYE7iVga2j20dA0t4tVPXwVCU4n3NsZC2MMR3DD00Deejqe23DwYHWXEasxy6gMc9hu7aVUXXN3t1KlNReFHTRklEZVfAJzjJGe5OhK/ru6VlT4s8FIzFQmcEYx58Y50xjyYAGqKrnmOsrIUBAhkEec58gf46XXaHwb4aOKokKLIsYYYAbIHvYIJHfOM6bTvDWSVNVPEVmnIZhE+1QQAOMg+mkda1TU3Rqx3RpGkEmGXuRjvjjHA8tRStmJga2n13V6ScRwVCkgDLbD8vM9z315RGsnExjnVEHYbM+WvK8SVcxlkCBvPau1T9MnGvKF6inMoiSJ0fsHJBH4aXxnMBu8GoLnNVTVUE21DBMsPiDnOTjONa/e+gbHbOn2rzLXyTbU90SqAWYj4eWsys1pSk9rqJWd5Z5BMArABCPmDny1ebj19NcbPJQ1VrjZcKAyzEcqQQfu/DUBFxG6ndn6DS80ArKGeGnjLsmyXe54x5hv4a7u/R37JMMZqBI0iFiELYXBx5+WlFm6/qLXRPBbKdGg8Vm/fLuOTjOMEemurl19W3CRDNR0+UUqCAR3OfU6XxkGVSnXyoENRVU6CcJFKsRZcM3I7gfXWsdQdJdPWnpRKpLaklXthRpDI+CWKhmwD8TrN62npaw1lTIZonqCrsseMKQMcHvp3N1lXVFoW2VIinp1VFBeL3vdxtJIcc8DRyWzUpBIj/pvom23q1LViVqX3ymxIUkBx5kuCc/XT6P7PLSiBWlkcj+1tAz9BxrO7f1bcLbAYKCfwIyxYqsCtz5/eY4+Wj067vW0ZrAfiaZP/dq5LMFat5l7zL7dF7Q0ZhUMCshGMkEDg+eh6w0ZpJt0cIIQ84Ge2rRPWpXBSJI5R37A/wAND1LDDB9uD/sD+WtmfE2NHmDdEUqPQUxlWMfuP7eP8dtL7mqN1dAKUgkJ720+7jy/U/lpp4nu7QVH/oH8tF0MojeM4jJBzkxqT+miXNVUQA5modZTyUn2ZWg26QQ03i04kkUlRtznkj1bvq4Q2DpupjR5LbbZi4DF3RSzHHc589YxLXTZCxybVPcKoAP0xoWWueL3fEGBzjavH5awe+0hXeW2CIT9QXEzrtZaiZAikkKFkcAD5AAfLVU67jEd8oFgx4ezcMHPBHOoGrzISzOhYnO7YvP1xqWCqQyAslOzHjmFD/DVbUNVUwUc3ELeG9fSJJFHJHLKqS7h95D3Hy1DNbaLxJFWDaAxAXc3HPbvqzVcdPUMG8KAFhj3Y1H6Dv8AHSmopqanYDbGAOASoJ/E6gf6kx35kXQtrpp3qVkiEiLLIFVhuA5/86+raZabq0w0iKsPs4JCDAzuPloqkMUKBYNka5JwiqM57+WmNBNFHMW2wbj/AGjEmfxxqM5IqogovmcLT0xqaAPTxF5ZFWSTGGIwTjPzGuZ7ZTyyMS9TguWKmZiCfXU9ZtnqA2QMEMNoCgH4Yxg/Ec6DmZoycTOvPHvZ+nOgBtPsL1+iNXJksUBW21RfZ6fxq6uVyzLHIwXPJHJHfU0MfgXZ4ohiLwgdo7Dnvr5aaBGLRM0bMWLEOcknvpxafZ4AQIoWJ4yy5P46m4nn6jqE1VpRUStT09VWU4qIEdnmSPLDOFZgpx9DqC6WWjWunSBZlRWwN0hJA+Z51YLhSQT1CyIiowwfcyASOx+fx0qqKRVdnlnmLHks0hyfnrqGFcT5pU3sYBZaCOSurIJGeSNChVWb7uVBxpjDAKS8LDAAsbRsSq9uCuoYIY6ebxKeZ0ZjuZg2STjA5Pw03tPssTs5iikkbgs5Yn9fgNFm22EYG80j7I7Pb7hJcprhSw1Jj8ONFlXcFDZJOPpqbo+zUHUVTWS1cJpyq5VaX9ztBc+77vcDtzzxqr269VFr3yWl46WSQBXKAnIHwJI0ujv9wpp5poqjwnlJ3GP3M5JJ+7jzOdZWFbiZlN7TT790xb7bBTJS+1O08jBnlmL7QF7ZPbOdU3rK3Q01glmSMb1kQBvT3tI6rqa41KiOaseRO+Gdj/HXL3WepiaKrk8eJiCyuzEHHb+1q5gCqmx+5Xa5RNiF/EAK59xyp/Ec65ktsS2ekqop6mN5WKmMSEqAM+vOfr9NPrnTU9VEuyNYXXkNGTn5ck6STRziJIBVOsSHcqhRw3mc9/PUUit5HU9jFmyrjIIrp9o7qT3z8ddUsk0E0Y8eV1LDO9ifpqSSlkLgmqc4H+qv8tF0NFvq4pp55JQpH7s4CnHqBq2olAMvn2e9P0vUd2qIbg0qwQw+IRE20sScDnTOp6VtcvVE9mtsckRSXwhNPK0nIjDngEYHvAeelVhvUlgrDV0EER3qUdCzYYfifPXMvWMydQSXaKkSGpdxIVD71LbQpyDjyA+uohBG8jA9pZ6j7PGpqSpmqaun8NIywEe8NnyHJPftqpXOxR0VuqandJmJC4G7uR9NMqr7TblPBPTSUtIySKV+6QRnz7nnSaXqOeupJaWogh8OWMxsRwefP56QxE25iCqLEkLJ4Z2k7iM9vhoajirapJmiqoN0Khm3QlRznHYnnjOndfTUxgcwRsrkEAs+4DPwxpJTTz0K1KmGKTx1CMNxAXGeR8edRMSN5HDDiQSXOtCsI1iI2Hbk+ePP4aIqoLjBb3qGmiYRqXKiMgnAzjvpbNHKQdgQnHGSe+m9VcJq23SUqQpEzqY/EJzgEY7aVIJPkYG05nakQl0WoOMoQCOM6MjtNM5lXxqlQiiTeWye+MYPl56Mit1PHQwrul8VFA3AjuPTPy1E87xFmi4kYBCWUEbc5xjPf465g7z3pqaa9M6fzJFGu0XmhqhlUuGF+MGf/q0NVU01HST1CzySPGrMAxGDgaMllkBIWZgfLMSn+OvWpkqoGinqKjZJkNtRASD5fLR4nu1dbomAwFf1PrIhudXbKeRvDFWyKzAZxnvjWgdTdBWnp2kglNfXzSTSbAuEwMKWJzjtxjVWtcUFpno6mnaZ3pSCquq4bHkedP8AqPrenv8ABTR1FvlhaGQvuWQMCCpU8cHzz9NdUIPM+G4PaT0/Q1wqaSGejWN4Jl3ruqAGwfmo0suPSNTb6p4Zp3LAA4RUPcZ758tN7X9o626gpaIUPixwRiMOWKnA4HGga7reC4Vk05oJk34yA4PkAf00wFhs1M9r6tI96xuq4kaMbxjewbG0YzySODqOmSeouPgwVaFGJ2CSPBUAZ5IP8NMZ7fTyU8zhpNzyyOmUVtu5iQfmMj8NLYC9FXLMsIlCE4BbbuGPP01FxveUhq2nlfU3GjmenHs0pHGQSBqWCmujUi1LNTY27iuG4+GdA1bzy1DyLDGM8436bUl1lFsFKaQeJt2hvE41aQSfKpN0FTp1dd46QymlV1Jzjc2Qcfh3OtMb7LYQSFvEgXyzCP56zToN/wD4Rr4a6oPtDJuBSNSM5Oe+tL/+1S1Hn2CuH/L/AD1hjFvMD6T8TfWN/Z8Ripz+GiKqBautETSTICrOZQxJGAcAA8AfTVjt1WEyhMQRgQR4aD+GhKm3weKWppXViMBt27jzGireZWB7St1VK8dNLJDXVG9EJAwMZ/HTnpq2C5UsLVE9QCYw+VkI51xV2tWp5U8ZwGBBxjU9urKmggiip5kUKu3OwE40rWHcieRM1J1eLb48nspVT77bsEn1Otn63hhpq/pm0UdHTx0dZIyVO2JdzoABgt3885Bzx31jtsVVuzVkj76iQBSzgHj5HVnvF3rbiIEq6tpVp2EkW4LmNu2QcZGgCAZSCRNXHRFnpx42bi4hy4j9oJDY5xjHPbVF6eiNbAKidh4jorkqoGCVBPb5nSh+pLyigrdKgY9HPP56TQ1tTCuyCqlRMbdqNgY9NMOBCVJhd3zH1RUQoMRqox6dtaN1PSUFl6NszU1BSPPUzQxSTSRhiQys7Hn1xjWe0FTmoEkoSWRuC7rkn66YXS+1tTRpQzTrLRoQViZRhSO2D3B+ugGGURU1tNFg+zu1TU0Tirr4S6q5WMxbQSM4AMZ459dVmG3U9RdbgqpGIYZ3jjDQR5wrFQT7vfA0mj6sv0MapFdJURRhV2qcDyHbS/8Aa9wNVNUrWFZZWLuQo5J7nTyWGjPOq4I6XqKmp6ZFRfBYsFUKCePIceer71FY7NaulrQwtdJPVzuiSVEybycqWYjPmfL01RYah6muEtYUqJQNoaQZwPp8tNLrf66qoIrfK8D00LK0QaLJQqMAg58snQDDKMg47S7Un2a0EtPTstdOgZFJUwwtjI7ZKZ1XBZKKevr0jgi8GGZokHhgfdYr/wDTpeOs7/SwxRxV5CIoUDavA/DSd79cvGmm9pw8rFnIA5JOSe2laiGjPL5EKbqj2OBdsQp1bA7ZyedX3pW1WyP7OLjdqu301ZVqJ5AZkD7dnCgA/jqh0lW1TXioqxFNNs2bnTnA8uCNN4L/AFltoJKKhaCOjlyHiMe5Wz37nz1zyAbiOtuZbemeirXeLe9XLLPTSGQqRSrEqnAAzhkOCT6YHw1DfOmqC2XKG307vKBB4rSTxRMzbmYYPuAcbfTVUoOo7tbofCoKsQRE7tqIMfnnUVb1JdKyRZaqrLyoNqsQBgZzj89O15hxNSbq2ljohQLTxopeRgdiBOMdsKANWyw2Cyj7NGutwtsFXVmKWZWlyQG3FVHB7DAP46piV0tc8Qrm8cISy7j2J79tMF6hrLbZHtFIIP2e6MhjlXfhW7gHy9fnoFhlxFia5li6e6Dob1bDVpP7HukZNiQLIOMcjceB8ND3LpSgir5qVESUQFUdzGULNgE8K3Hfy0ktfV94tlO0FHNCkZYvjw88nvoet6ru81W9U00AkcgsBHweMds6YxhF1U96rt0dtWiWnVUMniZC55xtx3J9Tql3iKKWZGhmrFjQDsQm4kjOe/Ge3w1a/wBozXOWMXIJL4YOzYdmM9+3fSO60YeqZoSEQ49xmLdvjoWMuIiDW0U3q0VlHWPBBcixUAZaP9ceeirHZa6qpd8txcOHIzHGAMfXnRVVHW1lQ08kkIdhghUOMfjoq2zVlvpwiezudxb3lP4afxgGVbzilNTBWvSzzmYBMhioBzn4amqaFZqeOQ1EkcjMxICBhtGAO59c/hqW1U7SV8tVWuZWZMKq+4F9e2pri/hFVgTCjOQzZ765NV0J7+gOkuqD1H7YlntcyQwyxT7/ABY96hzg+8MjPlxodYK+HYzvGNpycc7vQY9O+mzVLeBBCEH7qMRgnJyAMDP/AG0BWTzFAI/DU5ySc/hqkeJ6unPR+zer+/f8c/jxPkragVSRS4Ky7iMDGMaV3HxqiSQx1bQLGeQsYb8c/wANMrfGai5Ry1TYiTdhY+/I+OvbvAq1LGmYlGGGWXH5Efx1kIBozwdTgWvS4iu42+4U1PBNFVxkSqGCMmGXI8/LUNuhu1RUCHx6dFwW3gZOflpxVNVVVNTxbIf3ChA+TlhjzGorelXRTiZYo37jG4jXWlnkGXeFwT1lHXU1DWOkvjKxDou3G0aGutRMtQsdO0WQNxEmf0HP10zhgluN7pqyoKxQwI4EacnJGM5OoL9QqJo5KYb2OQ2/AOPmNA1lUe9RMUuklE1VEtNJGrEP7xXBHoD37jQsFxupkSMUS5ZgN+8bRn65/LTfxWitTUbU7mQyFwwYYGSOPy0uhE0EyOYCQGB+8ONdMVgBbvGdXcqqg8M1tOohlYRgq+4gn4Y15VGdaCSqgWNkSURYZtpY4JOOMccZ+Y1HfZnvEdNDTxGPw5VkcyN5A84xryvemp6FoFkkknM3iFhGVBBUDtk8jaPx0aXKhFZqQCet9geqNKzKpwRGd3z5+GgY75L4gjWhqA7EAAoQOfjjTOnqIlsLQb28Yux2qO4JyP8Ax5Y0vpZfCljdklKhgT7h7Z0iggDHuIxlujU6xx11PLTtIwWMtghj6cHUVxSQW+nqYZoDLPvPhMD7gDYBJHmeeNd9SOt1kty0ETuI51kdiMbR599SXaCP2SnggCtJEXDELtDqTkE9+RyPw1CFBqMEkRZLR10drFYnhSBiDy20Adu3fOfpjQlBLdJayKP2aIBjgkvx8O3OnUjk2ZKYKDImAfePPc5xj46EoTLT1UMhjUhWBPv/APbVpYQW7zy5XKehqI6WtiQyOpZWiJI49c6ZrRUPhxGe8PHK0asyJThgpKg4BJ576Fu9E16udPUpJBBDCGVlctuOfiBplF+zDDGKuliknVFRnSUqGwAM42cdtHJbl+VRTa7HSyQyyPT5dOFO5vTnz0m6baX9rVsIJaJXwvfgemmq1Lunh+0OYz3CtjI+mjLP7NSsRDT0+ScklMkn1J89ZjttKL7xbfSrRyJKJf3eSBGxXJ+OO+lk9oMTqiV0i5UMfcBwSBq2XilgrA7HETEbWVBtH4eukVUjqwNTVB5MfeIAJHlqqVreQhr2iy10sn7Wnp5qiZ1RUKsG29/lpz1Jbf2dQGopZpRMCPeeQn6aEof8mq5Z4psySAKSwBAA7Y0wq3/aRRa+YyopBCk4U47ca1iWjcYUkSVlsjarBKyY4DFSPjkaDSnjqKOhqEk9nefd7oiDeZABz8B+OdPMxyUSiJYoyo48NQNJplkpUCxur7CTGsvZfljnWVlIoyMGuxBKijmpLjRQLVyOs3iEkAIRgD0+emfUtsagtBqoaioaSJRtDycAZ5/wdLXNRLW0tRJLEGhVhhRxzjP6aMrZ5rmiQVk+6EEEoAADj11bSSml7+zTpum6mhqJLnLNHBEiD90QCS3c5+AH56ms3ScN+WSossMMMCHBStlkLHkgEFSMdu2PPUXSXUr2CGUw0sEscgXdGBs5Hy+Z1B0/1m3TUNRFTUglgkcsEkfmPv5gc9/hoqQRvEwIO0OuvShsa0or0pHq6iTCCnlkChB3J3HOckaWdT2yKgs8tUiFJU2qpEjHJJ88686h6/kvUlJI1DBFJTltpDk5Bx/EDSu5dSS3Wielmp4VjYqSQSex+Prq/GpN5FGntVPlmZAEGWXuCe2NCSW4mikmhqOVk8LMpPIGMnC4GTnH002dojTBYoo422jlc86USTSJHLHI6vC0m8R7cEE4z730HGNRSpG8zhr2gklNcKZVl9oiAeVEHhhuAzY/tE57jT+WwVTU25rjIQDu/o1z8s+mk1RWPOiRhUVUkVxk5ztOQPy0yN/r54GhUwR543AEkaQwEnzkFqnknod0oy4LD54J1ovUXRVms9ot09TPcJa2pIQhJgkYbwy5O3HYAdtU21QU0NAkTQhyAcuZGBJPc99WDqbrJrnbqSnqaJfEpW3LIkuA3uFDkEHyPrrmpBJBjYGtoxo/s6upggliFtcMobL1E0bEEeYAYA/XQNw6XgarqYPEn/cyGMlJvMcHBxo+i+1SaGmiie2xuUQLnxCM4GkDdayGtqJo6JFSeZ5ShkPBY576QVZATFHUVItmrIIY2lYSxFiHbcQQfXSNoayuuqR09a0KyttRDGNoIUnnz8tWe41UV8rIZqqn2tFEUAWQ8nOc6r7RyW+4JUx7ZBE5ZVZsZyCME/XvqWLMzXW0XzteKeeXwp6UFGK7SSRj/l/jphT2m7V9FFUNcVid0yVWIYB0I8lRK8r7Yl3ksU3kgfXGnFsvFTDRpTrFExVNm4seD66tLIC1byC0vMss0FRJ4rIeG24yP8DV8svRD3jp03eW5ikhQSMU8LcQqZyfyOqnaKJN08tXJI8rtkGMhRjyHIPOrtbOr7dbelamy1cdUpeOWOOVQHA3g4J5HYnyHbQFE1Ebq4poOmauYPJa0rrhEoAZokjUqSMgEM45x6ZHx15celK9aeKWpSsozIxTZNChbjnPEhGPrpv0f11a7HRyw1fjSGQq4MSZ7DHOe3bUvUn2hWi4vSNTLV5j3Bg0eBg+ffvp4LdwhyRKFdLZPa/BaWYSiUkD3NhGPhk+uqzLHPUTb0rJVjZtvhrGuc5x551e73XUl7NL4YnQxFy2QBkHGMd/TVWq6QQzP4DYjLbhnGVP076nxyqXeri6vpLtbKtkStpnYD/Ux/A66t9Dd7o8hlrootuAvhRhvLzzjRlyqJ6+qMpigiLd1DFh8NT2epqKB22pC4Y5wSdKlG8ILEbyKgSqprhPRVUwmMaK4cIFyDn+WrP050zcepXqVt0kEQgxuabODnyGNLKOgaouc1bU1TAyIqhFiBAxn4j11c+hr9bel5asXCaURVO3EoiJwR5EAk6FgtUdGonfp2toLmaIVMVXUISjpSxs7BsA7QvBY4P9nOPPUU3T12qt+Ketg8JS5aooZY0wP9o8Z+GmrXu2HqqrqkrlEErS7JQrAgSRkZIxnIJ/LOnlD1fZKHpGO2NcpKipjgMe8Qv75yT5+Xlzp4CAMZmtwtdVQ0r1NRNFsDAY2sOSQB+ZGqxPW1Urn2VKd0HB3S4OfoDj660G/wBzorpapaWBpBKzRuu6PAJDqSPwB1RamjShmkWISOjnczYAOfln01iFuUE1ODLcaaJahqESQsOHifIP5Z/LQi3StrKpYordJubP3uBx8SNNayqhe1U1Oom8aJQrjZ7vnyD5+WhrXULT1kTyJKyjvhdXBZAzdxI0qJaeqSCvpPZ5ZASh3A7sd+2iXp680vjR0jOkgBjAYDIxnJyRgYx2z31NeYnul7oZKaMiljVw0r8YyPTvoqurIorZbqOOR80sZR2I4JyORrAKTUpJqxA4hU0sLTPC+wLkEDIY8cZ+Pkfh2GhxcWqahEigldnUkhFBZSPIjIH1z9NMZ5xLaKYQStuEYRs8YYDnGvbdXpBPD7W7bPXBOqNMQh2MUmvMbtBVwvBOV3BHIyR8NL0r6iUGSKKJ4Q23iTn5+mm95pzc+o4JacH2UROjTEcDPw76ULRNQxezKTKu4lWUHBz65A1KGVRWauMJKuroYBLPRTeC5wrJ7wPofr8dLTf4snMMwPoRpzda6OW3wwJI5KbS67DwwXHHqNKw7Y4Mn4HVwHmEOe4nUdniam3rVybYwSFMUfl9NTdI2pLhTQ1EjSiV1Llkcrzn4aZ1MQSNosBEIIOOODoWgkkt9MsFDMURV2jIBOPnq5LNTVFe16bq1qESOaZ2CgFiSCTzn46ZV9qpK66iDwhEGiaVpQMtkcADOdS26lplqzUTRJNUu29pHJznyxg6IrYd1YkscjJIgwGGDx5jny1wO7T36GqiaRVhuSP/AB3iSq6dENPNOK2RvDRmwY1GSBn01F0/QR18TtUAnAUjDEdxpxU+JNDLDJKdjqVOAAcHUNNRpBCY4ZHVCApwecaOM9b9V09/AGpHZp3p66upd+Y05jXOQAAeNQSW9LjWyxNU1CP4TzeJvJAx2AXtjnVhs1JS04b9xHI753O5OWz9dC1dsMUpko5isoBUFwGG09wRpIRuDPl6pLG1lXNoqdm6K4v7qk/dbk/82nXS9gW6UEdRPU1QZkBIWQgHI1xJRTIWXxlVSMZC5OjLRU1VupVpYJ1EYQJnbzx8fXXS1E50Z5Z5pIa24UTSO8dO21N5ycY9dRQ0EdzuUqyTzKdjS43nau3HGARxz66cWWKnhkmeSJJpJSWd3Zsn8CNDPQeDUiamnZGXIHuhuD3GOP1GgpFnaVga2lZW01hK+FcD8cqf56ddMdOvdLdDUS3CqSQjPukY/Ma+9kdHyJQCOR7v/fRlnram1UkVPTtGyxrtDOmSfj307WSjBiJrXdpaE1Es8SQ+IGkI3Zz240LFa5rlVzqtxmSRYzIN2Ngwe2Bzz8/Lz07pYkmrpKisVaiVxty2RtHoMHUKUc1HO81NKrMVZCrrgEH1+WiCLMpyraVZrddV2tHXRtxk5J/9umtksdXcKKGoe5TRswyVRQPz1I0EyFsSL24yNHWmtnoaJKaLwyoGNxHOc8nS+MnyqcW2qqIDXQzSmQ052gnHPHfjUIpbhcFnSK4qHhUzEtGqg+W3IBPr+GmtupKcxVDVG6Sebl3DbQT5cY+WhIY5qEzSReHKJU8JlbK8Z7gjPPfj46C42ZWyraV5oryoJWeHhc5J8/T7untrsV0q6OKo/aEYEsYbaYPu5Hlhh+ehkSbDKjoPTJONPbZfJaKjjp1p422RiMMTnkefbn5afxk3qA0Us9HNUQVcniNAMl1XGQQT2+mgkorhcqxoo69Q7hpEUx4UBcZBPPqOcad06RTVFVUV3vS1Hfw32KB2GBg84+OgIS9sq/aY9kxVGQLnGQ2PP6DQWiTcrZVtK9LFeUwYzA2SQcyrx+IGmlqs97qqKOoWspo2ddxQxk7efUHnXwaQ7sBMZzgt2+Gm9pvMtLRJTmBSQoUNu7fHTpRJbVJLPUTRwzLWuviRHDsgIHbSkxXG51ypFWxqJQfCQw8cc8nPp8Ppp9aYYpIJWrSzTSsS/hgBTny557aWwQTW+ujqEw6RMSozgsMEY+B0Fok3E11YlcqYb1A7KDTsysQQCv8AEjRVDa71VwLOauCHk5j8Pd2PrnR8/jSTSOIlAkYsAW+7ny0bba+SmpvBanjOcgHd250/jCC0jsskzzNBLIPE8Xwt4XA8ucc+urFf+lFpNgjudQ80m4qrRjaAoBOT9QOBpXZqbwfGnnkZZ/FMiGNBgDjHc/DTu+34VgglFJIGhDqVDDDBgAfl90aK4kmVsq2lbbpTqICJ4IIZUYZLCpQcHzAYA6ITpS7JnxKyMOp95Amdp9Mjvqy0/WEccUcb0LkogGVYDsMaBHVW+SVloZEV3yu5wSB8dOkh+UXW+dvCl3n3oyyMQO5BxpVdq+tEhgjp45GDDawmXbz5Hzz8s6d0dNEaOUyzFZJXdyFTIGST66R1JCXFZdjmJZxIN3pnn6/y1zUKWMbWBcT1dzq6ESe10jRSBgFRjgkep9Nd0l0mqWlNNR1E6IBh41yCSM4/76ZXWVaqqaWnkdojjae2PhjRfT9XT0pmSrfa55BwTnjtrpgJzDEiB0lxEiSF4pIZYjh45BgjSyoq7hUVICxU4R22rlznOcf4xppR0i11yu8jfuYZGTYXQkP7vOMaFipnpamnzHlIpA2U7bQc8Z57euiMbIjJNWIor6i4UEhWooJQSM8An8CO+vqCoulaGajt5dEOG3OFPbyBxpzd5Y6qsaSm8cxeW+Paw+mi+n62CmEoqBIAxGCV08RCGapBb7g6yNT1UXgVKoHKFwTjOM8dtA3KatSXY1KodyDgyqNoPbPOc/TRk1LJcb/UVHheFSNTeGHY53c/DUdxBkqw8aMUDKfUcYyM/Q6IC3URJqJq2WsoI2arozG+7Cq39oeZz8NdUlbUVE0opKSSZUAOUGO/kc47fDOn17mWpmV6aVpIl43dsHPodfWmojpppVqt43KMHGdLEQqxM8s1xFW0lMqGOqDLG0bkcE8DJ7aEvEdZSXJ6PwUlkjcq7pIu36ZOc/TXlkoZmvtxq5YglOzRyrvcKHwewOiLsUkv008LNJEZvEU4zkZz+X8NQKpNREmrie4zT0BQVkJR2wSuf7PqD6+WNAyX7w3KJCZVHZ1Jwfy1aL43iVCNHLvjC8EH150tLbThmwR8M6WAgDnxB7klTcquXwqpwdhk2M21EAHljvzpRLHdY4ncTxEKpbG70+mndL/nUn+7Ohan/Npv9236a2IiBN1PrLTVtfCkgr3jJj348MEfw11a6mrF3koppGk28K7dz8dM+jf6vi/3K6XUn+lcvy0SomBM7rLfPU1M60tZK00Ufiku2xME4AwB30NUU94pqaWdpofDjQscSZP4Y05pf6yrv9wv/UNR3f8AqOt/3La2IkDm5LarRXV1KJf2lNGAAcKuOSPUaHt1dUVEVdE8mWhkMYcjvg4ydWrpb+rP/QP01TrF967/APEN/wBWoygAGZWJJE4NtmrXqniuEwmhj8Ub2wuCcYwBpbNS3SKF5Uq0IRCxG4nsPlp7b/6at/4Y/wDUNDT/AOYz/wBxv008QZA5uoVZrVVVtIJ2uVQpKg7QAO4z30RZaqaT2uOdzIaeZo9x7kDz056Q/qdf7o/QaQ2P/OLx/wATJ+uubAAXGCSZz7LW3C4Tez1gAUGURhduEHlnJGckeWlH/wB9jbtVG9feX+erJY/62rP+Ef8A6l0JSffT56ZQQBzdTixw3mvpI6tKmnRXXtsOV4+fOjrbUVU0s9NPhpo3CFlGATjv+emHRn9Rwf3dB2n+va7/AH4/hosoAuJWJNRx1B0dTQTxJFcaxqqVHZSWxGu3HcD1J/LQcfQ9/EkagUhXOHY1pBHxA2atvUX9c0n+6k/6l1Zx/wDmfI66YCAMbmZWzpyeqpvFSvnjGWXA+BI/hoKioqiovkloM5LLOIvFK9hgEnGrv0r/AFLH82/U6rtm/wBPq7/iz/06jINogxgt06Pkpq16e23OoqKoKjFJlVUO4tgA+R90/DUA6P6gTe00YSFELs/jxtjAJ7Dv21cpf9LH+UH6Pp7dP6kr/wDcP/0nWwEIYzPqfpas8NZUrpCCuQpRcD6aReFJcIvBadqckN76pnscca1Oh/zGP+4P01mlJ/RRfN/10WUDiMExbJYbglKk1DX+MjSGM+MQpyPMHnjUFLbL6apImeJFZwu8sGxn4DnVnpv6mp/9+/66lg/zyn/vjWwEisTcBFrvdBE8z10Mi4ztMZxr2rnkNvSUFQ7gYycDJ1a7r/Vb/wB06qVT/o/D8l/XUdQKqJSTzFaw3mWM+C1LLJGpZkTOWXOM8gAeXHnpW9feIiN1EW4z7qn+erfYf6Wt/wCFP/VpNL2Hy1cBBmbhlJLffYFlFFTsz4fmox7pHYjHf46OgqHmoFldQrEZIz2Pz06ov6sj/wByv/SNJKX+pX/ut/HRdQvEYNxA093mrB4EdK0T+6i78MT5D/HGhqm7XKjkZZqCbcp5ARj+mm9g/wA4tH99f013dP8AP5f72ngIPcN1BrddrzWQ76W3KYlJU732sfocaa9NUdT1JfIbQ7JSSlmDsDv24XPHqeRojp3/ADeX++f0GmX2Z/8A4nN/fb//ACXUwAiDEz2//Z8bHMsU19jnmkQyKvgFeAcd84HPYaDi6LuoqY4ZaS7wsx2hmoQyA/Eh+B8dXz7Sv67pv9wv/XrT0/pPrq4iEOSamARdO1NL4iy1hYpnINMw5HfnOkwElUkQpl8V5cBAv9rOtPvH9LcP78v6trNOn/vWf5x/w1GQCqiDEyt1FTVR1phFLI5BILqPdP8Ad8z8tDyXb2WSOKrjETlirBnX3MHv35Gny/6VP/xMv/U2heo/85HyH6axQSZ71I6K/oaZ3EM7BXKDw4i4YDuQw410a5KiiMtKjSMxwEIwc+mDomyf1ZL/AHz+g1UI/wDR+f8A4pv4aJWogbh/7Qqnfb+z5i2M4AB/DnnULX5IGxPBKhU4OcDGnFs/rel/vH9Drvqj/OT/AHF0ygEAfepBRX9pqFnSjqXjyVzGm4fiNQT3DxolalRSTyQ7Bcc4Pz+Q076f/qub+8f0GqAn36P/AIx/11MajDXHn+XTVbR09EZSDgYdcn1I+GoWuM0LGOSjmV1OCMH+Wntj/rNv7ja+vf8AWlR8x+g0yggz3n//2Q==" + }, + { + "slug": "fleet-management-fullstack", + "repo": "Laboratoria/curriculum", + "path": "projects/05-fleet-management-fullstack", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:05.965Z", + "prefix": 5, + "track": "web-dev", + "tracks": [ + "web-dev" + ], + "learningObjectives": [ + { + "id": "node/npm-install" + }, + { + "id": "node/package.json" + }, + { + "id": "node/npm-scripts" + }, + { + "id": "node/process" + }, + { + "id": "node/filesystem" + }, + { + "id": "db/modeling" + }, + { + "id": "db/connection" + }, + { + "id": "db/indexes-constraints" + }, + { + "id": "sql/tables" + }, + { + "id": "sql/crud" + }, + { + "id": "sql/drop" + }, + { + "id": "postgres/psql" + }, + { + "id": "postgres/data-types" + }, + { + "id": "postgres/dump-restore" + }, + { + "id": "postgres/indexes" + }, + { + "id": "react/jsx" + }, + { + "id": "react/components" + }, + { + "id": "react/events" + }, + { + "id": "react/lists-and-keys" + }, + { + "id": "react/conditional-rendering" + }, + { + "id": "react/lifting-up-state" + }, + { + "id": "react/hooks" + }, + { + "id": "react/css-modules" + }, + { + "id": "react/routing" + }, + { + "id": "vue/instance" + }, + { + "id": "vue/data-and-methods" + }, + { + "id": "vue/components" + }, + { + "id": "vue/props" + }, + { + "id": "vue/directives" + }, + { + "id": "vue/iteration" + }, + { + "id": "vue/events" + }, + { + "id": "vue/computed-props-and-observers" + }, + { + "id": "vue/routing" + }, + { + "id": "vue/classes-and-styles" + }, + { + "id": "angular/components-and-templates" + }, + { + "id": "angular/component-lifecycle" + }, + { + "id": "angular/structural-directives" + }, + { + "id": "angular/input-output" + }, + { + "id": "angular/services" + }, + { + "id": "angular/routing" + }, + { + "id": "angular/observables" + }, + { + "id": "angular/http-client" + }, + { + "id": "angular/styles" + } + ], + "intl": { + "es": { + "title": "Fleet Management Software Fullstack", + "summary": "

En este proyecto construirás el frontend y backend de un\nFleet Management Software\npara visualizar en un mapa las ubicaciones de los vehículos de una empresa\nde taxis en Beijing, China.

" + } + }, + "cover": "https://user-images.githubusercontent.com/110297/136462570-852fcc55-e363-4262-a8f3-6bb65702e75a.jpg", + "thumb": "data:image/png;base64,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" + }, + { + "slug": "guess-the-number", + "repo": "Laboratoria/curriculum", + "path": "projects/05-guess-the-number", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:06.060Z", + "prefix": 5, + "track": "web-dev", + "tracks": [ + "web-dev" + ], + "tags": [ + "featured" + ], + "learningObjectives": [ + { + "id": "java/data-types/primitive-vs-non-primitive" + }, + { + "id": "java/data-types/strings" + }, + { + "id": "java/data-types/arrays" + }, + { + "id": "java/access-modifiers" + }, + { + "id": "java/conditionals" + }, + { + "id": "java/loops" + }, + { + "id": "java/collections/array-list" + }, + { + "id": "java/testing/junit" + }, + { + "id": "java/testing/mockito" + }, + { + "id": "object-oriented-programming/classes" + }, + { + "id": "object-oriented-programming/objects" + }, + { + "id": "object-oriented-programming/methods" + }, + { + "id": "object-oriented-programming/attributes" + }, + { + "id": "object-oriented-programming/constructors" + }, + { + "id": "object-oriented-programming/encapsulation" + }, + { + "id": "object-oriented-programming/abstraction" + }, + { + "id": "object-oriented-programming/composition" + }, + { + "id": "object-oriented-programming/interfaces" + }, + { + "id": "object-oriented-programming/inheritance" + }, + { + "id": "object-oriented-programming/unified-model-language" + }, + { + "id": "python/data-types/primitive" + }, + { + "id": "python/data-types/lists" + }, + { + "id": "python/data-types/tuples" + }, + { + "id": "python/data-types/dictionaries" + }, + { + "id": "python/data-types/sets" + }, + { + "id": "python/variables" + }, + { + "id": "python/conditionals" + }, + { + "id": "python/operators" + }, + { + "id": "python/docstrings" + }, + { + "id": "python/functions/basic-concepts" + }, + { + "id": "python/iteration/loops" + }, + { + "id": "python/linting" + }, + { + "id": "python/testing/unit-tests" + }, + { + "id": "python/testing/mocks" + }, + { + "id": "python/testing/fixtures" + }, + { + "id": "python/modularization/modules" + }, + { + "id": "python/dependency-management/pip" + }, + { + "id": "python/dependency-management/virtual-environment" + }, + { + "id": "python/dependency-management/requirements-file" + }, + { + "id": "csharp/data-types/primitives" + }, + { + "id": "csharp/data-types/non-primitives" + }, + { + "id": "csharp/collections/lists" + }, + { + "id": "csharp/collections/arrays" + }, + { + "id": "csharp/collections/sets" + }, + { + "id": "csharp/variables" + }, + { + "id": "csharp/conditionals" + }, + { + "id": "csharp/loops" + }, + { + "id": "csharp/operators" + }, + { + "id": "csharp/access-modifiers" + }, + { + "id": "csharp/namespaces" + }, + { + "id": "csharp/functions/lambda-functions" + }, + { + "id": "csharp/functions/decorators" + }, + { + "id": "csharp/testing/xunit" + }, + { + "id": "csharp/testing/mstest" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" } - }, - "cover": "https://user-images.githubusercontent.com/110297/136462570-852fcc55-e363-4262-a8f3-6bb65702e75a.jpg", - "thumb": "data:image/png;base64,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" - }, - { - "slug": "guess-the-number", - "repo": "Laboratoria/curriculum", - "path": "projects/05-guess-the-number", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:05.346Z", - "prefix": 5, - "track": "web-dev", - "tracks": [ - "web-dev" - ], - "learningObjectives": [ - "java/data-types/primitive-vs-non-primitive", - "java/data-types/strings", - "java/data-types/arrays", - "java/access-modifiers", - "java/conditionals", - "java/loops", - "java/collections/array-list", - "java/testing/junit", - "java/testing/mockito", - "object-oriented-programming/classes", - "object-oriented-programming/objects", - "object-oriented-programming/methods", - "object-oriented-programming/attributes", - "object-oriented-programming/constructors", - "object-oriented-programming/encapsulation", - "object-oriented-programming/abstraction", - "object-oriented-programming/composition", - "object-oriented-programming/interfaces", - "object-oriented-programming/inheritance", - "object-oriented-programming/unified-model-language", - "python/data-types/primitive", - "python/data-types/lists", - "python/data-types/tuples", - "python/data-types/dictionaries", - "python/data-types/sets", - "python/variables", - "python/conditionals", - "python/operators", - "python/docstrings", - "python/functions/basic-concepts", - "python/iteration/loops", - "python/linting", - "python/testing/unit-tests", - "python/testing/mocks", - "python/testing/fixtures", - "python/modularization/modules", - "python/dependency-management/pip", - "python/dependency-management/virtual-environment", - "python/dependency-management/requirements-file", - "csharp/data-types/primitives", - "csharp/data-types/non-primitives", - "csharp/collections/lists", - "csharp/collections/arrays", - "csharp/collections/sets", - "csharp/variables", - "csharp/conditionals", - "csharp/loops", - "csharp/operators", - "csharp/access-modifiers", - "csharp/namespaces", - "csharp/functions/lambda-functions", - "csharp/functions/decorators", - "csharp/testing/xunit", - "csharp/testing/mstest", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/collaboration", - "scm/github/project-management" ], "intl": { "es": { @@ -1766,78 +4157,207 @@ "slug": "movie-challenge-fw", "repo": "Laboratoria/curriculum", "path": "projects/05-movie-challenge-fw", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:08.118Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:06.343Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "css/grid", - "css/media-queries", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "scm/github/project-management", - "http/request-response", - "http/headers", - "http/body", - "http/verbs", - "http/status-codes", - "http/json", - "http/cors", - "angular/components-and-templates", - "angular/component-lifecycle", - "angular/structural-directives", - "angular/input-output", - "angular/services", - "angular/routing", - "angular/observables", - "angular/http-client", - "angular/styles", - "react/jsx", - "react/components", - "react/events", - "react/lists-and-keys", - "react/conditional-rendering", - "react/lifting-up-state", - "react/hooks", - "react/css-modules", - "react/routing", - "vue/instance", - "vue/data-and-methods", - "vue/components", - "vue/props", - "vue/directives", - "vue/iteration", - "vue/events", - "vue/computed-props-and-observers", - "vue/routing", - "vue/classes-and-styles", - "typescript/basic-types/primitives", - "typescript/basic-types/arrays", - "typescript/basic-types/functions", - "typescript/basic-types/object-types/optional-properties", - "typescript/basic-types/union-types", - "typescript/basic-types/interfaces", - "typescript/basic-types/enums", - "product-design/interactivity", - "product-design/visual-design" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "css/grid" + }, + { + "id": "css/media-queries" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "http/request-response" + }, + { + "id": "http/headers" + }, + { + "id": "http/body" + }, + { + "id": "http/verbs" + }, + { + "id": "http/status-codes" + }, + { + "id": "http/json" + }, + { + "id": "http/cors" + }, + { + "id": "angular/components-and-templates" + }, + { + "id": "angular/component-lifecycle" + }, + { + "id": "angular/structural-directives" + }, + { + "id": "angular/input-output" + }, + { + "id": "angular/services" + }, + { + "id": "angular/routing" + }, + { + "id": "angular/observables" + }, + { + "id": "angular/http-client" + }, + { + "id": "angular/styles" + }, + { + "id": "react/jsx" + }, + { + "id": "react/components" + }, + { + "id": "react/events" + }, + { + "id": "react/lists-and-keys" + }, + { + "id": "react/conditional-rendering" + }, + { + "id": "react/lifting-up-state" + }, + { + "id": "react/hooks" + }, + { + "id": "react/css-modules" + }, + { + "id": "react/routing" + }, + { + "id": "vue/instance" + }, + { + "id": "vue/data-and-methods" + }, + { + "id": "vue/components" + }, + { + "id": "vue/props" + }, + { + "id": "vue/directives" + }, + { + "id": "vue/iteration" + }, + { + "id": "vue/events" + }, + { + "id": "vue/computed-props-and-observers" + }, + { + "id": "vue/routing" + }, + { + "id": "vue/classes-and-styles" + }, + { + "id": "typescript/basic-types/primitives" + }, + { + "id": "typescript/basic-types/arrays" + }, + { + "id": "typescript/basic-types/functions" + }, + { + "id": "typescript/basic-types/object-types/optional-properties" + }, + { + "id": "typescript/basic-types/union-types" + }, + { + "id": "typescript/basic-types/interfaces" + }, + { + "id": "typescript/basic-types/enums" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + } ], "intl": { "es": { @@ -1856,14 +4376,17 @@ "slug": "open-project", "repo": "Laboratoria/curriculum", "path": "projects/05-open-project", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:07.871Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:08.610Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "hidden" + ], "intl": { "es": { "title": "Proyecto Abierto", @@ -1877,38 +4400,87 @@ "slug": "roman-numerals", "repo": "Laboratoria/curriculum", "path": "projects/05-roman-numerals", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:07.897Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:08.927Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "beta" + ], "learningObjectives": [ - "node/npm-install", - "node/package.json", - "node/npm-scripts", - "node/process", - "js/data-types/primitive", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/strings", - "js/data-types/arrays", - "js/data-types/objects", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/commonjs", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/collaboration", - "scm/github/project-management" + { + "id": "node/npm-install" + }, + { + "id": "node/package.json" + }, + { + "id": "node/npm-scripts" + }, + { + "id": "node/process" + }, + { + "id": "js/data-types/primitive" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/strings" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/commonjs" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + } ], "intl": { "es": { @@ -1923,39 +4495,90 @@ "slug": "roman-numerals-slack", "repo": "Laboratoria/curriculum", "path": "projects/05-roman-numerals-slack", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:11.229Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:08.529Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "beta" + ], "learningObjectives": [ - "node/npm-install", - "node/package.json", - "node/npm-scripts", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/modules/commonjs", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/collaboration", - "scm/github/project-management", - "express/routing", - "express/middleware", - "http/request-response", - "http/body", - "http/verbs", - "http/status-codes", - "http/json", - "webops/cloud-functions", - "slack/slash-commands" + { + "id": "node/npm-install" + }, + { + "id": "node/package.json" + }, + { + "id": "node/npm-scripts" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/modules/commonjs" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "express/routing" + }, + { + "id": "express/middleware" + }, + { + "id": "http/request-response" + }, + { + "id": "http/body" + }, + { + "id": "http/verbs" + }, + { + "id": "http/status-codes" + }, + { + "id": "http/json" + }, + { + "id": "webops/cloud-functions" + }, + { + "id": "slack/slash-commands" + } ], "intl": { "es": { @@ -1970,78 +4593,204 @@ "slug": "social-network-fw", "repo": "Laboratoria/curriculum", "path": "projects/05-social-network-fw", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:11.247Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:08.532Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "css/grid", - "css/media-queries", - "js/data-types/arrays", - "js/data-types/objects", - "js/data-types/primitive-vs-non-primitive", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "js/async/callbacks", - "js/async/promises", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "scm/github/project-management", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test", - "firebase/auth", - "firebase/firestore", - "angular/components-and-templates", - "angular/component-lifecycle", - "angular/structural-directives", - "angular/input-output", - "angular/services", - "angular/routing", - "angular/observables", - "angular/http-client", - "angular/styles", - "react/jsx", - "react/components", - "react/events", - "react/lists-and-keys", - "react/conditional-rendering", - "react/lifting-up-state", - "react/hooks", - "react/css-modules", - "react/routing", - "vue/instance", - "vue/data-and-methods", - "vue/components", - "vue/props", - "vue/directives", - "vue/iteration", - "vue/events", - "vue/computed-props-and-observers", - "vue/routing", - "vue/classes-and-styles" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "css/grid" + }, + { + "id": "css/media-queries" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "js/async/callbacks" + }, + { + "id": "js/async/promises" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + }, + { + "id": "firebase/auth" + }, + { + "id": "firebase/firestore" + }, + { + "id": "angular/components-and-templates" + }, + { + "id": "angular/component-lifecycle" + }, + { + "id": "angular/structural-directives" + }, + { + "id": "angular/input-output" + }, + { + "id": "angular/services" + }, + { + "id": "angular/routing" + }, + { + "id": "angular/observables" + }, + { + "id": "angular/http-client" + }, + { + "id": "angular/styles" + }, + { + "id": "react/jsx" + }, + { + "id": "react/components" + }, + { + "id": "react/events" + }, + { + "id": "react/lists-and-keys" + }, + { + "id": "react/conditional-rendering" + }, + { + "id": "react/lifting-up-state" + }, + { + "id": "react/hooks" + }, + { + "id": "react/css-modules" + }, + { + "id": "react/routing" + }, + { + "id": "vue/instance" + }, + { + "id": "vue/data-and-methods" + }, + { + "id": "vue/components" + }, + { + "id": "vue/props" + }, + { + "id": "vue/directives" + }, + { + "id": "vue/iteration" + }, + { + "id": "vue/events" + }, + { + "id": "vue/computed-props-and-observers" + }, + { + "id": "vue/routing" + }, + { + "id": "vue/classes-and-styles" + } ], "intl": { "es": { @@ -2056,39 +4805,87 @@ "slug": "wordpress-plugin", "repo": "Laboratoria/curriculum", "path": "projects/05-wordpress-plugin", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:11.352Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:08.980Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], "learningObjectives": [ - "php/data-types/primitive", - "php/data-types/arrays", - "php/data-types/objects", - "php/variables", - "php/control-structures", - "php/functions", - "php/testing/phpunit", - "php/testing/xdebug", - "php/package-management/composer", - "wordpress/plugin-development/hooks", - "wordpress/plugin-development/administration-menu", - "wordpress/plugin-development/shortcodes", - "wordpress/plugin-development/settings", - "wordpress/plugin-development/custom-post-types", - "wordpress/plugin-development/taxonomies", - "wordpress/plugin-development/users", - "wordpress/plugin-development/cron", - "wordpress/plugin-development/wordpress-rest-api", - "wordpress/plugin-development/wordpress-apis", - "wordpress/plugin-development/wordpress-plugin-directory", - "mysql/mysql", - "mysql/data-types", - "db/modeling", - "db/connection" + { + "id": "php/data-types/primitive" + }, + { + "id": "php/data-types/arrays" + }, + { + "id": "php/data-types/objects" + }, + { + "id": "php/variables" + }, + { + "id": "php/control-structures" + }, + { + "id": "php/functions" + }, + { + "id": "php/testing/phpunit" + }, + { + "id": "php/testing/xdebug" + }, + { + "id": "php/package-management/composer" + }, + { + "id": "wordpress/plugin-development/hooks" + }, + { + "id": "wordpress/plugin-development/administration-menu" + }, + { + "id": "wordpress/plugin-development/shortcodes" + }, + { + "id": "wordpress/plugin-development/settings" + }, + { + "id": "wordpress/plugin-development/custom-post-types" + }, + { + "id": "wordpress/plugin-development/taxonomies" + }, + { + "id": "wordpress/plugin-development/users" + }, + { + "id": "wordpress/plugin-development/cron" + }, + { + "id": "wordpress/plugin-development/wordpress-rest-api" + }, + { + "id": "wordpress/plugin-development/wordpress-apis" + }, + { + "id": "wordpress/plugin-development/wordpress-plugin-directory" + }, + { + "id": "mysql/mysql" + }, + { + "id": "mysql/data-types" + }, + { + "id": "db/modeling" + }, + { + "id": "db/connection" + } ], "intl": { "es": { @@ -2103,9 +4900,9 @@ "slug": "job-application", "repo": "Laboratoria/curriculum", "path": "projects/06-job-application", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:13.636Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:08.704Z", "prefix": 6, "track": "web-dev", "tracks": [ diff --git a/dist/projects/burger-queen-api-client.json b/dist/projects/burger-queen-api-client.json index e944a7edf..0d3bfb90e 100644 --- a/dist/projects/burger-queen-api-client.json +++ b/dist/projects/burger-queen-api-client.json @@ -2,80 +2,213 @@ "slug": "burger-queen-api-client", "repo": "Laboratoria/curriculum", "path": "projects/04-burger-queen-api-client", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:59.650Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:03.268Z", "prefix": 4, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "css/grid", - "css/media-queries", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "scm/github/project-management", - "http/request-response", - "http/headers", - "http/body", - "http/verbs", - "http/status-codes", - "http/json", - "http/cors", - "angular/components-and-templates", - "angular/component-lifecycle", - "angular/structural-directives", - "angular/input-output", - "angular/services", - "angular/routing", - "angular/observables", - "angular/http-client", - "angular/styles", - "react/jsx", - "react/components", - "react/events", - "react/lists-and-keys", - "react/conditional-rendering", - "react/lifting-up-state", - "react/hooks", - "react/css-modules", - "react/routing", - "vue/instance", - "vue/data-and-methods", - "vue/components", - "vue/props", - "vue/directives", - "vue/iteration", - "vue/events", - "vue/computed-props-and-observers", - "vue/routing", - "vue/classes-and-styles", - "typescript/basic-types/primitives", - "typescript/basic-types/arrays", - "typescript/basic-types/functions", - "typescript/basic-types/object-types/optional-properties", - "typescript/basic-types/union-types", - "typescript/basic-types/interfaces", - "typescript/basic-types/enums", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "css/grid" + }, + { + "id": "css/media-queries" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "http/request-response" + }, + { + "id": "http/headers" + }, + { + "id": "http/body" + }, + { + "id": "http/verbs" + }, + { + "id": "http/status-codes" + }, + { + "id": "http/json" + }, + { + "id": "http/cors" + }, + { + "id": "angular/components-and-templates" + }, + { + "id": "angular/component-lifecycle" + }, + { + "id": "angular/structural-directives" + }, + { + "id": "angular/input-output" + }, + { + "id": "angular/services" + }, + { + "id": "angular/routing" + }, + { + "id": "angular/observables" + }, + { + "id": "angular/http-client" + }, + { + "id": "angular/styles" + }, + { + "id": "react/jsx" + }, + { + "id": "react/components" + }, + { + "id": "react/events" + }, + { + "id": "react/lists-and-keys" + }, + { + "id": "react/conditional-rendering" + }, + { + "id": "react/lifting-up-state" + }, + { + "id": "react/hooks" + }, + { + "id": "react/css-modules" + }, + { + "id": "react/routing" + }, + { + "id": "vue/instance" + }, + { + "id": "vue/data-and-methods" + }, + { + "id": "vue/components" + }, + { + "id": "vue/props" + }, + { + "id": "vue/directives" + }, + { + "id": "vue/iteration" + }, + { + "id": "vue/events" + }, + { + "id": "vue/computed-props-and-observers" + }, + { + "id": "vue/routing" + }, + { + "id": "vue/classes-and-styles" + }, + { + "id": "typescript/basic-types/primitives" + }, + { + "id": "typescript/basic-types/arrays" + }, + { + "id": "typescript/basic-types/functions" + }, + { + "id": "typescript/basic-types/object-types/optional-properties" + }, + { + "id": "typescript/basic-types/union-types" + }, + { + "id": "typescript/basic-types/interfaces" + }, + { + "id": "typescript/basic-types/enums" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + } ], "intl": { "es": { diff --git a/dist/projects/burger-queen-api.json b/dist/projects/burger-queen-api.json index c2acb9a8c..78c28ee45 100644 --- a/dist/projects/burger-queen-api.json +++ b/dist/projects/burger-queen-api.json @@ -2,62 +2,159 @@ "slug": "burger-queen-api", "repo": "Laboratoria/curriculum", "path": "projects/04-burger-queen-api", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:59.634Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:03.199Z", "prefix": 4, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "hidden" + ], "learningObjectives": [ - "node/npm-install", - "node/package.json", - "node/npm-scripts", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/testing/e2e", - "js/modules/es-modules", - "js/modules/commonjs", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "scm/github/project-management", - "express/routing", - "express/middleware", - "http/request-response", - "http/headers", - "http/body", - "http/verbs", - "http/status-codes", - "http/json", - "http/cors", - "auth/jwt", - "auth/password-access-and-storage", - "webops/env-vars", - "webops/docker-containers", - "webops/docker-compose", - "webops/cloud-functions", - "mongodb/crud", - "mongodb/schemas", - "mongodb/dump-restore", - "postgres/psql", - "postgres/data-types", - "postgres/dump-restore", - "mysql/mysql", - "mysql/data-types", - "mysql/dump-restore", - "db/modeling", - "db/connection", - "sql/tables", - "sql/crud", - "sql/drop" + { + "id": "node/npm-install" + }, + { + "id": "node/package.json" + }, + { + "id": "node/npm-scripts" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/testing/e2e" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/modules/commonjs" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "express/routing" + }, + { + "id": "express/middleware" + }, + { + "id": "http/request-response" + }, + { + "id": "http/headers" + }, + { + "id": "http/body" + }, + { + "id": "http/verbs" + }, + { + "id": "http/status-codes" + }, + { + "id": "http/json" + }, + { + "id": "http/cors" + }, + { + "id": "auth/jwt" + }, + { + "id": "auth/password-access-and-storage" + }, + { + "id": "webops/env-vars" + }, + { + "id": "webops/docker-containers" + }, + { + "id": "webops/docker-compose" + }, + { + "id": "webops/cloud-functions" + }, + { + "id": "mongodb/crud" + }, + { + "id": "mongodb/schemas" + }, + { + "id": "mongodb/dump-restore" + }, + { + "id": "postgres/psql" + }, + { + "id": "postgres/data-types" + }, + { + "id": "postgres/dump-restore" + }, + { + "id": "mysql/mysql" + }, + { + "id": "mysql/data-types" + }, + { + "id": "mysql/dump-restore" + }, + { + "id": "db/modeling" + }, + { + "id": "db/connection" + }, + { + "id": "sql/tables" + }, + { + "id": "sql/crud" + }, + { + "id": "sql/drop" + } ], "intl": { "es": { diff --git a/dist/projects/card-validation.json b/dist/projects/card-validation.json index 5bec6db77..2a5846a67 100644 --- a/dist/projects/card-validation.json +++ b/dist/projects/card-validation.json @@ -2,38 +2,87 @@ "slug": "card-validation", "repo": "Laboratoria/curriculum", "path": "projects/01-card-validation", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:40.227Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:57.514Z", "prefix": 1, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "deprecated" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive", - "js/data-types/strings", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/github/setup", - "scm/github/gh-pages", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive" + }, + { + "id": "js/data-types/strings" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + } ], "intl": { "es": { diff --git a/dist/projects/chat-app.json b/dist/projects/chat-app.json index 6b3fe1907..46bf1a655 100644 --- a/dist/projects/chat-app.json +++ b/dist/projects/chat-app.json @@ -2,69 +2,180 @@ "slug": "chat-app", "repo": "Laboratoria/curriculum", "path": "projects/05-chat-app", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:02.466Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:05.783Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "beta" + ], "learningObjectives": [ - "js/async/callbacks", - "js/async/promises", - "js/testing/unit", - "js/testing/e2e", - "auth/jwt", - "auth/password-access-and-storage", - "http/request-response", - "http/verbs", - "http/cors", - "express/routing", - "express/middleware", - "socket-io/client", - "socket-io/server", - "react/jsx", - "react/components", - "react/events", - "react/lists-and-keys", - "react/conditional-rendering", - "react/lifting-up-state", - "react/hooks", - "react/css-modules", - "react/routing", - "vue/instance", - "vue/data-and-methods", - "vue/components", - "vue/props", - "vue/directives", - "vue/iteration", - "vue/events", - "vue/computed-props-and-observers", - "vue/routing", - "vue/classes-and-styles", - "angular/components-and-templates", - "angular/component-lifecycle", - "angular/structural-directives", - "angular/input-output", - "angular/services", - "angular/routing", - "angular/observables", - "angular/http-client", - "angular/styles", - "cicd/build-pipelines", - "cicd/service-deployment", - "cicd/tbd", - "cicd/test-coverage", - "cicd/integration-tests", - "postgres/psql", - "postgres/data-types", - "postgres/dump-restore", - "db/modeling", - "db/connection", - "sql/tables", - "sql/crud", - "sql/drop" + { + "id": "js/async/callbacks" + }, + { + "id": "js/async/promises" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/e2e" + }, + { + "id": "auth/jwt" + }, + { + "id": "auth/password-access-and-storage" + }, + { + "id": "http/request-response" + }, + { + "id": "http/verbs" + }, + { + "id": "http/cors" + }, + { + "id": "express/routing" + }, + { + "id": "express/middleware" + }, + { + "id": "socket-io/client" + }, + { + "id": "socket-io/server" + }, + { + "id": "react/jsx" + }, + { + "id": "react/components" + }, + { + "id": "react/events" + }, + { + "id": "react/lists-and-keys" + }, + { + "id": "react/conditional-rendering" + }, + { + "id": "react/lifting-up-state" + }, + { + "id": "react/hooks" + }, + { + "id": "react/css-modules" + }, + { + "id": "react/routing" + }, + { + "id": "vue/instance" + }, + { + "id": "vue/data-and-methods" + }, + { + "id": "vue/components" + }, + { + "id": "vue/props" + }, + { + "id": "vue/directives" + }, + { + "id": "vue/iteration" + }, + { + "id": "vue/events" + }, + { + "id": "vue/computed-props-and-observers" + }, + { + "id": "vue/routing" + }, + { + "id": "vue/classes-and-styles" + }, + { + "id": "angular/components-and-templates" + }, + { + "id": "angular/component-lifecycle" + }, + { + "id": "angular/structural-directives" + }, + { + "id": "angular/input-output" + }, + { + "id": "angular/services" + }, + { + "id": "angular/routing" + }, + { + "id": "angular/observables" + }, + { + "id": "angular/http-client" + }, + { + "id": "angular/styles" + }, + { + "id": "cicd/build-pipelines" + }, + { + "id": "cicd/service-deployment" + }, + { + "id": "cicd/tbd" + }, + { + "id": "cicd/test-coverage" + }, + { + "id": "cicd/integration-tests" + }, + { + "id": "postgres/psql" + }, + { + "id": "postgres/data-types" + }, + { + "id": "postgres/dump-restore" + }, + { + "id": "db/modeling" + }, + { + "id": "db/connection" + }, + { + "id": "sql/tables" + }, + { + "id": "sql/crud" + }, + { + "id": "sql/drop" + } ], "intl": { "es": { diff --git a/dist/projects/cipher.json b/dist/projects/cipher.json index 4b5182297..e8042ea93 100644 --- a/dist/projects/cipher.json +++ b/dist/projects/cipher.json @@ -2,38 +2,87 @@ "slug": "cipher", "repo": "Laboratoria/curriculum", "path": "projects/01-cipher", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:43.140Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:57.438Z", "prefix": 1, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "deprecated" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive", - "js/data-types/strings", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/github/setup", - "scm/github/gh-pages", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive" + }, + { + "id": "js/data-types/strings" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + } ], "intl": { "es": { diff --git a/dist/projects/data-lovers.json b/dist/projects/data-lovers.json index 914d8581a..a8124a24e 100644 --- a/dist/projects/data-lovers.json +++ b/dist/projects/data-lovers.json @@ -2,44 +2,105 @@ "slug": "data-lovers", "repo": "Laboratoria/curriculum", "path": "projects/02-data-lovers", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:47.187Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:57.403Z", "prefix": 2, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "deprecated" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + } ], "intl": { "es": { diff --git a/dist/projects/dataverse-chat.json b/dist/projects/dataverse-chat.json index 9d8818ffd..844f960c4 100644 --- a/dist/projects/dataverse-chat.json +++ b/dist/projects/dataverse-chat.json @@ -2,56 +2,141 @@ "slug": "dataverse-chat", "repo": "Laboratoria/curriculum", "path": "projects/03-dataverse-chat", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:53.182Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:03.539Z", "prefix": 3, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "css/grid", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "browser/routing", - "browser/storage", - "browser/fetch", - "js/async/callbacks", - "js/async/promises", - "js/semantics", - "js/variables", - "js/functions", - "js/conditionals", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/expression-vs-statement", - "js/loops", - "js/modules/es-modules", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "http/headers", - "http/request-response", - "http/status-codes", - "ai-prompting/priming-chatbots", - "ai-prompting/open-ai-api", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "css/grid" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "browser/routing" + }, + { + "id": "browser/storage" + }, + { + "id": "browser/fetch" + }, + { + "id": "js/async/callbacks" + }, + { + "id": "js/async/promises" + }, + { + "id": "js/semantics" + }, + { + "id": "js/variables" + }, + { + "id": "js/functions" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "js/loops" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "http/headers" + }, + { + "id": "http/request-response" + }, + { + "id": "http/status-codes" + }, + { + "id": "ai-prompting/priming-chatbots" + }, + { + "id": "ai-prompting/open-ai-api" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + } ], "intl": { "es": { diff --git a/dist/projects/dataverse.json b/dist/projects/dataverse.json index 9479acae8..1ef25c627 100644 --- a/dist/projects/dataverse.json +++ b/dist/projects/dataverse.json @@ -2,46 +2,111 @@ "slug": "dataverse", "repo": "Laboratoria/curriculum", "path": "projects/02-dataverse", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:47.449Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:00.589Z", "prefix": 2, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test", - "ai-prompting/giving-instructions", - "ai-prompting/few-shot-prompting" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + }, + { + "id": "ai-prompting/giving-instructions" + }, + { + "id": "ai-prompting/few-shot-prompting" + } ], "intl": { "es": { diff --git a/dist/projects/design-assigned.json b/dist/projects/design-assigned.json index 9f6aba2b3..74043ff68 100644 --- a/dist/projects/design-assigned.json +++ b/dist/projects/design-assigned.json @@ -2,59 +2,150 @@ "slug": "design-assigned", "repo": "Laboratoria/curriculum", "path": "projects/02-design-assigned", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:46.730Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:59.920Z", "prefix": 2, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "agile-planning/scope", - "agile-planning/workplan", - "agile-planning/tasks", - "business-understanding/business-model", - "business-understanding/goals-and-kpis", - "business-understanding/benchmark", - "research-planning/research-plan", - "research-planning/desk-research", - "research-planning/research-sample", - "research-planning/participants", - "research-qualitative/user-interviews", - "research-qualitative/exploratory-techniques", - "research-quantitative/user-surveys", - "research-quantitative/analytical-techniques", - "research-analysis/process-information", - "research-analysis/experience-mapping", - "research-analysis/identify-patterns", - "research-analysis/synthesize-results", - "research-analysis/ai-analysis", - "design-concept/define-mvp", - "design-concept/design-references", - "design-concept/ideate", - "design-concept/prioritize-ideas", - "interaction-design/user-flows", - "interaction-design/usability", - "interaction-design/information-architecture", - "content-design/voice-tone", - "content-design/micro-content", - "interface-design/visual-design", - "interface-design/accesibility", - "interface-design/responsive-design", - "design-prototype/basic-prototypes", - "design-prototype/high-fidelity", - "design-prototype/advanced-interactions", - "usability-analysis/moderated-testing", - "usability-analysis/heuristic-analysis", - "usability-analysis/non-moderated-testing", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-specs/file-organization", - "design-specs/use-cases", - "design-specs/project-documentation", - "design-systems/atomic-design", - "design-systems/design-system" + { + "id": "agile-planning/scope" + }, + { + "id": "agile-planning/workplan" + }, + { + "id": "agile-planning/tasks" + }, + { + "id": "business-understanding/business-model" + }, + { + "id": "business-understanding/goals-and-kpis" + }, + { + "id": "business-understanding/benchmark" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/desk-research" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "research-qualitative/user-interviews" + }, + { + "id": "research-qualitative/exploratory-techniques" + }, + { + "id": "research-quantitative/user-surveys" + }, + { + "id": "research-quantitative/analytical-techniques" + }, + { + "id": "research-analysis/process-information" + }, + { + "id": "research-analysis/experience-mapping" + }, + { + "id": "research-analysis/identify-patterns" + }, + { + "id": "research-analysis/synthesize-results" + }, + { + "id": "research-analysis/ai-analysis" + }, + { + "id": "design-concept/define-mvp" + }, + { + "id": "design-concept/design-references" + }, + { + "id": "design-concept/ideate" + }, + { + "id": "design-concept/prioritize-ideas" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interaction-design/usability" + }, + { + "id": "interaction-design/information-architecture" + }, + { + "id": "content-design/voice-tone" + }, + { + "id": "content-design/micro-content" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "interface-design/accesibility" + }, + { + "id": "interface-design/responsive-design" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "design-prototype/high-fidelity" + }, + { + "id": "design-prototype/advanced-interactions" + }, + { + "id": "usability-analysis/moderated-testing" + }, + { + "id": "usability-analysis/heuristic-analysis" + }, + { + "id": "usability-analysis/non-moderated-testing" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/use-cases" + }, + { + "id": "design-specs/project-documentation" + }, + { + "id": "design-systems/atomic-design" + }, + { + "id": "design-systems/design-system" + } ], "intl": { "es": { diff --git a/dist/projects/design-detectives.json b/dist/projects/design-detectives.json index f42a1c850..e56923b1f 100644 --- a/dist/projects/design-detectives.json +++ b/dist/projects/design-detectives.json @@ -2,41 +2,96 @@ "slug": "design-detectives", "repo": "Laboratoria/curriculum", "path": "projects/01-design-detectives", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:42.952Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:56.736Z", "prefix": 1, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "agile-planning/tasks", - "agile-planning/workplan", - "business-understanding/benchmark", - "research-planning/research-plan", - "research-planning/desk-research", - "research-planning/research-sample", - "research-planning/participants", - "research-quantitative/user-surveys", - "research-analysis/identify-patterns", - "research-analysis/process-information", - "research-analysis/synthesize-results", - "design-concept/design-references", - "design-concept/ideate", - "design-concept/prioritize-ideas", - "interaction-design/user-flows", - "interaction-design/usability", - "interface-design/visual-design", - "design-prototype/basic-prototypes", - "design-prototype/high-fidelity", - "usability-analysis/moderated-testing", - "usability-analysis/heuristic-analysis", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-pitch/ai-presentations", - "design-specs/file-organization", - "design-specs/project-documentation" + { + "id": "agile-planning/tasks" + }, + { + "id": "agile-planning/workplan" + }, + { + "id": "business-understanding/benchmark" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/desk-research" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "research-quantitative/user-surveys" + }, + { + "id": "research-analysis/identify-patterns" + }, + { + "id": "research-analysis/process-information" + }, + { + "id": "research-analysis/synthesize-results" + }, + { + "id": "design-concept/design-references" + }, + { + "id": "design-concept/ideate" + }, + { + "id": "design-concept/prioritize-ideas" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interaction-design/usability" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "design-prototype/high-fidelity" + }, + { + "id": "usability-analysis/moderated-testing" + }, + { + "id": "usability-analysis/heuristic-analysis" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-pitch/ai-presentations" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/project-documentation" + } ], "intl": { "es": { diff --git a/dist/projects/design-lab.json b/dist/projects/design-lab.json index 80ba12ccd..f9475cb40 100644 --- a/dist/projects/design-lab.json +++ b/dist/projects/design-lab.json @@ -2,64 +2,165 @@ "slug": "design-lab", "repo": "Laboratoria/curriculum", "path": "projects/03-design-lab", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:56.801Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:02.759Z", "prefix": 3, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "agile-planning/scope", - "agile-planning/workplan", - "agile-planning/tasks", - "business-understanding/business-model", - "business-understanding/goals-and-kpis", - "business-understanding/benchmark", - "research-planning/research-plan", - "research-planning/desk-research", - "research-planning/research-sample", - "research-planning/participants", - "research-qualitative/user-interviews", - "research-qualitative/exploratory-techniques", - "research-quantitative/user-surveys", - "research-quantitative/analytical-techniques", - "research-analysis/process-information", - "research-analysis/experience-mapping", - "research-analysis/identify-patterns", - "research-analysis/synthesize-results", - "research-analysis/ai-analysis", - "design-concept/define-mvp", - "design-concept/design-references", - "design-concept/ideate", - "design-concept/prioritize-ideas", - "interaction-design/user-flows", - "interaction-design/usability", - "interaction-design/information-architecture", - "content-design/voice-tone", - "content-design/micro-content", - "content-design/ai-content", - "content-design/visual-content", - "interface-design/visual-design", - "interface-design/accesibility", - "interface-design/responsive-design", - "interface-design/ai-proposals", - "design-prototype/basic-prototypes", - "design-prototype/high-fidelity", - "design-prototype/advanced-interactions", - "design-prototype/ai-plugins", - "usability-analysis/moderated-testing", - "usability-analysis/heuristic-analysis", - "usability-analysis/non-moderated-testing", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-pitch/ai-presentations", - "design-specs/file-organization", - "design-specs/use-cases", - "design-specs/project-documentation", - "design-systems/atomic-design", - "design-systems/design-system" + { + "id": "agile-planning/scope" + }, + { + "id": "agile-planning/workplan" + }, + { + "id": "agile-planning/tasks" + }, + { + "id": "business-understanding/business-model" + }, + { + "id": "business-understanding/goals-and-kpis" + }, + { + "id": "business-understanding/benchmark" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/desk-research" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "research-qualitative/user-interviews" + }, + { + "id": "research-qualitative/exploratory-techniques" + }, + { + "id": "research-quantitative/user-surveys" + }, + { + "id": "research-quantitative/analytical-techniques" + }, + { + "id": "research-analysis/process-information" + }, + { + "id": "research-analysis/experience-mapping" + }, + { + "id": "research-analysis/identify-patterns" + }, + { + "id": "research-analysis/synthesize-results" + }, + { + "id": "research-analysis/ai-analysis" + }, + { + "id": "design-concept/define-mvp" + }, + { + "id": "design-concept/design-references" + }, + { + "id": "design-concept/ideate" + }, + { + "id": "design-concept/prioritize-ideas" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interaction-design/usability" + }, + { + "id": "interaction-design/information-architecture" + }, + { + "id": "content-design/voice-tone" + }, + { + "id": "content-design/micro-content" + }, + { + "id": "content-design/ai-content" + }, + { + "id": "content-design/visual-content" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "interface-design/accesibility" + }, + { + "id": "interface-design/responsive-design" + }, + { + "id": "interface-design/ai-proposals" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "design-prototype/high-fidelity" + }, + { + "id": "design-prototype/advanced-interactions" + }, + { + "id": "design-prototype/ai-plugins" + }, + { + "id": "usability-analysis/moderated-testing" + }, + { + "id": "usability-analysis/heuristic-analysis" + }, + { + "id": "usability-analysis/non-moderated-testing" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-pitch/ai-presentations" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/use-cases" + }, + { + "id": "design-specs/project-documentation" + }, + { + "id": "design-systems/atomic-design" + }, + { + "id": "design-systems/design-system" + } ], "intl": { "es": { diff --git a/dist/projects/emergency-room.json b/dist/projects/emergency-room.json index a0b8fa773..3eb1ed2d1 100644 --- a/dist/projects/emergency-room.json +++ b/dist/projects/emergency-room.json @@ -2,44 +2,105 @@ "slug": "emergency-room", "repo": "Laboratoria/curriculum", "path": "projects/02-emergency-room", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:50.450Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:00.033Z", "prefix": 2, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "hidden" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + } ], "intl": { "es": { diff --git a/dist/projects/fleet-management-api.json b/dist/projects/fleet-management-api.json index e7d60b378..d6fdff3c8 100644 --- a/dist/projects/fleet-management-api.json +++ b/dist/projects/fleet-management-api.json @@ -2,186 +2,697 @@ "slug": "fleet-management-api", "repo": "Laboratoria/curriculum", "path": "projects/05-fleet-management-api", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:05.659Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:06.138Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "http/request-response", - "http/headers", - "http/body", - "http/verbs", - "http/status-codes", - "http/json", - "http/cors", - "auth/jwt", - "auth/password-access-and-storage", - "java/access-modifiers", - "java/variables", - "java/conditionals", - "java/loops", - "java/data-types/primitive", - "java/data-types/primitive-vs-non-primitive", - "java/data-types/strings", - "java/data-types/arrays", - "java/collections/array-list", - "java/collections/hash-map", - "java/collections/hash-set", - "java/testing/junit", - "java/testing/mockito", - "java/spring-framework/core-concepts/beans", - "java/spring-framework/core-concepts/inversion-of-control", - "java/spring-framework/core-concepts/annotations", - "java/spring-framework/initializr", - "java/spring-framework/spring-boot", - "java/spring-framework/controllers", - "java/spring-framework/services", - "java/spring-framework/spring-data-jpa", - "java/spring-framework/entity", - "java/spring-framework/repository", - "java/spring-framework/spring-web/rest-controller", - "java/spring-framework/spring-web/request-mapping", - "java/spring-framework/spring-web/request-param", - "java/spring-framework/testing/spring-test", - "java/spring-framework/testing/hamcrest", - "java/hibernate-orm/setup", - "java/hibernate-orm/schema", - "java/hibernate-orm/entity", - "java/hibernate-orm/table", - "java/hibernate-orm/column", - "java/hibernate-orm/identifiers", - "java/hibernate-orm/associations", - "java/hibernate-orm/collections", - "java/hibernate-orm/persistance", - "java/hibernate-orm/querying", - "python/data-types/primitive", - "python/data-types/lists", - "python/data-types/tuples", - "python/data-types/dictionaries", - "python/data-types/sets", - "python/variables", - "python/conditionals", - "python/operators", - "python/docstrings", - "python/functions/basic-concepts", - "python/functions/args-kwargs", - "python/functions/closures", - "python/functions/lambda-functions", - "python/functions/decorators", - "python/iteration/loops", - "python/iteration/list-comprehension", - "python/iteration/functional-techniques", - "python/linting", - "python/testing/unit-tests", - "python/testing/mocks", - "python/testing/fixtures", - "python/modularization/modules", - "python/modularization/packages", - "python/dependency-management/pip", - "python/dependency-management/virtual-environment", - "python/dependency-management/requirements-file", - "python/serialization", - "python/flask/routes/route-decorator", - "python/flask/routes/view-function", - "python/flask/routes/variable-rules", - "python/flask/request/args", - "python/flask/request/headers", - "python/flask/response/response-parts", - "python/flask/response/jsonify", - "python/flask/testing/fixture-setup", - "python/flask/testing/test-client", - "python/django/setup/migrations", - "python/django/setup/app", - "python/django/models/fields", - "python/django/models/foreign-Key", - "python/django/views", - "python/django/testing", - "python/django/queryset", - "python/django/filter", - "python/django/order-by", - "python/django/url-configuration", - "python/django/rest-framework/serializers", - "python/django/rest-framework/pagination", - "python/django/rest-framework/query-params", - "python/django/rest-framework/viewset", - "python/django/rest-framework/apiview", - "csharp/data-types/primitives", - "csharp/data-types/non-primitives", - "csharp/data-types/structs", - "csharp/data-types/enums", - "csharp/data-types/anonymous-types", - "csharp/data-types/dynamic-types", - "csharp/collections/lists", - "csharp/collections/arrays", - "csharp/collections/sets", - "csharp/variables", - "csharp/conditionals", - "csharp/loops", - "csharp/operators", - "csharp/generics", - "csharp/access-modifiers", - "csharp/namespaces", - "csharp/functions/lambda-functions", - "csharp/functions/decorators", - "csharp/error-handling/try-catch", - "csharp/error-handling/throw", - "csharp/linq", - "csharp/async-await", - "csharp/.net-core", - "csharp/nuget-packages", - "csharp/testing/xunit", - "csharp/testing/mstest", - "csharp/entity-framework/code-first", - "csharp/entity-framework/models", - "csharp/entity-framework/fluent-api", - "csharp/entity-framework/controllers", - "csharp/entity-framework/migrations", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/testing/e2e", - "js/modules/es-modules", - "js/modules/commonjs", - "js/linting", - "js/semantics", - "node/npm-install", - "node/package.json", - "node/npm-scripts", - "express/routing", - "express/middleware", - "sql/crud", - "db/modeling", - "db/connection", - "postgres/data-types", - "postgres/indexes", - "object-oriented-programming/classes", - "object-oriented-programming/objects", - "object-oriented-programming/methods", - "object-oriented-programming/attributes", - "object-oriented-programming/constructors", - "object-oriented-programming/encapsulation", - "object-oriented-programming/abstraction", - "object-oriented-programming/composition", - "object-oriented-programming/interfaces", - "object-oriented-programming/inheritance", - "object-oriented-programming/unified-model-language", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/collaboration", - "scm/github/project-management", - "typescript/basic-types/primitives", - "typescript/basic-types/arrays", - "typescript/basic-types/functions", - "typescript/basic-types/object-types/optional-properties", - "typescript/basic-types/union-types", - "typescript/basic-types/interfaces", - "typescript/basic-types/enums" + { + "id": "http/request-response" + }, + { + "id": "http/headers" + }, + { + "id": "http/body" + }, + { + "id": "http/verbs" + }, + { + "id": "http/status-codes" + }, + { + "id": "http/json" + }, + { + "id": "http/cors" + }, + { + "id": "auth/jwt" + }, + { + "id": "auth/password-access-and-storage" + }, + { + "id": "sql/crud" + }, + { + "id": "db/modeling" + }, + { + "id": "db/connection" + }, + { + "id": "postgres/data-types" + }, + { + "id": "postgres/indexes" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + } + ], + "variants": [ + { + "name": "java", + "learningObjectives": [ + { + "id": "java/access-modifiers" + }, + { + "id": "java/variables" + }, + { + "id": "java/conditionals" + }, + { + "id": "java/loops" + }, + { + "id": "java/data-types/primitive" + }, + { + "id": "java/data-types/primitive-vs-non-primitive" + }, + { + "id": "java/data-types/strings" + }, + { + "id": "java/data-types/arrays" + }, + { + "id": "java/collections/array-list" + }, + { + "id": "java/collections/hash-map" + }, + { + "id": "java/collections/hash-set" + }, + { + "id": "java/testing/junit" + }, + { + "id": "java/testing/mockito" + }, + { + "id": "java/spring-framework/core-concepts/beans" + }, + { + "id": "java/spring-framework/core-concepts/inversion-of-control" + }, + { + "id": "java/spring-framework/core-concepts/annotations" + }, + { + "id": "java/spring-framework/initializr" + }, + { + "id": "java/spring-framework/spring-boot" + }, + { + "id": "java/spring-framework/controllers" + }, + { + "id": "java/spring-framework/services" + }, + { + "id": "java/spring-framework/spring-data-jpa" + }, + { + "id": "java/spring-framework/entity" + }, + { + "id": "java/spring-framework/repository" + }, + { + "id": "java/spring-framework/spring-web/rest-controller" + }, + { + "id": "java/spring-framework/spring-web/request-mapping" + }, + { + "id": "java/spring-framework/spring-web/request-param" + }, + { + "id": "java/spring-framework/testing/spring-test" + }, + { + "id": "java/spring-framework/testing/hamcrest" + }, + { + "id": "java/hibernate-orm/setup" + }, + { + "id": "java/hibernate-orm/schema" + }, + { + "id": "java/hibernate-orm/entity" + }, + { + "id": "java/hibernate-orm/table" + }, + { + "id": "java/hibernate-orm/column" + }, + { + "id": "java/hibernate-orm/identifiers" + }, + { + "id": "java/hibernate-orm/associations" + }, + { + "id": "java/hibernate-orm/collections" + }, + { + "id": "java/hibernate-orm/persistance" + }, + { + "id": "java/hibernate-orm/querying" + }, + { + "id": "object-oriented-programming/classes" + }, + { + "id": "object-oriented-programming/objects" + }, + { + "id": "object-oriented-programming/methods" + }, + { + "id": "object-oriented-programming/attributes" + }, + { + "id": "object-oriented-programming/constructors" + }, + { + "id": "object-oriented-programming/encapsulation" + }, + { + "id": "object-oriented-programming/abstraction" + }, + { + "id": "object-oriented-programming/composition" + }, + { + "id": "object-oriented-programming/interfaces" + }, + { + "id": "object-oriented-programming/inheritance" + }, + { + "id": "object-oriented-programming/unified-model-language" + } + ] + }, + { + "name": "node", + "learningObjectives": [ + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/testing/e2e" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/modules/commonjs" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "node/npm-install" + }, + { + "id": "node/package.json" + }, + { + "id": "node/npm-scripts" + }, + { + "id": "express/routing" + }, + { + "id": "express/middleware" + }, + { + "id": "typescript/basic-types/primitives" + }, + { + "id": "typescript/basic-types/arrays" + }, + { + "id": "typescript/basic-types/functions" + }, + { + "id": "typescript/basic-types/object-types/optional-properties" + }, + { + "id": "typescript/basic-types/union-types" + }, + { + "id": "typescript/basic-types/interfaces" + }, + { + "id": "typescript/basic-types/enums" + }, + { + "id": "object-oriented-programming/classes", + "optional": true + }, + { + "id": "object-oriented-programming/objects", + "optional": true + }, + { + "id": "object-oriented-programming/methods", + "optional": true + }, + { + "id": "object-oriented-programming/attributes", + "optional": true + }, + { + "id": "object-oriented-programming/constructors", + "optional": true + }, + { + "id": "object-oriented-programming/encapsulation", + "optional": true + }, + { + "id": "object-oriented-programming/abstraction", + "optional": true + }, + { + "id": "object-oriented-programming/composition", + "optional": true + }, + { + "id": "object-oriented-programming/interfaces", + "optional": true + }, + { + "id": "object-oriented-programming/inheritance", + "optional": true + }, + { + "id": "object-oriented-programming/unified-model-language", + "optional": true + } + ] + }, + { + "name": "python", + "learningObjectives": [ + { + "id": "python/data-types/primitive" + }, + { + "id": "python/data-types/lists" + }, + { + "id": "python/data-types/tuples" + }, + { + "id": "python/data-types/dictionaries" + }, + { + "id": "python/data-types/sets" + }, + { + "id": "python/variables" + }, + { + "id": "python/conditionals" + }, + { + "id": "python/operators" + }, + { + "id": "python/docstrings" + }, + { + "id": "python/functions/basic-concepts" + }, + { + "id": "python/functions/args-kwargs" + }, + { + "id": "python/functions/closures" + }, + { + "id": "python/functions/lambda-functions" + }, + { + "id": "python/functions/decorators" + }, + { + "id": "python/iteration/loops" + }, + { + "id": "python/iteration/list-comprehension" + }, + { + "id": "python/iteration/functional-techniques" + }, + { + "id": "python/linting" + }, + { + "id": "python/testing/unit-tests" + }, + { + "id": "python/testing/mocks" + }, + { + "id": "python/testing/fixtures" + }, + { + "id": "python/modularization/modules" + }, + { + "id": "python/modularization/packages" + }, + { + "id": "python/dependency-management/pip" + }, + { + "id": "python/dependency-management/virtual-environment" + }, + { + "id": "python/dependency-management/requirements-file" + }, + { + "id": "python/serialization" + }, + { + "id": "python/flask/routes/route-decorator" + }, + { + "id": "python/flask/routes/view-function" + }, + { + "id": "python/flask/routes/variable-rules" + }, + { + "id": "python/flask/request/args" + }, + { + "id": "python/flask/request/headers" + }, + { + "id": "python/flask/response/response-parts" + }, + { + "id": "python/flask/response/jsonify" + }, + { + "id": "python/flask/testing/fixture-setup" + }, + { + "id": "python/flask/testing/test-client" + }, + { + "id": "python/django/setup/migrations" + }, + { + "id": "python/django/setup/app" + }, + { + "id": "python/django/models/fields" + }, + { + "id": "python/django/models/foreign-Key" + }, + { + "id": "python/django/views" + }, + { + "id": "python/django/testing" + }, + { + "id": "python/django/queryset" + }, + { + "id": "python/django/filter" + }, + { + "id": "python/django/order-by" + }, + { + "id": "python/django/url-configuration" + }, + { + "id": "python/django/rest-framework/serializers" + }, + { + "id": "python/django/rest-framework/pagination" + }, + { + "id": "python/django/rest-framework/query-params" + }, + { + "id": "python/django/rest-framework/viewset" + }, + { + "id": "python/django/rest-framework/apiview" + }, + { + "id": "object-oriented-programming/classes", + "optional": true + }, + { + "id": "object-oriented-programming/objects", + "optional": true + }, + { + "id": "object-oriented-programming/methods", + "optional": true + }, + { + "id": "object-oriented-programming/attributes", + "optional": true + }, + { + "id": "object-oriented-programming/constructors", + "optional": true + }, + { + "id": "object-oriented-programming/encapsulation", + "optional": true + }, + { + "id": "object-oriented-programming/abstraction", + "optional": true + }, + { + "id": "object-oriented-programming/composition", + "optional": true + }, + { + "id": "object-oriented-programming/interfaces", + "optional": true + }, + { + "id": "object-oriented-programming/inheritance", + "optional": true + }, + { + "id": "object-oriented-programming/unified-model-language", + "optional": true + }, + { + "id": "sql/crud", + "exclude": true + }, + { + "id": "postgres/data-types", + "exclude": true + }, + { + "id": "postgres/indexes", + "exclude": true + } + ] + }, + { + "name": "csharp", + "learningObjectives": [ + { + "id": "csharp/data-types/primitives" + }, + { + "id": "csharp/data-types/non-primitives" + }, + { + "id": "csharp/data-types/structs" + }, + { + "id": "csharp/data-types/enums" + }, + { + "id": "csharp/data-types/anonymous-types" + }, + { + "id": "csharp/data-types/dynamic-types" + }, + { + "id": "csharp/collections/lists" + }, + { + "id": "csharp/collections/arrays" + }, + { + "id": "csharp/collections/sets" + }, + { + "id": "csharp/variables" + }, + { + "id": "csharp/conditionals" + }, + { + "id": "csharp/loops" + }, + { + "id": "csharp/operators" + }, + { + "id": "csharp/generics" + }, + { + "id": "csharp/access-modifiers" + }, + { + "id": "csharp/namespaces" + }, + { + "id": "csharp/functions/lambda-functions" + }, + { + "id": "csharp/functions/decorators" + }, + { + "id": "csharp/error-handling/try-catch" + }, + { + "id": "csharp/error-handling/throw" + }, + { + "id": "csharp/linq" + }, + { + "id": "csharp/async-await" + }, + { + "id": "csharp/.net-core" + }, + { + "id": "csharp/nuget-packages" + }, + { + "id": "csharp/testing/xunit" + }, + { + "id": "csharp/testing/mstest" + }, + { + "id": "csharp/entity-framework/code-first" + }, + { + "id": "csharp/entity-framework/models" + }, + { + "id": "csharp/entity-framework/fluent-api" + }, + { + "id": "csharp/entity-framework/controllers" + }, + { + "id": "csharp/entity-framework/migrations" + }, + { + "id": "object-oriented-programming/classes", + "optional": true + }, + { + "id": "object-oriented-programming/objects", + "optional": true + }, + { + "id": "object-oriented-programming/methods", + "optional": true + }, + { + "id": "object-oriented-programming/attributes", + "optional": true + }, + { + "id": "object-oriented-programming/constructors", + "optional": true + }, + { + "id": "object-oriented-programming/encapsulation", + "optional": true + }, + { + "id": "object-oriented-programming/abstraction", + "optional": true + }, + { + "id": "object-oriented-programming/composition", + "optional": true + }, + { + "id": "object-oriented-programming/interfaces", + "optional": true + }, + { + "id": "object-oriented-programming/inheritance", + "optional": true + }, + { + "id": "object-oriented-programming/unified-model-language", + "optional": true + } + ] + } ], "intl": { "es": { diff --git a/dist/projects/fleet-management-fullstack.json b/dist/projects/fleet-management-fullstack.json index e8613f654..56d7f1ef1 100644 --- a/dist/projects/fleet-management-fullstack.json +++ b/dist/projects/fleet-management-fullstack.json @@ -2,58 +2,144 @@ "slug": "fleet-management-fullstack", "repo": "Laboratoria/curriculum", "path": "projects/05-fleet-management-fullstack", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:05.520Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:05.965Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], "learningObjectives": [ - "node/npm-install", - "node/package.json", - "node/npm-scripts", - "node/process", - "node/filesystem", - "db/modeling", - "db/connection", - "db/indexes-constraints", - "sql/tables", - "sql/crud", - "sql/drop", - "postgres/psql", - "postgres/data-types", - "postgres/dump-restore", - "postgres/indexes", - "react/jsx", - "react/components", - "react/events", - "react/lists-and-keys", - "react/conditional-rendering", - "react/lifting-up-state", - "react/hooks", - "react/css-modules", - "react/routing", - "vue/instance", - "vue/data-and-methods", - "vue/components", - "vue/props", - "vue/directives", - "vue/iteration", - "vue/events", - "vue/computed-props-and-observers", - "vue/routing", - "vue/classes-and-styles", - "angular/components-and-templates", - "angular/component-lifecycle", - "angular/structural-directives", - "angular/input-output", - "angular/services", - "angular/routing", - "angular/observables", - "angular/http-client", - "angular/styles" + { + "id": "node/npm-install" + }, + { + "id": "node/package.json" + }, + { + "id": "node/npm-scripts" + }, + { + "id": "node/process" + }, + { + "id": "node/filesystem" + }, + { + "id": "db/modeling" + }, + { + "id": "db/connection" + }, + { + "id": "db/indexes-constraints" + }, + { + "id": "sql/tables" + }, + { + "id": "sql/crud" + }, + { + "id": "sql/drop" + }, + { + "id": "postgres/psql" + }, + { + "id": "postgres/data-types" + }, + { + "id": "postgres/dump-restore" + }, + { + "id": "postgres/indexes" + }, + { + "id": "react/jsx" + }, + { + "id": "react/components" + }, + { + "id": "react/events" + }, + { + "id": "react/lists-and-keys" + }, + { + "id": "react/conditional-rendering" + }, + { + "id": "react/lifting-up-state" + }, + { + "id": "react/hooks" + }, + { + "id": "react/css-modules" + }, + { + "id": "react/routing" + }, + { + "id": "vue/instance" + }, + { + "id": "vue/data-and-methods" + }, + { + "id": "vue/components" + }, + { + "id": "vue/props" + }, + { + "id": "vue/directives" + }, + { + "id": "vue/iteration" + }, + { + "id": "vue/events" + }, + { + "id": "vue/computed-props-and-observers" + }, + { + "id": "vue/routing" + }, + { + "id": "vue/classes-and-styles" + }, + { + "id": "angular/components-and-templates" + }, + { + "id": "angular/component-lifecycle" + }, + { + "id": "angular/structural-directives" + }, + { + "id": "angular/input-output" + }, + { + "id": "angular/services" + }, + { + "id": "angular/routing" + }, + { + "id": "angular/observables" + }, + { + "id": "angular/http-client" + }, + { + "id": "angular/styles" + } ], "intl": { "es": { diff --git a/dist/projects/guess-the-number.json b/dist/projects/guess-the-number.json index cd39637a6..aaace20a7 100644 --- a/dist/projects/guess-the-number.json +++ b/dist/projects/guess-the-number.json @@ -2,75 +2,198 @@ "slug": "guess-the-number", "repo": "Laboratoria/curriculum", "path": "projects/05-guess-the-number", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:05.346Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:06.060Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "java/data-types/primitive-vs-non-primitive", - "java/data-types/strings", - "java/data-types/arrays", - "java/access-modifiers", - "java/conditionals", - "java/loops", - "java/collections/array-list", - "java/testing/junit", - "java/testing/mockito", - "object-oriented-programming/classes", - "object-oriented-programming/objects", - "object-oriented-programming/methods", - "object-oriented-programming/attributes", - "object-oriented-programming/constructors", - "object-oriented-programming/encapsulation", - "object-oriented-programming/abstraction", - "object-oriented-programming/composition", - "object-oriented-programming/interfaces", - "object-oriented-programming/inheritance", - "object-oriented-programming/unified-model-language", - "python/data-types/primitive", - "python/data-types/lists", - "python/data-types/tuples", - "python/data-types/dictionaries", - "python/data-types/sets", - "python/variables", - "python/conditionals", - "python/operators", - "python/docstrings", - "python/functions/basic-concepts", - "python/iteration/loops", - "python/linting", - "python/testing/unit-tests", - "python/testing/mocks", - "python/testing/fixtures", - "python/modularization/modules", - "python/dependency-management/pip", - "python/dependency-management/virtual-environment", - "python/dependency-management/requirements-file", - "csharp/data-types/primitives", - "csharp/data-types/non-primitives", - "csharp/collections/lists", - "csharp/collections/arrays", - "csharp/collections/sets", - "csharp/variables", - "csharp/conditionals", - "csharp/loops", - "csharp/operators", - "csharp/access-modifiers", - "csharp/namespaces", - "csharp/functions/lambda-functions", - "csharp/functions/decorators", - "csharp/testing/xunit", - "csharp/testing/mstest", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/collaboration", - "scm/github/project-management" + { + "id": "java/data-types/primitive-vs-non-primitive" + }, + { + "id": "java/data-types/strings" + }, + { + "id": "java/data-types/arrays" + }, + { + "id": "java/access-modifiers" + }, + { + "id": "java/conditionals" + }, + { + "id": "java/loops" + }, + { + "id": "java/collections/array-list" + }, + { + "id": "java/testing/junit" + }, + { + "id": "java/testing/mockito" + }, + { + "id": "object-oriented-programming/classes" + }, + { + "id": "object-oriented-programming/objects" + }, + { + "id": "object-oriented-programming/methods" + }, + { + "id": "object-oriented-programming/attributes" + }, + { + "id": "object-oriented-programming/constructors" + }, + { + "id": "object-oriented-programming/encapsulation" + }, + { + "id": "object-oriented-programming/abstraction" + }, + { + "id": "object-oriented-programming/composition" + }, + { + "id": "object-oriented-programming/interfaces" + }, + { + "id": "object-oriented-programming/inheritance" + }, + { + "id": "object-oriented-programming/unified-model-language" + }, + { + "id": "python/data-types/primitive" + }, + { + "id": "python/data-types/lists" + }, + { + "id": "python/data-types/tuples" + }, + { + "id": "python/data-types/dictionaries" + }, + { + "id": "python/data-types/sets" + }, + { + "id": "python/variables" + }, + { + "id": "python/conditionals" + }, + { + "id": "python/operators" + }, + { + "id": "python/docstrings" + }, + { + "id": "python/functions/basic-concepts" + }, + { + "id": "python/iteration/loops" + }, + { + "id": "python/linting" + }, + { + "id": "python/testing/unit-tests" + }, + { + "id": "python/testing/mocks" + }, + { + "id": "python/testing/fixtures" + }, + { + "id": "python/modularization/modules" + }, + { + "id": "python/dependency-management/pip" + }, + { + "id": "python/dependency-management/virtual-environment" + }, + { + "id": "python/dependency-management/requirements-file" + }, + { + "id": "csharp/data-types/primitives" + }, + { + "id": "csharp/data-types/non-primitives" + }, + { + "id": "csharp/collections/lists" + }, + { + "id": "csharp/collections/arrays" + }, + { + "id": "csharp/collections/sets" + }, + { + "id": "csharp/variables" + }, + { + "id": "csharp/conditionals" + }, + { + "id": "csharp/loops" + }, + { + "id": "csharp/operators" + }, + { + "id": "csharp/access-modifiers" + }, + { + "id": "csharp/namespaces" + }, + { + "id": "csharp/functions/lambda-functions" + }, + { + "id": "csharp/functions/decorators" + }, + { + "id": "csharp/testing/xunit" + }, + { + "id": "csharp/testing/mstest" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + } ], "intl": { "es": { diff --git a/dist/projects/how-might-we.json b/dist/projects/how-might-we.json index 482ba02da..65e5fc3bf 100644 --- a/dist/projects/how-might-we.json +++ b/dist/projects/how-might-we.json @@ -2,22 +2,39 @@ "slug": "how-might-we", "repo": "Laboratoria/curriculum", "path": "projects/00-how-might-we", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:39.884Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:57.387Z", "prefix": 0, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "hidden" + ], "learningObjectives": [ - "agile-planning/tasks", - "design-concept/ideate", - "design-concept/prioritize-ideas", - "interaction-design/user-flows", - "interface-design/visual-design", - "design-prototype/basic-prototypes", - "design-specs/project-documentation" + { + "id": "agile-planning/tasks" + }, + { + "id": "design-concept/ideate" + }, + { + "id": "design-concept/prioritize-ideas" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "design-specs/project-documentation" + } ], "intl": { "es": { diff --git a/dist/projects/job-application.json b/dist/projects/job-application.json index 7f1ff4c70..bb06b3ca2 100644 --- a/dist/projects/job-application.json +++ b/dist/projects/job-application.json @@ -2,9 +2,9 @@ "slug": "job-application", "repo": "Laboratoria/curriculum", "path": "projects/06-job-application", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:13.636Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:08.704Z", "prefix": 6, "track": "web-dev", "tracks": [ diff --git a/dist/projects/md-links.json b/dist/projects/md-links.json index 001a4b034..b4fdb9eda 100644 --- a/dist/projects/md-links.json +++ b/dist/projects/md-links.json @@ -2,44 +2,102 @@ "slug": "md-links", "repo": "Laboratoria/curriculum", "path": "projects/04-md-links", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:02.652Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:06.278Z", "prefix": 4, "track": "web-dev", "tracks": [ "web-dev" ], "learningObjectives": [ - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/conditionals", - "js/functions", - "js/recursion", - "js/modules/commonjs", - "js/expression-vs-statement", - "js/async/callbacks", - "js/async/promises", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/testing/compatibility", - "js/linting", - "js/semantics", - "node/npm-install", - "node/package.json", - "node/npm-scripts", - "node/process", - "node/filesystem", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/collaboration", - "scm/github/project-management", - "http/request-response", - "http/status-codes" + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/functions" + }, + { + "id": "js/recursion" + }, + { + "id": "js/modules/commonjs" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "js/async/callbacks" + }, + { + "id": "js/async/promises" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/testing/compatibility" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "node/npm-install" + }, + { + "id": "node/package.json" + }, + { + "id": "node/npm-scripts" + }, + { + "id": "node/process" + }, + { + "id": "node/filesystem" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "http/request-response" + }, + { + "id": "http/status-codes" + } ], "intl": { "es": { diff --git a/dist/projects/memory-match.json b/dist/projects/memory-match.json index 1b94a5de6..4f500d41e 100644 --- a/dist/projects/memory-match.json +++ b/dist/projects/memory-match.json @@ -2,44 +2,105 @@ "slug": "memory-match", "repo": "Laboratoria/curriculum", "path": "projects/02-memory-match", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:50.560Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:00.302Z", "prefix": 2, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "hidden" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + } ], "intl": { "es": { diff --git a/dist/projects/mindset-mvp.json b/dist/projects/mindset-mvp.json index 1c0d9f968..42c3fcb3e 100644 --- a/dist/projects/mindset-mvp.json +++ b/dist/projects/mindset-mvp.json @@ -2,50 +2,123 @@ "slug": "mindset-mvp", "repo": "Laboratoria/curriculum", "path": "projects/02-mindset-mvp", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:50.320Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:59.690Z", "prefix": 2, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "agile-planning/workplan", - "agile-planning/tasks", - "business-understanding/business-model", - "business-understanding/goals-and-kpis", - "business-understanding/benchmark", - "research-planning/research-plan", - "research-planning/desk-research", - "research-planning/research-sample", - "research-planning/participants", - "research-qualitative/user-interviews", - "research-analysis/process-information", - "research-analysis/experience-mapping", - "research-analysis/identify-patterns", - "research-analysis/synthesize-results", - "research-analysis/ai-analysis", - "design-concept/define-mvp", - "design-concept/design-references", - "design-concept/ideate", - "design-concept/prioritize-ideas", - "interaction-design/user-flows", - "interaction-design/usability", - "interaction-design/information-architecture", - "content-design/micro-content", - "interface-design/visual-design", - "interface-design/accesibility", - "design-prototype/basic-prototypes", - "design-prototype/high-fidelity", - "usability-analysis/moderated-testing", - "usability-analysis/heuristic-analysis", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-specs/file-organization", - "design-specs/use-cases", - "design-specs/project-documentation", - "design-systems/atomic-design" + { + "id": "agile-planning/workplan" + }, + { + "id": "agile-planning/tasks" + }, + { + "id": "business-understanding/business-model" + }, + { + "id": "business-understanding/goals-and-kpis" + }, + { + "id": "business-understanding/benchmark" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/desk-research" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "research-qualitative/user-interviews" + }, + { + "id": "research-analysis/process-information" + }, + { + "id": "research-analysis/experience-mapping" + }, + { + "id": "research-analysis/identify-patterns" + }, + { + "id": "research-analysis/synthesize-results" + }, + { + "id": "research-analysis/ai-analysis" + }, + { + "id": "design-concept/define-mvp" + }, + { + "id": "design-concept/design-references" + }, + { + "id": "design-concept/ideate" + }, + { + "id": "design-concept/prioritize-ideas" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interaction-design/usability" + }, + { + "id": "interaction-design/information-architecture" + }, + { + "id": "content-design/micro-content" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "interface-design/accesibility" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "design-prototype/high-fidelity" + }, + { + "id": "usability-analysis/moderated-testing" + }, + { + "id": "usability-analysis/heuristic-analysis" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/use-cases" + }, + { + "id": "design-specs/project-documentation" + }, + { + "id": "design-systems/atomic-design" + } ], "intl": { "es": { diff --git a/dist/projects/movie-challenge-fw.json b/dist/projects/movie-challenge-fw.json index bfabae805..673dcc726 100644 --- a/dist/projects/movie-challenge-fw.json +++ b/dist/projects/movie-challenge-fw.json @@ -2,78 +2,207 @@ "slug": "movie-challenge-fw", "repo": "Laboratoria/curriculum", "path": "projects/05-movie-challenge-fw", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:08.118Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:06.343Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "css/grid", - "css/media-queries", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "scm/github/project-management", - "http/request-response", - "http/headers", - "http/body", - "http/verbs", - "http/status-codes", - "http/json", - "http/cors", - "angular/components-and-templates", - "angular/component-lifecycle", - "angular/structural-directives", - "angular/input-output", - "angular/services", - "angular/routing", - "angular/observables", - "angular/http-client", - "angular/styles", - "react/jsx", - "react/components", - "react/events", - "react/lists-and-keys", - "react/conditional-rendering", - "react/lifting-up-state", - "react/hooks", - "react/css-modules", - "react/routing", - "vue/instance", - "vue/data-and-methods", - "vue/components", - "vue/props", - "vue/directives", - "vue/iteration", - "vue/events", - "vue/computed-props-and-observers", - "vue/routing", - "vue/classes-and-styles", - "typescript/basic-types/primitives", - "typescript/basic-types/arrays", - "typescript/basic-types/functions", - "typescript/basic-types/object-types/optional-properties", - "typescript/basic-types/union-types", - "typescript/basic-types/interfaces", - "typescript/basic-types/enums", - "product-design/interactivity", - "product-design/visual-design" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "css/grid" + }, + { + "id": "css/media-queries" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "http/request-response" + }, + { + "id": "http/headers" + }, + { + "id": "http/body" + }, + { + "id": "http/verbs" + }, + { + "id": "http/status-codes" + }, + { + "id": "http/json" + }, + { + "id": "http/cors" + }, + { + "id": "angular/components-and-templates" + }, + { + "id": "angular/component-lifecycle" + }, + { + "id": "angular/structural-directives" + }, + { + "id": "angular/input-output" + }, + { + "id": "angular/services" + }, + { + "id": "angular/routing" + }, + { + "id": "angular/observables" + }, + { + "id": "angular/http-client" + }, + { + "id": "angular/styles" + }, + { + "id": "react/jsx" + }, + { + "id": "react/components" + }, + { + "id": "react/events" + }, + { + "id": "react/lists-and-keys" + }, + { + "id": "react/conditional-rendering" + }, + { + "id": "react/lifting-up-state" + }, + { + "id": "react/hooks" + }, + { + "id": "react/css-modules" + }, + { + "id": "react/routing" + }, + { + "id": "vue/instance" + }, + { + "id": "vue/data-and-methods" + }, + { + "id": "vue/components" + }, + { + "id": "vue/props" + }, + { + "id": "vue/directives" + }, + { + "id": "vue/iteration" + }, + { + "id": "vue/events" + }, + { + "id": "vue/computed-props-and-observers" + }, + { + "id": "vue/routing" + }, + { + "id": "vue/classes-and-styles" + }, + { + "id": "typescript/basic-types/primitives" + }, + { + "id": "typescript/basic-types/arrays" + }, + { + "id": "typescript/basic-types/functions" + }, + { + "id": "typescript/basic-types/object-types/optional-properties" + }, + { + "id": "typescript/basic-types/union-types" + }, + { + "id": "typescript/basic-types/interfaces" + }, + { + "id": "typescript/basic-types/enums" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + } ], "intl": { "es": { diff --git a/dist/projects/movie-challenge.json b/dist/projects/movie-challenge.json index 8eff3985d..40d264faa 100644 --- a/dist/projects/movie-challenge.json +++ b/dist/projects/movie-challenge.json @@ -2,53 +2,129 @@ "slug": "movie-challenge", "repo": "Laboratoria/curriculum", "path": "projects/03-movie-challenge", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:57.008Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:03.047Z", "prefix": 3, "track": "web-dev", "tracks": [ "web-dev" ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "browser/fetch", - "browser/routing", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/arrays", - "js/data-types/objects", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/async/callbacks", - "js/async/promises", - "js/testing/unit", - "js/testing/mocks", - "js/testing/async", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "http/request-response", - "http/headers", - "http/status-codes", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "browser/fetch" + }, + { + "id": "browser/routing" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/async/callbacks" + }, + { + "id": "js/async/promises" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "http/request-response" + }, + { + "id": "http/headers" + }, + { + "id": "http/status-codes" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + } ], "intl": { "es": { diff --git a/dist/projects/notes.json b/dist/projects/notes.json index e0b57f1cb..8e9747a19 100644 --- a/dist/projects/notes.json +++ b/dist/projects/notes.json @@ -2,70 +2,183 @@ "slug": "notes", "repo": "Laboratoria/curriculum", "path": "projects/04-notes", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:02.373Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:06.014Z", "prefix": 4, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "hidden" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "css/grid", - "css/media-queries", - "js/data-types/arrays", - "js/data-types/objects", - "js/data-types/primitive-vs-non-primitive", - "js/conditionals", - "js/functions", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "firebase/auth", - "firebase/firestore", - "angular/components-and-templates", - "angular/component-lifecycle", - "angular/structural-directives", - "angular/input-output", - "angular/services", - "angular/routing", - "angular/observables", - "angular/http-client", - "angular/styles", - "react/jsx", - "react/components", - "react/events", - "react/lists-and-keys", - "react/conditional-rendering", - "react/lifting-up-state", - "react/hooks", - "react/css-modules", - "react/routing", - "vue/instance", - "vue/data-and-methods", - "vue/components", - "vue/props", - "vue/directives", - "vue/iteration", - "vue/events", - "vue/computed-props-and-observers", - "vue/routing", - "vue/classes-and-styles" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "css/grid" + }, + { + "id": "css/media-queries" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "firebase/auth" + }, + { + "id": "firebase/firestore" + }, + { + "id": "angular/components-and-templates" + }, + { + "id": "angular/component-lifecycle" + }, + { + "id": "angular/structural-directives" + }, + { + "id": "angular/input-output" + }, + { + "id": "angular/services" + }, + { + "id": "angular/routing" + }, + { + "id": "angular/observables" + }, + { + "id": "angular/http-client" + }, + { + "id": "angular/styles" + }, + { + "id": "react/jsx" + }, + { + "id": "react/components" + }, + { + "id": "react/events" + }, + { + "id": "react/lists-and-keys" + }, + { + "id": "react/conditional-rendering" + }, + { + "id": "react/lifting-up-state" + }, + { + "id": "react/hooks" + }, + { + "id": "react/css-modules" + }, + { + "id": "react/routing" + }, + { + "id": "vue/instance" + }, + { + "id": "vue/data-and-methods" + }, + { + "id": "vue/components" + }, + { + "id": "vue/props" + }, + { + "id": "vue/directives" + }, + { + "id": "vue/iteration" + }, + { + "id": "vue/events" + }, + { + "id": "vue/computed-props-and-observers" + }, + { + "id": "vue/routing" + }, + { + "id": "vue/classes-and-styles" + } ], "intl": { "es": { diff --git a/dist/projects/open-project.json b/dist/projects/open-project.json index 7ec257bb7..5fed8b461 100644 --- a/dist/projects/open-project.json +++ b/dist/projects/open-project.json @@ -2,14 +2,17 @@ "slug": "open-project", "repo": "Laboratoria/curriculum", "path": "projects/05-open-project", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:07.871Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:08.610Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "hidden" + ], "intl": { "es": { "title": "Proyecto Abierto", diff --git a/dist/projects/roman-numerals-slack.json b/dist/projects/roman-numerals-slack.json index 6323c7dbf..ba8459ceb 100644 --- a/dist/projects/roman-numerals-slack.json +++ b/dist/projects/roman-numerals-slack.json @@ -2,39 +2,90 @@ "slug": "roman-numerals-slack", "repo": "Laboratoria/curriculum", "path": "projects/05-roman-numerals-slack", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:11.229Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:08.529Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "beta" + ], "learningObjectives": [ - "node/npm-install", - "node/package.json", - "node/npm-scripts", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/modules/commonjs", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/collaboration", - "scm/github/project-management", - "express/routing", - "express/middleware", - "http/request-response", - "http/body", - "http/verbs", - "http/status-codes", - "http/json", - "webops/cloud-functions", - "slack/slash-commands" + { + "id": "node/npm-install" + }, + { + "id": "node/package.json" + }, + { + "id": "node/npm-scripts" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/modules/commonjs" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "express/routing" + }, + { + "id": "express/middleware" + }, + { + "id": "http/request-response" + }, + { + "id": "http/body" + }, + { + "id": "http/verbs" + }, + { + "id": "http/status-codes" + }, + { + "id": "http/json" + }, + { + "id": "webops/cloud-functions" + }, + { + "id": "slack/slash-commands" + } ], "intl": { "es": { diff --git a/dist/projects/roman-numerals.json b/dist/projects/roman-numerals.json index f8318b344..c90342a60 100644 --- a/dist/projects/roman-numerals.json +++ b/dist/projects/roman-numerals.json @@ -2,38 +2,87 @@ "slug": "roman-numerals", "repo": "Laboratoria/curriculum", "path": "projects/05-roman-numerals", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:07.897Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:08.927Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "beta" + ], "learningObjectives": [ - "node/npm-install", - "node/package.json", - "node/npm-scripts", - "node/process", - "js/data-types/primitive", - "js/data-types/primitive-vs-non-primitive", - "js/data-types/strings", - "js/data-types/arrays", - "js/data-types/objects", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/commonjs", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/collaboration", - "scm/github/project-management" + { + "id": "node/npm-install" + }, + { + "id": "node/package.json" + }, + { + "id": "node/npm-scripts" + }, + { + "id": "node/process" + }, + { + "id": "js/data-types/primitive" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/data-types/strings" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/commonjs" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + } ], "intl": { "es": { diff --git a/dist/projects/social-network-fw.json b/dist/projects/social-network-fw.json index 5405049c0..a94ad2580 100644 --- a/dist/projects/social-network-fw.json +++ b/dist/projects/social-network-fw.json @@ -2,78 +2,204 @@ "slug": "social-network-fw", "repo": "Laboratoria/curriculum", "path": "projects/05-social-network-fw", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:11.247Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:08.532Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "css/grid", - "css/media-queries", - "js/data-types/arrays", - "js/data-types/objects", - "js/data-types/primitive-vs-non-primitive", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "js/async/callbacks", - "js/async/promises", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "scm/github/project-management", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test", - "firebase/auth", - "firebase/firestore", - "angular/components-and-templates", - "angular/component-lifecycle", - "angular/structural-directives", - "angular/input-output", - "angular/services", - "angular/routing", - "angular/observables", - "angular/http-client", - "angular/styles", - "react/jsx", - "react/components", - "react/events", - "react/lists-and-keys", - "react/conditional-rendering", - "react/lifting-up-state", - "react/hooks", - "react/css-modules", - "react/routing", - "vue/instance", - "vue/data-and-methods", - "vue/components", - "vue/props", - "vue/directives", - "vue/iteration", - "vue/events", - "vue/computed-props-and-observers", - "vue/routing", - "vue/classes-and-styles" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "css/grid" + }, + { + "id": "css/media-queries" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "js/async/callbacks" + }, + { + "id": "js/async/promises" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + }, + { + "id": "firebase/auth" + }, + { + "id": "firebase/firestore" + }, + { + "id": "angular/components-and-templates" + }, + { + "id": "angular/component-lifecycle" + }, + { + "id": "angular/structural-directives" + }, + { + "id": "angular/input-output" + }, + { + "id": "angular/services" + }, + { + "id": "angular/routing" + }, + { + "id": "angular/observables" + }, + { + "id": "angular/http-client" + }, + { + "id": "angular/styles" + }, + { + "id": "react/jsx" + }, + { + "id": "react/components" + }, + { + "id": "react/events" + }, + { + "id": "react/lists-and-keys" + }, + { + "id": "react/conditional-rendering" + }, + { + "id": "react/lifting-up-state" + }, + { + "id": "react/hooks" + }, + { + "id": "react/css-modules" + }, + { + "id": "react/routing" + }, + { + "id": "vue/instance" + }, + { + "id": "vue/data-and-methods" + }, + { + "id": "vue/components" + }, + { + "id": "vue/props" + }, + { + "id": "vue/directives" + }, + { + "id": "vue/iteration" + }, + { + "id": "vue/events" + }, + { + "id": "vue/computed-props-and-observers" + }, + { + "id": "vue/routing" + }, + { + "id": "vue/classes-and-styles" + } ], "intl": { "es": { diff --git a/dist/projects/social-network.json b/dist/projects/social-network.json index 8369824ba..86a50bf92 100644 --- a/dist/projects/social-network.json +++ b/dist/projects/social-network.json @@ -2,53 +2,132 @@ "slug": "social-network", "repo": "Laboratoria/curriculum", "path": "projects/03-social-network", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:57.099Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:03.379Z", "prefix": 3, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "deprecated" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "css/flexbox", - "css/grid", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "browser/routing", - "js/data-types/arrays", - "js/data-types/objects", - "js/data-types/primitive-vs-non-primitive", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/testing/async", - "js/testing/mocks", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "js/expression-vs-statement", - "js/async/callbacks", - "js/async/promises", - "scm/git/setup", - "scm/git/intro", - "scm/git/integration", - "scm/github/setup", - "scm/github/gh-pages", - "scm/github/collaboration", - "scm/github/project-management", - "user-centricity/centricity", - "product-design/interactivity", - "product-design/visual-design", - "research/test", - "firebase/auth", - "firebase/firestore" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "css/flexbox" + }, + { + "id": "css/grid" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "browser/routing" + }, + { + "id": "js/data-types/arrays" + }, + { + "id": "js/data-types/objects" + }, + { + "id": "js/data-types/primitive-vs-non-primitive" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/testing/async" + }, + { + "id": "js/testing/mocks" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "js/expression-vs-statement" + }, + { + "id": "js/async/callbacks" + }, + { + "id": "js/async/promises" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/git/integration" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "scm/github/collaboration" + }, + { + "id": "scm/github/project-management" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + }, + { + "id": "product-design/visual-design" + }, + { + "id": "research/test" + }, + { + "id": "firebase/auth" + }, + { + "id": "firebase/firestore" + } ], "intl": { "es": { diff --git a/dist/projects/text-analyzer.json b/dist/projects/text-analyzer.json index 390c0f95a..3bc885afe 100644 --- a/dist/projects/text-analyzer.json +++ b/dist/projects/text-analyzer.json @@ -2,38 +2,87 @@ "slug": "text-analyzer", "repo": "Laboratoria/curriculum", "path": "projects/01-text-analyzer", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:43.449Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:57.543Z", "prefix": 1, "track": "web-dev", "tracks": [ "web-dev" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "css/box-model", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive", - "js/data-types/strings", - "js/variables", - "js/conditionals", - "js/loops", - "js/functions", - "js/testing/unit", - "js/modules/es-modules", - "js/linting", - "js/semantics", - "scm/git/setup", - "scm/git/intro", - "scm/github/setup", - "scm/github/gh-pages", - "user-centricity/centricity", - "product-design/fidelity", - "product-design/visual-design" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "css/box-model" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive" + }, + { + "id": "js/data-types/strings" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/loops" + }, + { + "id": "js/functions" + }, + { + "id": "js/testing/unit" + }, + { + "id": "js/modules/es-modules" + }, + { + "id": "js/linting" + }, + { + "id": "js/semantics" + }, + { + "id": "scm/git/setup" + }, + { + "id": "scm/git/intro" + }, + { + "id": "scm/github/setup" + }, + { + "id": "scm/github/gh-pages" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/fidelity" + }, + { + "id": "product-design/visual-design" + } ], "intl": { "es": { diff --git a/dist/projects/trivia.json b/dist/projects/trivia.json index 80b71f8fd..ded4a658f 100644 --- a/dist/projects/trivia.json +++ b/dist/projects/trivia.json @@ -2,28 +2,54 @@ "slug": "trivia", "repo": "Laboratoria/curriculum", "path": "projects/00-trivia", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:40.295Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:42:57.139Z", "prefix": 0, "track": "web-dev", "tracks": [ "web-dev" ], "learningObjectives": [ - "html/semantics", - "css/selectors", - "browser/dom/selectors", - "browser/dom/events", - "browser/dom/manipulation", - "js/data-types/primitive", - "js/data-types/strings", - "js/variables", - "js/conditionals", - "js/functions", - "js/semantics", - "user-centricity/centricity", - "product-design/interactivity" + { + "id": "html/semantics" + }, + { + "id": "css/selectors" + }, + { + "id": "browser/dom/selectors" + }, + { + "id": "browser/dom/events" + }, + { + "id": "browser/dom/manipulation" + }, + { + "id": "js/data-types/primitive" + }, + { + "id": "js/data-types/strings" + }, + { + "id": "js/variables" + }, + { + "id": "js/conditionals" + }, + { + "id": "js/functions" + }, + { + "id": "js/semantics" + }, + { + "id": "user-centricity/centricity" + }, + { + "id": "product-design/interactivity" + } ], "intl": { "es": { diff --git a/dist/projects/uxploradoras-ui.json b/dist/projects/uxploradoras-ui.json index 62b7ba2df..65e1e8ad8 100644 --- a/dist/projects/uxploradoras-ui.json +++ b/dist/projects/uxploradoras-ui.json @@ -2,33 +2,72 @@ "slug": "uxploradoras-ui", "repo": "Laboratoria/curriculum", "path": "projects/02-uxploradoras-ui", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:53.017Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:00.165Z", "prefix": 2, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "deprecated" + ], "learningObjectives": [ - "agile-planning/scope", - "agile-planning/workplan", - "agile-planning/tasks", - "research-planning/research-plan", - "research-planning/research-sample", - "research-planning/participants", - "content-design/voice-tone", - "content-design/micro-content", - "interface-design/visual-design", - "interface-design/accesibility", - "design-prototype/basic-prototypes", - "usability-analysis/non-moderated-testing", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-specs/file-organization", - "design-specs/use-cases", - "design-specs/project-documentation", - "design-systems/atomic-design" + { + "id": "agile-planning/scope" + }, + { + "id": "agile-planning/workplan" + }, + { + "id": "agile-planning/tasks" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "content-design/voice-tone" + }, + { + "id": "content-design/micro-content" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "interface-design/accesibility" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "usability-analysis/non-moderated-testing" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/use-cases" + }, + { + "id": "design-specs/project-documentation" + }, + { + "id": "design-systems/atomic-design" + } ], "intl": { "es": { diff --git a/dist/projects/uxploradoras-ux.json b/dist/projects/uxploradoras-ux.json index 3dbd86a65..40b1f29e4 100644 --- a/dist/projects/uxploradoras-ux.json +++ b/dist/projects/uxploradoras-ux.json @@ -2,40 +2,93 @@ "slug": "uxploradoras-ux", "repo": "Laboratoria/curriculum", "path": "projects/03-uxploradoras-ux", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:59.559Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:03.084Z", "prefix": 3, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "deprecated" + ], "learningObjectives": [ - "agile-planning/scope", - "agile-planning/workplan", - "agile-planning/tasks", - "research-planning/research-plan", - "research-planning/desk-research", - "research-planning/research-sample", - "research-planning/participants", - "research-quantitative/user-surveys", - "research-quantitative/analytical-techniques", - "research-analysis/process-information", - "research-analysis/experience-mapping", - "research-analysis/identify-patterns", - "research-analysis/synthesize-results", - "research-analysis/ai-analysis", - "interaction-design/user-flows", - "interaction-design/usability", - "interaction-design/information-architecture", - "content-design/voice-tone", - "content-design/micro-content", - "design-prototype/basic-prototypes", - "usability-analysis/non-moderated-testing", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-specs/file-organization", - "design-specs/project-documentation" + { + "id": "agile-planning/scope" + }, + { + "id": "agile-planning/workplan" + }, + { + "id": "agile-planning/tasks" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/desk-research" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "research-quantitative/user-surveys" + }, + { + "id": "research-quantitative/analytical-techniques" + }, + { + "id": "research-analysis/process-information" + }, + { + "id": "research-analysis/experience-mapping" + }, + { + "id": "research-analysis/identify-patterns" + }, + { + "id": "research-analysis/synthesize-results" + }, + { + "id": "research-analysis/ai-analysis" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interaction-design/usability" + }, + { + "id": "interaction-design/information-architecture" + }, + { + "id": "content-design/voice-tone" + }, + { + "id": "content-design/micro-content" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "usability-analysis/non-moderated-testing" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/project-documentation" + } ], "intl": { "es": { diff --git a/dist/projects/uxploradoras.json b/dist/projects/uxploradoras.json index 8b5ed4990..f5445ea81 100644 --- a/dist/projects/uxploradoras.json +++ b/dist/projects/uxploradoras.json @@ -2,48 +2,117 @@ "slug": "uxploradoras", "repo": "Laboratoria/curriculum", "path": "projects/02-uxploradoras", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:49:53.021Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:00.080Z", "prefix": 2, "track": "ux", "tracks": [ "ux" ], + "tags": [ + "featured" + ], "learningObjectives": [ - "agile-planning/scope", - "agile-planning/workplan", - "agile-planning/tasks", - "business-understanding/benchmark", - "design-concept/design-references", - "design-concept/ideate", - "design-concept/prioritize-ideas", - "interaction-design/user-flows", - "interaction-design/usability", - "interaction-design/information-architecture", - "interface-design/visual-design", - "interface-design/accesibility", - "interface-design/responsive-design", - "interface-design/ai-proposals", - "content-design/voice-tone", - "content-design/micro-content", - "content-design/ai-content", - "content-design/visual-content", - "design-prototype/basic-prototypes", - "design-prototype/high-fidelity", - "design-prototype/ai-plugins", - "research-planning/research-plan", - "research-planning/research-sample", - "research-planning/participants", - "usability-analysis/non-moderated-testing", - "design-pitch/design-feedback", - "design-pitch/design-presentation", - "design-pitch/ai-presentations", - "design-specs/file-organization", - "design-specs/use-cases", - "design-specs/project-documentation", - "design-systems/atomic-design", - "design-systems/design-system" + { + "id": "agile-planning/scope" + }, + { + "id": "agile-planning/workplan" + }, + { + "id": "agile-planning/tasks" + }, + { + "id": "business-understanding/benchmark" + }, + { + "id": "design-concept/design-references" + }, + { + "id": "design-concept/ideate" + }, + { + "id": "design-concept/prioritize-ideas" + }, + { + "id": "interaction-design/user-flows" + }, + { + "id": "interaction-design/usability" + }, + { + "id": "interaction-design/information-architecture" + }, + { + "id": "interface-design/visual-design" + }, + { + "id": "interface-design/accesibility" + }, + { + "id": "interface-design/responsive-design" + }, + { + "id": "interface-design/ai-proposals" + }, + { + "id": "content-design/voice-tone" + }, + { + "id": "content-design/micro-content" + }, + { + "id": "content-design/ai-content" + }, + { + "id": "content-design/visual-content" + }, + { + "id": "design-prototype/basic-prototypes" + }, + { + "id": "design-prototype/high-fidelity" + }, + { + "id": "design-prototype/ai-plugins" + }, + { + "id": "research-planning/research-plan" + }, + { + "id": "research-planning/research-sample" + }, + { + "id": "research-planning/participants" + }, + { + "id": "usability-analysis/non-moderated-testing" + }, + { + "id": "design-pitch/design-feedback" + }, + { + "id": "design-pitch/design-presentation" + }, + { + "id": "design-pitch/ai-presentations" + }, + { + "id": "design-specs/file-organization" + }, + { + "id": "design-specs/use-cases" + }, + { + "id": "design-specs/project-documentation" + }, + { + "id": "design-systems/atomic-design" + }, + { + "id": "design-systems/design-system" + } ], "intl": { "es": { diff --git a/dist/projects/wordpress-plugin.json b/dist/projects/wordpress-plugin.json index e757d0864..b018e7995 100644 --- a/dist/projects/wordpress-plugin.json +++ b/dist/projects/wordpress-plugin.json @@ -2,39 +2,87 @@ "slug": "wordpress-plugin", "repo": "Laboratoria/curriculum", "path": "projects/05-wordpress-plugin", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:11.352Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:08.980Z", "prefix": 5, "track": "web-dev", "tracks": [ "web-dev" ], "learningObjectives": [ - "php/data-types/primitive", - "php/data-types/arrays", - "php/data-types/objects", - "php/variables", - "php/control-structures", - "php/functions", - "php/testing/phpunit", - "php/testing/xdebug", - "php/package-management/composer", - "wordpress/plugin-development/hooks", - "wordpress/plugin-development/administration-menu", - "wordpress/plugin-development/shortcodes", - "wordpress/plugin-development/settings", - "wordpress/plugin-development/custom-post-types", - "wordpress/plugin-development/taxonomies", - "wordpress/plugin-development/users", - "wordpress/plugin-development/cron", - "wordpress/plugin-development/wordpress-rest-api", - "wordpress/plugin-development/wordpress-apis", - "wordpress/plugin-development/wordpress-plugin-directory", - "mysql/mysql", - "mysql/data-types", - "db/modeling", - "db/connection" + { + "id": "php/data-types/primitive" + }, + { + "id": "php/data-types/arrays" + }, + { + "id": "php/data-types/objects" + }, + { + "id": "php/variables" + }, + { + "id": "php/control-structures" + }, + { + "id": "php/functions" + }, + { + "id": "php/testing/phpunit" + }, + { + "id": "php/testing/xdebug" + }, + { + "id": "php/package-management/composer" + }, + { + "id": "wordpress/plugin-development/hooks" + }, + { + "id": "wordpress/plugin-development/administration-menu" + }, + { + "id": "wordpress/plugin-development/shortcodes" + }, + { + "id": "wordpress/plugin-development/settings" + }, + { + "id": "wordpress/plugin-development/custom-post-types" + }, + { + "id": "wordpress/plugin-development/taxonomies" + }, + { + "id": "wordpress/plugin-development/users" + }, + { + "id": "wordpress/plugin-development/cron" + }, + { + "id": "wordpress/plugin-development/wordpress-rest-api" + }, + { + "id": "wordpress/plugin-development/wordpress-apis" + }, + { + "id": "wordpress/plugin-development/wordpress-plugin-directory" + }, + { + "id": "mysql/mysql" + }, + { + "id": "mysql/data-types" + }, + { + "id": "db/modeling" + }, + { + "id": "db/connection" + } ], "intl": { "es": { diff --git a/dist/topics.json b/dist/topics.json index f055e22a1..002ce1f4c 100644 --- a/dist/topics.json +++ b/dist/topics.json @@ -3,9 +3,9 @@ "slug": "browser", "repo": "Laboratoria/curriculum", "path": "topics/browser", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:14.825Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:09.724Z", "track": "web-dev", "tracks": [ "web-dev" @@ -27,9 +27,9 @@ "slug": "content-management", "repo": "Laboratoria/curriculum", "path": "topics/content-management", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:13.844Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:12.237Z", "track": "ux", "tracks": [ "ux" @@ -47,9 +47,9 @@ "slug": "css", "repo": "Laboratoria/curriculum", "path": "topics/css", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:18.850Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:13.443Z", "track": "web-dev", "tracks": [ "web-dev" @@ -71,9 +71,9 @@ "slug": "functional", "repo": "Laboratoria/curriculum", "path": "topics/functional", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:18.651Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:13.269Z", "track": "web-dev", "tracks": [ "web-dev" @@ -91,9 +91,9 @@ "slug": "html", "repo": "Laboratoria/curriculum", "path": "topics/html", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:18.384Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:12.882Z", "track": "web-dev", "tracks": [ "web-dev" @@ -115,9 +115,9 @@ "slug": "interaction-design", "repo": "Laboratoria/curriculum", "path": "topics/interaction-design", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:21.557Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:12.538Z", "track": "ux", "tracks": [ "ux" @@ -135,9 +135,9 @@ "slug": "intro-ux", "repo": "Laboratoria/curriculum", "path": "topics/intro-ux", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:21.313Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:12.136Z", "track": "ux", "tracks": [ "ux" @@ -155,9 +155,9 @@ "slug": "javascript", "repo": "Laboratoria/curriculum", "path": "topics/javascript", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:22.877Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:14.302Z", "track": "web-dev", "tracks": [ "web-dev" @@ -179,9 +179,9 @@ "slug": "learning-mindset", "repo": "Laboratoria/curriculum", "path": "topics/learning-mindset", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:26.188Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:16.131Z", "track": "web-dev", "tracks": [ "web-dev", @@ -200,9 +200,9 @@ "slug": "paradigms", "repo": "Laboratoria/curriculum", "path": "topics/paradigms", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:26.904Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:17.005Z", "track": "web-dev", "tracks": [ "web-dev" @@ -220,9 +220,9 @@ "slug": "prototyping", "repo": "Laboratoria/curriculum", "path": "topics/prototyping", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:26.477Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:16.197Z", "track": "ux", "tracks": [ "ux" @@ -240,9 +240,9 @@ "slug": "scm", "repo": "Laboratoria/curriculum", "path": "topics/scm", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:30.515Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:16.643Z", "track": "web-dev", "tracks": [ "web-dev" @@ -264,9 +264,9 @@ "slug": "shell", "repo": "Laboratoria/curriculum", "path": "topics/shell", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:30.282Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:16.252Z", "track": "web-dev", "tracks": [ "web-dev" @@ -288,9 +288,9 @@ "slug": "ux-research", "repo": "Laboratoria/curriculum", "path": "topics/ux-research", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:30.711Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:16.845Z", "track": "ux", "tracks": [ "ux" diff --git a/dist/topics/browser.json b/dist/topics/browser.json index d619619ce..c20fcbb3e 100644 --- a/dist/topics/browser.json +++ b/dist/topics/browser.json @@ -2,9 +2,9 @@ "slug": "browser", "repo": "Laboratoria/curriculum", "path": "topics/browser", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:14.825Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:09.724Z", "track": "web-dev", "tracks": [ "web-dev" diff --git a/dist/topics/content-management.json b/dist/topics/content-management.json index 349469a82..624e5f6b0 100644 --- a/dist/topics/content-management.json +++ b/dist/topics/content-management.json @@ -2,9 +2,9 @@ "slug": "content-management", "repo": "Laboratoria/curriculum", "path": "topics/content-management", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:13.844Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:12.237Z", "track": "ux", "tracks": [ "ux" diff --git a/dist/topics/css.json b/dist/topics/css.json index b7bd17b1a..8619130eb 100644 --- a/dist/topics/css.json +++ b/dist/topics/css.json @@ -2,9 +2,9 @@ "slug": "css", "repo": "Laboratoria/curriculum", "path": "topics/css", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:18.850Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:13.443Z", "track": "web-dev", "tracks": [ "web-dev" diff --git a/dist/topics/functional.json b/dist/topics/functional.json index 6be8c67fc..f374ffced 100644 --- a/dist/topics/functional.json +++ b/dist/topics/functional.json @@ -2,9 +2,9 @@ "slug": "functional", "repo": "Laboratoria/curriculum", "path": "topics/functional", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:18.651Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:13.269Z", "track": "web-dev", "tracks": [ "web-dev" @@ -67,7 +67,7 @@ "slug": "discount", "prefix": "01", "path": "topics/functional/01-state/02-practice/01-discount", - "createdAt": "2024-06-12T19:50:18.649Z", + "createdAt": "2024-06-13T15:43:13.266Z", "track": "web-dev", "tracks": [ "web-dev" @@ -89,7 +89,7 @@ "slug": "serialize-user", "prefix": "02", "path": "topics/functional/01-state/02-practice/02-serialize-user", - "createdAt": "2024-06-12T19:50:18.649Z", + "createdAt": "2024-06-13T15:43:13.267Z", "track": "web-dev", "tracks": [ "web-dev" @@ -137,7 +137,7 @@ "slug": "parse-items", "prefix": "01", "path": "topics/functional/01-state/04-practice-2/01-parse-items", - "createdAt": "2024-06-12T19:50:18.649Z", + "createdAt": "2024-06-13T15:43:13.267Z", "track": "web-dev", "tracks": [ "web-dev" @@ -220,7 +220,7 @@ "slug": "repeat", "prefix": "01", "path": "topics/functional/03-hof/02-practice/01-repeat", - "createdAt": "2024-06-12T19:50:18.650Z", + "createdAt": "2024-06-13T15:43:13.268Z", "track": "web-dev", "tracks": [ "web-dev" @@ -268,7 +268,7 @@ "slug": "bound-logger", "prefix": "01", "path": "topics/functional/03-hof/04-practice-2/01-bound-logger", - "createdAt": "2024-06-12T19:50:18.649Z", + "createdAt": "2024-06-13T15:43:13.268Z", "track": "web-dev", "tracks": [ "web-dev" @@ -290,7 +290,7 @@ "slug": "logger", "prefix": "02", "path": "topics/functional/03-hof/04-practice-2/02-logger", - "createdAt": "2024-06-12T19:50:18.650Z", + "createdAt": "2024-06-13T15:43:13.269Z", "track": "web-dev", "tracks": [ "web-dev" @@ -338,7 +338,7 @@ "slug": "curry-n", "prefix": "01", "path": "topics/functional/03-hof/06-practice-3/01-curry-n", - "createdAt": "2024-06-12T19:50:18.650Z", + "createdAt": "2024-06-13T15:43:13.269Z", "track": "web-dev", "tracks": [ "web-dev" @@ -421,7 +421,7 @@ "slug": "apply-discount", "prefix": "01", "path": "topics/functional/05-flow-control/02-practice/01-apply-discount", - "createdAt": "2024-06-12T19:50:18.651Z", + "createdAt": "2024-06-13T15:43:13.267Z", "track": "web-dev", "tracks": [ "web-dev" @@ -443,7 +443,7 @@ "slug": "reduce", "prefix": "02", "path": "topics/functional/05-flow-control/02-practice/02-reduce", - "createdAt": "2024-06-12T19:50:18.651Z", + "createdAt": "2024-06-13T15:43:13.268Z", "track": "web-dev", "tracks": [ "web-dev" @@ -465,7 +465,7 @@ "slug": "get-dependencies", "prefix": "03", "path": "topics/functional/05-flow-control/02-practice/03-get-dependencies", - "createdAt": "2024-06-12T19:50:18.651Z", + "createdAt": "2024-06-13T15:43:13.268Z", "track": "web-dev", "tracks": [ "web-dev" @@ -513,7 +513,7 @@ "slug": "load-users", "prefix": "01", "path": "topics/functional/05-flow-control/04-practice-2/01-load-users", - "createdAt": "2024-06-12T19:50:18.651Z", + "createdAt": "2024-06-13T15:43:13.268Z", "track": "web-dev", "tracks": [ "web-dev" diff --git a/dist/topics/html.json b/dist/topics/html.json index ff0af4ae2..943b3a221 100644 --- a/dist/topics/html.json +++ b/dist/topics/html.json @@ -2,9 +2,9 @@ "slug": "html", "repo": "Laboratoria/curriculum", "path": "topics/html", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:18.384Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:12.882Z", "track": "web-dev", "tracks": [ "web-dev" diff --git a/dist/topics/interaction-design.json b/dist/topics/interaction-design.json index e151d57d0..651ae3c01 100644 --- a/dist/topics/interaction-design.json +++ b/dist/topics/interaction-design.json @@ -2,9 +2,9 @@ "slug": "interaction-design", "repo": "Laboratoria/curriculum", "path": "topics/interaction-design", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:21.557Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:12.538Z", "track": "ux", "tracks": [ "ux" diff --git a/dist/topics/intro-ux.json b/dist/topics/intro-ux.json index f79422341..4cb5c0f18 100644 --- a/dist/topics/intro-ux.json +++ b/dist/topics/intro-ux.json @@ -2,9 +2,9 @@ "slug": "intro-ux", "repo": "Laboratoria/curriculum", "path": "topics/intro-ux", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:21.313Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:12.136Z", "track": "ux", "tracks": [ "ux" diff --git a/dist/topics/javascript.json b/dist/topics/javascript.json index 0fbf1aea3..3e4ef0fb9 100644 --- a/dist/topics/javascript.json +++ b/dist/topics/javascript.json @@ -2,9 +2,9 @@ "slug": "javascript", "repo": "Laboratoria/curriculum", "path": "topics/javascript", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:22.877Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:14.302Z", "track": "web-dev", "tracks": [ "web-dev" @@ -119,7 +119,7 @@ "slug": "coin-convert", "prefix": "01", "path": "topics/javascript/01-basics/06-exercises/01-coin-convert", - "createdAt": "2024-06-12T19:50:22.873Z", + "createdAt": "2024-06-13T15:43:14.298Z", "track": "web-dev", "tracks": [ "web-dev" @@ -145,7 +145,7 @@ "slug": "restaurant-bill", "prefix": "02", "path": "topics/javascript/01-basics/06-exercises/02-restaurant-bill", - "createdAt": "2024-06-12T19:50:22.874Z", + "createdAt": "2024-06-13T15:43:14.298Z", "track": "web-dev", "tracks": [ "web-dev" @@ -300,7 +300,7 @@ "slug": "power-of-two", "prefix": "01", "path": "topics/javascript/02-flow-control/06-code-challenges/01-power-of-two", - "createdAt": "2024-06-12T19:50:22.874Z", + "createdAt": "2024-06-13T15:43:14.299Z", "track": "web-dev", "tracks": [ "web-dev" @@ -328,7 +328,7 @@ "slug": "reverse", "prefix": "02", "path": "topics/javascript/02-flow-control/06-code-challenges/02-reverse", - "createdAt": "2024-06-12T19:50:22.874Z", + "createdAt": "2024-06-13T15:43:14.299Z", "track": "web-dev", "tracks": [ "web-dev" @@ -355,7 +355,7 @@ "slug": "count-vowels", "prefix": "03", "path": "topics/javascript/02-flow-control/06-code-challenges/03-count-vowels", - "createdAt": "2024-06-12T19:50:22.874Z", + "createdAt": "2024-06-13T15:43:14.299Z", "track": "web-dev", "tracks": [ "web-dev" @@ -382,7 +382,7 @@ "slug": "even-or-odd", "prefix": "04", "path": "topics/javascript/02-flow-control/06-code-challenges/04-even-or-odd", - "createdAt": "2024-06-12T19:50:22.874Z", + "createdAt": "2024-06-13T15:43:14.299Z", "track": "web-dev", "tracks": [ "web-dev" @@ -409,7 +409,7 @@ "slug": "max", "prefix": "05", "path": "topics/javascript/02-flow-control/06-code-challenges/05-max", - "createdAt": "2024-06-12T19:50:22.874Z", + "createdAt": "2024-06-13T15:43:14.299Z", "track": "web-dev", "tracks": [ "web-dev" @@ -436,7 +436,7 @@ "slug": "is-prime", "prefix": "06", "path": "topics/javascript/02-flow-control/06-code-challenges/06-is-prime", - "createdAt": "2024-06-12T19:50:22.874Z", + "createdAt": "2024-06-13T15:43:14.299Z", "track": "web-dev", "tracks": [ "web-dev" @@ -463,7 +463,7 @@ "slug": "can-drive-and-vote", "prefix": "07", "path": "topics/javascript/02-flow-control/06-code-challenges/07-can-drive-and-vote", - "createdAt": "2024-06-12T19:50:22.874Z", + "createdAt": "2024-06-13T15:43:14.299Z", "track": "web-dev", "tracks": [ "web-dev" @@ -490,7 +490,7 @@ "slug": "are-odd", "prefix": "08", "path": "topics/javascript/02-flow-control/06-code-challenges/08-are-odd", - "createdAt": "2024-06-12T19:50:22.874Z", + "createdAt": "2024-06-13T15:43:14.299Z", "track": "web-dev", "tracks": [ "web-dev" @@ -692,7 +692,7 @@ "slug": "compute-average-length-of-words", "prefix": "01", "path": "topics/javascript/04-arrays/06-practice/01-compute-average-length-of-words", - "createdAt": "2024-06-12T19:50:22.874Z", + "createdAt": "2024-06-13T15:43:14.299Z", "track": "web-dev", "tracks": [ "web-dev" @@ -719,7 +719,7 @@ "slug": "get-nth-element", "prefix": "02", "path": "topics/javascript/04-arrays/06-practice/02-get-nth-element", - "createdAt": "2024-06-12T19:50:22.874Z", + "createdAt": "2024-06-13T15:43:14.299Z", "track": "web-dev", "tracks": [ "web-dev" @@ -746,7 +746,7 @@ "slug": "convert-double-space-to-single", "prefix": "03", "path": "topics/javascript/04-arrays/06-practice/03-convert-double-space-to-single", - "createdAt": "2024-06-12T19:50:22.874Z", + "createdAt": "2024-06-13T15:43:14.299Z", "track": "web-dev", "tracks": [ "web-dev" @@ -773,7 +773,7 @@ "slug": "are-valid-credentials", "prefix": "04", "path": "topics/javascript/04-arrays/06-practice/04-are-valid-credentials", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -800,7 +800,7 @@ "slug": "find-pair-for-sum", "prefix": "05", "path": "topics/javascript/04-arrays/06-practice/05-find-pair-for-sum", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -827,7 +827,7 @@ "slug": "filter-odd-elements", "prefix": "06", "path": "topics/javascript/04-arrays/06-practice/06-filter-odd-elements", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -854,7 +854,7 @@ "slug": "find-shortest-word-among-mixed-elements", "prefix": "07", "path": "topics/javascript/04-arrays/06-practice/07-find-shortest-word-among-mixed-elements", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -881,7 +881,7 @@ "slug": "find-smallest-number-among-mixed-elements", "prefix": "08", "path": "topics/javascript/04-arrays/06-practice/08-find-smallest-number-among-mixed-elements", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -908,7 +908,7 @@ "slug": "get-longest-word-of-mixed-elements", "prefix": "09", "path": "topics/javascript/04-arrays/06-practice/09-get-longest-word-of-mixed-elements", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -935,7 +935,7 @@ "slug": "get-largest-number-among-mixed-elements", "prefix": "10", "path": "topics/javascript/04-arrays/06-practice/10-get-largest-number-among-mixed-elements", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -962,7 +962,7 @@ "slug": "compute-sum-of-all-elements", "prefix": "11", "path": "topics/javascript/04-arrays/06-practice/11-compute-sum-of-all-elements", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -989,7 +989,7 @@ "slug": "compute-sum-between", "prefix": "12", "path": "topics/javascript/04-arrays/06-practice/12-compute-sum-between", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1016,7 +1016,7 @@ "slug": "get-longest-of-three-words", "prefix": "13", "path": "topics/javascript/04-arrays/06-practice/13-get-longest-of-three-words", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1043,7 +1043,7 @@ "slug": "find-shortest-of-three-words", "prefix": "14", "path": "topics/javascript/04-arrays/06-practice/14-find-shortest-of-three-words", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1070,7 +1070,7 @@ "slug": "calculate-bill-total", "prefix": "15", "path": "topics/javascript/04-arrays/06-practice/15-calculate-bill-total", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1097,7 +1097,7 @@ "slug": "convert-score-to-grade", "prefix": "16", "path": "topics/javascript/04-arrays/06-practice/16-convert-score-to-grade", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1221,7 +1221,7 @@ "slug": "add-array-property", "prefix": "00", "path": "topics/javascript/05-objects/06-practice/00-add-array-property", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.300Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1248,7 +1248,7 @@ "slug": "object-properties-counter", "prefix": "01", "path": "topics/javascript/05-objects/06-practice/01-object-properties-counter", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1275,7 +1275,7 @@ "slug": "remove-string-values-longer-than", "prefix": "02", "path": "topics/javascript/05-objects/06-practice/02-remove-string-values-longer-than", - "createdAt": "2024-06-12T19:50:22.875Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1302,7 +1302,7 @@ "slug": "get-element-of-array-property", "prefix": "03", "path": "topics/javascript/05-objects/06-practice/03-get-element-of-array-property", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1329,7 +1329,7 @@ "slug": "greet-customer", "prefix": "04", "path": "topics/javascript/05-objects/06-practice/04-greet-customer", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1356,7 +1356,7 @@ "slug": "transform-first-and-last", "prefix": "05", "path": "topics/javascript/05-objects/06-practice/05-transform-first-and-last", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1383,7 +1383,7 @@ "slug": "get-all-keys", "prefix": "06", "path": "topics/javascript/05-objects/06-practice/06-get-all-keys", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1410,7 +1410,7 @@ "slug": "from-list-to-object", "prefix": "07", "path": "topics/javascript/05-objects/06-practice/07-from-list-to-object", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1437,7 +1437,7 @@ "slug": "list-all-values", "prefix": "08", "path": "topics/javascript/05-objects/06-practice/08-list-all-values", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1464,7 +1464,7 @@ "slug": "transform-employee-data", "prefix": "09", "path": "topics/javascript/05-objects/06-practice/09-transform-employee-data", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1491,7 +1491,7 @@ "slug": "convert-object-to-list", "prefix": "10", "path": "topics/javascript/05-objects/06-practice/10-convert-object-to-list", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1518,7 +1518,7 @@ "slug": "get-sum-of-all-elements-at-property", "prefix": "11", "path": "topics/javascript/05-objects/06-practice/11-get-sum-of-all-elements-at-property", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1545,7 +1545,7 @@ "slug": "get-product-of-all-elements-at-property", "prefix": "12", "path": "topics/javascript/05-objects/06-practice/12-get-product-of-all-elements-at-property", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1572,7 +1572,7 @@ "slug": "add-object-property", "prefix": "13", "path": "topics/javascript/05-objects/06-practice/13-add-object-property", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1599,7 +1599,7 @@ "slug": "add-full-name-property", "prefix": "14", "path": "topics/javascript/05-objects/06-practice/14-add-full-name-property", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.301Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1674,7 +1674,7 @@ "slug": "currency-amount", "prefix": "01", "path": "topics/javascript/06-strings/02-practice/01-currency-amount", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.302Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1701,7 +1701,7 @@ "slug": "first-and-last-to-upper", "prefix": "02", "path": "topics/javascript/06-strings/02-practice/02-first-and-last-to-upper", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.302Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1948,7 +1948,7 @@ "slug": "validate-string", "prefix": "01", "path": "topics/javascript/09-errors/05-practice/01-validate-string", - "createdAt": "2024-06-12T19:50:22.877Z", + "createdAt": "2024-06-13T15:43:14.302Z", "track": "web-dev", "tracks": [ "web-dev" @@ -1974,7 +1974,7 @@ "slug": "parse-json", "prefix": "02", "path": "topics/javascript/09-errors/05-practice/02-parse-json", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.302Z", "track": "web-dev", "tracks": [ "web-dev" @@ -2096,7 +2096,7 @@ "slug": "say-hello", "prefix": "01", "path": "topics/javascript/10-debugging/03-code-challenges/01-say-hello", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.302Z", "track": "web-dev", "tracks": [ "web-dev" @@ -2122,7 +2122,7 @@ "slug": "create-array", "prefix": "02", "path": "topics/javascript/10-debugging/03-code-challenges/02-create-array", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.302Z", "track": "web-dev", "tracks": [ "web-dev" @@ -2148,7 +2148,7 @@ "slug": "calculate-tip", "prefix": "03", "path": "topics/javascript/10-debugging/03-code-challenges/03-calculate-tip", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.302Z", "track": "web-dev", "tracks": [ "web-dev" @@ -2174,7 +2174,7 @@ "slug": "tell-fortune", "prefix": "04", "path": "topics/javascript/10-debugging/03-code-challenges/04-tell-fortune", - "createdAt": "2024-06-12T19:50:22.876Z", + "createdAt": "2024-06-13T15:43:14.302Z", "track": "web-dev", "tracks": [ "web-dev" @@ -2200,7 +2200,7 @@ "slug": "what-to-wear", "prefix": "05", "path": "topics/javascript/10-debugging/03-code-challenges/05-what-to-wear", - "createdAt": "2024-06-12T19:50:22.877Z", + "createdAt": "2024-06-13T15:43:14.302Z", "track": "web-dev", "tracks": [ "web-dev" diff --git a/dist/topics/learning-mindset.json b/dist/topics/learning-mindset.json index ec95ee84b..4918bf74b 100644 --- a/dist/topics/learning-mindset.json +++ b/dist/topics/learning-mindset.json @@ -2,9 +2,9 @@ "slug": "learning-mindset", "repo": "Laboratoria/curriculum", "path": "topics/learning-mindset", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:26.188Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:16.131Z", "track": "web-dev", "tracks": [ "web-dev", diff --git a/dist/topics/paradigms.json b/dist/topics/paradigms.json index 1189b3c69..034a7051c 100644 --- a/dist/topics/paradigms.json +++ b/dist/topics/paradigms.json @@ -2,9 +2,9 @@ "slug": "paradigms", "repo": "Laboratoria/curriculum", "path": "topics/paradigms", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:26.904Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:17.005Z", "track": "web-dev", "tracks": [ "web-dev" @@ -91,7 +91,7 @@ "slug": "print-primes", "prefix": "01", "path": "topics/paradigms/01-paradigms/04-imperative-exercise/01-print-primes", - "createdAt": "2024-06-12T19:50:26.900Z", + "createdAt": "2024-06-13T15:43:17.002Z", "track": "web-dev", "tracks": [ "web-dev" @@ -151,7 +151,7 @@ "slug": "get-primes", "prefix": "01", "path": "topics/paradigms/01-paradigms/07-procedural-exercise/01-get-primes", - "createdAt": "2024-06-12T19:50:26.903Z", + "createdAt": "2024-06-13T15:43:17.002Z", "track": "web-dev", "tracks": [ "web-dev" @@ -199,7 +199,7 @@ "slug": "notes", "prefix": "01", "path": "topics/paradigms/01-paradigms/09-oop-exercise/01-notes", - "createdAt": "2024-06-12T19:50:26.900Z", + "createdAt": "2024-06-13T15:43:17.002Z", "track": "web-dev", "tracks": [ "web-dev" @@ -247,7 +247,7 @@ "slug": "notes", "prefix": "01", "path": "topics/paradigms/01-paradigms/11-fp-exercise/01-notes", - "createdAt": "2024-06-12T19:50:26.899Z", + "createdAt": "2024-06-13T15:43:17.003Z", "track": "web-dev", "tracks": [ "web-dev" @@ -354,7 +354,7 @@ "slug": "simple-objects", "prefix": "01", "path": "topics/paradigms/03-proto/04-ejercicios/01-simple-objects", - "createdAt": "2024-06-12T19:50:26.900Z", + "createdAt": "2024-06-13T15:43:17.003Z", "track": "web-dev", "tracks": [ "web-dev" @@ -376,7 +376,7 @@ "slug": "proto", "prefix": "02", "path": "topics/paradigms/03-proto/04-ejercicios/02-proto", - "createdAt": "2024-06-12T19:50:26.900Z", + "createdAt": "2024-06-13T15:43:17.003Z", "track": "web-dev", "tracks": [ "web-dev" @@ -398,7 +398,7 @@ "slug": "dynamic-lookups", "prefix": "03", "path": "topics/paradigms/03-proto/04-ejercicios/03-dynamic-lookups", - "createdAt": "2024-06-12T19:50:26.902Z", + "createdAt": "2024-06-13T15:43:17.003Z", "track": "web-dev", "tracks": [ "web-dev" @@ -420,7 +420,7 @@ "slug": "property-assignments", "prefix": "04", "path": "topics/paradigms/03-proto/04-ejercicios/04-property-assignments", - "createdAt": "2024-06-12T19:50:26.900Z", + "createdAt": "2024-06-13T15:43:17.003Z", "track": "web-dev", "tracks": [ "web-dev" @@ -442,7 +442,7 @@ "slug": "arrays-and-objects", "prefix": "05", "path": "topics/paradigms/03-proto/04-ejercicios/05-arrays-and-objects", - "createdAt": "2024-06-12T19:50:26.903Z", + "createdAt": "2024-06-13T15:43:17.003Z", "track": "web-dev", "tracks": [ "web-dev" @@ -464,7 +464,7 @@ "slug": "object-create", "prefix": "06", "path": "topics/paradigms/03-proto/04-ejercicios/06-object-create", - "createdAt": "2024-06-12T19:50:26.903Z", + "createdAt": "2024-06-13T15:43:17.003Z", "track": "web-dev", "tracks": [ "web-dev" @@ -486,7 +486,7 @@ "slug": "dot-new", "prefix": "07", "path": "topics/paradigms/03-proto/04-ejercicios/07-dot-new", - "createdAt": "2024-06-12T19:50:26.903Z", + "createdAt": "2024-06-13T15:43:17.003Z", "track": "web-dev", "tracks": [ "web-dev" @@ -499,7 +499,6 @@ } }, "files": { - "/.DS_Store": "\u0000\u0000\u0000\u0001Bud1\u0000\u0000\u0010\u0000\u0000\u0000\b\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000%\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0004\u0000t\u0000e\u0000s\u0000tvSrnlong\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\u0000\u0000\u0010\u0000vSrnlong\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\b\u000b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000 \u0000\u0000\u0000\u0001\u0000\u0000\u0000@\u0000\u0000\u0000\u0001\u0000\u0000\u0000�\u0000\u0000\u0000\u0001\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0001\u0000\u0000 \u0000\u0000\u0000\u0000\u0001\u0000\u0000@\u0000\u0000\u0000\u0000\u0001\u0000\u0000�\u0000\u0000\u0000\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0001\u0000\b\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0001\u0000 \u0000\u0000\u0000\u0000\u0000\u0001\u0000@\u0000\u0000\u0000\u0000\u0000\u0001\u0000�\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0001\b\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0001 \u0000\u0000\u0000\u0000\u0000\u0000\u0001@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u000b\u0000\u0000\u0000E\u0000\u0000\u0000%\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0004DSDB\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000`\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000�\u0000\u0000\u0000\u0001\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0002\u0000\u0000\b\u0000\u0000\u0000\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000 \u0000\u0000\u0000\u0000\u0001\u0000\u0000@\u0000\u0000\u0000\u0000\u0001\u0000\u0000�\u0000\u0000\u0000\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0001\u0000\b\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0001\u0000 \u0000\u0000\u0000\u0000\u0000\u0001\u0000@\u0000\u0000\u0000\u0000\u0000\u0001\u0000�\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0001\b\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0001 \u0000\u0000\u0000\u0000\u0000\u0000\u0001@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "/boilerplate/dotNew.js": "// -> Define un objeto llamado `Robot`\n// -> Define un método llamado `new` en `Robot`\n// -> Cuando llamamos a `Robot.new()` debe retornar un objeto nuevo con Robot\n// como prototipo\n// Por ejemplo: const robby = Robot.new();\n// `Robot` debe ser el prototipo de `robby`\n\n__\n\n\n// ------------------------------------------------\n// Exports de Common JS para verificación, no modificar\nmodule.exports = {\n Robot\n}\n", "/solution/dotNew.js": "// -> Define un objeto llamado `Robot`\n// -> Define un método llamado `new` en `Robot`\n// -> Cuando llamamos a `Robot.new()` debe retornar un objeto nuevo con Robot\n// como prototipo\n// Por ejemplo: const robby = Robot.new();\n// `Robot` debe ser el prototipo de `robby`\n\nconst Robot = {\n\tnew: function () {\n\t\treturn Object.create(this);\n\t}\n}\n\n// ------------------------------------------------\n// Exports de Common JS para verificación, no modificar\nmodule.exports = {\n\tRobot\n}\n", "/test/dotNew.spec.js": "const Assert = require('chai').assert;\nconst Sinon = require('sinon');\nconst globalScope = (typeof self !== 'undefined' ? self : global);\n\nconst claim = globalScope.claim = (actual, expected) =>\n Array.isArray(expected) || (typeof expected === 'object' && expected instanceof Object) ?\n Assert.deepEqual(actual, expected) :\n Assert.equal(actual, expected);\n\nconst spy = Sinon.spy(globalScope, 'claim');\nconst Submission = require('../solution/dotNew');\nconst { Robot } = Submission;\n\ndescribe('dotNew', () => {\n\n it('debería exportar un objeto con las propiedades \"Robot\"', () => {\n Assert.equal(typeof Submission, 'object');\n Assert.ok(Submission.hasOwnProperty('Robot'));\n });\n\n describe('Robot', () => {\n\n it('debería tener una función llamada \"new\"', () => {\n Assert.equal(typeof Robot.new, 'function');\n });\n\n describe('Robot.new', () => {\n\n it('debería devolver un objeto que tiene como prototipo a Robot', () => {\n Assert.equal(Robot.new().__proto__, Robot);\n });\n\n });\n\n });\n\n});\n" @@ -509,7 +508,7 @@ "slug": "constructor-functions", "prefix": "08", "path": "topics/paradigms/03-proto/04-ejercicios/08-constructor-functions", - "createdAt": "2024-06-12T19:50:26.903Z", + "createdAt": "2024-06-13T15:43:17.003Z", "track": "web-dev", "tracks": [ "web-dev" @@ -531,7 +530,7 @@ "slug": "implicit-this", "prefix": "09", "path": "topics/paradigms/03-proto/04-ejercicios/09-implicit-this", - "createdAt": "2024-06-12T19:50:26.903Z", + "createdAt": "2024-06-13T15:43:17.004Z", "track": "web-dev", "tracks": [ "web-dev" @@ -553,7 +552,7 @@ "slug": "function-prototype", "prefix": "10", "path": "topics/paradigms/03-proto/04-ejercicios/10-function-prototype", - "createdAt": "2024-06-12T19:50:26.903Z", + "createdAt": "2024-06-13T15:43:17.004Z", "track": "web-dev", "tracks": [ "web-dev" @@ -672,7 +671,7 @@ "slug": "hof", "prefix": "01", "path": "topics/paradigms/06-composition/05-exercises/01-hof", - "createdAt": "2024-06-12T19:50:26.904Z", + "createdAt": "2024-06-13T15:43:17.004Z", "track": "web-dev", "tracks": [ "web-dev" @@ -694,7 +693,7 @@ "slug": "map", "prefix": "02", "path": "topics/paradigms/06-composition/05-exercises/02-map", - "createdAt": "2024-06-12T19:50:26.904Z", + "createdAt": "2024-06-13T15:43:17.004Z", "track": "web-dev", "tracks": [ "web-dev" @@ -716,7 +715,7 @@ "slug": "filter", "prefix": "03", "path": "topics/paradigms/06-composition/05-exercises/03-filter", - "createdAt": "2024-06-12T19:50:26.904Z", + "createdAt": "2024-06-13T15:43:17.004Z", "track": "web-dev", "tracks": [ "web-dev" @@ -738,7 +737,7 @@ "slug": "reduce", "prefix": "04", "path": "topics/paradigms/06-composition/05-exercises/04-reduce", - "createdAt": "2024-06-12T19:50:26.904Z", + "createdAt": "2024-06-13T15:43:17.004Z", "track": "web-dev", "tracks": [ "web-dev" @@ -760,7 +759,7 @@ "slug": "arrow-functions", "prefix": "05", "path": "topics/paradigms/06-composition/05-exercises/05-arrow-functions", - "createdAt": "2024-06-12T19:50:26.904Z", + "createdAt": "2024-06-13T15:43:17.004Z", "track": "web-dev", "tracks": [ "web-dev" @@ -782,7 +781,7 @@ "slug": "closures", "prefix": "06", "path": "topics/paradigms/06-composition/05-exercises/06-closures", - "createdAt": "2024-06-12T19:50:26.904Z", + "createdAt": "2024-06-13T15:43:17.004Z", "track": "web-dev", "tracks": [ "web-dev" @@ -804,7 +803,7 @@ "slug": "factories", "prefix": "07", "path": "topics/paradigms/06-composition/05-exercises/07-factories", - "createdAt": "2024-06-12T19:50:26.904Z", + "createdAt": "2024-06-13T15:43:17.004Z", "track": "web-dev", "tracks": [ "web-dev" @@ -826,7 +825,7 @@ "slug": "object-assign", "prefix": "08", "path": "topics/paradigms/06-composition/05-exercises/08-object-assign", - "createdAt": "2024-06-12T19:50:26.904Z", + "createdAt": "2024-06-13T15:43:17.005Z", "track": "web-dev", "tracks": [ "web-dev" @@ -848,7 +847,7 @@ "slug": "composition", "prefix": "09", "path": "topics/paradigms/06-composition/05-exercises/09-composition", - "createdAt": "2024-06-12T19:50:26.904Z", + "createdAt": "2024-06-13T15:43:17.005Z", "track": "web-dev", "tracks": [ "web-dev" diff --git a/dist/topics/prototyping.json b/dist/topics/prototyping.json index e91d8454d..4fb60e268 100644 --- a/dist/topics/prototyping.json +++ b/dist/topics/prototyping.json @@ -2,9 +2,9 @@ "slug": "prototyping", "repo": "Laboratoria/curriculum", "path": "topics/prototyping", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:26.477Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:16.197Z", "track": "ux", "tracks": [ "ux" diff --git a/dist/topics/scm.json b/dist/topics/scm.json index 812297191..05786c6e4 100644 --- a/dist/topics/scm.json +++ b/dist/topics/scm.json @@ -2,9 +2,9 @@ "slug": "scm", "repo": "Laboratoria/curriculum", "path": "topics/scm", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:30.515Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:16.643Z", "track": "web-dev", "tracks": [ "web-dev" diff --git a/dist/topics/shell.json b/dist/topics/shell.json index 876b21a6b..02f41856f 100644 --- a/dist/topics/shell.json +++ b/dist/topics/shell.json @@ -2,9 +2,9 @@ "slug": "shell", "repo": "Laboratoria/curriculum", "path": "topics/shell", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:30.282Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:16.252Z", "track": "web-dev", "tracks": [ "web-dev" diff --git a/dist/topics/ux-research.json b/dist/topics/ux-research.json index 34220f39d..43951f603 100644 --- a/dist/topics/ux-research.json +++ b/dist/topics/ux-research.json @@ -2,9 +2,9 @@ "slug": "ux-research", "repo": "Laboratoria/curriculum", "path": "topics/ux-research", - "version": "8.8.0", - "parserVersion": "5.3.0", - "createdAt": "2024-06-12T19:50:30.711Z", + "version": "9.0.0-beta.0", + "parserVersion": "6.0.0", + "createdAt": "2024-06-13T15:43:16.845Z", "track": "ux", "tracks": [ "ux" diff --git a/package-lock.json b/package-lock.json index dc6edfdc5..9227a4267 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "curriculum", - "version": "8.7.0", + "version": "9.0.0-beta.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "curriculum", - "version": "8.7.0", + "version": "9.0.0-beta.0", "license": "CC-BY-SA-4.0", "dependencies": { "@emotion/react": "^11.11.4", @@ -29,8 +29,9 @@ "web-vitals": "^3.5.2" }, "devDependencies": { - "@laboratoria/curriculum-parser": "^5.3.0", + "@laboratoria/curriculum-parser": "^6.0.0", "@laboratoria/mdlint": "^1.2.3", + "@laboratoria/sdk-js": "^8.0.0", "@octokit/rest": "^20.0.2", "@sentry/vite-plugin": "^2.18.0", "@testing-library/jest-dom": "^6.1.5", @@ -57,7 +58,7 @@ "ws": "^8.16.0" }, "engines": { - "node": ">=16.x" + "node": ">=18.x" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -71,10 +72,11 @@ } }, "node_modules/@adobe/css-tools": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz", - "integrity": "sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==", - "dev": true + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", + "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==", + "dev": true, + "license": "MIT" }, "node_modules/@ampproject/remapping": { "version": "2.2.1", @@ -93,6 +95,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "license": "MIT", "dependencies": { "@babel/highlight": "^7.24.7", "picocolors": "^1.0.0" @@ -106,6 +109,7 @@ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -115,6 +119,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", @@ -150,6 +155,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "license": "MIT", "dependencies": { "@babel/types": "^7.24.7", "@jridgewell/gen-mapping": "^0.3.5", @@ -165,6 +171,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.24.7", "@babel/helper-validator-option": "^7.24.7", @@ -180,6 +187,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "license": "MIT", "dependencies": { "@babel/types": "^7.24.7" }, @@ -191,6 +199,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "license": "MIT", "dependencies": { "@babel/template": "^7.24.7", "@babel/types": "^7.24.7" @@ -203,6 +212,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "license": "MIT", "dependencies": { "@babel/types": "^7.24.7" }, @@ -214,6 +224,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "license": "MIT", "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" @@ -227,6 +238,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", @@ -246,6 +258,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -255,6 +268,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" @@ -267,6 +281,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "license": "MIT", "dependencies": { "@babel/types": "^7.24.7" }, @@ -278,6 +293,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -286,6 +302,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -295,6 +312,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -304,6 +322,7 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.24.7", "@babel/types": "^7.24.7" @@ -316,6 +335,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", @@ -330,6 +350,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -341,6 +362,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -354,6 +376,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -361,12 +384,14 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", "engines": { "node": ">=0.8.0" } @@ -375,6 +400,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", "engines": { "node": ">=4" } @@ -383,6 +409,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -394,6 +421,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -611,6 +639,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz", "integrity": "sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -626,6 +655,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz", "integrity": "sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -651,6 +681,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.7", "@babel/parser": "^7.24.7", @@ -664,6 +695,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.7", "@babel/generator": "^7.24.7", @@ -684,6 +716,7 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.24.7", "@babel/helper-validator-identifier": "^7.24.7", @@ -705,6 +738,7 @@ "version": "11.11.0", "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/runtime": "^7.18.3", @@ -723,6 +757,7 @@ "version": "11.11.0", "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "license": "MIT", "dependencies": { "@emotion/memoize": "^0.8.1", "@emotion/sheet": "^1.2.2", @@ -734,12 +769,14 @@ "node_modules/@emotion/hash": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", - "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==", + "license": "MIT" }, "node_modules/@emotion/is-prop-valid": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "license": "MIT", "dependencies": { "@emotion/memoize": "^0.8.1" } @@ -747,12 +784,14 @@ "node_modules/@emotion/memoize": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==", + "license": "MIT" }, "node_modules/@emotion/react": { "version": "11.11.4", "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz", "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.11.0", @@ -776,6 +815,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.4.tgz", "integrity": "sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==", + "license": "MIT", "dependencies": { "@emotion/hash": "^0.9.1", "@emotion/memoize": "^0.8.1", @@ -787,12 +827,14 @@ "node_modules/@emotion/sheet": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", - "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==", + "license": "MIT" }, "node_modules/@emotion/styled": { "version": "11.11.5", "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.5.tgz", "integrity": "sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.11.0", @@ -814,12 +856,14 @@ "node_modules/@emotion/unitless": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", + "license": "MIT" }, "node_modules/@emotion/use-insertion-effect-with-fallbacks": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "license": "MIT", "peerDependencies": { "react": ">=16.8.0" } @@ -827,260 +871,23 @@ "node_modules/@emotion/utils": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==", + "license": "MIT" }, "node_modules/@emotion/weak-memoize": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", - "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==", + "license": "MIT" }, "node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -1089,96 +896,6 @@ "node": ">=12" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -1258,6 +975,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "license": "MIT", "engines": { "node": ">=14" } @@ -1266,6 +984,7 @@ "version": "0.10.4", "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.4.tgz", "integrity": "sha512-OJEl/8Oye/k+vJ1zV/1L6eGpc1XzAj+WG2TPznJ7PszL7sOFLBXkL9IjHfOCGDGpXeO3btozy/cYUqv4zgNeHg==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/installations": "0.6.7", @@ -1281,6 +1000,7 @@ "version": "0.2.10", "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.10.tgz", "integrity": "sha512-ia68RcLQLLMFWrM10JfmFod7eJGwqr4/uyrtzHpTDnxGX/6gNCBTOuxdAbyWIqXI5XmcMQdz9hDijGKOHgDfPw==", + "license": "Apache-2.0", "dependencies": { "@firebase/analytics": "0.10.4", "@firebase/analytics-types": "0.8.2", @@ -1295,12 +1015,14 @@ "node_modules/@firebase/analytics-types": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.2.tgz", - "integrity": "sha512-EnzNNLh+9/sJsimsA/FGqzakmrAUKLeJvjRHlg8df1f97NLUlFidk9600y0ZgWOp3CAxn6Hjtk+08tixlUOWyw==" + "integrity": "sha512-EnzNNLh+9/sJsimsA/FGqzakmrAUKLeJvjRHlg8df1f97NLUlFidk9600y0ZgWOp3CAxn6Hjtk+08tixlUOWyw==", + "license": "Apache-2.0" }, "node_modules/@firebase/app": { "version": "0.10.5", "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.5.tgz", "integrity": "sha512-iY/fNot+hWPk9sTX8aHMqlcX9ynRvpGkskWAdUZ2eQQdLo8d1hSFYcYNwPv0Q/frGMasw8udKWMcFOEpC9fG8g==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/logger": "0.4.2", @@ -1313,6 +1035,7 @@ "version": "0.8.4", "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.4.tgz", "integrity": "sha512-2tjRDaxcM5G7BEpytiDcIl+NovV99q8yEqRMKDbn4J4i/XjjuThuB4S+4PkmTnZiCbdLXQiBhkVxNlUDcfog5Q==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/logger": "0.4.2", @@ -1327,6 +1050,7 @@ "version": "0.3.11", "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.11.tgz", "integrity": "sha512-t01zaH3RJpKEey0nGduz3Is+uSz7Sj4U5nwOV6lWb+86s5xtxpIvBJzu/lKxJfYyfZ29eJwpdjEgT1/lm4iQyA==", + "license": "Apache-2.0", "dependencies": { "@firebase/app-check": "0.8.4", "@firebase/app-check-types": "0.5.2", @@ -1342,17 +1066,20 @@ "node_modules/@firebase/app-check-interop-types": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.2.tgz", - "integrity": "sha512-LMs47Vinv2HBMZi49C09dJxp0QT5LwDzFaVGf/+ITHe3BlIhUiLNttkATSXplc89A2lAaeTqjgqVkiRfUGyQiQ==" + "integrity": "sha512-LMs47Vinv2HBMZi49C09dJxp0QT5LwDzFaVGf/+ITHe3BlIhUiLNttkATSXplc89A2lAaeTqjgqVkiRfUGyQiQ==", + "license": "Apache-2.0" }, "node_modules/@firebase/app-check-types": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.2.tgz", - "integrity": "sha512-FSOEzTzL5bLUbD2co3Zut46iyPWML6xc4x+78TeaXMSuJap5QObfb+rVvZJtla3asN4RwU7elaQaduP+HFizDA==" + "integrity": "sha512-FSOEzTzL5bLUbD2co3Zut46iyPWML6xc4x+78TeaXMSuJap5QObfb+rVvZJtla3asN4RwU7elaQaduP+HFizDA==", + "license": "Apache-2.0" }, "node_modules/@firebase/app-compat": { "version": "0.2.35", "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.35.tgz", "integrity": "sha512-vgay/WRjeH0r97/Q6L6df2CMx7oyNFDsE5yPQ9oR1G+zx2eT0s8vNNh0WlKqQxUEWaOLRnXhQ8gy7uu0cBgTRg==", + "license": "Apache-2.0", "dependencies": { "@firebase/app": "0.10.5", "@firebase/component": "0.6.7", @@ -1364,12 +1091,14 @@ "node_modules/@firebase/app-types": { "version": "0.9.2", "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.2.tgz", - "integrity": "sha512-oMEZ1TDlBz479lmABwWsWjzHwheQKiAgnuKxE0pz0IXCVx7/rtlkx1fQ6GfgK24WCrxDKMplZrT50Kh04iMbXQ==" + "integrity": "sha512-oMEZ1TDlBz479lmABwWsWjzHwheQKiAgnuKxE0pz0IXCVx7/rtlkx1fQ6GfgK24WCrxDKMplZrT50Kh04iMbXQ==", + "license": "Apache-2.0" }, "node_modules/@firebase/auth-compat": { "version": "0.5.9", "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.9.tgz", "integrity": "sha512-RX8Zh/3zz2CsVbmYfgHkfUm4fAEPCl+KHVIImNygV5jTGDF6oKOhBIpf4Yigclyu8ESQKZ4elyN0MBYm9/7zGw==", + "license": "Apache-2.0", "dependencies": { "@firebase/auth": "1.7.4", "@firebase/auth-types": "0.12.2", @@ -1386,6 +1115,7 @@ "version": "1.7.4", "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.7.4.tgz", "integrity": "sha512-d2Fw17s5QesojwebrA903el20Li9/YGgkoOGJjagM4I1qAT36APa/FcZ+OX86KxbYKCtQKTMqraU8pxG7C2JWA==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/logger": "0.4.2", @@ -1406,12 +1136,14 @@ "node_modules/@firebase/auth-interop-types": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.3.tgz", - "integrity": "sha512-Fc9wuJGgxoxQeavybiuwgyi+0rssr76b+nHpj+eGhXFYAdudMWyfBHvFL/I5fEHniUM/UQdFzi9VXJK2iZF7FQ==" + "integrity": "sha512-Fc9wuJGgxoxQeavybiuwgyi+0rssr76b+nHpj+eGhXFYAdudMWyfBHvFL/I5fEHniUM/UQdFzi9VXJK2iZF7FQ==", + "license": "Apache-2.0" }, "node_modules/@firebase/auth-types": { "version": "0.12.2", "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.12.2.tgz", "integrity": "sha512-qsEBaRMoGvHO10unlDJhaKSuPn4pyoTtlQuP1ghZfzB6rNQPuhp/N/DcFZxm9i4v0SogjCbf9reWupwIvfmH6w==", + "license": "Apache-2.0", "peerDependencies": { "@firebase/app-types": "0.x", "@firebase/util": "1.x" @@ -1421,6 +1153,7 @@ "version": "0.6.7", "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.7.tgz", "integrity": "sha512-baH1AA5zxfaz4O8w0vDwETByrKTQqB5CDjRls79Sa4eAGAoERw4Tnung7XbMl3jbJ4B/dmmtsMrdki0KikwDYA==", + "license": "Apache-2.0", "dependencies": { "@firebase/util": "1.9.6", "tslib": "^2.1.0" @@ -1430,6 +1163,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.5.tgz", "integrity": "sha512-cAfwBqMQuW6HbhwI3Cb/gDqZg7aR0OmaJ85WUxlnoYW2Tm4eR0hFl5FEijI3/gYPUiUcUPQvTkGV222VkT7KPw==", + "license": "Apache-2.0", "dependencies": { "@firebase/app-check-interop-types": "0.3.2", "@firebase/auth-interop-types": "0.2.3", @@ -1444,6 +1178,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-1.0.5.tgz", "integrity": "sha512-NDSMaDjQ+TZEMDMmzJwlTL05kh1+0Y84C+kVMaOmNOzRGRM7VHi29I6YUhCetXH+/b1Wh4ZZRyp1CuWkd8s6hg==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/database": "1.0.5", @@ -1457,6 +1192,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.3.tgz", "integrity": "sha512-39V/Riv2R3O/aUjYKh0xypj7NTNXNAK1bcgY5Kx+hdQPRS/aPTS8/5c0CGFYKgVuFbYlnlnhrCTYsh2uNhGwzA==", + "license": "Apache-2.0", "dependencies": { "@firebase/app-types": "0.9.2", "@firebase/util": "1.9.6" @@ -1466,6 +1202,7 @@ "version": "4.6.3", "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.6.3.tgz", "integrity": "sha512-d/+N2iUsiJ/Dc7fApdpdmmTXzwuTCromsdA1lKwYfZtMIOd1fI881NSLwK2wV4I38wkLnvfKJUV6WpU1f3/ONg==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/logger": "0.4.2", @@ -1487,6 +1224,7 @@ "version": "0.3.32", "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.32.tgz", "integrity": "sha512-at71mwK7a/mUXH0OgyY0+gUzedm/EUydDFYSFsBoO8DYowZ23Mgd6P4Rzq/Ll3zI/3xJN7LGe7Qp4iE/V/3Arg==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/firestore": "4.6.3", @@ -1502,6 +1240,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.2.tgz", "integrity": "sha512-wp1A+t5rI2Qc/2q7r2ZpjUXkRVPtGMd6zCLsiWurjsQpqPgFin3AhNibKcIzoF2rnToNa/XYtyWXuifjOOwDgg==", + "license": "Apache-2.0", "peerDependencies": { "@firebase/app-types": "0.x", "@firebase/util": "1.x" @@ -1511,6 +1250,7 @@ "version": "0.11.5", "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.11.5.tgz", "integrity": "sha512-qrHJ+l62mZiU5UZiVi84t/iLXZlhRuSvBQsa2qvNLgPsEWR7wdpWhRmVdB7AU8ndkSHJjGlMICqrVnz47sgU7Q==", + "license": "Apache-2.0", "dependencies": { "@firebase/app-check-interop-types": "0.3.2", "@firebase/auth-interop-types": "0.2.3", @@ -1528,6 +1268,7 @@ "version": "0.3.11", "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.11.tgz", "integrity": "sha512-Qn+ts/M6Lj2/6i1cp5V5TRR+Hi9kyXyHbo+w9GguINJ87zxrCe6ulx3TI5AGQkoQa8YFHUhT3DMGmLFiJjWTSQ==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/functions": "0.11.5", @@ -1542,12 +1283,14 @@ "node_modules/@firebase/functions-types": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.2.tgz", - "integrity": "sha512-0KiJ9lZ28nS2iJJvimpY4nNccV21rkQyor5Iheu/nq8aKXJqtJdeSlZDspjPSBBiHRzo7/GMUttegnsEITqR+w==" + "integrity": "sha512-0KiJ9lZ28nS2iJJvimpY4nNccV21rkQyor5Iheu/nq8aKXJqtJdeSlZDspjPSBBiHRzo7/GMUttegnsEITqR+w==", + "license": "Apache-2.0" }, "node_modules/@firebase/installations": { "version": "0.6.7", "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.7.tgz", "integrity": "sha512-i6iGoXRu5mX4rTsiMSSKrgh9pSEzD4hwBEzRh5kEhOTr8xN/wvQcCPZDSMVYKwM2XyCPBLVq0JzjyerwL0Rihg==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/util": "1.9.6", @@ -1562,6 +1305,7 @@ "version": "0.2.7", "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.7.tgz", "integrity": "sha512-RPcbD+3nqHbnhVjIOpWK2H5qzZ8pAAAScceiWph0VNTqpKyPQ5tDcp4V5fS0ELpfgsHYvroMLDKfeHxpfvm8cw==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/installations": "0.6.7", @@ -1577,6 +1321,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.2.tgz", "integrity": "sha512-que84TqGRZJpJKHBlF2pkvc1YcXrtEDOVGiDjovP/a3s6W4nlbohGXEsBJo0JCeeg/UG9A+DEZVDUV9GpklUzA==", + "license": "Apache-2.0", "peerDependencies": { "@firebase/app-types": "0.x" } @@ -1585,6 +1330,7 @@ "version": "0.4.2", "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.2.tgz", "integrity": "sha512-Q1VuA5M1Gjqrwom6I6NUU4lQXdo9IAQieXlujeHZWvRt1b7qQ0KwBaNAjgxG27jgF9/mUwsNmO8ptBCGVYhB0A==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" } @@ -1593,6 +1339,7 @@ "version": "0.12.9", "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.9.tgz", "integrity": "sha512-IH+JJmzbFGZXV3+TDyKdqqKPVfKRqBBg2BfYYOy7cm7J+SwV+uJMe8EnDKYeQLEQhtpwciPfJ3qQXJs2lbxDTw==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/installations": "0.6.7", @@ -1609,6 +1356,7 @@ "version": "0.2.9", "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.9.tgz", "integrity": "sha512-5jN6wyhwPgBH02zOtmmoOeyfsmoD7ty48D1m0vVPsFg55RqN2Z3Q9gkZ5GmPklFPjTPLcxB1ObcHOZvThTkm7g==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/messaging": "0.12.9", @@ -1622,12 +1370,14 @@ "node_modules/@firebase/messaging-interop-types": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.2.tgz", - "integrity": "sha512-l68HXbuD2PPzDUOFb3aG+nZj5KA3INcPwlocwLZOzPp9rFM9yeuI9YLl6DQfguTX5eAGxO0doTR+rDLDvQb5tA==" + "integrity": "sha512-l68HXbuD2PPzDUOFb3aG+nZj5KA3INcPwlocwLZOzPp9rFM9yeuI9YLl6DQfguTX5eAGxO0doTR+rDLDvQb5tA==", + "license": "Apache-2.0" }, "node_modules/@firebase/performance": { "version": "0.6.7", "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.7.tgz", "integrity": "sha512-d+Q4ltjdJZqjzcdms5i0UC9KLYX7vKGcygZ+7zHA/Xk+bAbMD2CPU0nWTnlNFWifZWIcXZ/2mAMvaGMW3lypUA==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/installations": "0.6.7", @@ -1643,6 +1393,7 @@ "version": "0.2.7", "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.7.tgz", "integrity": "sha512-cb8ge/5iTstxfIGW+iiY+7l3FtN8gobNh9JSQNZgLC9xmcfBYWEs8IeEWMI6S8T+At0oHc3lv+b2kpRMUWr8zQ==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/logger": "0.4.2", @@ -1658,12 +1409,14 @@ "node_modules/@firebase/performance-types": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.2.tgz", - "integrity": "sha512-gVq0/lAClVH5STrIdKnHnCo2UcPLjJlDUoEB/tB4KM+hAeHUxWKnpT0nemUPvxZ5nbdY/pybeyMe8Cs29gEcHA==" + "integrity": "sha512-gVq0/lAClVH5STrIdKnHnCo2UcPLjJlDUoEB/tB4KM+hAeHUxWKnpT0nemUPvxZ5nbdY/pybeyMe8Cs29gEcHA==", + "license": "Apache-2.0" }, "node_modules/@firebase/remote-config": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.7.tgz", "integrity": "sha512-5oPNrPFLsbsjpq0lUEIXoDF2eJK7vAbyXe/DEuZQxnwJlfR7aQbtUlEkRgQWcicXpyDmAmDLo7q7lDbCYa6CpA==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/installations": "0.6.7", @@ -1679,6 +1432,7 @@ "version": "0.2.7", "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.7.tgz", "integrity": "sha512-Fq0oneQ4SluLnfr5/HfzRS1TZf1ANj1rWbCCW3+oC98An3nE+sCdp+FSuHsEVNwgMg4Tkwx9Oom2lkKeU+Vn+w==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/logger": "0.4.2", @@ -1694,12 +1448,14 @@ "node_modules/@firebase/remote-config-types": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.3.2.tgz", - "integrity": "sha512-0BC4+Ud7y2aPTyhXJTMTFfrGGLqdYXrUB9sJVAB8NiqJswDTc4/2qrE/yfUbnQJhbSi6ZaTTBKyG3n1nplssaA==" + "integrity": "sha512-0BC4+Ud7y2aPTyhXJTMTFfrGGLqdYXrUB9sJVAB8NiqJswDTc4/2qrE/yfUbnQJhbSi6ZaTTBKyG3n1nplssaA==", + "license": "Apache-2.0" }, "node_modules/@firebase/storage": { "version": "0.12.5", "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.12.5.tgz", "integrity": "sha512-nGWBOGFNr10j0LA4NJ3/Yh3us/lb0Q1xSIKZ38N6FcS+vY54nqJ7k3zE3PENregHC8+8txRow++A568G3v8hOA==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/util": "1.9.6", @@ -1714,6 +1470,7 @@ "version": "0.3.8", "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.8.tgz", "integrity": "sha512-qDfY9kMb6Ch2hZb40sBjDQ8YPxbjGOxuT+gU1Z0iIVSSpSX0f4YpGJCypUXiA0T11n6InCXB+T/Dknh2yxVTkg==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/storage": "0.12.5", @@ -1729,6 +1486,7 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.2.tgz", "integrity": "sha512-0vWu99rdey0g53lA7IShoA2Lol1jfnPovzLDUBuon65K7uKG9G+L5uO05brD9pMw+l4HRFw23ah3GwTGpEav6g==", + "license": "Apache-2.0", "peerDependencies": { "@firebase/app-types": "0.x", "@firebase/util": "1.x" @@ -1738,6 +1496,7 @@ "version": "1.9.6", "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.9.6.tgz", "integrity": "sha512-IBr1MZbp4d5MjBCXL3TW1dK/PDXX4yOGbiwRNh1oAbE/+ci5Uuvy9KIrsFYY80as1I0iOaD5oOMA9Q8j4TJWcw==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" } @@ -1746,6 +1505,7 @@ "version": "0.0.2", "resolved": "https://registry.npmjs.org/@firebase/vertexai-preview/-/vertexai-preview-0.0.2.tgz", "integrity": "sha512-NOOL63kFQRq45ioi5P+hlqj/4LNmvn1URhGjQdvyV54c1Irvoq26aW861PRRLjrSMIeNeiLtCLD5pe+ediepAg==", + "license": "Apache-2.0", "dependencies": { "@firebase/app-check-interop-types": "0.3.2", "@firebase/component": "0.6.7", @@ -1764,31 +1524,35 @@ "node_modules/@firebase/webchannel-wrapper": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.0.tgz", - "integrity": "sha512-zuWxyfXNbsKbm96HhXzainONPFqRcoZblQ++e9cAIGUuHfl2cFSBzW01jtesqWG/lqaUyX3H8O1y9oWboGNQBA==" + "integrity": "sha512-zuWxyfXNbsKbm96HhXzainONPFqRcoZblQ++e9cAIGUuHfl2cFSBzW01jtesqWG/lqaUyX3H8O1y9oWboGNQBA==", + "license": "Apache-2.0" }, "node_modules/@floating-ui/core": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", - "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.2.tgz", + "integrity": "sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==", + "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.1" + "@floating-ui/utils": "^0.2.0" } }, "node_modules/@floating-ui/dom": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", - "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.5.tgz", + "integrity": "sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==", + "license": "MIT", "dependencies": { "@floating-ui/core": "^1.0.0", "@floating-ui/utils": "^0.2.0" } }, "node_modules/@floating-ui/react-dom": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz", - "integrity": "sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.0.tgz", + "integrity": "sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==", + "license": "MIT", "dependencies": { - "@floating-ui/dom": "^1.6.1" + "@floating-ui/dom": "^1.0.0" }, "peerDependencies": { "react": ">=16.8.0", @@ -1796,14 +1560,16 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", - "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", + "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==", + "license": "MIT" }, "node_modules/@formatjs/ecma402-abstract": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz", "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==", + "license": "MIT", "dependencies": { "@formatjs/intl-localematcher": "0.5.4", "tslib": "^2.4.0" @@ -1813,6 +1579,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", + "license": "MIT", "dependencies": { "tslib": "^2.4.0" } @@ -1821,6 +1588,7 @@ "version": "2.7.8", "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz", "integrity": "sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==", + "license": "MIT", "dependencies": { "@formatjs/ecma402-abstract": "2.0.0", "@formatjs/icu-skeleton-parser": "1.8.2", @@ -1831,6 +1599,7 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz", "integrity": "sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==", + "license": "MIT", "dependencies": { "@formatjs/ecma402-abstract": "2.0.0", "tslib": "^2.4.0" @@ -1840,6 +1609,7 @@ "version": "2.10.4", "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.10.4.tgz", "integrity": "sha512-56483O+HVcL0c7VucAS2tyH020mt9XTozZO67cwtGg0a7KWDukS/FzW3OnvaHmTHDuYsoPIzO+ZHVfU6fT/bJw==", + "license": "MIT", "dependencies": { "@formatjs/ecma402-abstract": "2.0.0", "@formatjs/fast-memoize": "2.2.0", @@ -1862,6 +1632,7 @@ "version": "6.6.8", "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.6.8.tgz", "integrity": "sha512-Lgx6n5KxN16B3Pb05z3NLEBQkGoXnGjkTBNCZI+Cn17YjHJ3fhCeEJJUqRlIZmJdmaXQhjcQVDp6WIiNeRYT5g==", + "license": "MIT", "dependencies": { "@formatjs/ecma402-abstract": "2.0.0", "@formatjs/intl-localematcher": "0.5.4", @@ -1872,6 +1643,7 @@ "version": "7.5.7", "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.5.7.tgz", "integrity": "sha512-MG2TSChQJQT9f7Rlv+eXwUFiG24mKSzmF144PLb8m8OixyXqn4+YWU+5wZracZGCgVTVmx8viCf7IH3QXoiB2g==", + "license": "MIT", "dependencies": { "@formatjs/ecma402-abstract": "2.0.0", "@formatjs/intl-localematcher": "0.5.4", @@ -1882,6 +1654,7 @@ "version": "0.5.4", "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz", "integrity": "sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==", + "license": "MIT", "dependencies": { "tslib": "^2.4.0" } @@ -1890,6 +1663,7 @@ "version": "1.9.15", "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz", "integrity": "sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==", + "license": "Apache-2.0", "dependencies": { "@grpc/proto-loader": "^0.7.8", "@types/node": ">=12.12.47" @@ -1902,6 +1676,7 @@ "version": "0.7.13", "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz", "integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==", + "license": "Apache-2.0", "dependencies": { "lodash.camelcase": "^4.3.0", "long": "^5.0.0", @@ -1951,6 +1726,106 @@ "dev": true, "peer": true }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.2.tgz", + "integrity": "sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.2.tgz", + "integrity": "sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.4.tgz", + "integrity": "sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.2" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.4.tgz", + "integrity": "sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.2" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -2434,6 +2309,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -2455,21 +2331,11 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", @@ -2479,31 +2345,33 @@ "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@laboratoria/curriculum-parser": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@laboratoria/curriculum-parser/-/curriculum-parser-5.3.0.tgz", - "integrity": "sha512-Tyl+0fa3BEdQPbnMf6M/P188UAIKe+Vg5vYs6EGg1jK36liKxpGjQkNaN4deEYjOXRy3FkqnoD6hfH7yJ8E17g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@laboratoria/curriculum-parser/-/curriculum-parser-6.0.0.tgz", + "integrity": "sha512-cmMTP+dzg+RioZWvk4vXD7eUZa8CzDVnkEFoqZA0cCPT9wLmAh/xUyzted3F/Ik0E8rFwrq14Cjnc2bGdJHfeg==", "dev": true, + "license": "MIT", "dependencies": { - "commander": "^11.1.0", + "commander": "^12.1.0", "js-yaml": "^4.1.0", - "rehype-document": "^7.0.2", + "rehype-document": "^7.0.3", "rehype-stringify": "^10.0.0", "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "sharp": "^0.32.6", + "remark-rehype": "^11.1.0", + "sharp": "^0.33.4", "unified": "^11.0.4" }, "bin": { "curriculum-parser": "index.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/@laboratoria/mdlint": { @@ -2528,6 +2396,8 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@laboratoria/sdk-js/-/sdk-js-8.0.0.tgz", "integrity": "sha512-546ppNj3s3NXz4oOdl6p9IpaEj1QYgtQduAhmS4GOqTRyeunUoDjCKgrDzCu1X6+yUPEuxE8NOV+TEKrAyc3Lg==", + "dev": true, + "license": "MIT", "dependencies": { "blueimp-md5": "^2.19.0", "firebase": "^10.12.2" @@ -2540,6 +2410,7 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/@laboratoria/sdk-react/-/sdk-react-10.0.0.tgz", "integrity": "sha512-BZujm/OpfeMxtsiCkpqVUMHXFWoHZSeaSGM3W0W8F0DCgu25C/HEfBLU5IvOs889Poe/Jap1AKcSDDIwYTN2wQ==", + "license": "MIT", "dependencies": { "@laboratoria/sdk-js": "^8.0.0", "@sentry/react": "^7.112.2", @@ -2563,10 +2434,24 @@ "react-router-dom": "^6.23.1" } }, + "node_modules/@laboratoria/sdk-react/node_modules/@laboratoria/sdk-js": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@laboratoria/sdk-js/-/sdk-js-8.0.0.tgz", + "integrity": "sha512-546ppNj3s3NXz4oOdl6p9IpaEj1QYgtQduAhmS4GOqTRyeunUoDjCKgrDzCu1X6+yUPEuxE8NOV+TEKrAyc3Lg==", + "license": "MIT", + "dependencies": { + "blueimp-md5": "^2.19.0", + "firebase": "^10.12.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@mui/base": { "version": "5.0.0-beta.40", "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz", "integrity": "sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", "@floating-ui/react-dom": "^2.0.8", @@ -2598,6 +2483,7 @@ "version": "5.15.20", "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.20.tgz", "integrity": "sha512-DoL2ppgldL16utL8nNyj/P12f8mCNdx/Hb/AJnX9rLY4b52hCMIx1kH83pbXQ6uMy6n54M3StmEbvSGoj2OFuA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/mui-org" @@ -2607,6 +2493,7 @@ "version": "5.15.20", "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.15.20.tgz", "integrity": "sha512-oGcKmCuHaYbAAoLN67WKSXtHmEgyWcJToT1uRtmPyxMj9N5uqwc/mRtEnst4Wj/eGr+zYH2FiZQ79v9k7kSk1Q==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9" }, @@ -2632,6 +2519,7 @@ "version": "5.15.20", "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.20.tgz", "integrity": "sha512-tVq3l4qoXx/NxUgIx/x3lZiPn/5xDbdTE8VrLczNpfblLYZzlrbxA7kb9mI8NoBF6+w9WE9IrxWnKK5KlPI2bg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", "@mui/base": "5.0.0-beta.40", @@ -2676,6 +2564,7 @@ "version": "5.15.20", "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.20.tgz", "integrity": "sha512-BK8F94AIqSrnaPYXf2KAOjGZJgWfvqAVQ2gVR3EryvQFtuBnG6RwodxrCvd3B48VuMy6Wsk897+lQMUxJyk+6g==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", "@mui/utils": "^5.15.20", @@ -2702,6 +2591,7 @@ "version": "5.15.14", "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.14.tgz", "integrity": "sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", "@emotion/cache": "^11.11.0", @@ -2733,6 +2623,7 @@ "version": "5.15.20", "resolved": "https://registry.npmjs.org/@mui/styles/-/styles-5.15.20.tgz", "integrity": "sha512-zpXYhNxQ9A4zxF3IRQRZRUg7fXYj6Wfa3nB+7yOLVecokhjCAr1zY2VC5Uznf5qs2cfgBRfmDkBYqvQjHWf2uA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", "@emotion/hash": "^0.9.1", @@ -2773,6 +2664,7 @@ "version": "5.15.20", "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.20.tgz", "integrity": "sha512-LoMq4IlAAhxzL2VNUDBTQxAb4chnBe8JvRINVNDiMtHE2PiPOoHlhOPutSxEbaL5mkECPVWSv6p8JEV+uykwIA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", "@mui/private-theming": "^5.15.20", @@ -2812,6 +2704,7 @@ "version": "7.2.14", "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz", "integrity": "sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==", + "license": "MIT", "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0" }, @@ -2825,6 +2718,7 @@ "version": "5.15.20", "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.20.tgz", "integrity": "sha512-mAbYx0sovrnpAu1zHc3MDIhPqL8RPVC5W5xcO1b7PiSCJPtckIZmBkp8hefamAvUiAV8gpfMOM6Zb+eSisbI2A==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", "@types/prop-types": "^15.7.11", @@ -3044,6 +2938,7 @@ "version": "2.11.8", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -3052,27 +2947,32 @@ "node_modules/@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/base64": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/codegen": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/eventemitter": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/fetch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" @@ -3081,196 +2981,60 @@ "node_modules/@protobufjs/float": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/inquire": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/path": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/pool": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/utf8": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "license": "BSD-3-Clause" }, "node_modules/@remix-run/router": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.1.tgz", "integrity": "sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig==", + "license": "MIT", "engines": { "node": ">=14.0.0" } }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.0.tgz", - "integrity": "sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.0.tgz", - "integrity": "sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.0.tgz", - "integrity": "sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.0.tgz", - "integrity": "sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.0.tgz", - "integrity": "sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.0.tgz", - "integrity": "sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.0.tgz", - "integrity": "sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.0.tgz", - "integrity": "sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ] - }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.0.tgz", - "integrity": "sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.0.tgz", - "integrity": "sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.0.tgz", - "integrity": "sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.0.tgz", - "integrity": "sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.0.tgz", - "integrity": "sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@sentry-internal/feedback": { "version": "7.117.0", "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.117.0.tgz", "integrity": "sha512-4X+NnnY17W74TymgLFH7/KPTVYpEtoMMJh8HzVdCmHTOE6j32XKBeBMRaXBhmNYmEgovgyRKKf2KvtSfgw+V1Q==", + "license": "MIT", "dependencies": { "@sentry/core": "7.117.0", "@sentry/types": "7.117.0", @@ -3284,6 +3048,7 @@ "version": "7.117.0", "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.117.0.tgz", "integrity": "sha512-7hjIhwEcoosr+BIa0AyEssB5xwvvlzUpvD5fXu4scd3I3qfX8gdnofO96a8r+LrQm3bSj+eN+4TfKEtWb7bU5A==", + "license": "MIT", "dependencies": { "@sentry/core": "7.117.0", "@sentry/replay": "7.117.0", @@ -3298,6 +3063,7 @@ "version": "7.117.0", "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.117.0.tgz", "integrity": "sha512-fAIyijNvKBZNA12IcKo+dOYDRTNrzNsdzbm3DP37vJRKVQu19ucqP4Y6InvKokffDP2HZPzFPDoGXYuXkDhUZg==", + "license": "MIT", "dependencies": { "@sentry/core": "7.117.0", "@sentry/types": "7.117.0", @@ -3312,6 +3078,7 @@ "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.18.0.tgz", "integrity": "sha512-9L4RbhS3WNtc/SokIhc0dwgcvs78YSQPakZejsrIgnzLzCi8mS6PeT+BY0+QCtsXxjd1egM8hqcJeB0lukBkXA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 14" } @@ -3320,6 +3087,7 @@ "version": "7.117.0", "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.117.0.tgz", "integrity": "sha512-29X9HlvDEKIaWp6XKlNPPSNND0U6P/ede5WA2nVHfs1zJLWdZ7/ijuMc0sH/CueEkqHe/7gt94hBcI7HOU/wSw==", + "license": "MIT", "dependencies": { "@sentry-internal/feedback": "7.117.0", "@sentry-internal/replay-canvas": "7.117.0", @@ -3339,6 +3107,7 @@ "resolved": "https://registry.npmjs.org/@sentry/bundler-plugin-core/-/bundler-plugin-core-2.18.0.tgz", "integrity": "sha512-JvxVgsMFmDsU0Dgcx1CeFUC1scxOVSAOzOcE06qKAVm9BZzxHpI53iNfeMOXwVTUolD8LZVIfgOjkiXfwN/UPQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.18.5", "@sentry/babel-plugin-component-annotate": "2.18.0", @@ -3358,6 +3127,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -3367,6 +3137,7 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "minimatch": "^8.0.2", @@ -3385,108 +3156,45 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { "node": ">=16 || 14 >=14.17" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@sentry/cli": { - "version": "2.32.1", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.32.1.tgz", - "integrity": "sha512-MWkbkzZfnlE7s2pPbg4VozRSAeMlIObfZlTIou9ye6XnPt6ZmmxCLOuOgSKMv4sXg6aeqKNzMNiadThxCWyvPg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "https-proxy-agent": "^5.0.0", - "node-fetch": "^2.6.7", - "progress": "^2.0.3", - "proxy-from-env": "^1.1.0", - "which": "^2.0.2" - }, - "bin": { - "sentry-cli": "bin/sentry-cli" - }, - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@sentry/cli-darwin": "2.32.1", - "@sentry/cli-linux-arm": "2.32.1", - "@sentry/cli-linux-arm64": "2.32.1", - "@sentry/cli-linux-i686": "2.32.1", - "@sentry/cli-linux-x64": "2.32.1", - "@sentry/cli-win32-i686": "2.32.1", - "@sentry/cli-win32-x64": "2.32.1" - } - }, - "node_modules/@sentry/cli-darwin": { - "version": "2.32.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.32.1.tgz", - "integrity": "sha512-z/lEwANTYPCzbWTZ2+eeeNYxRLllC8knd0h+vtAKlhmGw/fyc/N39cznIFyFu+dLJ6tTdjOWOeikHtKuS/7onw==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-linux-arm": { - "version": "2.32.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.32.1.tgz", - "integrity": "sha512-m0lHkn+o4YKBq8KptGZvpT64FAwSl9mYvHZO9/ChnEGIJ/WyJwiN1X1r9JHVaW4iT5lD0Y5FAyq3JLkk0m0XHg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux", - "freebsd" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-linux-arm64": { - "version": "2.32.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.32.1.tgz", - "integrity": "sha512-hsGqHYuecUl1Yhq4MhiRejfh1gNlmhyNPcQEoO/DDRBnGnJyEAdiDpKXJcc2e/lT9k40B55Ob2CP1SeY040T2w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux", - "freebsd" - ], - "engines": { - "node": ">=10" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@sentry/cli-linux-i686": { + "node_modules/@sentry/cli": { "version": "2.32.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.32.1.tgz", - "integrity": "sha512-SuMLN1/ceFd3Q/B0DVyh5igjetTAF423txiABAHASenEev0lG0vZkRDXFclfgDtDUKRPmOXW7VDMirM3yZWQHQ==", - "cpu": [ - "x86", - "ia32" - ], + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.32.1.tgz", + "integrity": "sha512-MWkbkzZfnlE7s2pPbg4VozRSAeMlIObfZlTIou9ye6XnPt6ZmmxCLOuOgSKMv4sXg6aeqKNzMNiadThxCWyvPg==", "dev": true, - "optional": true, - "os": [ - "linux", - "freebsd" - ], + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.7", + "progress": "^2.0.3", + "proxy-from-env": "^1.1.0", + "which": "^2.0.2" + }, + "bin": { + "sentry-cli": "bin/sentry-cli" + }, "engines": { - "node": ">=10" + "node": ">= 10" + }, + "optionalDependencies": { + "@sentry/cli-darwin": "2.32.1", + "@sentry/cli-linux-arm": "2.32.1", + "@sentry/cli-linux-arm64": "2.32.1", + "@sentry/cli-linux-i686": "2.32.1", + "@sentry/cli-linux-x64": "2.32.1", + "@sentry/cli-win32-i686": "2.32.1", + "@sentry/cli-win32-x64": "2.32.1" } }, "node_modules/@sentry/cli-linux-x64": { @@ -3497,6 +3205,7 @@ "x64" ], "dev": true, + "license": "BSD-3-Clause", "optional": true, "os": [ "linux", @@ -3506,43 +3215,11 @@ "node": ">=10" } }, - "node_modules/@sentry/cli-win32-i686": { - "version": "2.32.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.32.1.tgz", - "integrity": "sha512-i6aZma9mFzR+hqMY5VliQZEX6ypP/zUjPK0VtIMYWs5cC6PsQLRmuoeJmy3Z7d4nlh0CdK5NPC813Ej6RY6/vg==", - "cpu": [ - "x86", - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-win32-x64": { - "version": "2.32.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.32.1.tgz", - "integrity": "sha512-B58w/lRHLb4MUSjJNfMMw2cQykfimDCMLMmeK+1EiT2RmSeNQliwhhBxYcKk82a8kszH6zg3wT2vCea7LyPUyA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, "node_modules/@sentry/core": { "version": "7.117.0", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.117.0.tgz", "integrity": "sha512-1XZ4/d/DEwnfM2zBMloXDwX+W7s76lGKQMgd8bwgPJZjjEztMJ7X0uopKAGwlQcjn242q+hsCBR6C+fSuI5kvg==", + "license": "MIT", "dependencies": { "@sentry/types": "7.117.0", "@sentry/utils": "7.117.0" @@ -3555,6 +3232,7 @@ "version": "7.117.0", "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.117.0.tgz", "integrity": "sha512-U3suSZysmU9EiQqg0ga5CxveAyNbi9IVdsapMDq5EQGNcVDvheXtULs+BOc11WYP3Kw2yWB38VDqLepfc/Fg2g==", + "license": "MIT", "dependencies": { "@sentry/core": "7.117.0", "@sentry/types": "7.117.0", @@ -3569,6 +3247,7 @@ "version": "7.117.0", "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.117.0.tgz", "integrity": "sha512-aK+yaEP2esBhaczGU96Y7wkqB4umSIlRAzobv7ER88EGHzZulRaocTpQO8HJJGDHm4D8rD+E893BHnghkoqp4Q==", + "license": "MIT", "dependencies": { "@sentry/browser": "7.117.0", "@sentry/core": "7.117.0", @@ -3587,6 +3266,7 @@ "version": "7.117.0", "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.117.0.tgz", "integrity": "sha512-V4DfU+x4UsA4BsufbQ8jHYa5H0q5PYUgso2X1PR31g1fpx7yiYguSmCfz1UryM6KkH92dfTnqXapDB44kXOqzQ==", + "license": "MIT", "dependencies": { "@sentry-internal/tracing": "7.117.0", "@sentry/core": "7.117.0", @@ -3601,6 +3281,7 @@ "version": "7.117.0", "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.117.0.tgz", "integrity": "sha512-5dtdulcUttc3F0Te7ekZmpSp/ebt/CA71ELx0uyqVGjWsSAINwskFD77sdcjqvZWek//WjiYX1+GRKlpJ1QqsA==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3609,6 +3290,7 @@ "version": "7.117.0", "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.117.0.tgz", "integrity": "sha512-KkcLY8643SGBiDyPvMQOubBkwVX5IPknMHInc7jYC8pDVncGp7C65Wi506bCNPpKCWspUd/0VDNWOOen51/qKA==", + "license": "MIT", "dependencies": { "@sentry/types": "7.117.0" }, @@ -3621,6 +3303,7 @@ "resolved": "https://registry.npmjs.org/@sentry/vite-plugin/-/vite-plugin-2.18.0.tgz", "integrity": "sha512-yY8QSvbMjRpG5pzN6lnW5guZhyTDSGeWwM9tDyT9ix/ShODy/eE6jErisBtlo50lFJuew7x79WXnVykvds4Ddg==", "dev": true, + "license": "MIT", "dependencies": { "@sentry/bundler-plugin-core": "2.18.0", "unplugin": "1.0.1" @@ -3680,38 +3363,40 @@ "dev": true }, "node_modules/@testing-library/dom": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", - "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.1.0.tgz", + "integrity": "sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", + "aria-query": "5.3.0", "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "pretty-format": "^27.0.2" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/@testing-library/jest-dom": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.1.5.tgz", - "integrity": "sha512-3y04JLW+EceVPy2Em3VwNr95dOKqA8DhR0RJHhHKDZNYXcVXnEK7WIrpj4eYU8SVt/qYZ2aRWt/WgQ+grNES8g==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.6.tgz", + "integrity": "sha512-8qpnGVincVDLEcQXWaHOf6zmlbwTKc6Us6PPu4CRnPXCzo2OGBS5cwgMMOWdxDpEz1mkbvXHpEy99M5Yvt682w==", "dev": true, + "license": "MIT", "dependencies": { - "@adobe/css-tools": "^4.3.1", + "@adobe/css-tools": "^4.4.0", "@babel/runtime": "^7.9.2", "aria-query": "^5.0.0", "chalk": "^3.0.0", "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", + "dom-accessibility-api": "^0.6.3", + "lodash": "^4.17.21", "redent": "^3.0.0" }, "engines": { @@ -3721,6 +3406,7 @@ }, "peerDependencies": { "@jest/globals": ">= 28", + "@types/bun": "latest", "@types/jest": ">= 28", "jest": ">= 28", "vitest": ">= 0.32" @@ -3729,6 +3415,9 @@ "@jest/globals": { "optional": true }, + "@types/bun": { + "optional": true + }, "@types/jest": { "optional": true }, @@ -3745,6 +3434,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3753,11 +3443,19 @@ "node": ">=8" } }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, "node_modules/@testing-library/react": { "version": "12.1.5", "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.1.5.tgz", "integrity": "sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "@testing-library/dom": "^8.0.0", @@ -3776,6 +3474,7 @@ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -3790,11 +3489,22 @@ "node": ">=12" } }, + "node_modules/@testing-library/react/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, "node_modules/@testing-library/user-event": { "version": "14.5.2", "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12", "npm": ">=6" @@ -3804,10 +3514,11 @@ } }, "node_modules/@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", - "dev": true + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "license": "MIT" }, "node_modules/@types/babel__core": { "version": "7.20.5", @@ -3862,7 +3573,8 @@ "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "license": "MIT" }, "node_modules/@types/graceful-fs": { "version": "4.1.7", @@ -3885,9 +3597,10 @@ } }, "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", - "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "license": "MIT", "dependencies": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -3961,25 +3674,28 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "license": "MIT" }, "node_modules/@types/react": { - "version": "17.0.65", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.65.tgz", - "integrity": "sha512-oxur785xZYHvnI7TRS61dXbkIhDPnGfsXKv0cNXR/0ml4SipRIFpSMzA7HMEfOywFwJ5AOnPrXYTEiTRUQeGlQ==", + "version": "17.0.80", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.80.tgz", + "integrity": "sha512-LrgHIu2lEtIo8M7d1FcI3BdwXWoRQwMoXOZ7+dPTW0lYREjmlHl3P0U1VD0i/9tppOuv8/sam7sOjx34TxSFbA==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", + "@types/scheduler": "^0.16", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "17.0.20", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.20.tgz", - "integrity": "sha512-4pzIjSxDueZZ90F52mU3aPoogkHIoSIDG+oQ+wQK7Cy2B9S+MvOqY0uEA/qawKz381qrEDkvpwyt8Bm31I8sbA==", + "version": "17.0.25", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.25.tgz", + "integrity": "sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==", "dev": true, + "license": "MIT", "dependencies": { "@types/react": "^17" } @@ -3988,14 +3704,16 @@ "version": "4.4.10", "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==", + "license": "MIT", "dependencies": { "@types/react": "*" } }, "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "license": "MIT" }, "node_modules/@types/semver": { "version": "7.5.1", @@ -4368,6 +4086,7 @@ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz", "integrity": "sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.24.5", "@babel/plugin-transform-react-jsx-self": "^7.24.5", @@ -4387,6 +4106,7 @@ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", "dev": true, + "license": "MIT", "dependencies": { "@vitest/spy": "1.6.0", "@vitest/utils": "1.6.0", @@ -4401,6 +4121,7 @@ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz", "integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==", "dev": true, + "license": "MIT", "dependencies": { "@vitest/utils": "1.6.0", "p-limit": "^5.0.0", @@ -4415,6 +4136,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^1.0.0" }, @@ -4430,6 +4152,7 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.20" }, @@ -4442,6 +4165,7 @@ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz", "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==", "dev": true, + "license": "MIT", "dependencies": { "magic-string": "^0.30.5", "pathe": "^1.1.1", @@ -4456,6 +4180,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -4468,6 +4193,7 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -4482,6 +4208,7 @@ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", "dev": true, + "license": "MIT", "dependencies": { "tinyspy": "^2.2.0" }, @@ -4494,6 +4221,7 @@ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", "dev": true, + "license": "MIT", "dependencies": { "diff-sequences": "^29.6.3", "estree-walker": "^3.0.3", @@ -4509,6 +4237,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -4521,6 +4250,7 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -4533,13 +4263,15 @@ "node_modules/ace-builds": { "version": "1.35.0", "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.35.0.tgz", - "integrity": "sha512-bwDKqjqNccC/MSujqnYTeAS5dIR8UmGLP0R90mvsJY0FRC8NUWBSTfj34+EIzo2NWc/gV8IZTqv4fXaiZJpCtA==" + "integrity": "sha512-bwDKqjqNccC/MSujqnYTeAS5dIR8UmGLP0R90mvsJY0FRC8NUWBSTfj34+EIzo2NWc/gV8IZTqv4fXaiZJpCtA==", + "license": "BSD-3-Clause" }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "devOptional": true, + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -4562,6 +4294,7 @@ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -4571,6 +4304,7 @@ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, + "license": "MIT", "dependencies": { "debug": "4" }, @@ -4677,12 +4411,13 @@ "dev": true }, "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { @@ -4905,12 +4640,6 @@ "dequal": "^2.0.3" } }, - "node_modules/b4a": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", - "dev": true - }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -5078,7 +4807,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/before-after-hook": { "version": "2.2.3", @@ -5095,41 +4825,6 @@ "node": ">=8" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/blueimp-md5": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", @@ -5150,6 +4845,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -5182,6 +4878,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001629", "electron-to-chromium": "^1.4.796", @@ -5225,6 +4922,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -5234,6 +4932,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, "optional": true, "peer": true }, @@ -5242,6 +4941,7 @@ "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -5286,9 +4986,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001632", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001632.tgz", - "integrity": "sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg==", + "version": "1.0.30001633", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001633.tgz", + "integrity": "sha512-6sT0yf/z5jqf8tISAgpJDrmwOpLsrpnyCdD/lOZKvKkkJK4Dn0X5i7KF7THEZhOq+30bmhwBlNEaqPUiHiKtZg==", "dev": true, "funding": [ { @@ -5303,7 +5003,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/ccount": { "version": "2.0.1", @@ -5407,6 +5108,7 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -5426,12 +5128,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, "node_modules/ci-info": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", @@ -5471,9 +5167,10 @@ } }, "node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -5503,6 +5200,7 @@ "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" @@ -5532,6 +5230,7 @@ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -5560,12 +5259,13 @@ } }, "node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/concat-map": { @@ -5579,6 +5279,7 @@ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.1.2", "date-fns": "^2.30.0", @@ -5606,6 +5307,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -5616,6 +5318,13 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "dev": true, + "license": "MIT" + }, "node_modules/confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", @@ -5645,7 +5354,8 @@ "node_modules/country-flag-emoji-polyfill": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/country-flag-emoji-polyfill/-/country-flag-emoji-polyfill-0.1.8.tgz", - "integrity": "sha512-Mbah52sADS3gshUYhK5142gtUuJpHYOXlXtLFI3Ly4RqgkmPMvhX9kMZSTqDM8P7UqtSW99eHKFphhQSGXA3Cg==" + "integrity": "sha512-Mbah52sADS3gshUYhK5142gtUuJpHYOXlXtLFI3Ly4RqgkmPMvhX9kMZSTqDM8P7UqtSW99eHKFphhQSGXA3Cg==", + "license": "MIT" }, "node_modules/create-jest": { "version": "29.7.0", @@ -5688,6 +5398,7 @@ "version": "2.0.8", "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.3", "is-in-browser": "^1.0.2" @@ -5697,7 +5408,8 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cssstyle": { "version": "4.0.1", @@ -5714,7 +5426,8 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", @@ -5825,6 +5538,7 @@ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.21.0" }, @@ -5883,21 +5597,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/dedent": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", @@ -5927,15 +5626,16 @@ } }, "node_modules/deep-equal": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", + "call-bind": "^1.0.5", "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.1", + "get-intrinsic": "^1.2.2", "is-arguments": "^1.1.1", "is-array-buffer": "^3.0.2", "is-date-object": "^1.0.5", @@ -5945,25 +5645,19 @@ "object-is": "^1.1.5", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", + "regexp.prototype.flags": "^1.5.1", "side-channel": "^1.0.4", "which-boxed-primitive": "^1.0.2", "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -6041,10 +5735,11 @@ } }, "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8" } @@ -6085,7 +5780,8 @@ "node_modules/diff-match-patch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", - "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==" + "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==", + "license": "Apache-2.0" }, "node_modules/diff-sequences": { "version": "29.6.3", @@ -6125,12 +5821,14 @@ "version": "0.5.16", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/dom-helpers": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" @@ -6141,6 +5839,7 @@ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=12" }, @@ -6149,10 +5848,11 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.799", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.799.tgz", - "integrity": "sha512-3D3DwWkRTzrdEpntY0hMLYwj7SeBk1138CkPE8sBDSj3WzrzOiG2rHm3luw8jucpf+WiyLBCZyU9lMHyQI9M9Q==", - "dev": true + "version": "1.4.802", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.802.tgz", + "integrity": "sha512-TnTMUATbgNdPXVSHsxvNVSG0uEd6cSZsANjm8c9HbvflZVVn1yTRcmVXYT1Ma95/ssB/Dcd30AHweH2TE+dNpA==", + "dev": true, + "license": "ISC" }, "node_modules/emittery": { "version": "0.13.1", @@ -6174,15 +5874,6 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/entities": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", @@ -6286,6 +5977,7 @@ "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -6379,10 +6071,11 @@ } }, "node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -6390,35 +6083,36 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, "node_modules/escalade": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -6682,15 +6376,6 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "dependencies": { - "dequal": "^2.0.3" - } - }, "node_modules/eslint-plugin-react": { "version": "7.34.1", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", @@ -6895,6 +6580,7 @@ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" } @@ -6944,15 +6630,6 @@ "node": ">= 0.8.0" } }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/expect": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", @@ -6984,12 +6661,6 @@ "dev": true, "peer": true }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "dev": true - }, "node_modules/fast-glob": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", @@ -7033,6 +6704,7 @@ "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -7054,7 +6726,8 @@ "node_modules/fflate": { "version": "0.4.8", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", - "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==" + "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==", + "license": "MIT" }, "node_modules/file-entry-cache": { "version": "6.0.1", @@ -7074,6 +6747,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -7084,7 +6758,8 @@ "node_modules/find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "license": "MIT" }, "node_modules/find-up": { "version": "5.0.0", @@ -7106,6 +6781,7 @@ "version": "10.12.2", "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.12.2.tgz", "integrity": "sha512-ZxEdtSvP1I9su1yf32D8TIdgxtPgxwr6z3jYAR1TXS/t+fVfpoPc/N1/N2bxOco9mNjUoc+od34v5Fn4GeKs6Q==", + "license": "Apache-2.0", "dependencies": { "@firebase/analytics": "0.10.4", "@firebase/analytics-compat": "0.2.10", @@ -7140,6 +6816,7 @@ "version": "1.7.4", "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.7.4.tgz", "integrity": "sha512-d2Fw17s5QesojwebrA903el20Li9/YGgkoOGJjagM4I1qAT36APa/FcZ+OX86KxbYKCtQKTMqraU8pxG7C2JWA==", + "license": "Apache-2.0", "dependencies": { "@firebase/component": "0.6.7", "@firebase/logger": "0.4.2", @@ -7211,31 +6888,12 @@ "node": ">= 6" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -7358,12 +7016,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", - "dev": true - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -7400,6 +7052,7 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", "engines": { "node": ">=4" } @@ -7690,6 +7343,7 @@ "version": "11.9.0", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==", + "license": "BSD-3-Clause", "engines": { "node": ">=12.0.0" } @@ -7698,6 +7352,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" } @@ -7705,7 +7360,8 @@ "node_modules/hoist-non-react-statics/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/html-encoding-sniffer": { "version": "4.0.0", @@ -7740,13 +7396,15 @@ "node_modules/http-parser-js": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "license": "MIT" }, "node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, + "license": "MIT", "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -7760,6 +7418,7 @@ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.3.4" }, @@ -7772,6 +7431,7 @@ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -7794,7 +7454,8 @@ "node_modules/hyphenate-style-name": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.5.tgz", - "integrity": "sha512-fedL7PRwmeVkgyhu9hLeTBaI6wcGk7JGJswdaRsa5aUbkXI1kr1xZwTPBtaYPpwf56878iDek6VbVnuWMebJmw==" + "integrity": "sha512-fedL7PRwmeVkgyhu9hLeTBaI6wcGk7JGJswdaRsa5aUbkXI1kr1xZwTPBtaYPpwf56878iDek6VbVnuWMebJmw==", + "license": "BSD-3-Clause" }, "node_modules/iconv-lite": { "version": "0.6.3", @@ -7811,7 +7472,8 @@ "node_modules/idb": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "license": "ISC" }, "node_modules/ieee754": { "version": "1.2.1", @@ -7831,7 +7493,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/ignore": { "version": "5.2.4", @@ -7845,7 +7508,8 @@ "node_modules/immediate": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" }, "node_modules/import-fresh": { "version": "3.3.0", @@ -7898,6 +7562,7 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -7918,12 +7583,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "node_modules/internal-slot": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", @@ -7942,6 +7601,7 @@ "version": "10.5.14", "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.14.tgz", "integrity": "sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==", + "license": "BSD-3-Clause", "dependencies": { "@formatjs/ecma402-abstract": "2.0.0", "@formatjs/fast-memoize": "2.2.0", @@ -7954,6 +7614,7 @@ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -8164,7 +7825,8 @@ "node_modules/is-in-browser": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" + "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==", + "license": "MIT" }, "node_modules/is-map": { "version": "2.0.2", @@ -8192,6 +7854,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -9506,6 +9169,7 @@ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.0.tgz", "integrity": "sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==", "dev": true, + "license": "MIT", "dependencies": { "cssstyle": "^4.0.1", "data-urls": "^5.0.0", @@ -9546,6 +9210,7 @@ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.3.4" }, @@ -9558,6 +9223,7 @@ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", "dev": true, + "license": "MIT", "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -9570,7 +9236,8 @@ "version": "0.7.1", "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jsdom/node_modules/tr46": { "version": "5.0.0", @@ -9655,16 +9322,11 @@ "node": ">=6" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, "node_modules/jss": { "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz", "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "csstype": "^3.0.2", @@ -9680,6 +9342,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz", "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "hyphenate-style-name": "^1.0.3", @@ -9690,6 +9353,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz", "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0" @@ -9699,6 +9363,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz", "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0" @@ -9708,6 +9373,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz", "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0", @@ -9718,6 +9384,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz", "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0" @@ -9727,6 +9394,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz", "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "jss": "10.10.0", @@ -9737,6 +9405,7 @@ "version": "10.10.0", "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz", "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.3.1", "css-vendor": "^2.0.8", @@ -9818,14 +9487,16 @@ } }, "node_modules/libphonenumber-js": { - "version": "1.10.43", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.43.tgz", - "integrity": "sha512-M/iPACJGsTvEy8QmUY4K0SoIFB71X2j7y2JvUMYzUXUxCNmiU+NTfHdz7gt+dC48BVfBzZi2oO6s9TDGllCfxA==" + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.11.3.tgz", + "integrity": "sha512-RU0CTsLCu2v6VEzdP+W6UU2n5+jEpMDRkGxUeBgsAJgre3vKgm17eApISH9OQY4G0jZYJVIc8qXmz6CJFueAFg==", + "license": "MIT" }, "node_modules/lie": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", + "license": "MIT", "dependencies": { "immediate": "~3.0.5" } @@ -9849,6 +9520,7 @@ "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dev": true, + "license": "MIT", "dependencies": { "mlly": "^1.4.2", "pkg-types": "^1.0.3" @@ -9864,6 +9536,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", + "license": "Apache-2.0", "dependencies": { "lie": "3.1.1" } @@ -9887,17 +9560,20 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "license": "MIT" }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" }, "node_modules/lodash.get": { "version": "4.4.2", @@ -9907,7 +9583,8 @@ "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -9935,7 +9612,8 @@ "node_modules/long": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "license": "Apache-2.0" }, "node_modules/loose-envify": { "version": "1.4.0", @@ -9962,6 +9640,7 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } @@ -9971,6 +9650,7 @@ "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, + "license": "MIT", "bin": { "lz-string": "bin/bin.js" } @@ -9980,6 +9660,7 @@ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, @@ -10647,23 +10328,12 @@ "node": ">=6" } }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -10694,6 +10364,7 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", "dev": true, + "license": "ISC", "engines": { "node": ">=8" } @@ -10713,22 +10384,17 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, "node_modules/mlly": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", - "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", "dev": true, + "license": "MIT", "dependencies": { - "acorn": "^8.10.0", - "pathe": "^1.1.1", - "pkg-types": "^1.0.3", - "ufo": "^1.3.0" + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" } }, "node_modules/mocha": { @@ -10892,6 +10558,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/mui-tel-input/-/mui-tel-input-3.2.2.tgz", "integrity": "sha512-tDFBLgymdGlLYGLvDcFsejEu/DDF01T91OksS2xGUgZa8q9qHd0h4dgMa5C5GFFzqMp5JLQluV62R5meu+MEbg==", + "license": "MIT", "dependencies": { "@types/node": "^20.3.3", "libphonenumber-js": "^1.10.37" @@ -10920,6 +10587,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -10927,12 +10595,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", - "dev": true - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -10950,82 +10612,32 @@ }, "node_modules/nise": { "version": "5.1.5", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", - "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } - }, - "node_modules/nise/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/node-abi": { - "version": "3.51.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", - "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", - "dev": true, - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-abi/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", + "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", "dev": true, "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^10.0.2", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" } }, - "node_modules/node-abi/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/nise/node_modules/@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "type-detect": "4.0.8" } }, - "node_modules/node-abi/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "dev": true - }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, + "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -11053,7 +10665,8 @@ "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -11082,7 +10695,8 @@ "version": "2.2.10", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz", "integrity": "sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/object-assign": { "version": "4.1.1", @@ -11102,13 +10716,14 @@ } }, "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -11391,6 +11006,7 @@ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -11407,6 +11023,7 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", "dev": true, + "license": "ISC", "engines": { "node": "14 || >=16.14" } @@ -11416,6 +11033,7 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -11444,10 +11062,11 @@ } }, "node_modules/pathe": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", - "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true, + "license": "MIT" }, "node_modules/pathval": { "version": "1.1.1", @@ -11461,7 +11080,8 @@ "node_modules/picocolors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -11561,14 +11181,15 @@ } }, "node_modules/pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.1.tgz", + "integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==", "dev": true, + "license": "MIT", "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" + "confbox": "^0.1.7", + "mlly": "^1.7.0", + "pathe": "^1.1.2" } }, "node_modules/porch": { @@ -11607,6 +11228,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", @@ -11620,6 +11242,7 @@ "version": "1.139.1", "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.139.1.tgz", "integrity": "sha512-+JDu2S7z6sh9Q5kj0oh/W8PZJMQ1gSigWi7gbY4NwwCq2M3t0wNFjxlfHbAo1GncRWDxen+IC+3J7oJ8TJGnkA==", + "license": "MIT", "dependencies": { "fflate": "^0.4.8", "preact": "^10.19.3" @@ -11629,65 +11252,12 @@ "version": "10.22.0", "resolved": "https://registry.npmjs.org/preact/-/preact-10.22.0.tgz", "integrity": "sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" } }, - "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "dev": true, - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/prebuild-install/node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/prebuild-install/node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -11703,6 +11273,7 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -11717,6 +11288,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -11728,13 +11300,15 @@ "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -11791,10 +11365,11 @@ } }, "node_modules/protobufjs": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.2.tgz", - "integrity": "sha512-RXyHaACeqXeqAKGLDl68rQKbmObRsTIn4TYVUUug1KfS47YWCo5MacGITEryugIgZqORCvJWEk4l449POg5Txg==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz", + "integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==", "hasInstallScript": true, + "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -11817,23 +11392,15 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } + "license": "MIT" }, "node_modules/punycode": { "version": "2.3.1", @@ -11866,7 +11433,8 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/queue-microtask": { "version": "1.2.3", @@ -11888,12 +11456,6 @@ } ] }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "dev": true - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -11903,34 +11465,11 @@ "safe-buffer": "^5.1.0" } }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -11943,6 +11482,7 @@ "version": "11.0.1", "resolved": "https://registry.npmjs.org/react-ace/-/react-ace-11.0.1.tgz", "integrity": "sha512-ulk2851Fx2j59AAahZHTe7rmQ5bITW1xytskAt11F8dv3rPLtdwBXCyT2qSbRnJvOq8UpuAhWO4/JhKGqQBEDA==", + "license": "MIT", "dependencies": { "ace-builds": "^1.32.8", "diff-match-patch": "^1.0.5", @@ -11959,6 +11499,7 @@ "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -11972,6 +11513,7 @@ "version": "6.6.8", "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.6.8.tgz", "integrity": "sha512-M0pkhzcgV31h++2901BiRXWl69hp2zPyLxRrSwRjd1ErXbNoubz/f4M6DrRTd4OiSUrT4ajRQzrmtS5plG4FtA==", + "license": "BSD-3-Clause", "dependencies": { "@formatjs/ecma402-abstract": "2.0.0", "@formatjs/icu-messageformat-parser": "2.7.8", @@ -12004,6 +11546,7 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12012,6 +11555,7 @@ "version": "6.23.1", "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.1.tgz", "integrity": "sha512-fzcOaRF69uvqbbM7OhvQyBTFDVrrGlsFdS3AL+1KfIBtGETibHzi3FkoTRyiDJnWNc2VxrfvR+657ROHjaNjqQ==", + "license": "MIT", "dependencies": { "@remix-run/router": "1.16.1" }, @@ -12026,6 +11570,7 @@ "version": "6.23.1", "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.1.tgz", "integrity": "sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ==", + "license": "MIT", "dependencies": { "@remix-run/router": "1.16.1", "react-router": "6.23.1" @@ -12042,6 +11587,7 @@ "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -12053,20 +11599,6 @@ "react-dom": ">=16.6.0" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -12084,6 +11616,7 @@ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, + "license": "MIT", "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -12136,10 +11669,11 @@ } }, "node_modules/rehype-document": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rehype-document/-/rehype-document-7.0.2.tgz", - "integrity": "sha512-7ih+zNlNNB5GwEdtd/h6FG1GEMb9xlJpIFovgoSMPVYJ8zernXyZ9cOsHCv6T2iHLgwy8ZgeIoH/8GGcbZmFww==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/rehype-document/-/rehype-document-7.0.3.tgz", + "integrity": "sha512-g5zq6i2FwWVBVdyVi0Jw/5MRvsHj3wuJCn+QeyOjm29QBpTG4r1iUElyH9GhfWx5fB27ZEApA53RdAiYGBb4zQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "hastscript": "^8.0.0", @@ -12183,10 +11717,11 @@ } }, "node_modules/remark-rehype": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz", - "integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", "dev": true, + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -12211,7 +11746,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/resolve": { "version": "1.22.4", @@ -12300,9 +11836,10 @@ } }, "node_modules/rollup": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.0.tgz", - "integrity": "sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "license": "MIT", "dependencies": { "@types/estree": "1.0.5" }, @@ -12314,19 +11851,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.13.0", - "@rollup/rollup-android-arm64": "4.13.0", - "@rollup/rollup-darwin-arm64": "4.13.0", - "@rollup/rollup-darwin-x64": "4.13.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.13.0", - "@rollup/rollup-linux-arm64-gnu": "4.13.0", - "@rollup/rollup-linux-arm64-musl": "4.13.0", - "@rollup/rollup-linux-riscv64-gnu": "4.13.0", - "@rollup/rollup-linux-x64-gnu": "4.13.0", - "@rollup/rollup-linux-x64-musl": "4.13.0", - "@rollup/rollup-win32-arm64-msvc": "4.13.0", - "@rollup/rollup-win32-ia32-msvc": "4.13.0", - "@rollup/rollup-win32-x64-msvc": "4.13.0", + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", "fsevents": "~2.3.2" } }, @@ -12364,6 +11904,7 @@ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" } @@ -12444,6 +11985,7 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -12500,48 +12042,52 @@ } }, "node_modules/sharp": { - "version": "0.32.6", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", - "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.4.tgz", + "integrity": "sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==", "dev": true, "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "color": "^4.2.3", - "detect-libc": "^2.0.2", - "node-addon-api": "^6.1.0", - "prebuild-install": "^7.1.1", - "semver": "^7.5.4", - "simple-get": "^4.0.1", - "tar-fs": "^3.0.4", - "tunnel-agent": "^0.6.0" + "detect-libc": "^2.0.3", + "semver": "^7.6.0" }, "engines": { - "node": ">=14.15.0" + "libvips": ">=8.15.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" - } - }, - "node_modules/sharp/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" }, - "engines": { - "node": ">=10" + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.4", + "@img/sharp-darwin-x64": "0.33.4", + "@img/sharp-libvips-darwin-arm64": "1.0.2", + "@img/sharp-libvips-darwin-x64": "1.0.2", + "@img/sharp-libvips-linux-arm": "1.0.2", + "@img/sharp-libvips-linux-arm64": "1.0.2", + "@img/sharp-libvips-linux-s390x": "1.0.2", + "@img/sharp-libvips-linux-x64": "1.0.2", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.2", + "@img/sharp-libvips-linuxmusl-x64": "1.0.2", + "@img/sharp-linux-arm": "0.33.4", + "@img/sharp-linux-arm64": "0.33.4", + "@img/sharp-linux-s390x": "0.33.4", + "@img/sharp-linux-x64": "0.33.4", + "@img/sharp-linuxmusl-arm64": "0.33.4", + "@img/sharp-linuxmusl-x64": "0.33.4", + "@img/sharp-wasm32": "0.33.4", + "@img/sharp-win32-ia32": "0.33.4", + "@img/sharp-win32-x64": "0.33.4" } }, "node_modules/sharp/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -12549,12 +12095,6 @@ "node": ">=10" } }, - "node_modules/sharp/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -12581,6 +12121,7 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -12607,7 +12148,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/signal-exit": { "version": "3.0.7", @@ -12617,56 +12159,12 @@ "optional": true, "peer": true }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "dev": true, + "license": "MIT", "dependencies": { "is-arrayish": "^0.3.1" } @@ -12675,7 +12173,8 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/sinon": { "version": "17.0.1", @@ -12734,6 +12233,7 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -12742,27 +12242,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "optional": true, - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "peer": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -12820,19 +12300,22 @@ "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/std-env": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.6.0.tgz", - "integrity": "sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==", - "dev": true + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true, + "license": "MIT" }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dev": true, + "license": "MIT", "dependencies": { "internal-slot": "^1.0.4" }, @@ -12840,25 +12323,6 @@ "node": ">= 0.4" } }, - "node_modules/streamx": { - "version": "2.15.5", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.5.tgz", - "integrity": "sha512-9thPGMkKC2GctCzyCUjME3yR03x2xNo0GPKGkRw2UMYN+gqWa9uqpyNWhmsNCutU5zHmkUum0LsCRQTXUgUCAg==", - "dev": true, - "dependencies": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -13014,6 +12478,7 @@ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, + "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -13034,27 +12499,30 @@ } }, "node_modules/strip-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", - "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", + "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", "dev": true, + "license": "MIT", "dependencies": { - "js-tokens": "^8.0.2" + "js-tokens": "^9.0.0" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/strip-literal/node_modules/js-tokens": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", - "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", - "dev": true + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", + "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", + "dev": true, + "license": "MIT" }, "node_modules/stylis": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "license": "MIT" }, "node_modules/supports-color": { "version": "7.2.0", @@ -13085,54 +12553,6 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, - "node_modules/tar-fs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", - "dev": true, - "dependencies": { - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^3.1.5" - } - }, - "node_modules/tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", - "dev": true, - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, - "node_modules/terser": { - "version": "5.19.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.3.tgz", - "integrity": "sha512-pQzJ9UJzM0IgmT4FAtYI6+VqFf0lj/to58AV0Xfgg0Up37RyPG7Al+1cepC6/BVuAxR9oNb41/DL4DEoHJvTdg==", - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "optional": true, - "peer": true - }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -13159,19 +12579,22 @@ "node_modules/tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT" }, "node_modules/tinybench": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz", - "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==", - "dev": true + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", + "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==", + "dev": true, + "license": "MIT" }, "node_modules/tinypool": { "version": "0.8.4", "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.0.0" } @@ -13181,6 +12604,7 @@ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.0.0" } @@ -13206,6 +12630,7 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -13218,6 +12643,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -13232,13 +12658,15 @@ "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true, + "license": "MIT", "bin": { "tree-kill": "cli.js" } @@ -13313,18 +12741,6 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -13454,10 +12870,11 @@ "dev": true }, "node_modules/ufo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", - "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", - "dev": true + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", + "dev": true, + "license": "MIT" }, "node_modules/unbox-primitive": { "version": "1.0.2", @@ -13478,6 +12895,7 @@ "version": "5.28.4", "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", + "license": "MIT", "dependencies": { "@fastify/busboy": "^2.0.0" }, @@ -13583,6 +13001,7 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0" } @@ -13592,6 +13011,7 @@ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.0.1.tgz", "integrity": "sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==", "dev": true, + "license": "MIT", "dependencies": { "acorn": "^8.8.1", "chokidar": "^3.5.3", @@ -13618,6 +13038,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.1.2", "picocolors": "^1.0.1" @@ -13644,17 +13065,12 @@ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, + "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, "node_modules/v8-to-istanbul": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", @@ -13715,11 +13131,12 @@ } }, "node_modules/vite": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.6.tgz", - "integrity": "sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.0.tgz", + "integrity": "sha512-hA6vAVK977NyW1Qw+fLvqSo7xDPej7von7C3DwwqPRmnnnK36XEBC/J3j1V5lP8fbt7y0TgTKJbpNGSwM+Bdeg==", + "license": "MIT", "dependencies": { - "esbuild": "^0.20.1", + "esbuild": "^0.21.3", "postcss": "^8.4.38", "rollup": "^4.13.0" }, @@ -13773,6 +13190,7 @@ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", "integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==", "dev": true, + "license": "MIT", "dependencies": { "cac": "^6.7.14", "debug": "^4.3.4", @@ -13795,6 +13213,7 @@ "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", "integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==", "dev": true, + "license": "MIT", "dependencies": { "@vitest/expect": "1.6.0", "@vitest/runner": "1.6.0", @@ -13860,6 +13279,7 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", @@ -13883,6 +13303,7 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -13895,6 +13316,7 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=16.17.0" } @@ -13904,6 +13326,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -13916,6 +13339,7 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -13924,10 +13348,11 @@ } }, "node_modules/vitest/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -13943,6 +13368,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -13958,6 +13384,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -13970,6 +13397,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -13982,6 +13410,7 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -14025,19 +13454,22 @@ "node_modules/web-vitals": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-3.5.2.tgz", - "integrity": "sha512-c0rhqNcHXRkY/ogGDJQxZ9Im9D19hDihbzSQJrsioex+KnFgmMzBiy57Z1EjkhX/+OjyBpclDCzz2ITtjokFmg==" + "integrity": "sha512-c0rhqNcHXRkY/ogGDJQxZ9Im9D19hDihbzSQJrsioex+KnFgmMzBiy57Z1EjkhX/+OjyBpclDCzz2ITtjokFmg==", + "license": "Apache-2.0" }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.13.0" } @@ -14046,12 +13478,14 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -14065,6 +13499,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } @@ -14095,6 +13530,7 @@ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, + "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -14196,6 +13632,7 @@ "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", "dev": true, + "license": "MIT", "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" @@ -14255,6 +13692,7 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -14298,7 +13736,8 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/yaml": { "version": "1.10.2", diff --git a/package.json b/package.json index ae1f3e774..1db9eeb37 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "curriculum", - "version": "8.8.0", + "version": "9.0.0-beta.0", "description": "Proyectos y tópicos del curriculum del Bootcamp de @Laboratoria", "repository": "Laboratoria/curriculum", "keywords": [ @@ -55,8 +55,9 @@ "web-vitals": "^3.5.2" }, "devDependencies": { - "@laboratoria/curriculum-parser": "^5.3.0", + "@laboratoria/curriculum-parser": "^6.0.0", "@laboratoria/mdlint": "^1.2.3", + "@laboratoria/sdk-js": "^8.0.0", "@octokit/rest": "^20.0.2", "@sentry/vite-plugin": "^2.18.0", "@testing-library/jest-dom": "^6.1.5", @@ -83,7 +84,7 @@ "ws": "^8.16.0" }, "engines": { - "node": ">=16.x" + "node": ">=18.x" }, "browserslist": { "production": [ @@ -97,4 +98,4 @@ "last 1 safari version" ] } -} +} \ No newline at end of file diff --git a/projects/00-how-might-we/project.yml b/projects/00-how-might-we/project.yml index 4b1903985..891ac959c 100644 --- a/projects/00-how-might-we/project.yml +++ b/projects/00-how-might-we/project.yml @@ -1,4 +1,6 @@ track: ux +tags: + - hidden learningObjectives: - agile-planning/tasks - design-concept/ideate diff --git a/projects/01-card-validation/project.yml b/projects/01-card-validation/project.yml index edd2d28c6..28036f778 100644 --- a/projects/01-card-validation/project.yml +++ b/projects/01-card-validation/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - deprecated learningObjectives: - html/semantics - css/selectors diff --git a/projects/01-cipher/project.yml b/projects/01-cipher/project.yml index edd2d28c6..28036f778 100644 --- a/projects/01-cipher/project.yml +++ b/projects/01-cipher/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - deprecated learningObjectives: - html/semantics - css/selectors diff --git a/projects/01-design-detectives/project.yml b/projects/01-design-detectives/project.yml index f669af26f..50684dc92 100644 --- a/projects/01-design-detectives/project.yml +++ b/projects/01-design-detectives/project.yml @@ -1,4 +1,6 @@ track: ux +tags: + - featured learningObjectives: - agile-planning/tasks - agile-planning/workplan diff --git a/projects/01-text-analyzer/project.yml b/projects/01-text-analyzer/project.yml index 30ac55472..064386edb 100644 --- a/projects/01-text-analyzer/project.yml +++ b/projects/01-text-analyzer/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - featured learningObjectives: - html/semantics - css/selectors diff --git a/projects/02-data-lovers/project.yml b/projects/02-data-lovers/project.yml index ba5eb8bfb..4a4834c6c 100644 --- a/projects/02-data-lovers/project.yml +++ b/projects/02-data-lovers/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - hidden learningObjectives: - html/semantics - css/selectors diff --git a/projects/02-dataverse/project.yml b/projects/02-dataverse/project.yml index b8061b855..1222ad8d7 100644 --- a/projects/02-dataverse/project.yml +++ b/projects/02-dataverse/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - featured learningObjectives: - html/semantics - css/selectors diff --git a/projects/02-design-assigned/project.yml b/projects/02-design-assigned/project.yml index 1d1282617..1177ebc6c 100644 --- a/projects/02-design-assigned/project.yml +++ b/projects/02-design-assigned/project.yml @@ -1,4 +1,6 @@ track: ux +tags: + - featured learningObjectives: - agile-planning/scope - agile-planning/workplan diff --git a/projects/02-emergency-room/project.yml b/projects/02-emergency-room/project.yml index ba5eb8bfb..4a4834c6c 100644 --- a/projects/02-emergency-room/project.yml +++ b/projects/02-emergency-room/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - hidden learningObjectives: - html/semantics - css/selectors diff --git a/projects/02-memory-match/project.yml b/projects/02-memory-match/project.yml index ba5eb8bfb..4a4834c6c 100644 --- a/projects/02-memory-match/project.yml +++ b/projects/02-memory-match/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - hidden learningObjectives: - html/semantics - css/selectors diff --git a/projects/02-mindset-mvp/project.yml b/projects/02-mindset-mvp/project.yml index f20b106df..1640edf05 100644 --- a/projects/02-mindset-mvp/project.yml +++ b/projects/02-mindset-mvp/project.yml @@ -1,4 +1,6 @@ track: ux +tags: + - featured learningObjectives: - agile-planning/workplan - agile-planning/tasks diff --git a/projects/02-uxploradoras-ui/project.yml b/projects/02-uxploradoras-ui/project.yml index c31ba88f8..efa0e2a15 100644 --- a/projects/02-uxploradoras-ui/project.yml +++ b/projects/02-uxploradoras-ui/project.yml @@ -1,4 +1,6 @@ track: ux +tags: + - deprecated learningObjectives: - agile-planning/scope - agile-planning/workplan diff --git a/projects/02-uxploradoras/project.yml b/projects/02-uxploradoras/project.yml index 7dc83cc2d..5c2b2190a 100644 --- a/projects/02-uxploradoras/project.yml +++ b/projects/02-uxploradoras/project.yml @@ -1,4 +1,6 @@ track: ux +tags: + - featured learningObjectives: - agile-planning/scope - agile-planning/workplan diff --git a/projects/03-dataverse-chat/project.yml b/projects/03-dataverse-chat/project.yml index daa5cce96..1b873a078 100644 --- a/projects/03-dataverse-chat/project.yml +++ b/projects/03-dataverse-chat/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - featured learningObjectives: - html/semantics - css/selectors @@ -33,6 +35,3 @@ learningObjectives: - product-design/interactivity - product-design/visual-design - research/test - - - diff --git a/projects/03-design-lab/project.yml b/projects/03-design-lab/project.yml index 6e4c1ce03..0f16e4c30 100644 --- a/projects/03-design-lab/project.yml +++ b/projects/03-design-lab/project.yml @@ -1,4 +1,6 @@ track: ux +tags: + - featured learningObjectives: - agile-planning - business-understanding diff --git a/projects/03-social-network/project.yml b/projects/03-social-network/project.yml index 4994c57c0..9f9b5cc7c 100644 --- a/projects/03-social-network/project.yml +++ b/projects/03-social-network/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - deprecated learningObjectives: - html/semantics - css/selectors diff --git a/projects/03-uxploradoras-ux/project.yml b/projects/03-uxploradoras-ux/project.yml index 7c7ea15dc..784857b5d 100644 --- a/projects/03-uxploradoras-ux/project.yml +++ b/projects/03-uxploradoras-ux/project.yml @@ -1,4 +1,6 @@ track: ux +tags: + - deprecated learningObjectives: - agile-planning/scope - agile-planning/workplan diff --git a/projects/05-guess-the-number/README.md b/projects/04-guess-the-number/README.md similarity index 100% rename from projects/05-guess-the-number/README.md rename to projects/04-guess-the-number/README.md diff --git a/projects/05-guess-the-number/README.pt.md b/projects/04-guess-the-number/README.pt.md similarity index 100% rename from projects/05-guess-the-number/README.pt.md rename to projects/04-guess-the-number/README.pt.md diff --git a/projects/05-guess-the-number/docs/FAQ-java.md b/projects/04-guess-the-number/docs/FAQ-java.md similarity index 100% rename from projects/05-guess-the-number/docs/FAQ-java.md rename to projects/04-guess-the-number/docs/FAQ-java.md diff --git a/projects/05-guess-the-number/docs/FAQ-java.pt.md b/projects/04-guess-the-number/docs/FAQ-java.pt.md similarity index 100% rename from projects/05-guess-the-number/docs/FAQ-java.pt.md rename to projects/04-guess-the-number/docs/FAQ-java.pt.md diff --git a/projects/05-guess-the-number/docs/README-csharp.md b/projects/04-guess-the-number/docs/README-csharp.md similarity index 100% rename from projects/05-guess-the-number/docs/README-csharp.md rename to projects/04-guess-the-number/docs/README-csharp.md diff --git a/projects/05-guess-the-number/docs/README-csharp.pt.md b/projects/04-guess-the-number/docs/README-csharp.pt.md similarity index 100% rename from projects/05-guess-the-number/docs/README-csharp.pt.md rename to projects/04-guess-the-number/docs/README-csharp.pt.md diff --git a/projects/05-guess-the-number/docs/README-java.md b/projects/04-guess-the-number/docs/README-java.md similarity index 100% rename from projects/05-guess-the-number/docs/README-java.md rename to projects/04-guess-the-number/docs/README-java.md diff --git a/projects/05-guess-the-number/docs/README-java.pt.md b/projects/04-guess-the-number/docs/README-java.pt.md similarity index 100% rename from projects/05-guess-the-number/docs/README-java.pt.md rename to projects/04-guess-the-number/docs/README-java.pt.md diff --git a/projects/05-guess-the-number/docs/README-python.md b/projects/04-guess-the-number/docs/README-python.md similarity index 100% rename from projects/05-guess-the-number/docs/README-python.md rename to projects/04-guess-the-number/docs/README-python.md diff --git a/projects/05-guess-the-number/docs/README-python.pt.md b/projects/04-guess-the-number/docs/README-python.pt.md similarity index 100% rename from projects/05-guess-the-number/docs/README-python.pt.md rename to projects/04-guess-the-number/docs/README-python.pt.md diff --git a/projects/05-guess-the-number/project.yml b/projects/04-guess-the-number/project.yml similarity index 98% rename from projects/05-guess-the-number/project.yml rename to projects/04-guess-the-number/project.yml index 606114824..8e004c7a9 100644 --- a/projects/05-guess-the-number/project.yml +++ b/projects/04-guess-the-number/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - featured learningObjectives: - java/data-types/primitive-vs-non-primitive - java/data-types/strings @@ -36,5 +38,3 @@ learningObjectives: - scm/github/setup - scm/github/collaboration - scm/github/project-management - - diff --git a/projects/05-guess-the-number/thumb.png b/projects/04-guess-the-number/thumb.png similarity index 100% rename from projects/05-guess-the-number/thumb.png rename to projects/04-guess-the-number/thumb.png diff --git a/projects/05-chat-app/project.yml b/projects/05-chat-app/project.yml index 1d84a735b..04dfcbbd4 100644 --- a/projects/05-chat-app/project.yml +++ b/projects/05-chat-app/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - hidden learningObjectives: - js/async - js/testing/unit diff --git a/projects/05-chat-app/setup/.github/workflows/node.js.yml b/projects/05-chat-app/setup/.github/workflows/node.js.yml index 28b86f7e8..78bef9dde 100644 --- a/projects/05-chat-app/setup/.github/workflows/node.js.yml +++ b/projects/05-chat-app/setup/.github/workflows/node.js.yml @@ -12,13 +12,13 @@ jobs: strategy: matrix: - node-version: [12.x, 14.x, 16.x] + node-version: [18, 20] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: "npm" @@ -29,7 +29,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Heroku login credentials diff --git a/projects/05-fleet-management-api/project.yml b/projects/05-fleet-management-api/project.yml index c855be471..a2458bb85 100644 --- a/projects/05-fleet-management-api/project.yml +++ b/projects/05-fleet-management-api/project.yml @@ -2,36 +2,69 @@ track: web-dev learningObjectives: - http - auth - - java - - python - - csharp - - js/testing/unit - - js/testing/async - - js/testing/mocks - - js/testing/e2e - - js/modules/es-modules - - js/modules/commonjs - - js/linting - - js/semantics - - node/npm-install - - node/package.json - - node/npm-scripts - - express/routing - - express/middleware - sql/crud - db/modeling - db/connection - postgres/data-types - postgres/indexes - - object-oriented-programming - scm/git - scm/github/setup - scm/github/collaboration - scm/github/project-management - - typescript/basic-types/primitives - - typescript/basic-types/arrays - - typescript/basic-types/functions - - typescript/basic-types/object-types - - typescript/basic-types/union-types - - typescript/basic-types/interfaces - - typescript/basic-types/enums + +# permite mayor control de la informacion en seleccion de proyecto +# se pretende tener una semantica predefinida q controle el comportamiento +# de la interfaz. +# por ahora estos son los unicos valores permitidos +tags: + - featured + +# para proyectos que tienen diferentes implementaciones (aka rutas) +variants: + - name: java + learningObjectives: + - java + - object-oriented-programming + - name: node + learningObjectives: + - js/testing/unit + - js/testing/async + - js/testing/mocks + - js/testing/e2e + - js/modules/es-modules + - js/modules/commonjs + - js/linting + - js/semantics + - node/npm-install + - node/package.json + - node/npm-scripts + - express/routing + - express/middleware + - typescript/basic-types/primitives + - typescript/basic-types/arrays + - typescript/basic-types/functions + - typescript/basic-types/object-types + - typescript/basic-types/union-types + - typescript/basic-types/interfaces + - typescript/basic-types/enums + # Cualquier OA puede expresarse como objeto, por ejemplo para flaggear + # como "opcional". + # por ahora es la unica propiedad soportada. + - id: object-oriented-programming + optional: true + - name: python + learningObjectives: + - python + - id: object-oriented-programming + optional: true + - id: sql/crud + exclude: true + - id: postgres/data-types + exclude: true + - id: postgres/indexes + exclude: true + - name: csharp + learningObjectives: + - csharp + - id: object-oriented-programming + optional: true diff --git a/projects/05-fleet-management-fullstack/project.yml b/projects/05-fleet-management-fullstack/project.yml index 901f016c0..63dd07d00 100644 --- a/projects/05-fleet-management-fullstack/project.yml +++ b/projects/05-fleet-management-fullstack/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - hidden learningObjectives: - node - db/modeling diff --git a/projects/05-open-project/README.md b/projects/05-open-project/README.md index 775f8724c..8fce15b64 100644 --- a/projects/05-open-project/README.md +++ b/projects/05-open-project/README.md @@ -1,5 +1,7 @@ --- track: web-dev +tags: + - hidden --- # Proyecto Abierto diff --git a/projects/05-open-project/project.yml b/projects/05-open-project/project.yml new file mode 100644 index 000000000..e1613cadc --- /dev/null +++ b/projects/05-open-project/project.yml @@ -0,0 +1,3 @@ +tags: + - hidden + - deprecated \ No newline at end of file diff --git a/projects/05-roman-numerals-slack/project.yml b/projects/05-roman-numerals-slack/project.yml index e4325a605..487a9c70f 100644 --- a/projects/05-roman-numerals-slack/project.yml +++ b/projects/05-roman-numerals-slack/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - hidden learningObjectives: - node/npm-install - node/package.json diff --git a/projects/05-social-network-fw/project.yml b/projects/05-social-network-fw/project.yml index 83f7523fc..a0932049e 100644 --- a/projects/05-social-network-fw/project.yml +++ b/projects/05-social-network-fw/project.yml @@ -1,4 +1,7 @@ track: web-dev +tags: + - hidden + - deprecated learningObjectives: - html/semantics - css/selectors diff --git a/projects/05-wordpress-plugin/project.yml b/projects/05-wordpress-plugin/project.yml index 28694bfb0..e61757ee0 100644 --- a/projects/05-wordpress-plugin/project.yml +++ b/projects/05-wordpress-plugin/project.yml @@ -1,4 +1,6 @@ track: web-dev +tags: + - hidden learningObjectives: - php/data-types/primitive - php/data-types/arrays diff --git a/projects/06-job-application/project.yml b/projects/06-job-application/project.yml new file mode 100644 index 000000000..e1613cadc --- /dev/null +++ b/projects/06-job-application/project.yml @@ -0,0 +1,3 @@ +tags: + - hidden + - deprecated \ No newline at end of file diff --git a/scripts/README.md b/scripts/README.md index 7f33f44b4..5af66301a 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -71,10 +71,25 @@ Argumentos: Opciones: * `--locale`: Puede ser `es` o `pt`. Por defecto es `es`. +* `--variant`: Variente de implementación (si el proyecto tiene variantes). * `--noop`: Si esta opción está presente el script nos dirá que es lo que haríá paso a paso pero sin realmente hacer nada. Es útil para familiarizarse con el script. +:warning: Para pasar opciones al script cuando invocamos a través de +`npm-scripts` (`npm run create-cohort-project`) hay que separar las opciones con +` -- ` para que `npm` las pase al script. + +```sh +npm run create-cohort-project projects/05-fleet-management-api /tmp XXX999 -- --variant java +``` + +Si invocamos directamente no es necesario. Por ejemplo: + +```sh +./scripts/create-cohort-project.mjs projects/05-fleet-management-api /tmp XXX999 --variant java +``` + *** ## Testing y linters diff --git a/scripts/create-cohort-project.mjs b/scripts/create-cohort-project.mjs index bb3cd571d..6396426b3 100755 --- a/scripts/create-cohort-project.mjs +++ b/scripts/create-cohort-project.mjs @@ -14,12 +14,15 @@ import { transformLearningObjectives, loadYaml, } from '@laboratoria/curriculum-parser/lib/project.js'; -import { getFilesWithLocales, +import { parseProject } from '@laboratoria/sdk-js'; +import { + getFilesWithLocales, defaultLocale, supportedLocales, getLearningObjectivesHeadings, getLearningObjectivesHierarchy, - createLearningObjectivesMarkdown } from './script-utils.mjs'; + createLearningObjectivesMarkdown +} from './script-utils.mjs'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const uiUrl = 'https://curriculum.laboratoria.la'; @@ -87,7 +90,7 @@ const copy = async (src, repoDir, opts) => { // rename / replace default files with localized content if (opts.locale && opts.locale !== defaultLocale) { - const files = getFilesWithLocales(repoDir, [ opts.locale ]); + const files = getFilesWithLocales(repoDir, [opts.locale]); await Promise.all(files.map(filepath => rename(`${filepath}`, `${filepath.replace(`.${opts.locale}`, '')}`))); } @@ -125,15 +128,21 @@ const addExplainDevConfigFile = async ({ project, cohort, track, repoDir }) => { }; const addLocalizedLearningObjectives = async (repoDir, opts, meta) => { - - const learningObjectives = await transformLearningObjectives(repoDir, { + const { learningObjectives, variants } = await transformLearningObjectives(repoDir, { lo: path.join(__dirname, '../learning-objectives'), }, meta); - // Note: learningObjectives returns list of specific oa's - // example: so for js/modules -> js/modules/esm, js/modules/common + if (variants?.length && !opts.variant) { + throw new Error('Project has variants, please specify one with --variant'); + } + + const parsedProject = parseProject({ ...meta, learningObjectives, variants }); + const combinedLearningObjectives = parsedProject.getCombinedLearningObjectives(opts.variant); - if (!learningObjectives) { + // Note: combinedLearningObjectives returns list of objects, each with a + // property `id` containing a string like: js/modules, s/modules/esm, etc + + if (!combinedLearningObjectives?.length) { return; } @@ -142,9 +151,14 @@ const addLocalizedLearningObjectives = async (repoDir, opts, meta) => { path.join(__dirname, '../learning-objectives', 'intl', `${lang}.yml`), ); - const categoryTree = getLearningObjectivesHierarchy(learningObjectives); + const categoryTree = getLearningObjectivesHierarchy(combinedLearningObjectives); const sectionTree = getLearningObjectivesHeadings(categoryTree, intl); - const text = createLearningObjectivesMarkdown(learningObjectives, sectionTree, intl, lang); + const text = createLearningObjectivesMarkdown( + combinedLearningObjectives, + sectionTree, + intl, + lang, + ); const readmePath = path.join(repoDir, 'README.md'); const contents = (await readFile(readmePath, 'utf8')).split('\n'); const startIndex = contents.findIndex( @@ -226,14 +240,13 @@ const main = async (args, opts) => { ensureSrc(src); const slug = path.basename(src).slice(3); - const repoName = prefix ? `${prefix}-${slug}` : slug; + const repoName = `${prefix ? `${prefix}-` : ''}${slug}${opts.variant ? `-${opts.variant}` : ''}`; const repoDir = dest ? `${dest}/${repoName}` : repoName; await ensureRepoDir(repoDir, opts); await copy(src, repoDir, opts); await addBootcampInfo(repoDir); const meta = await loadYaml(path.join(src, 'project.yml')); - // console.log('learning Objectives son', learningObjectives); await addExplainDevConfigFile({ project: slug, cohort: prefix, @@ -299,6 +312,9 @@ Este es un mensaje de ayuda para que puedas usarlo. # crea el proyecto Markdown Links en la ruta actual para DEV999 npm run create-cohort-project projects/04-md-links ./ DEV999 + # crea proyecto Fleet Management API en su variante de Java + npm run create-cohort-project projects/05-fleet-management-api / XXX999 -- --variant java + Acá puedes encontrar la documentación completa: https://github.com/Laboratoria/curriculum/tree/main/scripts#create-cohort-project `); diff --git a/scripts/script-utils.mjs b/scripts/script-utils.mjs index 422143865..4474e84ef 100644 --- a/scripts/script-utils.mjs +++ b/scripts/script-utils.mjs @@ -8,7 +8,7 @@ export const getFilesWithLocales = (dir, locales) => { const dirents = readdirSync(dir, { withFileTypes: true }); const filesWithExt = dirents.reduce((accumFiles, dirent) => { const fullPath = path.resolve(dir, dirent.name); - dirent.isDirectory() ? accumFiles.push(...getFilesWithLocales(fullPath, locales)) : accumFiles.push(fullPath); + dirent.isDirectory() ? accumFiles.push(...getFilesWithLocales(fullPath, locales)) : accumFiles.push(fullPath); return accumFiles; }, []); const regexLocaleMD = new RegExp(`\.(${locales.join('|')})\.md`); @@ -16,16 +16,16 @@ export const getFilesWithLocales = (dir, locales) => { } /** - * - * @param {array} learningObjectives + * + * @param {array} learningObjectives * @returns {object} an object with keys of top level categories and values of subcategory arrays ex. { 'js': ['js/testing', ...]} */ export const getLearningObjectivesHierarchy = (learningObjectives) => learningObjectives.reduce( - (memo, item) => { - const [ root, ...parts] = item.split('/'); + (memo, { id }) => { + const [root, ...parts] = id.split('/'); if (!memo[root]) { Object.assign(memo, { [root]: [] }) - } + } const subcatKeys = parts.slice(0, -1).reduce((acc, part, i, arr) => [...acc, `${root}/${arr.slice(0, i + 1).join('/')}`], []); subcatKeys.forEach(subcat => !memo[root].includes(subcat) && memo[root].push(subcat)); @@ -37,7 +37,7 @@ export const getLearningObjectivesHierarchy = (learningObjectives) => learningOb const getNearestSubcategoryParent = (objectiveKey) => objectiveKey.split('/').slice(0, -1).join('/'); /** - * + * * @param {object} categoryTree an object rep of hierarchy of categories and subcats, as returned in getLearningObjecttivesHierarchy * @param {object} intl localized objectives content * @returns {object} key is category/subcat, value is heading with intl string and heading level ex. { 'js/testing': '#### Testing' } @@ -49,7 +49,7 @@ export const getLearningObjectivesHeadings = (categoryTree, intl) => Object.keys return { ...memo, - [rootCategoryKey]: [`### ${localizedCat.title || intl[rootCategoryKey] || rootCategoryKey }\n`], + [rootCategoryKey]: [`### ${localizedCat.title || intl[rootCategoryKey] || rootCategoryKey}\n`], ...subcats.reduce((acc, subcatKey, i) => { const localized = intl[subcatKey]; const title = localized?.title || intl[subcatKey] || subcatKey; @@ -60,9 +60,10 @@ export const getLearningObjectivesHeadings = (categoryTree, intl) => Object.keys // Note: this suffix is to help understand the hierarchy of the deeper objectives in the readme const subcatSuffix = (depth > 2) ? ` _(${(intl[nearestParent]?.title || intl[nearestParent] || nearestParent)})_` : ''; const subheading = `${'#'.repeat(headingLevel)} ${title}${subcatSuffix}\n` - return ({...acc, [subcatKey]: [subheading]}) - } , {})} - }, + return ({ ...acc, [subcatKey]: [subheading] }) + }, {}) + } + }, {}, ); @@ -72,27 +73,27 @@ const linkToString = ({ title, url }, lang) => { }; export const createLearningObjectivesMarkdown = (learningObjectives, sectionTree, intl, lang) => { - learningObjectives.forEach((objectiveKey) => { - const item = intl[objectiveKey] || {}; - const title = item.title || objectiveKey.split('/').slice(1).join('/'); + learningObjectives.forEach(({ id }) => { + const item = intl[id] || {}; + const title = item.title || id.split('/').slice(1).join('/'); let markup; if (!item.links || !item.links.length) { markup = `\n- [ ] **${title}**\n`; } else { - // collapsible links + // collapsible links const detailsStart = '
Links

\n'; const detailsEnd = '\n

\n'; - markup = (item.links.reduce((prev, link) => `${prev}\n * ${linkToString(link, lang)}`, - `\n- [ ] **${title}**\n\n ${detailsStart}`) + markup = (item.links.reduce((prev, link) => `${prev}\n * ${linkToString(link, lang)}`, + `\n- [ ] **${title}**\n\n ${detailsStart}`) ) + detailsEnd; } - + // find out where to put the markup - const [ rootCategory, ...parts ] = objectiveKey.split('/'); + const [rootCategory, ...parts] = id.split('/'); if (parts.length === 1) { // we are just one level under the root cat sectionTree[rootCategory].push(markup); } else { - const nearestParent = getNearestSubcategoryParent(objectiveKey); + const nearestParent = getNearestSubcategoryParent(id); sectionTree[nearestParent].push(markup); } }); diff --git a/scripts/test/script-utils.spec.mjs b/scripts/test/script-utils.spec.mjs index f4bfb29c7..8a36c1a1e 100644 --- a/scripts/test/script-utils.spec.mjs +++ b/scripts/test/script-utils.spec.mjs @@ -1,4 +1,5 @@ -import { getFilesWithLocales, +import { + getFilesWithLocales, getLearningObjectivesHeadings, getLearningObjectivesHierarchy, createLearningObjectivesMarkdown @@ -7,7 +8,7 @@ import { existsSync } from 'fs'; import { assert } from 'chai'; describe('script utils', () => { - + describe('getFilesWithLocale', () => { it('should return all files with .pt.md when locale is pt', () => { const filesPt = getFilesWithLocales('scripts/test/fixtures/project-with-localized-docs', ['pt']); @@ -29,16 +30,30 @@ describe('script utils', () => { describe('getLearningObjectivesHierarchy', () => { it('should return an object with top level categories as keys', () => { - const hierarchy = getLearningObjectivesHierarchy(['js/testing/unit', 'js/testing/mocks', 'css/selectors', 'html/semantics']); + const hierarchy = getLearningObjectivesHierarchy([ + { id: 'js/testing/unit' }, + { id: 'js/testing/mocks' }, + { id: 'css/selectors' }, + { id: 'html/semantics' }, + ]); assert.deepEqual(Object.keys(hierarchy), ['js', 'css', 'html']); }); it('should return an object with values of arrays of subcategories for the individual objectives', () => { - const hierarchy = getLearningObjectivesHierarchy(['js/testing/unit', 'js/testing/async', 'css/selectors', 'browser/dom/events']); + const hierarchy = getLearningObjectivesHierarchy([ + { id: 'js/testing/unit' }, + { id: 'js/testing/async' }, + { id: 'css/selectors' }, + { id: 'browser/dom/events' }, + ]); const result = { 'js': ['js/testing'], 'css': [], 'browser': ['browser/dom'] }; assert.deepEqual(hierarchy, result); }); it('should return category keys whose value is an empty array for objectives with no subcategories', () => { - const hierarchy = getLearningObjectivesHierarchy(['css/selectors', 'css/flexbox', 'html/semantics']); + const hierarchy = getLearningObjectivesHierarchy([ + { id: 'css/selectors' }, + { id: 'css/flexbox' }, + { id: 'html/semantics' }, + ]); assert.deepEqual(hierarchy, { 'css': [], 'html': [] }); }); }); @@ -63,13 +78,20 @@ describe('script utils', () => { describe('createLearningObjectivesMarkdown', () => { it('should return a string that contains the headings', () => { - const objectives = ['js/testing/unit', 'js/testing/async', 'css/selectors', 'browser/dom/events']; + const objectives = [ + { id: 'js/testing/unit' }, + { id: 'js/testing/async' }, + { id: 'css/selectors' }, + { id: 'browser/dom/events' }, + ]; const categoryTree = getLearningObjectivesHierarchy(objectives); const sectionTree = getLearningObjectivesHeadings(categoryTree, {}); - const markdown = createLearningObjectivesMarkdown(objectives, + const markdown = createLearningObjectivesMarkdown( + objectives, sectionTree, {}, - 'es'); + 'es', + ); assert.equal(typeof markdown, 'string'); Object.values(sectionTree).forEach(heading => { assert(markdown.includes(heading[0]), 'markdown includes heading');