@voxgig/sdkgen 4.14.0 → 4.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/voxgig-sdkgen CHANGED
@@ -8,7 +8,7 @@ const { Shape, One, Skip } = require('shape')
8
8
 
9
9
  const { SdkGen } = require('../dist/sdkgen.js')
10
10
 
11
- const VERSION = '4.14.0'
11
+ const VERSION = '4.16.0'
12
12
  const KONSOLE = console
13
13
 
14
14
 
@@ -20,6 +20,15 @@ const packageMeta_1 = require("../helpers/packageMeta");
20
20
  // deliberate act by someone who can see the result, which is what a release
21
21
  // should be.
22
22
  //
23
+ // IT TAGS WHAT IT PUBLISHED. A release that reaches the registry but leaves
24
+ // no ref behind cannot be answered later: `@voxgig-sdk/github-sdk@0.0.3` went
25
+ // out by dispatch and the repository had only v0.0.1 and v0.0.2, so nothing
26
+ // in git said which tree the published tarball came from, and nothing
27
+ // downstream could pin the SDK by tag. npm's trusted publisher is bound to
28
+ // ONE workflow file, so the tag has to be cut inside this one -- and a ref
29
+ // pushed with GITHUB_TOKEN starts no further workflow run, so it cannot be
30
+ // delegated to a tag-triggered publisher either.
31
+ //
23
32
  // THE WORKFLOW FILE NAME IS PART OF THE TRUST CONFIGURATION. npm binds a
24
33
  // trusted publisher to the repository AND the workflow filename, so renaming
25
34
  // this file silently breaks publishing until the npm side is updated to
@@ -55,7 +64,7 @@ const PublishWorkflow = (0, jostraca_1.cmp)(function PublishWorkflow(props) {
55
64
  (0, jostraca_1.Folder)({ name: 'workflows' }, () => {
56
65
  for (const target of npmTargets) {
57
66
  (0, jostraca_1.File)({ name: `publish-${target.name}.yml` }, () => {
58
- (0, jostraca_1.Content)(publishWorkflow(model, target));
67
+ (0, jostraca_1.Content)(publishWorkflow(model, target, npmTargets));
59
68
  });
60
69
  }
61
70
  });
@@ -71,8 +80,36 @@ const PublishWorkflow = (0, jostraca_1.cmp)(function PublishWorkflow(props) {
71
80
  });
72
81
  });
73
82
  exports.PublishWorkflow = PublishWorkflow;
74
- function publishWorkflow(model, target) {
83
+ // WHICH TAG A TARGET'S RELEASE CARRIES.
84
+ //
85
+ // A repo here publishes more than one npm package -- `ts/` and `js/` are
86
+ // separate packages from separate folders, on a lockstep version -- so a bare
87
+ // `v<version>` cut by each would be two targets racing for one tag name, and
88
+ // the loser would fail a release that had already published.
89
+ //
90
+ // The convention is the toolchain's own. @voxgig/apidef tags `v<version>` for
91
+ // its npm package and `go/v<version>` for its Go module; the generated root
92
+ // Makefile tags `<target>/v<version>` for every port. So: the ecosystem's
93
+ // PRIMARY npm target owns the bare tag, and any other npm target is prefixed
94
+ // with its own name.
95
+ //
96
+ // Resolved by comparing package names rather than hardcoding 'ts', so that a
97
+ // project that renamed or replaced its primary target still gets one bare tag
98
+ // -- and if none matches, every target is prefixed, which is wrong in no way
99
+ // that loses a release.
100
+ function isPrimaryNpm(model, target, npmTargets) {
101
+ if (1 === npmTargets.length) {
102
+ return true;
103
+ }
104
+ return (0, packageMeta_1.packageName)(model, target.name) === (0, packageMeta_1.packageName)(model, 'npm');
105
+ }
106
+ function releaseTag(model, target, npmTargets) {
107
+ return isPrimaryNpm(model, target, npmTargets) ?
108
+ 'v$VERSION' : `${target.name}/v$VERSION`;
109
+ }
110
+ function publishWorkflow(model, target, npmTargets) {
75
111
  const name = target.name;
112
+ const tag = releaseTag(model, target, npmTargets);
76
113
  // BY TARGET, NOT BY ECOSYSTEM. `packageName(model, 'npm')` resolves the
77
114
  // ecosystem's PRIMARY target — ts — so every npm target's workflow named
78
115
  // the ts package: publish-js.yml claimed `@voxgig-sdk/github-sdk` while
@@ -103,14 +140,25 @@ function publishWorkflow(model, target) {
103
140
  # version by two mechanisms. Releasing is an act someone performs and
104
141
  # watches.
105
142
  #
106
- # TWO JOBS, BECAUSE THEY NEED DIFFERENT PRIVILEGES. A dependency lifecycle
143
+ # THREE JOBS, BECAUSE THEY NEED DIFFERENT PRIVILEGES. A dependency lifecycle
107
144
  # script can ask the runner for any OIDC token its job is permitted to mint,
108
145
  # so a job that both installs dependencies and holds \`id-token: write\` can be
109
- # made to publish before its own gates finish.
146
+ # made to publish before its own gates finish. The same reasoning keeps
147
+ # \`contents: write\` out of both: checkout persists its token into the git
148
+ # config for the whole job.
110
149
  #
111
150
  # verify contents: read, nothing else. Installs, builds and tests.
112
151
  # publish id-token: write. Installs no dependencies and runs no project
113
152
  # code; it packs what is already in the tree.
153
+ # tag contents: write. Runs git and nothing else.
154
+ #
155
+ # THE TAG IS CUT HERE BECAUSE IT CANNOT BE CUT ANYWHERE ELSE. npm binds the
156
+ # trusted publisher to ONE workflow file, so whatever must accompany a publish
157
+ # belongs inside it; and a ref pushed with GITHUB_TOKEN starts no further
158
+ # workflow run, so "tag, and let a tag-triggered publisher fire" does not
159
+ # work. A release that publishes but leaves no ref cannot be answered later:
160
+ # nothing in git says which tree the tarball came from, and nothing
161
+ # downstream can pin this SDK by tag.
114
162
 
115
163
  name: publish-${name}
116
164
 
@@ -222,6 +270,55 @@ jobs:
222
270
  if: steps.registry.outputs.published == 'false'
223
271
  working-directory: ${name}
224
272
  run: npm publish --access public
273
+
274
+ # Runs git and nothing else. No install, no project code — so the
275
+ # repository-write credential is never in scope while third-party code runs.
276
+ #
277
+ # It runs even when the publish step SKIPPED because the version was already
278
+ # on the registry: that is what makes re-dispatching after a partial release
279
+ # finish the job rather than leave a published version permanently untagged.
280
+ tag:
281
+ name: tag
282
+ needs: [verify, publish]
283
+ runs-on: ubuntu-latest
284
+ timeout-minutes: 10
285
+
286
+ # The ONLY job that may write to the repository, and the only one that
287
+ # runs no project code.
288
+ permissions:
289
+ contents: write
290
+
291
+ steps:
292
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
293
+ with:
294
+ # Tags are needed to tell "already tagged" from "not tagged yet".
295
+ fetch-depth: 0
296
+
297
+ - name: Tag the release
298
+ env:
299
+ VERSION: \${{ needs.verify.outputs.version }}
300
+ run: |
301
+ set -euo pipefail
302
+ TAG="${tag}"
303
+ HEAD_SHA="\$(git rev-parse HEAD)"
304
+
305
+ # EXISTENCE IS NOT ENOUGH. \`--verify\` only asks whether the name
306
+ # resolves; a tag created between the verify job's guard and this
307
+ # checkout could point anywhere. Treating that as idempotent would
308
+ # leave a green run with a published artifact from THIS commit and a
309
+ # release tag on a different one.
310
+ AT="\$(git rev-parse -q --verify "refs/tags/\$TAG^{commit}" 2>/dev/null || true)"
311
+ if [ -n "\$AT" ]; then
312
+ if [ "\$AT" != "\$HEAD_SHA" ]; then
313
+ echo "::error::\$TAG exists on \$AT, not this commit (\$HEAD_SHA)"
314
+ exit 1
315
+ fi
316
+ echo "\$TAG already points here — nothing to do" >> "\$GITHUB_STEP_SUMMARY"
317
+ exit 0
318
+ fi
319
+ git tag "\$TAG"
320
+ git push origin "refs/tags/\$TAG"
321
+ echo "pushed \$TAG" >> "\$GITHUB_STEP_SUMMARY"
225
322
  `;
226
323
  }
227
324
  function publishingDoc(model, targets, repoUrl) {
@@ -236,6 +333,12 @@ function publishingDoc(model, targets, repoUrl) {
236
333
  const owner = '' === repo ? '<owner>/<repo>' : repo;
237
334
  const rows = targets.map((t) => `| \`${t.name}/\` | ${(0, packageMeta_1.packageName)(model, t.name)} | ` +
238
335
  `\`.github/workflows/publish-${t.name}.yml\` |`).join('\n');
336
+ // WHICH TAG EACH TARGET CUTS. Worth a table rather than a sentence: the
337
+ // primary npm target owns the bare `v<version>` and every other one is
338
+ // prefixed, so with more than one npm target the answer differs per row.
339
+ const tagRows = '| target | tag |\n|---|---|\n' + targets.map((t) => `| \`${t.name}/\` | \`` +
340
+ releaseTag(model, t, targets).replace('$VERSION', '<version>') +
341
+ '\` |').join('\n');
239
342
  return `# Publishing
240
343
 
241
344
  GENERATED by @voxgig/sdkgen — regenerated on every \`npm run generate\`.
@@ -273,6 +376,26 @@ It is a DISPATCH rather than a tag push because the root \`Makefile\` also
273
376
  publishes, with a vault-injected token. A tag-triggered workflow racing it
274
377
  would publish one version by two mechanisms.
275
378
 
379
+ ## The release is tagged for you
380
+
381
+ The workflow cuts the git tag itself, after a successful publish, so a
382
+ released version always has a ref naming the tree it came from. Nothing to
383
+ do by hand.
384
+
385
+ ${tagRows}
386
+
387
+ Re-dispatching a version that is already on the registry skips the publish
388
+ and still cuts a missing tag, so a partial release is finished by running it
389
+ again rather than repaired by hand. If the tag already exists on a DIFFERENT
390
+ commit the run fails rather than moving it: that combination means the
391
+ published artifact and the tag disagree, and only a person should decide
392
+ which is wrong.
393
+
394
+ The tag job is the only one that may write to the repository, and it runs
395
+ git and nothing else. \`contents: write\` never shares a job with project
396
+ code, for the same reason \`id-token: write\` does not — \`checkout\` persists
397
+ its token into the git config for the whole job.
398
+
276
399
  ## One-time set-up
277
400
 
278
401
  npm has to be told which repository and which workflow file may publish this
@@ -299,7 +422,7 @@ package goes out by hand from an authenticated machine:
299
422
 
300
423
  After that, register the publisher and every later release is a dispatch.
301
424
 
302
- ## Why the workflow has two jobs
425
+ ## Why the workflow has three jobs
303
426
 
304
427
  A dependency lifecycle script can ask the runner for any OIDC token the job
305
428
  it runs in is permitted to mint. A job that both installs dependencies and
@@ -307,8 +430,14 @@ holds \`id-token: write\` can therefore be made to publish as this package
307
430
  before its own gates finish.
308
431
 
309
432
  So \`verify\` installs, builds and tests under \`contents: read\` and holds no
310
- credential, and \`publish\` holds \`id-token: write\` while installing nothing
311
- and running no project code.
433
+ credential; \`publish\` holds \`id-token: write\` while installing nothing and
434
+ running no project code; and \`tag\` holds \`contents: write\` while running
435
+ git and nothing else.
436
+
437
+ The tag cannot be moved out into its own workflow: npm binds the trusted
438
+ publisher to ONE workflow filename, so anything that must accompany a publish
439
+ has to live inside this file. Nor can it be left to a tag-triggered
440
+ publisher — a ref pushed with \`GITHUB_TOKEN\` starts no further workflow run.
312
441
  `;
313
442
  }
314
443
  //# sourceMappingURL=PublishWorkflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublishWorkflow.js","sourceRoot":"","sources":["../../src/cmp/PublishWorkflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PublishWorkflow.js","sourceRoot":"","sources":["../../src/cmp/PublishWorkflow.ts"],"names":[],"mappings":"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"}
package/dist/sdkgen.d.ts CHANGED
@@ -73,6 +73,12 @@ type SdkGenOptions = {
73
73
  bin?: any;
74
74
  };
75
75
  dryrun?: boolean;
76
+ external?: Record<string, ExternalOverride>;
77
+ };
78
+ type ExternalOverride = {
79
+ path?: string;
80
+ sdkrel?: string;
81
+ enclosing?: boolean;
76
82
  };
77
83
  declare const Jostraca: typeof JostracaModule.Jostraca;
78
84
  declare function SdkGen(opts: SdkGenOptions): {
package/dist/sdkgen.js CHANGED
@@ -367,11 +367,12 @@ function SdkGen(opts) {
367
367
  // so resolve it ONCE: every destination is compared against it, and a
368
368
  // comparison between a relative and an absolute path is meaningless.
369
369
  const root = node_path_1.default.resolve(folder);
370
+ const externalOverride = resolveExternalOverride(opts, log);
370
371
  // Snapshot the decision before preflight. In particular, do not check a
371
372
  // missing optional destination once for safety and AGAIN before writing:
372
373
  // if it appeared between those checks, the pass could write into content
373
374
  // that was never ownership-validated.
374
- const external = externalItems(model, root, ['target', 'docs'])
375
+ const external = externalItems(model, root, ['target', 'docs'], externalOverride)
375
376
  .map((ext) => ({ ...ext, skip: externalSkipReason(ext, fs) }));
376
377
  // Before ANY file is written, in-tree included: a destination that turns
377
378
  // out to be wrong must abort the whole generation, not leave half of it
@@ -669,6 +670,60 @@ SdkGen.makeBuild = async function (opts) {
669
670
  // An INACTIVE target is still listed: it must be taken out of the in-tree
670
671
  // model (see withoutExternal) so that switching it off does not silently
671
672
  // relocate it into `<sdk-repo>/<target>/`. The generate loop skips it.
673
+ // The generate-time override of where out-of-tree items are written.
674
+ //
675
+ // Two ways in, merged, the environment winning:
676
+ //
677
+ // opts.external the caller holds the config — a build script it owns.
678
+ // SDKGEN_EXTERNAL JSON, for driving a checkout the caller does NOT own.
679
+ //
680
+ // The environment matters more than it looks. The case this exists for is a
681
+ // repository that carries a tagged checkout of its SDK and regenerates
682
+ // itself from it: the script doing that owns neither the SDK's model nor its
683
+ // `.sdk/build/sdkgen.js`, so any route that requires editing a file inside
684
+ // the checkout means patching someone else's repo on every clone — and the
685
+ // point of the exercise was that the clone is disposable.
686
+ //
687
+ // ONE JSON VARIABLE, not one variable per item per field. Item names carry
688
+ // hyphens (`seneca-provider`), so a
689
+ // `SDKGEN_EXTERNAL_SENECA_PROVIDER_PATH` scheme needs a name mangling with
690
+ // no inverse: `a-b` and `a_b` collide, and nothing can tell which was meant.
691
+ function resolveExternalOverride(opts, log) {
692
+ const declared = opts.external || {};
693
+ const raw = process.env.SDKGEN_EXTERNAL;
694
+ if (null == raw || '' === raw.trim()) {
695
+ return declared;
696
+ }
697
+ let parsed;
698
+ try {
699
+ parsed = JSON.parse(raw);
700
+ }
701
+ catch (err) {
702
+ throw new utility_1.SdkGenError('SDKGEN_EXTERNAL is not valid JSON: ' + (err?.message || err) +
703
+ '\n Expected an object keyed by item name, for example:' +
704
+ '\n {"seneca-provider":{"path":"../..","sdkrel":".sdksrc/acme-sdk","enclosing":true}}' +
705
+ '\n Got: ' + raw.slice(0, 200));
706
+ }
707
+ if (null == parsed || 'object' !== typeof parsed || Array.isArray(parsed)) {
708
+ throw new utility_1.SdkGenError('SDKGEN_EXTERNAL must be a JSON OBJECT keyed by item name, for example:' +
709
+ '\n {"seneca-provider":{"path":"../..","sdkrel":".sdksrc/acme-sdk","enclosing":true}}' +
710
+ '\n Got: ' + raw.slice(0, 200));
711
+ }
712
+ const merged = { ...declared };
713
+ for (const name of Object.keys(parsed)) {
714
+ merged[name] = { ...(declared[name] || {}), ...(parsed[name] || {}) };
715
+ }
716
+ // LOUDLY. Generation writing somewhere other than the model says is
717
+ // exactly the thing whose only previous trace was one INFO line naming a
718
+ // resolved folder, and that cost a silent green run that emitted nothing.
719
+ const named = Object.keys(parsed).sort();
720
+ log.info({
721
+ point: 'external-override',
722
+ items: named.join(','),
723
+ note: 'SDKGEN_EXTERNAL overrides the output of: ' + named.join(', '),
724
+ });
725
+ return merged;
726
+ }
672
727
  // Every item, of every kind, that generates OUTSIDE the SDK repo.
673
728
  //
674
729
  // Keyed by kind because `docs` needs exactly this and a second copy of it
@@ -679,18 +734,43 @@ SdkGen.makeBuild = async function (opts) {
679
734
  // The claim map spanning kinds is the load-bearing part: a docs item and a
680
735
  // target pointed at the same folder would otherwise silently overwrite each
681
736
  // other, in whatever order the passes happen to run.
682
- function externalItems(model, folder, kinds) {
737
+ function externalItems(model, folder, kinds, override) {
683
738
  return kinds.flatMap((kind) => {
684
739
  const items = model?.main?.[apidef_1.KIT]?.[kind] || {};
685
740
  return Object.keys(items).sort()
686
- .map((name) => ({ kind, name, target: items[name] }))
741
+ .map((name) => {
742
+ // Keyed by NAME, across kinds: a docs item and a target that share a
743
+ // name share an override. They already share an output folder if both
744
+ // are pointed at one (the claim map refuses that), so a name that
745
+ // means two things is a problem before it reaches here.
746
+ const ov = override[name] || {};
747
+ // A SHALLOW CLONE, so the override never writes back into the model.
748
+ // The in-tree pass still reads it, and `target add` still round-trips
749
+ // it to disk; an override is for THIS RUN. Nothing compares these by
750
+ // identity — withoutExternal keys by kind:name.
751
+ const output = { ...(items[name]?.output || {}) };
752
+ if (null != ov.path && '' !== ov.path) {
753
+ output.path = ov.path;
754
+ }
755
+ if (null != ov.sdkrel && '' !== ov.sdkrel) {
756
+ output.sdkrel = ov.sdkrel;
757
+ }
758
+ return { kind, name, target: { ...items[name], output }, ov };
759
+ })
760
+ // AFTER the override, so it can send an item out of tree that the
761
+ // model generates in tree. The machinery needs nothing else for that:
762
+ // withoutExternal takes it out of the in-tree pass by kind:name, and
763
+ // every destination guard below runs on it either way.
687
764
  .filter((t) => {
688
- const path = t.target?.output?.path;
765
+ const path = t.target.output.path;
689
766
  return null != path && '' !== path;
690
767
  })
691
768
  .map((t) => ({
692
- ...t,
769
+ kind: t.kind,
770
+ name: t.name,
771
+ target: t.target,
693
772
  folder: node_path_1.default.resolve(folder, String(t.target.output.path)),
773
+ enclosing: true === t.ov.enclosing,
694
774
  active: false !== t.target.active,
695
775
  }));
696
776
  });
@@ -779,10 +859,30 @@ function checkExternalFolders(external, root, fs) {
779
859
  'path` unset — it is then generated in-tree, as <sdk-project>/' +
780
860
  ext.name + '/.');
781
861
  }
782
- if (folderContains(ext.folder, root)) {
862
+ // A DESTINATION THAT CONTAINS THE PROJECT is what `..` produces, and it
863
+ // is refused — UNLESS the caller said at generate time that it meant it.
864
+ //
865
+ // The legitimate case is a repository that carries a tagged checkout of
866
+ // its SDK in a subfolder and regenerates itself from it: the SDK then
867
+ // sits INSIDE its own output folder, and `output: path` resolves to an
868
+ // ancestor. Generation writes the files its components declare and
869
+ // prunes nothing, so the checkout survives its own run.
870
+ //
871
+ // `enclosing` is a separate flag from `path` on purpose, and only the
872
+ // override can set it — never the model. Overriding a path is one
873
+ // decision; writing over the directory holding the project is a second,
874
+ // much worse thing to get wrong, and it fails silently: a typo'd `..`
875
+ // fabricates a package tree over an unrelated repo, overwriting its
876
+ // package.json, README, LICENSE and CI in place. Saying it twice is the
877
+ // cost of keeping the typo caught for everyone who did not ask.
878
+ if (folderContains(ext.folder, root) && !ext.enclosing) {
783
879
  throw new utility_1.SdkGenError('External output path contains the SDK project.\n ' + where +
784
880
  '\n Generation would write this package over the directory holding ' +
785
- 'the SDK project itself.');
881
+ 'the SDK project itself.' +
882
+ '\n If that is deliberate — the SDK is checked out INSIDE its own ' +
883
+ 'output folder, and regenerates it — say so at generate time with ' +
884
+ '`enclosing: true` in the ' + ext.name + ' entry of SDKGEN_EXTERNAL ' +
885
+ 'or the `external` build option. It cannot be set in the model.');
786
886
  }
787
887
  // ACROSS KINDS, not within one: `docs` and `target` are separate
788
888
  // namespaces, so an item of each may legitimately be called `api` — and
@@ -801,6 +901,20 @@ function checkExternalFolders(external, root, fs) {
801
901
  }
802
902
  if (true === ext.target.output.adopt)
803
903
  continue;
904
+ // AN ENCLOSING DESTINATION ALWAYS HOLDS CONTENT: the SDK project itself
905
+ // is inside it, along with whatever else the repository carries. The
906
+ // emptiness check can therefore only ever say "yes, it has content", so
907
+ // it carries no information here — and requiring `output: adopt` on top
908
+ // of the opt-in would put the layout back in the SDK's COMMITTED model,
909
+ // which is the coupling the generate-time override exists to break. An
910
+ // SDK cloned into a repository it regenerates cannot have anticipated
911
+ // being cloned there.
912
+ //
913
+ // The containment check above is what guards this case, and it is
914
+ // stricter: it refuses unless the caller named this item and said
915
+ // `enclosing` for it.
916
+ if (ext.enclosing)
917
+ continue;
804
918
  const entries = fs.readdirSync(ext.folder)
805
919
  .map((entry) => String(entry));
806
920
  if (entries.includes(EXTERNAL_MARKER))
@@ -852,6 +966,16 @@ function externalSdkRel(ext, root, log) {
852
966
  // down to the SDK project. The LAST is the project's own folder; any
853
967
  // earlier one is a directory ABOVE it, which nothing in the model declares.
854
968
  const named = derived.split('/').filter((seg) => '..' !== seg);
969
+ // NOT WHEN THE OUTPUT ENCLOSES THE PROJECT. There the walk back descends
970
+ // rather than ascends — `.sdksrc/acme-sdk` names the subfolder holding the
971
+ // checkout and then the checkout, both INSIDE the output folder and both
972
+ // chosen by whoever asked for this layout. Nothing is above anything, so
973
+ // the warning's complaint (directories the model does not declare) is
974
+ // false, and its advice (declare `output: sdkrel`) would put one layout's
975
+ // path into the other's committed model.
976
+ if (ext.enclosing) {
977
+ return derived;
978
+ }
855
979
  if (1 < named.length) {
856
980
  log.warn({
857
981
  point: 'external-sdkrel-derived', target: ext.name, sdkrel: derived,
@@ -1 +1 @@
1
- {"version":3,"file":"sdkgen.js","sourceRoot":"","sources":["../src/sdkgen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdkgen.js","sourceRoot":"","sources":["../src/sdkgen.ts"],"names":[],"mappings":"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"}