@teambit/export 1.0.27 → 1.0.28

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.
@@ -19,10 +19,10 @@ export declare class ExportCmd implements Command {
19
19
  constructor(exportMain: ExportMain);
20
20
  report([ids]: [string[]], { eject, all, allVersions, originDirectly, ignoreMissingArtifacts, resume, headOnly, forkLaneNewScope, openBrowser, }: any): Promise<string>;
21
21
  json([ids]: [string[]], { eject, all, allVersions, originDirectly, ignoreMissingArtifacts, resume, }: any): Promise<{
22
- componentsIds: import("@teambit/legacy-bit-id").BitId[];
23
- nonExistOnBitMap: import("@teambit/legacy-bit-id").BitId[];
24
- removedIds: import("@teambit/legacy/dist/bit-id").BitIds;
25
- missingScope: import("@teambit/legacy-bit-id").BitId[];
22
+ componentsIds: import("@teambit/component-id").ComponentID[];
23
+ nonExistOnBitMap: import("@teambit/component-id").ComponentID[];
24
+ removedIds: import("@teambit/component-id").ComponentIdList;
25
+ missingScope: import("@teambit/component-id").ComponentID[];
26
26
  ejectResults: any;
27
27
  exportedLanes: import("@teambit/lanes").Lane[];
28
28
  rippleJobs: string[];
@@ -1,6 +1,6 @@
1
1
  import { CLIMain } from '@teambit/cli';
2
2
  import { ScopeMain } from '@teambit/scope';
3
- import { BitId, BitIds } from '@teambit/legacy/dist/bit-id';
3
+ import { ComponentID, ComponentIdList } from '@teambit/component-id';
4
4
  import { Consumer } from '@teambit/legacy/dist/consumer';
5
5
  import { RemoveMain } from '@teambit/remove';
6
6
  import { Lane } from '@teambit/legacy/dist/scope/models';
@@ -10,7 +10,7 @@ import { Logger, LoggerMain } from '@teambit/logger';
10
10
  import { EjectMain } from '@teambit/eject';
11
11
  import { ExportOrigin } from '@teambit/legacy/dist/scope/network/http/http';
12
12
  import { DependencyResolverMain } from '@teambit/dependency-resolver';
13
- export declare type OnExportIdTransformer = (id: BitId) => BitId;
13
+ export declare type OnExportIdTransformer = (id: ComponentID) => ComponentID;
14
14
  declare type ExportParams = {
15
15
  ids?: string[];
16
16
  eject?: boolean;
@@ -30,10 +30,10 @@ export declare class ExportMain {
30
30
  private eject;
31
31
  constructor(workspace: Workspace, remove: RemoveMain, depResolver: DependencyResolverMain, logger: Logger, eject: EjectMain);
32
32
  export(params?: ExportParams): Promise<{
33
- componentsIds: BitId[];
34
- nonExistOnBitMap: BitId[];
35
- removedIds: BitIds;
36
- missingScope: BitId[];
33
+ componentsIds: ComponentID[];
34
+ nonExistOnBitMap: ComponentID[];
35
+ removedIds: ComponentIdList;
36
+ missingScope: ComponentID[];
37
37
  ejectResults: any;
38
38
  exportedLanes: Lane[];
39
39
  rippleJobs: string[];
@@ -47,11 +47,11 @@ export declare class ExportMain {
47
47
  filterOutExistingVersions, // go to the remote and check whether the version exists there. if so, don't export it
48
48
  exportOrigin, }: {
49
49
  scope: Scope;
50
- ids: BitIds;
50
+ ids: ComponentIdList;
51
51
  laneObject?: Lane;
52
52
  allVersions?: boolean;
53
53
  originDirectly?: boolean;
54
- idsWithFutureScope: BitIds;
54
+ idsWithFutureScope: ComponentIdList;
55
55
  resumeExportId?: string | undefined;
56
56
  ignoreMissingArtifacts?: boolean;
57
57
  ignoreMissingExternalArtifacts?: boolean;
@@ -60,9 +60,9 @@ export declare class ExportMain {
60
60
  filterOutExistingVersions?: boolean;
61
61
  exportOrigin?: ExportOrigin;
62
62
  }): Promise<{
63
- exported: BitIds;
64
- updatedLocally: BitIds;
65
- newIdsOnRemote: BitId[];
63
+ exported: ComponentIdList;
64
+ updatedLocally: ComponentIdList;
65
+ newIdsOnRemote: ComponentID[];
66
66
  rippleJobs: string[];
67
67
  }>;
68
68
  private transformToOneObjectListWithScopeData;
@@ -81,6 +81,9 @@ export declare class ExportMain {
81
81
  private convertToCorrectScope;
82
82
  private removeFromStagedConfig;
83
83
  private getComponentsToExport;
84
+ /**
85
+ * remove the entire "idsWithFutureScope" thing. is not relevant anymore.
86
+ */
84
87
  private getIdsWithFutureScope;
85
88
  private getLaneCompIdsToExport;
86
89
  private getRemovedStagedBitIds;
@@ -47,9 +47,9 @@ function _analytics() {
47
47
  };
48
48
  return data;
49
49
  }
50
- function _bitId() {
51
- const data = require("@teambit/legacy/dist/bit-id");
52
- _bitId = function () {
50
+ function _componentId() {
51
+ const data = require("@teambit/component-id");
52
+ _componentId = function () {
53
53
  return data;
54
54
  };
55
55
  return data;
@@ -313,7 +313,7 @@ class ExportMain {
313
313
  return {
314
314
  updatedIds: [],
315
315
  nonExistOnBitMap: [],
316
- removedIds: new (_bitId().BitIds)(),
316
+ removedIds: new (_componentId().ComponentIdList)(),
317
317
  missingScope,
318
318
  exported: [],
319
319
  newIdsOnRemote: [],
@@ -404,7 +404,22 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
404
404
  var _centralHubResults;
405
405
  this.logger.debug(`scope.exportMany, ids: ${ids.toString()}`);
406
406
  const scopeRemotes = await (0, _scopeRemotes().getScopeRemotes)(scope);
407
- const idsGroupedByScope = ids.toGroupByScopeName(idsWithFutureScope);
407
+ const groupByScopeName = idList => {
408
+ return idList.reduce((acc, current) => {
409
+ const getScopeName = () => {
410
+ if (current.scope) return current.scope;
411
+ const idWithDefaultScope = idsWithFutureScope.searchWithoutScopeAndVersion(current);
412
+ return idWithDefaultScope ? idWithDefaultScope.scope : null;
413
+ };
414
+ const scopeName = getScopeName();
415
+ if (!scopeName) {
416
+ throw new Error(`toGroupByScopeName() expect ids to have a scope name, got ${current.toString()}`);
417
+ }
418
+ if (acc[scopeName]) acc[scopeName].push(current);else acc[scopeName] = new (_componentId().ComponentIdList)(current);
419
+ return acc;
420
+ }, {});
421
+ };
422
+ const idsGroupedByScope = groupByScopeName(ids);
408
423
 
409
424
  /**
410
425
  * when a component is exported for the first time, and the lane-scope is not the same as the component-scope, it's
@@ -415,8 +430,8 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
415
430
  if (!laneObject) {
416
431
  return;
417
432
  }
418
- const newIds = _bitId().BitIds.fromArray(ids.filter(id => !id.hasScope()));
419
- const newIdsGrouped = newIds.toGroupByScopeName(idsWithFutureScope);
433
+ const newIds = _componentId().ComponentIdList.fromArray(ids.filter(id => !scope.isExported(id)));
434
+ const newIdsGrouped = groupByScopeName(newIds);
420
435
  await (0, _pMapSeries().default)(Object.keys(newIdsGrouped), async scopeName => {
421
436
  if (scopeName === laneObject.scope) {
422
437
  // this validation is redundant if the lane-component is in the same scope as the lane-object
@@ -425,9 +440,9 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
425
440
  // by getting the remote we also validate that this scope actually exists.
426
441
  const remote = await scopeRemotes.resolve(scopeName, scope);
427
442
  const list = await remote.list();
428
- const listIds = _bitId().BitIds.fromArray(list.map(listItem => listItem.id));
443
+ const listIds = _componentId().ComponentIdList.fromArray(list.map(listItem => listItem.id));
429
444
  newIdsGrouped[scopeName].forEach(id => {
430
- if (listIds.hasWithoutScopeAndVersion(id)) {
445
+ if (listIds.hasWithoutVersion(id)) {
431
446
  throw new Error(`unable to export a lane with a new component "${id.toString()}", which has the default-scope "${scopeName}".
432
447
  this scope already has a component with the same name. as such, it'll be impossible to merge the lane later because these two components are different`);
433
448
  }
@@ -449,7 +464,7 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
449
464
  const getVersionsToExport = async modelComponent => {
450
465
  if (exportHeadsOnly) {
451
466
  var _laneObject$getCompon;
452
- const head = (laneObject === null || laneObject === void 0 || (_laneObject$getCompon = laneObject.getComponent(modelComponent.toBitId())) === null || _laneObject$getCompon === void 0 ? void 0 : _laneObject$getCompon.head) || modelComponent.head;
467
+ const head = (laneObject === null || laneObject === void 0 || (_laneObject$getCompon = laneObject.getComponent(modelComponent.toComponentId())) === null || _laneObject$getCompon === void 0 ? void 0 : _laneObject$getCompon.head) || modelComponent.head;
453
468
  if (!head) throw new Error(`getVersionsToExport should export the head only, but the head of ${modelComponent.id()} is missing`);
454
469
  return [head];
455
470
  }
@@ -470,7 +485,7 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
470
485
  const getUpdatedObjectsToExport = async (remoteNameStr, bitIds, lane) => {
471
486
  bitIds.throwForDuplicationIgnoreVersion();
472
487
  const remote = await scopeRemotes.resolve(remoteNameStr, scope);
473
- const idsToChangeLocally = _bitId().BitIds.fromArray(bitIds.filter(id => !id.scope));
488
+ const idsToChangeLocally = _componentId().ComponentIdList.fromArray(bitIds.filter(id => !scope.isExported(id)));
474
489
  const componentsAndObjects = [];
475
490
  const objectList = new (_objectList().ObjectList)();
476
491
  const objectListPerName = {};
@@ -547,13 +562,15 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
547
562
  // don't use Promise.all, otherwise, it'll throw "JavaScript heap out of memory" on a large set of data
548
563
  await (0, _pMapSeries().default)(refsToExportPerComponent, processModelComponent);
549
564
  if (lane) {
550
- lane.components.forEach(c => {
551
- const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(c.id);
552
- c.id = c.id.hasScope() ? c.id : c.id.changeScope((idWithFutureScope === null || idWithFutureScope === void 0 ? void 0 : idWithFutureScope.scope) || lane.scope);
553
- });
554
- if (lane.readmeComponent) {
555
- lane.readmeComponent.id = lane.readmeComponent.id.hasScope() ? lane.readmeComponent.id : lane.readmeComponent.id.changeScope(lane.scope);
556
- }
565
+ // lane.components.forEach((c) => {
566
+ // const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(c.id);
567
+ // c.id = c.id.hasScope() ? c.id : c.id.changeScope(idWithFutureScope?.scope || lane.scope);
568
+ // });
569
+ // if (lane.readmeComponent) {
570
+ // lane.readmeComponent.id = lane.readmeComponent.id.hasScope()
571
+ // ? lane.readmeComponent.id
572
+ // : lane.readmeComponent.id.changeScope(lane.scope);
573
+ // }
557
574
  const laneData = {
558
575
  ref: lane.hash(),
559
576
  buffer: await lane.compress()
@@ -584,7 +601,7 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
584
601
  if (failedScopes.length) {
585
602
  throw new (_persistFailed().PersistFailed)(failedScopes, errors);
586
603
  }
587
- const exportedBitIds = successIds.map(id => _bitId().BitId.parse(id, true));
604
+ const exportedBitIds = successIds.map(id => _componentId().ComponentID.fromString(id));
588
605
  if (manyObjectsPerRemote.length === 1) {
589
606
  // when on a lane, it's always exported to the lane. and the ids can be from different scopes, so having the
590
607
  // filter below, will remove these components from the output of bit-export at the end.
@@ -613,10 +630,9 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
613
630
  const removeComponentVersions = false;
614
631
  const refsToRemove = await Promise.all(idsToChangeLocally.map(id => scope.sources.getRefsForComponentRemoval(id, removeComponentVersions)));
615
632
  scope.objects.removeManyObjects(refsToRemove.flat());
616
- idsToChangeLocally.forEach(id => {
617
- var _idsWithFutureScope$s;
618
- scope.createSymlink(id, ((_idsWithFutureScope$s = idsWithFutureScope.searchWithoutScopeAndVersion(id)) === null || _idsWithFutureScope$s === void 0 ? void 0 : _idsWithFutureScope$s.scope) || remoteNameStr);
619
- });
633
+ // idsToChangeLocally.forEach((id) => {
634
+ // scope.createSymlink(id, idsWithFutureScope.searchWithoutScopeAndVersion(id)?.scope || remoteNameStr);
635
+ // });
620
636
  componentsAndObjects.forEach(componentObject => scope.sources.put(componentObject));
621
637
 
622
638
  // update lanes
@@ -634,19 +650,19 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
634
650
  await Promise.all(componentsAndObjects.map(async ({
635
651
  component
636
652
  }) => {
637
- await scope.objects.remoteLanes.addEntry(remoteLaneId, component.toBitId(), component.getHead());
653
+ await scope.objects.remoteLanes.addEntry(remoteLaneId, component.toComponentId(), component.getHead());
638
654
  }));
639
655
  }
640
656
  await scope.objects.persist();
641
657
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
642
- const newIdsOnRemote = exportedIds.map(id => _bitId().BitId.parse(id, true));
658
+ const newIdsOnRemote = exportedIds.map(id => _componentId().ComponentID.fromString(id));
643
659
  // remove version. exported component might have multiple versions exported
644
660
  const idsWithRemoteScope = newIdsOnRemote.map(id => id.changeVersion(undefined));
645
- const idsWithRemoteScopeUniq = _bitId().BitIds.uniqFromArray(idsWithRemoteScope);
661
+ const idsWithRemoteScopeUniq = _componentId().ComponentIdList.uniqFromArray(idsWithRemoteScope);
646
662
  return {
647
663
  newIdsOnRemote,
648
664
  exported: idsWithRemoteScopeUniq,
649
- updatedLocally: _bitId().BitIds.fromArray(idsWithRemoteScopeUniq.filter(id => idsToChangeLocally.hasWithoutScopeAndVersion(id)))
665
+ updatedLocally: _componentId().ComponentIdList.fromArray(idsWithRemoteScopeUniq.filter(id => idsToChangeLocally.hasWithoutScopeAndVersion(id)))
650
666
  };
651
667
  });
652
668
  };
@@ -665,8 +681,8 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
665
681
  const results = await updateLocalObjects(laneObject);
666
682
  return {
667
683
  newIdsOnRemote: _ramda().default.flatten(results.map(r => r.newIdsOnRemote)),
668
- exported: _bitId().BitIds.uniqFromArray(_ramda().default.flatten(results.map(r => r.exported))),
669
- updatedLocally: _bitId().BitIds.uniqFromArray(_ramda().default.flatten(results.map(r => r.updatedLocally))),
684
+ exported: _componentId().ComponentIdList.uniqFromArray(_ramda().default.flatten(results.map(r => r.exported))),
685
+ updatedLocally: _componentId().ComponentIdList.uniqFromArray(_ramda().default.flatten(results.map(r => r.updatedLocally))),
670
686
  rippleJobs: ((_centralHubResults = centralHubResults) === null || _centralHubResults === void 0 ? void 0 : _centralHubResults.rippleJobs) || []
671
687
  };
672
688
  }
@@ -755,13 +771,12 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
755
771
  const haveVersionsChanged = await Promise.all(versionsObjects.map(async objectVersion => {
756
772
  const didDependencyChange = changeDependencyScope(objectVersion);
757
773
  changeExtensionsScope(objectVersion);
758
- this.depResolver.updateDepsOnLegacyExport(objectVersion, getIdWithUpdatedScope.bind(this));
759
774
  return didDependencyChange;
760
775
  }));
761
776
  const shouldChangeScope = shouldFork ? remoteScope !== componentsObjects.component.scope : !componentsObjects.component.scope;
762
777
  const hasComponentChanged = shouldChangeScope;
763
778
  if (shouldChangeScope) {
764
- const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(componentsObjects.component.toBitId());
779
+ const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(componentsObjects.component.toComponentId());
765
780
  componentsObjects.component.scope = (idWithFutureScope === null || idWithFutureScope === void 0 ? void 0 : idWithFutureScope.scope) || remoteScope;
766
781
  }
767
782
 
@@ -833,7 +848,7 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
833
848
  }
834
849
  function getBitIdsWithUpdatedScope(bitIds) {
835
850
  const updatedIds = bitIds.map(id => getIdWithUpdatedScope(id));
836
- return _bitId().BitIds.fromArray(updatedIds);
851
+ return _componentId().ComponentIdList.fromArray(updatedIds);
837
852
  }
838
853
  }
839
854
  async removeFromStagedConfig(ids) {
@@ -849,14 +864,14 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
849
864
  const idsHaveWildcard = (0, _hasWildcard().default)(ids);
850
865
  const filterNonScopeIfNeeded = async bitIds => {
851
866
  const idsWithFutureScope = await this.getIdsWithFutureScope(bitIds);
852
- const [idsToExport, missingScope] = _ramda().default.partition(id => {
853
- const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(id);
854
- if (!idWithFutureScope) throw new Error(`idsWithFutureScope is missing ${id.toString()}`);
855
- return idWithFutureScope.hasScope();
856
- }, bitIds);
867
+ // const [idsToExport, missingScope] = R.partition((id) => {
868
+ // const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(id);
869
+ // if (!idWithFutureScope) throw new Error(`idsWithFutureScope is missing ${id.toString()}`);
870
+ // return idWithFutureScope.hasScope();
871
+ // }, bitIds);
857
872
  return {
858
- idsToExport: _bitId().BitIds.fromArray(idsToExport),
859
- missingScope,
873
+ idsToExport: _componentId().ComponentIdList.fromArray(bitIds),
874
+ missingScope: [],
860
875
  idsWithFutureScope
861
876
  };
862
877
  };
@@ -886,22 +901,28 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
886
901
  _loader().default.start(_loaderMessages().BEFORE_EXPORT); // show single export
887
902
  const parsedIds = await Promise.all(ids.map(id => getParsedId(consumer, id)));
888
903
  // load the components for fixing any out-of-sync issues.
889
- await consumer.loadComponents(_bitId().BitIds.fromArray(parsedIds));
890
- return filterNonScopeIfNeeded(_bitId().BitIds.fromArray(parsedIds));
904
+ await consumer.loadComponents(_componentId().ComponentIdList.fromArray(parsedIds));
905
+ return filterNonScopeIfNeeded(_componentId().ComponentIdList.fromArray(parsedIds));
891
906
  }
907
+
908
+ /**
909
+ * remove the entire "idsWithFutureScope" thing. is not relevant anymore.
910
+ */
892
911
  async getIdsWithFutureScope(ids) {
893
- const idsArrayP = ids.map(async id => {
894
- if (id.hasScope()) return id;
895
- const componentId = await this.workspace.resolveComponentId(id);
896
- const finalScope = await this.workspace.componentDefaultScope(componentId);
897
- if (finalScope) {
898
- return id.changeScope(finalScope);
899
- }
900
- return id;
901
- });
902
- const idsArray = await Promise.all(idsArrayP);
903
- return _bitId().BitIds.fromArray(idsArray);
912
+ return ids;
913
+ // const idsArrayP = ids.map(async (id) => {
914
+ // if (id.hasScope()) return id;
915
+ // const componentId = await this.workspace.resolveComponentId(id);
916
+ // const finalScope = await this.workspace.componentDefaultScope(componentId);
917
+ // if (finalScope) {
918
+ // return id.changeScope(finalScope);
919
+ // }
920
+ // return id;
921
+ // });
922
+ // const idsArray = await Promise.all(idsArrayP);
923
+ // return ComponentIdList.fromArray(idsArray);
904
924
  }
925
+
905
926
  async getLaneCompIdsToExport(consumer, includeNonStaged) {
906
927
  const currentLaneId = consumer.getCurrentLaneId();
907
928
  const laneObject = await consumer.scope.loadLane(currentLaneId);
@@ -912,7 +933,7 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
912
933
  const componentsList = new (_componentsList().default)(consumer);
913
934
  const componentsToExportWithoutRemoved = includeNonStaged ? await componentsList.listNonNewComponentsIds() : await componentsList.listExportPendingComponentsIds(laneObject);
914
935
  const removedStagedBitIds = await this.getRemovedStagedBitIds();
915
- const componentsToExport = _bitId().BitIds.uniqFromArray([...componentsToExportWithoutRemoved, ...removedStagedBitIds]);
936
+ const componentsToExport = _componentId().ComponentIdList.uniqFromArray([...componentsToExportWithoutRemoved, ...removedStagedBitIds]);
916
937
  return {
917
938
  componentsToExport,
918
939
  laneObject
@@ -920,7 +941,7 @@ if the export fails with missing objects/versions/components, run "bit fetch --l
920
941
  }
921
942
  async getRemovedStagedBitIds() {
922
943
  const removedStaged = await this.remove.getRemovedStaged();
923
- return _bitId().BitIds.fromArray(removedStaged.map(r => r._legacy).map(id => id.changeVersion(undefined)));
944
+ return _componentId().ComponentIdList.fromArray(removedStaged.map(id => id.changeVersion(undefined)));
924
945
  }
925
946
  static async provider([cli, scope, workspace, remove, depResolver, loggerMain, eject]) {
926
947
  const logger = loggerMain.createLogger(_export().ExportAspect.id);
@@ -940,7 +961,7 @@ _export().ExportAspect.addRuntime(ExportMain);
940
961
  */
941
962
  function _updateIdsOnBitMap(bitMap, componentsIds) {
942
963
  const updatedIds = [];
943
- const nonExistOnBitMap = new (_bitId().BitIds)();
964
+ const nonExistOnBitMap = new (_componentId().ComponentIdList)();
944
965
  componentsIds.forEach(componentsId => {
945
966
  const resultId = bitMap.updateComponentId(componentsId, true);
946
967
  if (resultId.hasVersion()) updatedIds.push(resultId);else nonExistOnBitMap.push(resultId);
@@ -951,17 +972,12 @@ function _updateIdsOnBitMap(bitMap, componentsIds) {
951
972
  };
952
973
  }
953
974
  async function getParsedId(consumer, id) {
954
- // reason why not calling `consumer.getParsedId()` first is because a component might not be on
975
+ // reason why not calling `consumer.getParsedId()` only is because a component might not be on
955
976
  // .bitmap and only in the scope. we support this case and enable to export
956
- const parsedId = await consumer.scope.getParsedId(id);
957
- if (parsedId.hasScope()) return parsedId;
958
- // parsing id from the scope, doesn't provide the scope-name in case it's missing, in this case
959
- // get the id including the scope from the consumer.
960
977
  try {
961
978
  return consumer.getParsedId(id);
962
979
  } catch (err) {
963
- // not in the consumer, just return the one parsed without the scope name
964
- return parsedId;
980
+ return consumer.scope.getParsedId(id);
965
981
  }
966
982
  }
967
983
  function _throwForUnsnappedLaneReadme(lane) {
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_cli","_scope","_ramda","_bitError","_analytics","_bitId","_loader","_loaderMessages","_constants","_componentsList","_generalError","_hooks","_remove","_models","_hasWildcard","_scope2","_workspace","_interopRequireWildcard","_logger","_http","_objectList","_lodash","_pMapSeries","_laneId","_eject","_scopeRemotes","_workspaceModules","_dependencyResolver","_exportScopeComponents","_persistFailed","_traverseVersions","_export","_exportCmd","_resumeExportCmd","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","HooksManagerInstance","HooksManager","getInstance","ExportMain","constructor","workspace","remove","depResolver","logger","eject","export","params","triggerHook","PRE_EXPORT_HOOK","nonExistOnBitMap","missingScope","exported","removedIds","exportedLanes","rippleJobs","exportComponents","ejectResults","clearCache","ejectExportedComponents","exportResults","componentsIds","POST_EXPORT_HOOK","Scope","onPostExport","catch","err","error","_ref","ids","includeNonStaged","headOnly","originDirectly","OutsideWorkspaceError","consumer","idsToExport","idsWithFutureScope","laneObject","getComponentsToExport","R","isEmpty","updatedIds","BitIds","newIdsOnRemote","readmeComponent","_throwForUnsnappedLaneReadme","forkLaneNewScope","forkedFrom","isNew","scope","BitError","id","toString","name","isOnMain","updatedLocally","exportMany","exportHeadsOnly","filterOutExistingVersions","Boolean","allVersions","updateLanesAfterExport","getRemovedStagedBitIds","_updateIdsOnBitMap","bitMap","linkToNodeModulesByIds","removeFromStagedConfig","legacyScope","stagedSnaps","deleteFile","fs","getLastMergedPath","Analytics","setExtraData","onDestroy","hasWithoutVersion","resumeExportId","ignoreMissingArtifacts","ignoreMissingExternalArtifacts","exportOrigin","_centralHubResults","debug","scopeRemotes","getScopeRemotes","idsGroupedByScope","toGroupByScopeName","validateTargetScopeForLanes","newIds","fromArray","hasScope","newIdsGrouped","mapSeries","scopeName","remote","resolve","list","listIds","map","listItem","hasWithoutScopeAndVersion","Error","addMainHeadIfPossible","allHashes","modelComponent","head","find","h","hash","objects","getVersionsToExport","_laneObject$getCompon","getComponent","toBitId","localTagsOrHashes","getLocalHashes","getAllVersionHashes","repo","groupedByScopeString","join","getUpdatedObjectsToExport","remoteNameStr","bitIds","lane","throwForDuplicationIgnoreVersion","idsToChangeLocally","componentsAndObjects","objectList","ObjectList","objectListPerName","modelComponents","getModelComponent","clearObjectsFromCache","refsToPotentialExportPerComponent","refs","getRefsToExportPerComp","allHashesAsStr","flat","ref","existingOnRemote","scopeImporter","checkWhatHashesExistOnRemote","refsToExportPerComponent","filteredOutRefs","refsToExport","existing","includes","compact","processModelComponent","clearStateData","objectItems","collectVersionsObjects","objectsList","toBitObjects","componentAndObject","component","getAll","convertToCorrectScope","remoteObj","url","host","date","Date","now","addScopeListItem","componentBuffer","compress","componentData","buffer","type","getType","objectsBuffer","Promise","all","allObjectsData","addIfNotExist","components","c","idWithFutureScope","searchWithoutScopeAndVersion","changeScope","laneData","manyObjectsPerRemote","pushAllToCentralHub","transformToOneObjectListWithScopeData","http","Http","connect","CENTRAL_BIT_HUB_URL","CENTRAL_BIT_HUB_NAME","pushResults","pushToCentralHub","origin","failedScopes","successIds","errors","metadata","PersistFailed","exportedBitIds","BitId","parse","exportedIds","objectPerRemote","idsPerScope","jobs","updateLocalObjects","objectsPerRemote","removeComponentVersions","refsToRemove","sources","getRefsForComponentRemoval","removeManyObjects","_idsWithFutureScope$s","createSymlink","componentObject","put","add","remoteLanes","syncWithLaneObject","remoteLaneId","LaneId","from","DEFAULT_LANE","loadRemoteLane","addEntry","getHead","persist","idsWithRemoteScope","changeVersion","idsWithRemoteScopeUniq","uniqFromArray","centralHubResults","remotes","validateRemotes","persistRemotes","shouldPushToCentralHub","pushToRemotesCarefully","loader","start","results","flatten","objPerRemote","addScopeName","mergeObjectList","componentIds","resolveMultipleComponentIds","force","ejectErr","msg","clientId","pushRemotesPendingDir","pushOptions","pushedRemotes","count","pushMany","warn","removePendingDirs","hubRemotes","m","isHub","componentsObjects","remoteScope","exportingIds","shouldFork","versionsObjects","object","Version","haveVersionsChanged","objectVersion","didDependencyChange","changeDependencyScope","changeExtensionsScope","updateDepsOnLegacyExport","getIdWithUpdatedScope","bind","shouldChangeScope","hasComponentChanged","some","x","version","hasChanged","getAllDependencies","dependency","updatedIdWithScope","flattenedIds","flattenedDependencies","needsChange","getBitIdsWithUpdatedScope","hasFlattenedEdgesChanged","flattenedEdges","getFlattenedEdges","updatedFlattenedEdges","edge","flattenedEdgeToSource","flattenedEdgesRef","extensions","ext","extensionId","updatedScope","isEqual","dependencyId","depId","ModelComponent","fromBitId","dependencyObject","loadSync","Symlink","realScope","currentlyExportedDep","stagedConfig","getStagedConfig","compId","removeComponentConfig","write","componentsList","ComponentsList","idsHaveWildcard","hasWildcard","filterNonScopeIfNeeded","getIdsWithFutureScope","partition","isUserTryingToExportLanes","GeneralError","componentsToExport","getLaneCompIdsToExport","loaderMsg","BEFORE_EXPORTS","BEFORE_EXPORT","filtered","BEFORE_LOADING_COMPONENTS","exportPendingComponents","listNonNewComponentsIds","listExportPendingComponentsIds","filterComponentsByWildcard","parsedIds","getParsedId","loadComponents","idsArrayP","componentId","resolveComponentId","finalScope","componentDefaultScope","idsArray","currentLaneId","getCurrentLaneId","loadLane","componentsToExportWithoutRemoved","removedStagedBitIds","removedStaged","getRemovedStaged","_legacy","provider","cli","loggerMain","createLogger","ExportAspect","exportMain","register","ResumeExportCmd","ExportCmd","exports","MainRuntime","CLIAspect","ScopeAspect","WorkspaceAspect","RemoveAspect","DependencyResolverAspect","LoggerAspect","EjectAspect","addRuntime","componentsId","resultId","updateComponentId","hasVersion","parsedId","_lane$getComponentHea","isValid","getComponentHead","currentLane","isCurrentLane","setCurrentLane","toLaneId","scopeJson","removeLaneFromNew","isOnLane","_default"],"sources":["export.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport ScopeAspect, { ScopeMain } from '@teambit/scope';\nimport R from 'ramda';\nimport { BitError } from '@teambit/bit-error';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { BitId, BitIds } from '@teambit/legacy/dist/bit-id';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport {\n BEFORE_EXPORT,\n BEFORE_EXPORTS,\n BEFORE_LOADING_COMPONENTS,\n} from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport {\n CENTRAL_BIT_HUB_NAME,\n CENTRAL_BIT_HUB_URL,\n POST_EXPORT_HOOK,\n PRE_EXPORT_HOOK,\n} from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport BitMap from '@teambit/legacy/dist/consumer/bit-map/bit-map';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport HooksManager from '@teambit/legacy/dist/hooks';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { Lane, ModelComponent, Symlink, Version } from '@teambit/legacy/dist/scope/models';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { LaneReadmeComponent } from '@teambit/legacy/dist/scope/models/lane';\nimport { Http } from '@teambit/legacy/dist/scope/network/http';\nimport { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { compact } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport { Remote, Remotes } from '@teambit/legacy/dist/remotes';\nimport { EjectAspect, EjectMain, EjectResults } from '@teambit/eject';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport { ExportOrigin } from '@teambit/legacy/dist/scope/network/http/http';\nimport { linkToNodeModulesByIds } from '@teambit/workspace.modules.node-modules-linker';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport {\n persistRemotes,\n validateRemotes,\n removePendingDirs,\n} from '@teambit/legacy/dist/scope/component-ops/export-scope-components';\nimport { BitObject, Ref } from '@teambit/legacy/dist/scope/objects';\nimport { PersistFailed } from '@teambit/legacy/dist/scope/exceptions/persist-failed';\nimport { getAllVersionHashes } from '@teambit/legacy/dist/scope/component-ops/traverse-versions';\nimport { ExportAspect } from './export.aspect';\nimport { ExportCmd } from './export-cmd';\nimport { ResumeExportCmd } from './resume-export-cmd';\n\nconst HooksManagerInstance = HooksManager.getInstance();\n\nexport type OnExportIdTransformer = (id: BitId) => BitId;\n\ntype ModelComponentAndObjects = { component: ModelComponent; objects: BitObject[] };\ntype ObjectListPerName = { [name: string]: ObjectList };\ntype ObjectsPerRemote = {\n remote: Remote;\n objectList: ObjectList;\n exportedIds?: string[];\n};\ntype ObjectsPerRemoteExtended = ObjectsPerRemote & {\n objectListPerName: ObjectListPerName;\n idsToChangeLocally: BitIds;\n componentsAndObjects: ModelComponentAndObjects[];\n};\n\ntype ExportParams = {\n ids?: string[];\n eject?: boolean;\n allVersions?: boolean;\n originDirectly?: boolean;\n includeNonStaged?: boolean;\n resumeExportId?: string | undefined;\n headOnly?: boolean;\n ignoreMissingArtifacts?: boolean;\n forkLaneNewScope?: boolean;\n};\n\nexport class ExportMain {\n constructor(\n private workspace: Workspace,\n private remove: RemoveMain,\n private depResolver: DependencyResolverMain,\n private logger: Logger,\n private eject: EjectMain\n ) {}\n\n async export(params: ExportParams = {}) {\n HooksManagerInstance?.triggerHook(PRE_EXPORT_HOOK, params);\n const { nonExistOnBitMap, missingScope, exported, removedIds, exportedLanes, rippleJobs } =\n await this.exportComponents(params);\n let ejectResults;\n await this.workspace.clearCache(); // needed when one process executes multiple commands, such as in \"bit test\" or \"bit cli\"\n if (params.eject) ejectResults = await this.ejectExportedComponents(exported);\n const exportResults = {\n componentsIds: exported,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n ejectResults,\n exportedLanes,\n rippleJobs,\n };\n HooksManagerInstance?.triggerHook(POST_EXPORT_HOOK, exportResults);\n if (Scope.onPostExport) {\n await Scope.onPostExport(exported, exportedLanes).catch((err) => {\n this.logger.error('fatal: onPostExport encountered an error (this error does not stop the process)', err);\n });\n }\n return exportResults;\n }\n\n private async exportComponents({\n ids,\n includeNonStaged,\n headOnly,\n originDirectly,\n ...params\n }: ExportParams): Promise<{\n updatedIds: BitId[];\n nonExistOnBitMap: BitId[];\n removedIds: BitIds;\n missingScope: BitId[];\n exported: BitId[];\n exportedLanes: Lane[];\n newIdsOnRemote: BitId[];\n rippleJobs: string[];\n }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer: Consumer = this.workspace.consumer;\n const { idsToExport, missingScope, idsWithFutureScope, laneObject } = await this.getComponentsToExport(\n ids,\n includeNonStaged || headOnly\n );\n\n if (R.isEmpty(idsToExport)) {\n return {\n updatedIds: [],\n nonExistOnBitMap: [],\n removedIds: new BitIds(),\n missingScope,\n exported: [],\n newIdsOnRemote: [],\n exportedLanes: [],\n rippleJobs: [],\n };\n }\n\n // validate lane readme component and ensure it has been snapped\n if (laneObject?.readmeComponent) {\n _throwForUnsnappedLaneReadme(laneObject);\n }\n\n if (\n !params.forkLaneNewScope &&\n laneObject?.forkedFrom &&\n laneObject.isNew &&\n laneObject.forkedFrom.scope !== laneObject.scope\n ) {\n throw new BitError(`error: the current lane ${laneObject\n .id()\n .toString()} was forked from ${laneObject.forkedFrom.toString()}\nand is about to export to a different scope (${laneObject.scope}) than the original lane (${\n laneObject.forkedFrom.scope\n }).\non large lanes with long history graph, it results in exporting lots of objects to the new scope, some of them might be missing locally.\nif you can use the same scope as the original name, change it now by running \"bit lane change-scope ${\n laneObject.name\n } ${laneObject.forkedFrom.scope}\".\notherwise, re-run the export with \"--fork-lane-new-scope\" flag.\nif the export fails with missing objects/versions/components, run \"bit fetch --lanes <lane-name> --all-history\", to make sure you have the full history locally`);\n }\n const isOnMain = consumer.isOnMain();\n const { exported, updatedLocally, newIdsOnRemote, rippleJobs } = await this.exportMany({\n ...params,\n exportHeadsOnly: headOnly,\n scope: consumer.scope,\n ids: idsToExport,\n laneObject,\n originDirectly,\n idsWithFutureScope,\n isOnMain,\n filterOutExistingVersions: Boolean(!params.allVersions && laneObject),\n });\n if (laneObject) await updateLanesAfterExport(consumer, laneObject);\n const removedIds = await this.getRemovedStagedBitIds();\n const { updatedIds, nonExistOnBitMap } = _updateIdsOnBitMap(consumer.bitMap, updatedLocally);\n // re-generate the package.json, this way, it has the correct data in the componentId prop.\n await linkToNodeModulesByIds(this.workspace, updatedIds, true);\n await this.removeFromStagedConfig(exported);\n // ideally we should delete the staged-snaps only for the exported snaps. however, it's not easy, and it's ok to\n // delete them all because this file is mainly an optimization for the import process.\n await this.workspace.scope.legacyScope.stagedSnaps.deleteFile();\n await fs.remove(this.workspace.scope.getLastMergedPath());\n Analytics.setExtraData('num_components', exported.length);\n // it is important to have consumer.onDestroy() before running the eject operation, we want the\n // export and eject operations to function independently. we don't want to lose the changes to\n // .bitmap file done by the export action in case the eject action has failed.\n await consumer.onDestroy();\n return {\n updatedIds,\n nonExistOnBitMap: nonExistOnBitMap.filter((id) => !removedIds.hasWithoutVersion(id)),\n removedIds,\n missingScope,\n exported,\n newIdsOnRemote,\n exportedLanes: laneObject ? [laneObject] : [],\n rippleJobs,\n };\n }\n\n /**\n * the export process uses four steps. read more about it here: https://github.com/teambit/bit/pull/3371\n */\n async exportMany({\n scope,\n ids, // when exporting a lane, the ids are the lane component ids\n laneObject,\n allVersions,\n originDirectly,\n idsWithFutureScope,\n resumeExportId,\n ignoreMissingArtifacts,\n ignoreMissingExternalArtifacts = true,\n isOnMain = true,\n exportHeadsOnly, // relevant when exporting from bare-scope, especially when re-exporting existing versions, the normal calculation based on getDivergeData won't work\n filterOutExistingVersions, // go to the remote and check whether the version exists there. if so, don't export it\n exportOrigin = 'export',\n }: {\n scope: Scope;\n ids: BitIds;\n laneObject?: Lane;\n allVersions?: boolean;\n originDirectly?: boolean;\n idsWithFutureScope: BitIds;\n resumeExportId?: string | undefined;\n ignoreMissingArtifacts?: boolean;\n ignoreMissingExternalArtifacts?: boolean;\n isOnMain?: boolean;\n exportHeadsOnly?: boolean;\n filterOutExistingVersions?: boolean;\n exportOrigin?: ExportOrigin;\n }): Promise<{ exported: BitIds; updatedLocally: BitIds; newIdsOnRemote: BitId[]; rippleJobs: string[] }> {\n this.logger.debug(`scope.exportMany, ids: ${ids.toString()}`);\n const scopeRemotes: Remotes = await getScopeRemotes(scope);\n const idsGroupedByScope = ids.toGroupByScopeName(idsWithFutureScope);\n\n /**\n * when a component is exported for the first time, and the lane-scope is not the same as the component-scope, it's\n * important to validate that there is no such component in the original scope. otherwise, later, it'll be impossible\n * to merge the lane because these two components don't have any snap in common.\n */\n const validateTargetScopeForLanes = async () => {\n if (!laneObject) {\n return;\n }\n const newIds = BitIds.fromArray(ids.filter((id) => !id.hasScope()));\n const newIdsGrouped = newIds.toGroupByScopeName(idsWithFutureScope);\n await mapSeries(Object.keys(newIdsGrouped), async (scopeName) => {\n if (scopeName === laneObject.scope) {\n // this validation is redundant if the lane-component is in the same scope as the lane-object\n return;\n }\n // by getting the remote we also validate that this scope actually exists.\n const remote = await scopeRemotes.resolve(scopeName, scope);\n const list = await remote.list();\n const listIds = BitIds.fromArray(list.map((listItem) => listItem.id));\n newIdsGrouped[scopeName].forEach((id) => {\n if (listIds.hasWithoutScopeAndVersion(id)) {\n throw new Error(`unable to export a lane with a new component \"${id.toString()}\", which has the default-scope \"${scopeName}\".\n this scope already has a component with the same name. as such, it'll be impossible to merge the lane later because these two components are different`);\n }\n });\n });\n };\n\n /**\n * by default, when exporting a lane, it traverse from the Lane's head and therefore it may skip the main head.\n * later, if for some reason the original component was deleted in its scope, the head object will be missing.\n */\n const addMainHeadIfPossible = async (allHashes: Ref[], modelComponent: ModelComponent) => {\n const head = modelComponent.head;\n if (!head) return;\n if (allHashes.find((h) => h.hash === head.hash)) return; // head is already in the list\n if (!(await scope.objects.has(head))) return; // it should not happen. but if it does, we don't want to block the export\n allHashes.push(head);\n };\n\n const getVersionsToExport = async (modelComponent: ModelComponent): Promise<Ref[]> => {\n if (exportHeadsOnly) {\n const head = laneObject?.getComponent(modelComponent.toBitId())?.head || modelComponent.head;\n if (!head)\n throw new Error(\n `getVersionsToExport should export the head only, but the head of ${modelComponent.id()} is missing`\n );\n return [head];\n }\n const localTagsOrHashes = await modelComponent.getLocalHashes(scope.objects);\n if (!allVersions) {\n return localTagsOrHashes;\n }\n\n const allHashes = await getAllVersionHashes({ modelComponent, repo: scope.objects });\n await addMainHeadIfPossible(allHashes, modelComponent);\n return allHashes;\n };\n\n await validateTargetScopeForLanes();\n const groupedByScopeString = Object.keys(idsGroupedByScope)\n .map((scopeName) => `scope \"${scopeName}\": ${idsGroupedByScope[scopeName].toString()}`)\n .join(', ');\n this.logger.debug(`export-scope-components, export to the following scopes ${groupedByScopeString}`);\n\n const getUpdatedObjectsToExport = async (\n remoteNameStr: string,\n bitIds: BitIds,\n lane?: Lane\n ): Promise<ObjectsPerRemoteExtended> => {\n bitIds.throwForDuplicationIgnoreVersion();\n const remote: Remote = await scopeRemotes.resolve(remoteNameStr, scope);\n const idsToChangeLocally = BitIds.fromArray(bitIds.filter((id) => !id.scope));\n const componentsAndObjects: ModelComponentAndObjects[] = [];\n const objectList = new ObjectList();\n const objectListPerName: ObjectListPerName = {};\n\n const modelComponents = await mapSeries(bitIds, (id) => scope.getModelComponent(id));\n // super important! otherwise, the processModelComponent() changes objects in memory, while the key remains the same\n scope.objects.clearObjectsFromCache();\n\n const refsToPotentialExportPerComponent = await mapSeries(modelComponents, async (modelComponent) => {\n const refs = await getVersionsToExport(modelComponent);\n return { modelComponent, refs };\n });\n\n const getRefsToExportPerComp = async () => {\n if (!filterOutExistingVersions) {\n return refsToPotentialExportPerComponent;\n }\n const allHashesAsStr = refsToPotentialExportPerComponent\n .map((r) => r.refs)\n .flat()\n .map((ref) => ref.toString());\n const existingOnRemote = await scope.scopeImporter.checkWhatHashesExistOnRemote(remoteNameStr, allHashesAsStr);\n // for lanes, some snaps might be already on the remote, and the reason they're staged is due to a previous merge.\n const refsToExportPerComponent = refsToPotentialExportPerComponent.map(({ modelComponent, refs }) => {\n const filteredOutRefs: string[] = [];\n const refsToExport = refs.filter((ref) => {\n const existing = existingOnRemote.includes(ref.toString());\n if (existing) filteredOutRefs.push(ref.toString());\n return !existing;\n });\n if (filteredOutRefs.length)\n this.logger.debug(\n `export-scope-components, the following refs were filtered out from ${modelComponent\n .id()\n .toString()} because they already exist on the remote:\\n${filteredOutRefs.join('\\n')}`\n );\n\n return refsToExport.length ? { modelComponent, refs: refsToExport } : null;\n });\n\n return compact(refsToExportPerComponent);\n };\n\n const processModelComponent = async ({\n modelComponent,\n refs,\n }: {\n modelComponent: ModelComponent;\n refs: Ref[];\n }) => {\n modelComponent.clearStateData();\n const objectItems = await modelComponent.collectVersionsObjects(\n scope.objects,\n refs.map((ref) => ref.toString()),\n ignoreMissingArtifacts,\n ignoreMissingExternalArtifacts\n );\n const objectsList = await new ObjectList(objectItems).toBitObjects();\n const componentAndObject = { component: modelComponent, objects: objectsList.getAll() };\n await this.convertToCorrectScope(scope, componentAndObject, remoteNameStr, bitIds, idsWithFutureScope);\n const remoteObj = { url: remote.host, name: remote.name, date: Date.now().toString() };\n modelComponent.addScopeListItem(remoteObj);\n componentsAndObjects.push(componentAndObject);\n const componentBuffer = await modelComponent.compress();\n const componentData = { ref: modelComponent.hash(), buffer: componentBuffer, type: modelComponent.getType() };\n const objectsBuffer = await Promise.all(\n componentAndObject.objects.map(async (obj) => ({\n ref: obj.hash(),\n buffer: await obj.compress(),\n type: obj.getType(),\n }))\n );\n const allObjectsData = [componentData, ...objectsBuffer];\n objectListPerName[modelComponent.name] = new ObjectList(allObjectsData);\n objectList.addIfNotExist(allObjectsData);\n };\n\n const refsToExportPerComponent = await getRefsToExportPerComp();\n // don't use Promise.all, otherwise, it'll throw \"JavaScript heap out of memory\" on a large set of data\n await mapSeries(refsToExportPerComponent, processModelComponent);\n if (lane) {\n lane.components.forEach((c) => {\n const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(c.id);\n c.id = c.id.hasScope() ? c.id : c.id.changeScope(idWithFutureScope?.scope || lane.scope);\n });\n if (lane.readmeComponent) {\n lane.readmeComponent.id = lane.readmeComponent.id.hasScope()\n ? lane.readmeComponent.id\n : lane.readmeComponent.id.changeScope(lane.scope);\n }\n const laneData = { ref: lane.hash(), buffer: await lane.compress() };\n objectList.addIfNotExist([laneData]);\n }\n\n return { remote, objectList, objectListPerName, idsToChangeLocally, componentsAndObjects };\n };\n\n const manyObjectsPerRemote = laneObject\n ? [await getUpdatedObjectsToExport(laneObject.scope, ids, laneObject)]\n : await mapSeries(Object.keys(idsGroupedByScope), (scopeName) =>\n getUpdatedObjectsToExport(scopeName, idsGroupedByScope[scopeName], laneObject)\n );\n\n const pushAllToCentralHub = async () => {\n const objectList = this.transformToOneObjectListWithScopeData(manyObjectsPerRemote);\n const http = await Http.connect(CENTRAL_BIT_HUB_URL, CENTRAL_BIT_HUB_NAME);\n const pushResults = await http.pushToCentralHub(objectList, { origin: exportOrigin });\n const { failedScopes, successIds, errors, metadata } = pushResults;\n if (failedScopes.length) {\n throw new PersistFailed(failedScopes, errors);\n }\n const exportedBitIds = successIds.map((id) => BitId.parse(id, true));\n if (manyObjectsPerRemote.length === 1) {\n // when on a lane, it's always exported to the lane. and the ids can be from different scopes, so having the\n // filter below, will remove these components from the output of bit-export at the end.\n manyObjectsPerRemote[0].exportedIds = exportedBitIds.map((id) => id.toString());\n } else {\n manyObjectsPerRemote.forEach((objectPerRemote) => {\n const idsPerScope = exportedBitIds.filter((id) => id.scope === objectPerRemote.remote.name);\n // it's possible that idsPerScope is an empty array, in case the objects were exported already before\n objectPerRemote.exportedIds = idsPerScope.map((id) => id.toString());\n });\n }\n return { rippleJobs: metadata?.jobs };\n };\n\n const updateLocalObjects = async (\n lane?: Lane\n ): Promise<Array<{ exported: BitIds; updatedLocally: BitIds; newIdsOnRemote: BitId[] }>> => {\n return mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemoteExtended) => {\n const { remote, idsToChangeLocally, componentsAndObjects, exportedIds } = objectsPerRemote;\n const remoteNameStr = remote.name;\n // on Harmony, version hashes don't change, the new versions will replace the old ones.\n const removeComponentVersions = false;\n const refsToRemove = await Promise.all(\n idsToChangeLocally.map((id) => scope.sources.getRefsForComponentRemoval(id, removeComponentVersions))\n );\n scope.objects.removeManyObjects(refsToRemove.flat());\n idsToChangeLocally.forEach((id) => {\n scope.createSymlink(id, idsWithFutureScope.searchWithoutScopeAndVersion(id)?.scope || remoteNameStr);\n });\n componentsAndObjects.forEach((componentObject) => scope.sources.put(componentObject));\n\n // update lanes\n if (lane) {\n if (idsToChangeLocally.length) {\n // otherwise, we don't want to update scope-name of components in the lane object\n scope.objects.add(lane);\n }\n await scope.objects.remoteLanes.syncWithLaneObject(remoteNameStr, lane);\n }\n\n if (isOnMain && !lane) {\n // all exported from main\n const remoteLaneId = LaneId.from(DEFAULT_LANE, remoteNameStr);\n await scope.objects.remoteLanes.loadRemoteLane(remoteLaneId);\n await Promise.all(\n componentsAndObjects.map(async ({ component }) => {\n await scope.objects.remoteLanes.addEntry(remoteLaneId, component.toBitId(), component.getHead());\n })\n );\n }\n\n await scope.objects.persist();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const newIdsOnRemote = exportedIds!.map((id) => BitId.parse(id, true));\n // remove version. exported component might have multiple versions exported\n const idsWithRemoteScope: BitId[] = newIdsOnRemote.map((id) => id.changeVersion(undefined));\n const idsWithRemoteScopeUniq = BitIds.uniqFromArray(idsWithRemoteScope);\n return {\n newIdsOnRemote,\n exported: idsWithRemoteScopeUniq,\n updatedLocally: BitIds.fromArray(\n idsWithRemoteScopeUniq.filter((id) => idsToChangeLocally.hasWithoutScopeAndVersion(id))\n ),\n };\n });\n };\n\n let centralHubResults;\n if (resumeExportId) {\n const remotes = manyObjectsPerRemote.map((o) => o.remote);\n await validateRemotes(remotes, resumeExportId);\n await persistRemotes(manyObjectsPerRemote, resumeExportId);\n } else if (this.shouldPushToCentralHub(manyObjectsPerRemote, scopeRemotes, originDirectly)) {\n centralHubResults = await pushAllToCentralHub();\n } else {\n // await pushToRemotes();\n await this.pushToRemotesCarefully(manyObjectsPerRemote, resumeExportId);\n }\n\n loader.start('updating data locally...');\n const results = await updateLocalObjects(laneObject);\n return {\n newIdsOnRemote: R.flatten(results.map((r) => r.newIdsOnRemote)),\n exported: BitIds.uniqFromArray(R.flatten(results.map((r) => r.exported))),\n updatedLocally: BitIds.uniqFromArray(R.flatten(results.map((r) => r.updatedLocally))),\n rippleJobs: centralHubResults?.rippleJobs || [],\n };\n }\n\n private transformToOneObjectListWithScopeData(objectsPerRemote: ObjectsPerRemote[]): ObjectList {\n const objectList = new ObjectList();\n objectsPerRemote.forEach((objPerRemote) => {\n objPerRemote.objectList.addScopeName(objPerRemote.remote.name);\n objectList.mergeObjectList(objPerRemote.objectList);\n });\n return objectList;\n }\n\n private async ejectExportedComponents(componentsIds: BitId[]): Promise<EjectResults> {\n const consumer: Consumer = this.workspace.consumer;\n let ejectResults: EjectResults;\n try {\n const componentIds = await this.workspace.resolveMultipleComponentIds(componentsIds);\n ejectResults = await this.eject.eject(componentIds, { force: true });\n } catch (err: any) {\n const ejectErr = `The components ${componentsIds.map((c) => c.toString()).join(', ')} were exported successfully.\n However, the eject operation has failed due to an error: ${err.msg || err}`;\n this.logger.error(ejectErr, err);\n throw new Error(ejectErr);\n }\n // run the consumer.onDestroy() again, to write the changes done by the eject action to .bitmap\n await consumer.onDestroy();\n return ejectResults;\n }\n\n private async pushToRemotesCarefully(manyObjectsPerRemote: ObjectsPerRemote[], resumeExportId?: string) {\n const remotes = manyObjectsPerRemote.map((o) => o.remote);\n const clientId = resumeExportId || Date.now().toString();\n await this.pushRemotesPendingDir(clientId, manyObjectsPerRemote, resumeExportId);\n await validateRemotes(remotes, clientId, Boolean(resumeExportId));\n await persistRemotes(manyObjectsPerRemote, clientId);\n }\n\n private async pushRemotesPendingDir(\n clientId: string,\n manyObjectsPerRemote: ObjectsPerRemote[],\n resumeExportId?: string\n ): Promise<void> {\n if (resumeExportId) {\n this.logger.debug('pushRemotesPendingDir - skip as the resumeExportId was passed');\n // no need to transfer the objects, they're already on the server. also, since this clientId\n // exists already on the remote pending-dir, it'll cause a collision.\n return;\n }\n const pushOptions = { clientId };\n const pushedRemotes: Remote[] = [];\n await mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemote) => {\n const { remote, objectList } = objectsPerRemote;\n loader.start(`transferring ${objectList.count()} objects to the remote \"${remote.name}\"...`);\n try {\n await remote.pushMany(objectList, pushOptions, {});\n this.logger.debug(\n 'pushRemotesPendingDir, successfully pushed all objects to the pending-dir directory on the remote'\n );\n pushedRemotes.push(remote);\n } catch (err: any) {\n this.logger.warn('exportMany, failed pushing objects to the remote');\n await removePendingDirs(pushedRemotes, clientId);\n throw err;\n }\n });\n }\n\n private shouldPushToCentralHub(\n manyObjectsPerRemote: ObjectsPerRemote[],\n scopeRemotes: Remotes,\n originDirectly = false\n ): boolean {\n if (originDirectly) return false;\n const hubRemotes = manyObjectsPerRemote.filter((m) => scopeRemotes.isHub(m.remote.name));\n if (!hubRemotes.length) return false;\n if (hubRemotes.length === manyObjectsPerRemote.length) return true; // all are hub\n // @todo: maybe create a flag \"no-central\" to support this workflow\n throw new BitError(\n `some of your components are configured to be exported to a local scope and some to the bit.cloud hub. this is not supported`\n );\n }\n\n /**\n * Component and dependencies id changes:\n * When exporting components with dependencies to a bare-scope, some of the dependencies may be created locally and as\n * a result their scope-name is null. Before the bare-scope gets the components, convert these scope names\n * to the bare-scope name.\n *\n * This is the Harmony version of \"convertToCorrectScope\". No more codemod and no more hash changes.\n */\n private async convertToCorrectScope(\n scope: Scope,\n componentsObjects: ModelComponentAndObjects,\n remoteScope: string,\n exportingIds: BitIds,\n idsWithFutureScope: BitIds,\n shouldFork = false // not in used currently, but might be needed soon\n ): Promise<boolean> {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const versionsObjects: Version[] = componentsObjects.objects.filter((object) => object instanceof Version);\n const haveVersionsChanged = await Promise.all(\n versionsObjects.map(async (objectVersion: Version) => {\n const didDependencyChange = changeDependencyScope(objectVersion);\n changeExtensionsScope(objectVersion);\n this.depResolver.updateDepsOnLegacyExport(objectVersion, getIdWithUpdatedScope.bind(this));\n\n return didDependencyChange;\n })\n );\n const shouldChangeScope = shouldFork\n ? remoteScope !== componentsObjects.component.scope\n : !componentsObjects.component.scope;\n const hasComponentChanged = shouldChangeScope;\n if (shouldChangeScope) {\n const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(componentsObjects.component.toBitId());\n componentsObjects.component.scope = idWithFutureScope?.scope || remoteScope;\n }\n\n // return true if one of the versions has changed or the component itself\n return haveVersionsChanged.some((x) => x) || hasComponentChanged;\n\n async function changeDependencyScope(version: Version): Promise<boolean> {\n let hasChanged = false;\n version.getAllDependencies().forEach((dependency) => {\n const updatedIdWithScope = getIdWithUpdatedScope(dependency.id);\n if (!dependency.id.scope) {\n hasChanged = true;\n dependency.id = updatedIdWithScope;\n }\n });\n const flattenedIds: BitIds = version.flattenedDependencies;\n const needsChange = flattenedIds.some((id) => !id.scope);\n if (needsChange) {\n version.flattenedDependencies = getBitIdsWithUpdatedScope(flattenedIds);\n hasChanged = true;\n }\n let hasFlattenedEdgesChanged = false;\n const flattenedEdges = await version.getFlattenedEdges(scope.objects);\n const updatedFlattenedEdges = flattenedEdges.map((edge) => {\n if (edge.source.scope && edge.target.scope) {\n return edge;\n }\n hasFlattenedEdgesChanged = true;\n return {\n ...edge,\n source: getIdWithUpdatedScope(edge.source),\n target: getIdWithUpdatedScope(edge.target),\n };\n });\n if (hasFlattenedEdgesChanged) {\n const source = Version.flattenedEdgeToSource(updatedFlattenedEdges);\n version.flattenedEdgesRef = source?.hash();\n if (source) componentsObjects.objects.push(source);\n hasChanged = true;\n }\n return hasChanged;\n }\n\n function changeExtensionsScope(version: Version): boolean {\n let hasChanged = false;\n version.extensions.forEach((ext) => {\n if (ext.extensionId) {\n const updatedScope = getIdWithUpdatedScope(ext.extensionId);\n if (!updatedScope.isEqual(ext.extensionId)) {\n hasChanged = true;\n ext.extensionId = updatedScope;\n }\n }\n });\n return hasChanged;\n }\n\n function getIdWithUpdatedScope(dependencyId: BitId): BitId {\n if (dependencyId.scope) {\n return dependencyId; // it's not new\n }\n const depId = ModelComponent.fromBitId(dependencyId);\n // todo: use 'load' for async and switch the foreach with map.\n const dependencyObject = scope.objects.loadSync(depId.hash());\n if (dependencyObject instanceof Symlink) {\n return dependencyId.changeScope(dependencyObject.realScope);\n }\n const currentlyExportedDep = idsWithFutureScope.searchWithoutScopeAndVersion(dependencyId);\n const scopeName = currentlyExportedDep?.scope || remoteScope;\n if (!scopeName) throw new Error(`unable to find scopeName for ${dependencyId.toString()}`);\n return dependencyId.changeScope(scopeName);\n }\n\n function getBitIdsWithUpdatedScope(bitIds: BitIds): BitIds {\n const updatedIds = bitIds.map((id) => getIdWithUpdatedScope(id));\n return BitIds.fromArray(updatedIds);\n }\n }\n\n private async removeFromStagedConfig(ids: BitId[]) {\n this.logger.debug(`removeFromStagedConfig, ${ids.length} ids`);\n const componentIds = await this.workspace.resolveMultipleComponentIds(ids);\n const stagedConfig = await this.workspace.scope.getStagedConfig();\n componentIds.map((compId) => stagedConfig.removeComponentConfig(compId));\n await stagedConfig.write();\n }\n\n private async getComponentsToExport(\n ids: string[] = [],\n includeNonStaged?: boolean\n ): Promise<{ idsToExport: BitIds; missingScope: BitId[]; idsWithFutureScope: BitIds; laneObject?: Lane }> {\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const idsHaveWildcard = hasWildcard(ids);\n const filterNonScopeIfNeeded = async (\n bitIds: BitIds\n ): Promise<{ idsToExport: BitIds; missingScope: BitId[]; idsWithFutureScope: BitIds }> => {\n const idsWithFutureScope = await this.getIdsWithFutureScope(bitIds);\n const [idsToExport, missingScope] = R.partition((id) => {\n const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(id);\n if (!idWithFutureScope) throw new Error(`idsWithFutureScope is missing ${id.toString()}`);\n return idWithFutureScope.hasScope();\n }, bitIds);\n return { idsToExport: BitIds.fromArray(idsToExport), missingScope, idsWithFutureScope };\n };\n if (isUserTryingToExportLanes(consumer)) {\n if (ids.length) {\n throw new GeneralError(`when checked out to a lane, all its components are exported. please omit the ids`);\n }\n const { componentsToExport, laneObject } = await this.getLaneCompIdsToExport(consumer, includeNonStaged);\n const loaderMsg = componentsToExport.length > 1 ? BEFORE_EXPORTS : BEFORE_EXPORT;\n loader.start(loaderMsg);\n const filtered = await filterNonScopeIfNeeded(componentsToExport);\n return { ...filtered, laneObject };\n }\n if (!ids.length || idsHaveWildcard) {\n loader.start(BEFORE_LOADING_COMPONENTS);\n const exportPendingComponents: BitIds = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds();\n const componentsToExport = idsHaveWildcard\n ? ComponentsList.filterComponentsByWildcard(exportPendingComponents, ids)\n : exportPendingComponents;\n const loaderMsg = componentsToExport.length > 1 ? BEFORE_EXPORTS : BEFORE_EXPORT;\n loader.start(loaderMsg);\n return filterNonScopeIfNeeded(componentsToExport);\n }\n loader.start(BEFORE_EXPORT); // show single export\n const parsedIds = await Promise.all(ids.map((id) => getParsedId(consumer, id)));\n // load the components for fixing any out-of-sync issues.\n await consumer.loadComponents(BitIds.fromArray(parsedIds));\n\n return filterNonScopeIfNeeded(BitIds.fromArray(parsedIds));\n }\n\n private async getIdsWithFutureScope(ids: BitIds): Promise<BitIds> {\n const idsArrayP = ids.map(async (id) => {\n if (id.hasScope()) return id;\n const componentId = await this.workspace.resolveComponentId(id);\n const finalScope = await this.workspace.componentDefaultScope(componentId);\n if (finalScope) {\n return id.changeScope(finalScope);\n }\n return id;\n });\n const idsArray = await Promise.all(idsArrayP);\n return BitIds.fromArray(idsArray);\n }\n\n private async getLaneCompIdsToExport(\n consumer: Consumer,\n includeNonStaged?: boolean\n ): Promise<{ componentsToExport: BitIds; laneObject: Lane }> {\n const currentLaneId = consumer.getCurrentLaneId();\n const laneObject = await consumer.scope.loadLane(currentLaneId);\n if (!laneObject) {\n throw new Error(`fatal: unable to load the current lane object (${currentLaneId.toString()})`);\n }\n loader.start(BEFORE_LOADING_COMPONENTS);\n const componentsList = new ComponentsList(consumer);\n const componentsToExportWithoutRemoved = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds(laneObject);\n const removedStagedBitIds = await this.getRemovedStagedBitIds();\n const componentsToExport = BitIds.uniqFromArray([...componentsToExportWithoutRemoved, ...removedStagedBitIds]);\n return { componentsToExport, laneObject };\n }\n\n private async getRemovedStagedBitIds(): Promise<BitIds> {\n const removedStaged = await this.remove.getRemovedStaged();\n return BitIds.fromArray(removedStaged.map((r) => r._legacy).map((id) => id.changeVersion(undefined)));\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n ScopeAspect,\n WorkspaceAspect,\n RemoveAspect,\n DependencyResolverAspect,\n LoggerAspect,\n EjectAspect,\n ];\n static async provider([cli, scope, workspace, remove, depResolver, loggerMain, eject]: [\n CLIMain,\n ScopeMain,\n Workspace,\n RemoveMain,\n DependencyResolverMain,\n LoggerMain,\n EjectMain\n ]) {\n const logger = loggerMain.createLogger(ExportAspect.id);\n const exportMain = new ExportMain(workspace, remove, depResolver, logger, eject);\n cli.register(new ResumeExportCmd(scope), new ExportCmd(exportMain));\n return exportMain;\n }\n}\n\nExportAspect.addRuntime(ExportMain);\n\n/**\n * the componentsIds passed here are the ones that didn't have scope-name before, and now they have.\n * so if the bitMap.updateComponentId returns bitId without scope-name is because it couldn't find it there\n */\nfunction _updateIdsOnBitMap(bitMap: BitMap, componentsIds: BitIds): { updatedIds: BitId[]; nonExistOnBitMap: BitIds } {\n const updatedIds: BitId[] = [];\n const nonExistOnBitMap = new BitIds();\n componentsIds.forEach((componentsId) => {\n const resultId = bitMap.updateComponentId(componentsId, true);\n if (resultId.hasVersion()) updatedIds.push(resultId);\n else nonExistOnBitMap.push(resultId);\n });\n return { updatedIds, nonExistOnBitMap };\n}\n\nasync function getParsedId(consumer: Consumer, id: string): Promise<BitId> {\n // reason why not calling `consumer.getParsedId()` first is because a component might not be on\n // .bitmap and only in the scope. we support this case and enable to export\n const parsedId: BitId = await consumer.scope.getParsedId(id);\n if (parsedId.hasScope()) return parsedId;\n // parsing id from the scope, doesn't provide the scope-name in case it's missing, in this case\n // get the id including the scope from the consumer.\n try {\n return consumer.getParsedId(id);\n } catch (err: any) {\n // not in the consumer, just return the one parsed without the scope name\n return parsedId;\n }\n}\n\nfunction _throwForUnsnappedLaneReadme(lane: Lane) {\n const readmeComponent = lane.readmeComponent as LaneReadmeComponent;\n\n const isValid =\n readmeComponent?.head &&\n lane.getComponent(readmeComponent.id) &&\n lane.getComponentHead(readmeComponent.id)?.isEqual(readmeComponent?.head);\n\n if (!isValid) {\n throw new BitError(\n `${lane?.name} has a readme component ${readmeComponent.id} that hasn't been snapped on the lane.\n Please run either snap -a or snap ${readmeComponent.id} to snap the component on the lane before exporting it.`\n );\n }\n}\n\nasync function updateLanesAfterExport(consumer: Consumer, lane: Lane) {\n const currentLane = consumer.getCurrentLaneId();\n const isCurrentLane = lane.name === currentLane.name;\n if (!isCurrentLane) {\n throw new Error(\n `updateLanesAfterExport should get called only with current lane, got ${lane.name}, current ${currentLane.name}`\n );\n }\n consumer.setCurrentLane(lane.toLaneId(), true);\n consumer.scope.scopeJson.removeLaneFromNew(lane.name);\n lane.isNew = false;\n}\n\nexport function isUserTryingToExportLanes(consumer: Consumer) {\n return consumer.isOnLane();\n}\n\nexport default ExportMain;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_cli","_scope","_ramda","_bitError","_analytics","_componentId","_loader","_loaderMessages","_constants","_componentsList","_generalError","_hooks","_remove","_models","_hasWildcard","_scope2","_workspace","_interopRequireWildcard","_logger","_http","_objectList","_lodash","_pMapSeries","_laneId","_eject","_scopeRemotes","_workspaceModules","_dependencyResolver","_exportScopeComponents","_persistFailed","_traverseVersions","_export","_exportCmd","_resumeExportCmd","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","e","r","t","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","i","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","HooksManagerInstance","HooksManager","getInstance","ExportMain","constructor","workspace","remove","depResolver","logger","eject","export","params","triggerHook","PRE_EXPORT_HOOK","nonExistOnBitMap","missingScope","exported","removedIds","exportedLanes","rippleJobs","exportComponents","ejectResults","clearCache","ejectExportedComponents","exportResults","componentsIds","POST_EXPORT_HOOK","Scope","onPostExport","catch","err","error","_ref","ids","includeNonStaged","headOnly","originDirectly","OutsideWorkspaceError","consumer","idsToExport","idsWithFutureScope","laneObject","getComponentsToExport","R","isEmpty","updatedIds","ComponentIdList","newIdsOnRemote","readmeComponent","_throwForUnsnappedLaneReadme","forkLaneNewScope","forkedFrom","isNew","scope","BitError","id","toString","name","isOnMain","updatedLocally","exportMany","exportHeadsOnly","filterOutExistingVersions","Boolean","allVersions","updateLanesAfterExport","getRemovedStagedBitIds","_updateIdsOnBitMap","bitMap","linkToNodeModulesByIds","removeFromStagedConfig","legacyScope","stagedSnaps","deleteFile","fs","getLastMergedPath","Analytics","setExtraData","onDestroy","hasWithoutVersion","resumeExportId","ignoreMissingArtifacts","ignoreMissingExternalArtifacts","exportOrigin","_centralHubResults","debug","scopeRemotes","getScopeRemotes","groupByScopeName","idList","reduce","acc","current","getScopeName","idWithDefaultScope","searchWithoutScopeAndVersion","scopeName","Error","idsGroupedByScope","validateTargetScopeForLanes","newIds","fromArray","isExported","newIdsGrouped","mapSeries","remote","resolve","list","listIds","map","listItem","addMainHeadIfPossible","allHashes","modelComponent","head","find","h","hash","objects","getVersionsToExport","_laneObject$getCompon","getComponent","toComponentId","localTagsOrHashes","getLocalHashes","getAllVersionHashes","repo","groupedByScopeString","join","getUpdatedObjectsToExport","remoteNameStr","bitIds","lane","throwForDuplicationIgnoreVersion","idsToChangeLocally","componentsAndObjects","objectList","ObjectList","objectListPerName","modelComponents","getModelComponent","clearObjectsFromCache","refsToPotentialExportPerComponent","refs","getRefsToExportPerComp","allHashesAsStr","flat","ref","existingOnRemote","scopeImporter","checkWhatHashesExistOnRemote","refsToExportPerComponent","filteredOutRefs","refsToExport","existing","includes","compact","processModelComponent","clearStateData","objectItems","collectVersionsObjects","objectsList","toBitObjects","componentAndObject","component","getAll","convertToCorrectScope","remoteObj","url","host","date","Date","now","addScopeListItem","componentBuffer","compress","componentData","buffer","type","getType","objectsBuffer","Promise","all","allObjectsData","addIfNotExist","laneData","manyObjectsPerRemote","pushAllToCentralHub","transformToOneObjectListWithScopeData","http","Http","connect","CENTRAL_BIT_HUB_URL","CENTRAL_BIT_HUB_NAME","pushResults","pushToCentralHub","origin","failedScopes","successIds","errors","metadata","PersistFailed","exportedBitIds","ComponentID","fromString","exportedIds","objectPerRemote","idsPerScope","jobs","updateLocalObjects","objectsPerRemote","removeComponentVersions","refsToRemove","sources","getRefsForComponentRemoval","removeManyObjects","componentObject","put","add","remoteLanes","syncWithLaneObject","remoteLaneId","LaneId","from","DEFAULT_LANE","loadRemoteLane","addEntry","getHead","persist","idsWithRemoteScope","changeVersion","idsWithRemoteScopeUniq","uniqFromArray","hasWithoutScopeAndVersion","centralHubResults","remotes","validateRemotes","persistRemotes","shouldPushToCentralHub","pushToRemotesCarefully","loader","start","results","flatten","objPerRemote","addScopeName","mergeObjectList","componentIds","resolveMultipleComponentIds","force","ejectErr","c","msg","clientId","pushRemotesPendingDir","pushOptions","pushedRemotes","count","pushMany","warn","removePendingDirs","hubRemotes","m","isHub","componentsObjects","remoteScope","exportingIds","shouldFork","versionsObjects","object","Version","haveVersionsChanged","objectVersion","didDependencyChange","changeDependencyScope","changeExtensionsScope","shouldChangeScope","hasComponentChanged","idWithFutureScope","some","x","version","hasChanged","getAllDependencies","dependency","updatedIdWithScope","getIdWithUpdatedScope","flattenedIds","flattenedDependencies","needsChange","getBitIdsWithUpdatedScope","hasFlattenedEdgesChanged","flattenedEdges","getFlattenedEdges","updatedFlattenedEdges","edge","flattenedEdgeToSource","flattenedEdgesRef","extensions","ext","extensionId","updatedScope","isEqual","dependencyId","depId","ModelComponent","fromBitId","dependencyObject","loadSync","Symlink","changeScope","realScope","currentlyExportedDep","stagedConfig","getStagedConfig","compId","removeComponentConfig","write","componentsList","ComponentsList","idsHaveWildcard","hasWildcard","filterNonScopeIfNeeded","getIdsWithFutureScope","isUserTryingToExportLanes","GeneralError","componentsToExport","getLaneCompIdsToExport","loaderMsg","BEFORE_EXPORTS","BEFORE_EXPORT","filtered","BEFORE_LOADING_COMPONENTS","exportPendingComponents","listNonNewComponentsIds","listExportPendingComponentsIds","filterComponentsByWildcard","parsedIds","getParsedId","loadComponents","currentLaneId","getCurrentLaneId","loadLane","componentsToExportWithoutRemoved","removedStagedBitIds","removedStaged","getRemovedStaged","provider","cli","loggerMain","createLogger","ExportAspect","exportMain","register","ResumeExportCmd","ExportCmd","exports","MainRuntime","CLIAspect","ScopeAspect","WorkspaceAspect","RemoveAspect","DependencyResolverAspect","LoggerAspect","EjectAspect","addRuntime","componentsId","resultId","updateComponentId","hasVersion","_lane$getComponentHea","isValid","getComponentHead","currentLane","isCurrentLane","setCurrentLane","toLaneId","scopeJson","removeLaneFromNew","isOnLane","_default"],"sources":["export.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport ScopeAspect, { ScopeMain } from '@teambit/scope';\nimport R from 'ramda';\nimport { BitError } from '@teambit/bit-error';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport {\n BEFORE_EXPORT,\n BEFORE_EXPORTS,\n BEFORE_LOADING_COMPONENTS,\n} from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport {\n CENTRAL_BIT_HUB_NAME,\n CENTRAL_BIT_HUB_URL,\n POST_EXPORT_HOOK,\n PRE_EXPORT_HOOK,\n} from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport BitMap from '@teambit/legacy/dist/consumer/bit-map/bit-map';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport HooksManager from '@teambit/legacy/dist/hooks';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport { Lane, ModelComponent, Symlink, Version } from '@teambit/legacy/dist/scope/models';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { LaneReadmeComponent } from '@teambit/legacy/dist/scope/models/lane';\nimport { Http } from '@teambit/legacy/dist/scope/network/http';\nimport { ObjectList } from '@teambit/legacy/dist/scope/objects/object-list';\nimport { compact } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport { LaneId, DEFAULT_LANE } from '@teambit/lane-id';\nimport { Remote, Remotes } from '@teambit/legacy/dist/remotes';\nimport { EjectAspect, EjectMain, EjectResults } from '@teambit/eject';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport { ExportOrigin } from '@teambit/legacy/dist/scope/network/http/http';\nimport { linkToNodeModulesByIds } from '@teambit/workspace.modules.node-modules-linker';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport {\n persistRemotes,\n validateRemotes,\n removePendingDirs,\n} from '@teambit/legacy/dist/scope/component-ops/export-scope-components';\nimport { BitObject, Ref } from '@teambit/legacy/dist/scope/objects';\nimport { PersistFailed } from '@teambit/legacy/dist/scope/exceptions/persist-failed';\nimport { getAllVersionHashes } from '@teambit/legacy/dist/scope/component-ops/traverse-versions';\nimport { ExportAspect } from './export.aspect';\nimport { ExportCmd } from './export-cmd';\nimport { ResumeExportCmd } from './resume-export-cmd';\n\nconst HooksManagerInstance = HooksManager.getInstance();\n\nexport type OnExportIdTransformer = (id: ComponentID) => ComponentID;\n\ntype ModelComponentAndObjects = { component: ModelComponent; objects: BitObject[] };\ntype ObjectListPerName = { [name: string]: ObjectList };\ntype ObjectsPerRemote = {\n remote: Remote;\n objectList: ObjectList;\n exportedIds?: string[];\n};\ntype ObjectsPerRemoteExtended = ObjectsPerRemote & {\n objectListPerName: ObjectListPerName;\n idsToChangeLocally: ComponentIdList;\n componentsAndObjects: ModelComponentAndObjects[];\n};\n\ntype ExportParams = {\n ids?: string[];\n eject?: boolean;\n allVersions?: boolean;\n originDirectly?: boolean;\n includeNonStaged?: boolean;\n resumeExportId?: string | undefined;\n headOnly?: boolean;\n ignoreMissingArtifacts?: boolean;\n forkLaneNewScope?: boolean;\n};\n\nexport class ExportMain {\n constructor(\n private workspace: Workspace,\n private remove: RemoveMain,\n private depResolver: DependencyResolverMain,\n private logger: Logger,\n private eject: EjectMain\n ) {}\n\n async export(params: ExportParams = {}) {\n HooksManagerInstance?.triggerHook(PRE_EXPORT_HOOK, params);\n const { nonExistOnBitMap, missingScope, exported, removedIds, exportedLanes, rippleJobs } =\n await this.exportComponents(params);\n let ejectResults;\n await this.workspace.clearCache(); // needed when one process executes multiple commands, such as in \"bit test\" or \"bit cli\"\n if (params.eject) ejectResults = await this.ejectExportedComponents(exported);\n const exportResults = {\n componentsIds: exported,\n nonExistOnBitMap,\n removedIds,\n missingScope,\n ejectResults,\n exportedLanes,\n rippleJobs,\n };\n HooksManagerInstance?.triggerHook(POST_EXPORT_HOOK, exportResults);\n if (Scope.onPostExport) {\n await Scope.onPostExport(exported, exportedLanes).catch((err) => {\n this.logger.error('fatal: onPostExport encountered an error (this error does not stop the process)', err);\n });\n }\n return exportResults;\n }\n\n private async exportComponents({\n ids,\n includeNonStaged,\n headOnly,\n originDirectly,\n ...params\n }: ExportParams): Promise<{\n updatedIds: ComponentID[];\n nonExistOnBitMap: ComponentID[];\n removedIds: ComponentIdList;\n missingScope: ComponentID[];\n exported: ComponentID[];\n exportedLanes: Lane[];\n newIdsOnRemote: ComponentID[];\n rippleJobs: string[];\n }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer: Consumer = this.workspace.consumer;\n const { idsToExport, missingScope, idsWithFutureScope, laneObject } = await this.getComponentsToExport(\n ids,\n includeNonStaged || headOnly\n );\n\n if (R.isEmpty(idsToExport)) {\n return {\n updatedIds: [],\n nonExistOnBitMap: [],\n removedIds: new ComponentIdList(),\n missingScope,\n exported: [],\n newIdsOnRemote: [],\n exportedLanes: [],\n rippleJobs: [],\n };\n }\n\n // validate lane readme component and ensure it has been snapped\n if (laneObject?.readmeComponent) {\n _throwForUnsnappedLaneReadme(laneObject);\n }\n\n if (\n !params.forkLaneNewScope &&\n laneObject?.forkedFrom &&\n laneObject.isNew &&\n laneObject.forkedFrom.scope !== laneObject.scope\n ) {\n throw new BitError(`error: the current lane ${laneObject\n .id()\n .toString()} was forked from ${laneObject.forkedFrom.toString()}\nand is about to export to a different scope (${laneObject.scope}) than the original lane (${\n laneObject.forkedFrom.scope\n }).\non large lanes with long history graph, it results in exporting lots of objects to the new scope, some of them might be missing locally.\nif you can use the same scope as the original name, change it now by running \"bit lane change-scope ${\n laneObject.name\n } ${laneObject.forkedFrom.scope}\".\notherwise, re-run the export with \"--fork-lane-new-scope\" flag.\nif the export fails with missing objects/versions/components, run \"bit fetch --lanes <lane-name> --all-history\", to make sure you have the full history locally`);\n }\n const isOnMain = consumer.isOnMain();\n const { exported, updatedLocally, newIdsOnRemote, rippleJobs } = await this.exportMany({\n ...params,\n exportHeadsOnly: headOnly,\n scope: consumer.scope,\n ids: idsToExport,\n laneObject,\n originDirectly,\n idsWithFutureScope,\n isOnMain,\n filterOutExistingVersions: Boolean(!params.allVersions && laneObject),\n });\n if (laneObject) await updateLanesAfterExport(consumer, laneObject);\n const removedIds = await this.getRemovedStagedBitIds();\n const { updatedIds, nonExistOnBitMap } = _updateIdsOnBitMap(consumer.bitMap, updatedLocally);\n // re-generate the package.json, this way, it has the correct data in the componentId prop.\n await linkToNodeModulesByIds(this.workspace, updatedIds, true);\n await this.removeFromStagedConfig(exported);\n // ideally we should delete the staged-snaps only for the exported snaps. however, it's not easy, and it's ok to\n // delete them all because this file is mainly an optimization for the import process.\n await this.workspace.scope.legacyScope.stagedSnaps.deleteFile();\n await fs.remove(this.workspace.scope.getLastMergedPath());\n Analytics.setExtraData('num_components', exported.length);\n // it is important to have consumer.onDestroy() before running the eject operation, we want the\n // export and eject operations to function independently. we don't want to lose the changes to\n // .bitmap file done by the export action in case the eject action has failed.\n await consumer.onDestroy();\n return {\n updatedIds,\n nonExistOnBitMap: nonExistOnBitMap.filter((id) => !removedIds.hasWithoutVersion(id)),\n removedIds,\n missingScope,\n exported,\n newIdsOnRemote,\n exportedLanes: laneObject ? [laneObject] : [],\n rippleJobs,\n };\n }\n\n /**\n * the export process uses four steps. read more about it here: https://github.com/teambit/bit/pull/3371\n */\n async exportMany({\n scope,\n ids, // when exporting a lane, the ids are the lane component ids\n laneObject,\n allVersions,\n originDirectly,\n idsWithFutureScope,\n resumeExportId,\n ignoreMissingArtifacts,\n ignoreMissingExternalArtifacts = true,\n isOnMain = true,\n exportHeadsOnly, // relevant when exporting from bare-scope, especially when re-exporting existing versions, the normal calculation based on getDivergeData won't work\n filterOutExistingVersions, // go to the remote and check whether the version exists there. if so, don't export it\n exportOrigin = 'export',\n }: {\n scope: Scope;\n ids: ComponentIdList;\n laneObject?: Lane;\n allVersions?: boolean;\n originDirectly?: boolean;\n idsWithFutureScope: ComponentIdList;\n resumeExportId?: string | undefined;\n ignoreMissingArtifacts?: boolean;\n ignoreMissingExternalArtifacts?: boolean;\n isOnMain?: boolean;\n exportHeadsOnly?: boolean;\n filterOutExistingVersions?: boolean;\n exportOrigin?: ExportOrigin;\n }): Promise<{\n exported: ComponentIdList;\n updatedLocally: ComponentIdList;\n newIdsOnRemote: ComponentID[];\n rippleJobs: string[];\n }> {\n this.logger.debug(`scope.exportMany, ids: ${ids.toString()}`);\n const scopeRemotes: Remotes = await getScopeRemotes(scope);\n\n const groupByScopeName = (idList: ComponentIdList): { [scopeName: string]: ComponentIdList } => {\n return idList.reduce((acc, current) => {\n const getScopeName = () => {\n if (current.scope) return current.scope;\n const idWithDefaultScope = idsWithFutureScope.searchWithoutScopeAndVersion(current);\n return idWithDefaultScope ? idWithDefaultScope.scope : null;\n };\n const scopeName = getScopeName();\n if (!scopeName) {\n throw new Error(`toGroupByScopeName() expect ids to have a scope name, got ${current.toString()}`);\n }\n if (acc[scopeName]) acc[scopeName].push(current);\n else acc[scopeName] = new ComponentIdList(current);\n return acc;\n }, {});\n };\n\n const idsGroupedByScope = groupByScopeName(ids);\n\n /**\n * when a component is exported for the first time, and the lane-scope is not the same as the component-scope, it's\n * important to validate that there is no such component in the original scope. otherwise, later, it'll be impossible\n * to merge the lane because these two components don't have any snap in common.\n */\n const validateTargetScopeForLanes = async () => {\n if (!laneObject) {\n return;\n }\n const newIds = ComponentIdList.fromArray(ids.filter((id) => !scope.isExported(id)));\n const newIdsGrouped = groupByScopeName(newIds);\n await mapSeries(Object.keys(newIdsGrouped), async (scopeName) => {\n if (scopeName === laneObject.scope) {\n // this validation is redundant if the lane-component is in the same scope as the lane-object\n return;\n }\n // by getting the remote we also validate that this scope actually exists.\n const remote = await scopeRemotes.resolve(scopeName, scope);\n const list = await remote.list();\n const listIds = ComponentIdList.fromArray(list.map((listItem) => listItem.id));\n newIdsGrouped[scopeName].forEach((id) => {\n if (listIds.hasWithoutVersion(id)) {\n throw new Error(`unable to export a lane with a new component \"${id.toString()}\", which has the default-scope \"${scopeName}\".\n this scope already has a component with the same name. as such, it'll be impossible to merge the lane later because these two components are different`);\n }\n });\n });\n };\n\n /**\n * by default, when exporting a lane, it traverse from the Lane's head and therefore it may skip the main head.\n * later, if for some reason the original component was deleted in its scope, the head object will be missing.\n */\n const addMainHeadIfPossible = async (allHashes: Ref[], modelComponent: ModelComponent) => {\n const head = modelComponent.head;\n if (!head) return;\n if (allHashes.find((h) => h.hash === head.hash)) return; // head is already in the list\n if (!(await scope.objects.has(head))) return; // it should not happen. but if it does, we don't want to block the export\n allHashes.push(head);\n };\n\n const getVersionsToExport = async (modelComponent: ModelComponent): Promise<Ref[]> => {\n if (exportHeadsOnly) {\n const head = laneObject?.getComponent(modelComponent.toComponentId())?.head || modelComponent.head;\n if (!head)\n throw new Error(\n `getVersionsToExport should export the head only, but the head of ${modelComponent.id()} is missing`\n );\n return [head];\n }\n const localTagsOrHashes = await modelComponent.getLocalHashes(scope.objects);\n if (!allVersions) {\n return localTagsOrHashes;\n }\n\n const allHashes = await getAllVersionHashes({ modelComponent, repo: scope.objects });\n await addMainHeadIfPossible(allHashes, modelComponent);\n return allHashes;\n };\n\n await validateTargetScopeForLanes();\n const groupedByScopeString = Object.keys(idsGroupedByScope)\n .map((scopeName) => `scope \"${scopeName}\": ${idsGroupedByScope[scopeName].toString()}`)\n .join(', ');\n this.logger.debug(`export-scope-components, export to the following scopes ${groupedByScopeString}`);\n\n const getUpdatedObjectsToExport = async (\n remoteNameStr: string,\n bitIds: ComponentIdList,\n lane?: Lane\n ): Promise<ObjectsPerRemoteExtended> => {\n bitIds.throwForDuplicationIgnoreVersion();\n const remote: Remote = await scopeRemotes.resolve(remoteNameStr, scope);\n const idsToChangeLocally = ComponentIdList.fromArray(bitIds.filter((id) => !scope.isExported(id)));\n const componentsAndObjects: ModelComponentAndObjects[] = [];\n const objectList = new ObjectList();\n const objectListPerName: ObjectListPerName = {};\n\n const modelComponents = await mapSeries(bitIds, (id) => scope.getModelComponent(id));\n // super important! otherwise, the processModelComponent() changes objects in memory, while the key remains the same\n scope.objects.clearObjectsFromCache();\n\n const refsToPotentialExportPerComponent = await mapSeries(modelComponents, async (modelComponent) => {\n const refs = await getVersionsToExport(modelComponent);\n return { modelComponent, refs };\n });\n\n const getRefsToExportPerComp = async () => {\n if (!filterOutExistingVersions) {\n return refsToPotentialExportPerComponent;\n }\n const allHashesAsStr = refsToPotentialExportPerComponent\n .map((r) => r.refs)\n .flat()\n .map((ref) => ref.toString());\n const existingOnRemote = await scope.scopeImporter.checkWhatHashesExistOnRemote(remoteNameStr, allHashesAsStr);\n // for lanes, some snaps might be already on the remote, and the reason they're staged is due to a previous merge.\n const refsToExportPerComponent = refsToPotentialExportPerComponent.map(({ modelComponent, refs }) => {\n const filteredOutRefs: string[] = [];\n const refsToExport = refs.filter((ref) => {\n const existing = existingOnRemote.includes(ref.toString());\n if (existing) filteredOutRefs.push(ref.toString());\n return !existing;\n });\n if (filteredOutRefs.length)\n this.logger.debug(\n `export-scope-components, the following refs were filtered out from ${modelComponent\n .id()\n .toString()} because they already exist on the remote:\\n${filteredOutRefs.join('\\n')}`\n );\n\n return refsToExport.length ? { modelComponent, refs: refsToExport } : null;\n });\n\n return compact(refsToExportPerComponent);\n };\n\n const processModelComponent = async ({\n modelComponent,\n refs,\n }: {\n modelComponent: ModelComponent;\n refs: Ref[];\n }) => {\n modelComponent.clearStateData();\n const objectItems = await modelComponent.collectVersionsObjects(\n scope.objects,\n refs.map((ref) => ref.toString()),\n ignoreMissingArtifacts,\n ignoreMissingExternalArtifacts\n );\n const objectsList = await new ObjectList(objectItems).toBitObjects();\n const componentAndObject = { component: modelComponent, objects: objectsList.getAll() };\n await this.convertToCorrectScope(scope, componentAndObject, remoteNameStr, bitIds, idsWithFutureScope);\n const remoteObj = { url: remote.host, name: remote.name, date: Date.now().toString() };\n modelComponent.addScopeListItem(remoteObj);\n componentsAndObjects.push(componentAndObject);\n const componentBuffer = await modelComponent.compress();\n const componentData = { ref: modelComponent.hash(), buffer: componentBuffer, type: modelComponent.getType() };\n const objectsBuffer = await Promise.all(\n componentAndObject.objects.map(async (obj) => ({\n ref: obj.hash(),\n buffer: await obj.compress(),\n type: obj.getType(),\n }))\n );\n const allObjectsData = [componentData, ...objectsBuffer];\n objectListPerName[modelComponent.name] = new ObjectList(allObjectsData);\n objectList.addIfNotExist(allObjectsData);\n };\n\n const refsToExportPerComponent = await getRefsToExportPerComp();\n // don't use Promise.all, otherwise, it'll throw \"JavaScript heap out of memory\" on a large set of data\n await mapSeries(refsToExportPerComponent, processModelComponent);\n if (lane) {\n // lane.components.forEach((c) => {\n // const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(c.id);\n // c.id = c.id.hasScope() ? c.id : c.id.changeScope(idWithFutureScope?.scope || lane.scope);\n // });\n // if (lane.readmeComponent) {\n // lane.readmeComponent.id = lane.readmeComponent.id.hasScope()\n // ? lane.readmeComponent.id\n // : lane.readmeComponent.id.changeScope(lane.scope);\n // }\n const laneData = { ref: lane.hash(), buffer: await lane.compress() };\n objectList.addIfNotExist([laneData]);\n }\n\n return { remote, objectList, objectListPerName, idsToChangeLocally, componentsAndObjects };\n };\n\n const manyObjectsPerRemote = laneObject\n ? [await getUpdatedObjectsToExport(laneObject.scope, ids, laneObject)]\n : await mapSeries(Object.keys(idsGroupedByScope), (scopeName) =>\n getUpdatedObjectsToExport(scopeName, idsGroupedByScope[scopeName], laneObject)\n );\n\n const pushAllToCentralHub = async () => {\n const objectList = this.transformToOneObjectListWithScopeData(manyObjectsPerRemote);\n const http = await Http.connect(CENTRAL_BIT_HUB_URL, CENTRAL_BIT_HUB_NAME);\n const pushResults = await http.pushToCentralHub(objectList, { origin: exportOrigin });\n const { failedScopes, successIds, errors, metadata } = pushResults;\n if (failedScopes.length) {\n throw new PersistFailed(failedScopes, errors);\n }\n const exportedBitIds = successIds.map((id) => ComponentID.fromString(id));\n if (manyObjectsPerRemote.length === 1) {\n // when on a lane, it's always exported to the lane. and the ids can be from different scopes, so having the\n // filter below, will remove these components from the output of bit-export at the end.\n manyObjectsPerRemote[0].exportedIds = exportedBitIds.map((id) => id.toString());\n } else {\n manyObjectsPerRemote.forEach((objectPerRemote) => {\n const idsPerScope = exportedBitIds.filter((id) => id.scope === objectPerRemote.remote.name);\n // it's possible that idsPerScope is an empty array, in case the objects were exported already before\n objectPerRemote.exportedIds = idsPerScope.map((id) => id.toString());\n });\n }\n return { rippleJobs: metadata?.jobs };\n };\n\n const updateLocalObjects = async (\n lane?: Lane\n ): Promise<\n Array<{ exported: ComponentIdList; updatedLocally: ComponentIdList; newIdsOnRemote: ComponentID[] }>\n > => {\n return mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemoteExtended) => {\n const { remote, idsToChangeLocally, componentsAndObjects, exportedIds } = objectsPerRemote;\n const remoteNameStr = remote.name;\n // on Harmony, version hashes don't change, the new versions will replace the old ones.\n const removeComponentVersions = false;\n const refsToRemove = await Promise.all(\n idsToChangeLocally.map((id) => scope.sources.getRefsForComponentRemoval(id, removeComponentVersions))\n );\n scope.objects.removeManyObjects(refsToRemove.flat());\n // idsToChangeLocally.forEach((id) => {\n // scope.createSymlink(id, idsWithFutureScope.searchWithoutScopeAndVersion(id)?.scope || remoteNameStr);\n // });\n componentsAndObjects.forEach((componentObject) => scope.sources.put(componentObject));\n\n // update lanes\n if (lane) {\n if (idsToChangeLocally.length) {\n // otherwise, we don't want to update scope-name of components in the lane object\n scope.objects.add(lane);\n }\n await scope.objects.remoteLanes.syncWithLaneObject(remoteNameStr, lane);\n }\n\n if (isOnMain && !lane) {\n // all exported from main\n const remoteLaneId = LaneId.from(DEFAULT_LANE, remoteNameStr);\n await scope.objects.remoteLanes.loadRemoteLane(remoteLaneId);\n await Promise.all(\n componentsAndObjects.map(async ({ component }) => {\n await scope.objects.remoteLanes.addEntry(remoteLaneId, component.toComponentId(), component.getHead());\n })\n );\n }\n\n await scope.objects.persist();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const newIdsOnRemote = exportedIds!.map((id) => ComponentID.fromString(id));\n // remove version. exported component might have multiple versions exported\n const idsWithRemoteScope: ComponentID[] = newIdsOnRemote.map((id) => id.changeVersion(undefined));\n const idsWithRemoteScopeUniq = ComponentIdList.uniqFromArray(idsWithRemoteScope);\n return {\n newIdsOnRemote,\n exported: idsWithRemoteScopeUniq,\n updatedLocally: ComponentIdList.fromArray(\n idsWithRemoteScopeUniq.filter((id) => idsToChangeLocally.hasWithoutScopeAndVersion(id))\n ),\n };\n });\n };\n\n let centralHubResults;\n if (resumeExportId) {\n const remotes = manyObjectsPerRemote.map((o) => o.remote);\n await validateRemotes(remotes, resumeExportId);\n await persistRemotes(manyObjectsPerRemote, resumeExportId);\n } else if (this.shouldPushToCentralHub(manyObjectsPerRemote, scopeRemotes, originDirectly)) {\n centralHubResults = await pushAllToCentralHub();\n } else {\n // await pushToRemotes();\n await this.pushToRemotesCarefully(manyObjectsPerRemote, resumeExportId);\n }\n\n loader.start('updating data locally...');\n const results = await updateLocalObjects(laneObject);\n return {\n newIdsOnRemote: R.flatten(results.map((r) => r.newIdsOnRemote)),\n exported: ComponentIdList.uniqFromArray(R.flatten(results.map((r) => r.exported))),\n updatedLocally: ComponentIdList.uniqFromArray(R.flatten(results.map((r) => r.updatedLocally))),\n rippleJobs: centralHubResults?.rippleJobs || [],\n };\n }\n\n private transformToOneObjectListWithScopeData(objectsPerRemote: ObjectsPerRemote[]): ObjectList {\n const objectList = new ObjectList();\n objectsPerRemote.forEach((objPerRemote) => {\n objPerRemote.objectList.addScopeName(objPerRemote.remote.name);\n objectList.mergeObjectList(objPerRemote.objectList);\n });\n return objectList;\n }\n\n private async ejectExportedComponents(componentsIds: ComponentID[]): Promise<EjectResults> {\n const consumer: Consumer = this.workspace.consumer;\n let ejectResults: EjectResults;\n try {\n const componentIds = await this.workspace.resolveMultipleComponentIds(componentsIds);\n ejectResults = await this.eject.eject(componentIds, { force: true });\n } catch (err: any) {\n const ejectErr = `The components ${componentsIds.map((c) => c.toString()).join(', ')} were exported successfully.\n However, the eject operation has failed due to an error: ${err.msg || err}`;\n this.logger.error(ejectErr, err);\n throw new Error(ejectErr);\n }\n // run the consumer.onDestroy() again, to write the changes done by the eject action to .bitmap\n await consumer.onDestroy();\n return ejectResults;\n }\n\n private async pushToRemotesCarefully(manyObjectsPerRemote: ObjectsPerRemote[], resumeExportId?: string) {\n const remotes = manyObjectsPerRemote.map((o) => o.remote);\n const clientId = resumeExportId || Date.now().toString();\n await this.pushRemotesPendingDir(clientId, manyObjectsPerRemote, resumeExportId);\n await validateRemotes(remotes, clientId, Boolean(resumeExportId));\n await persistRemotes(manyObjectsPerRemote, clientId);\n }\n\n private async pushRemotesPendingDir(\n clientId: string,\n manyObjectsPerRemote: ObjectsPerRemote[],\n resumeExportId?: string\n ): Promise<void> {\n if (resumeExportId) {\n this.logger.debug('pushRemotesPendingDir - skip as the resumeExportId was passed');\n // no need to transfer the objects, they're already on the server. also, since this clientId\n // exists already on the remote pending-dir, it'll cause a collision.\n return;\n }\n const pushOptions = { clientId };\n const pushedRemotes: Remote[] = [];\n await mapSeries(manyObjectsPerRemote, async (objectsPerRemote: ObjectsPerRemote) => {\n const { remote, objectList } = objectsPerRemote;\n loader.start(`transferring ${objectList.count()} objects to the remote \"${remote.name}\"...`);\n try {\n await remote.pushMany(objectList, pushOptions, {});\n this.logger.debug(\n 'pushRemotesPendingDir, successfully pushed all objects to the pending-dir directory on the remote'\n );\n pushedRemotes.push(remote);\n } catch (err: any) {\n this.logger.warn('exportMany, failed pushing objects to the remote');\n await removePendingDirs(pushedRemotes, clientId);\n throw err;\n }\n });\n }\n\n private shouldPushToCentralHub(\n manyObjectsPerRemote: ObjectsPerRemote[],\n scopeRemotes: Remotes,\n originDirectly = false\n ): boolean {\n if (originDirectly) return false;\n const hubRemotes = manyObjectsPerRemote.filter((m) => scopeRemotes.isHub(m.remote.name));\n if (!hubRemotes.length) return false;\n if (hubRemotes.length === manyObjectsPerRemote.length) return true; // all are hub\n // @todo: maybe create a flag \"no-central\" to support this workflow\n throw new BitError(\n `some of your components are configured to be exported to a local scope and some to the bit.cloud hub. this is not supported`\n );\n }\n\n /**\n * Component and dependencies id changes:\n * When exporting components with dependencies to a bare-scope, some of the dependencies may be created locally and as\n * a result their scope-name is null. Before the bare-scope gets the components, convert these scope names\n * to the bare-scope name.\n *\n * This is the Harmony version of \"convertToCorrectScope\". No more codemod and no more hash changes.\n */\n private async convertToCorrectScope(\n scope: Scope,\n componentsObjects: ModelComponentAndObjects,\n remoteScope: string,\n exportingIds: ComponentIdList,\n idsWithFutureScope: ComponentIdList,\n shouldFork = false // not in used currently, but might be needed soon\n ): Promise<boolean> {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const versionsObjects: Version[] = componentsObjects.objects.filter((object) => object instanceof Version);\n const haveVersionsChanged = await Promise.all(\n versionsObjects.map(async (objectVersion: Version) => {\n const didDependencyChange = changeDependencyScope(objectVersion);\n changeExtensionsScope(objectVersion);\n\n return didDependencyChange;\n })\n );\n const shouldChangeScope = shouldFork\n ? remoteScope !== componentsObjects.component.scope\n : !componentsObjects.component.scope;\n const hasComponentChanged = shouldChangeScope;\n if (shouldChangeScope) {\n const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(\n componentsObjects.component.toComponentId()\n );\n componentsObjects.component.scope = idWithFutureScope?.scope || remoteScope;\n }\n\n // return true if one of the versions has changed or the component itself\n return haveVersionsChanged.some((x) => x) || hasComponentChanged;\n\n async function changeDependencyScope(version: Version): Promise<boolean> {\n let hasChanged = false;\n version.getAllDependencies().forEach((dependency) => {\n const updatedIdWithScope = getIdWithUpdatedScope(dependency.id);\n if (!dependency.id.scope) {\n hasChanged = true;\n dependency.id = updatedIdWithScope;\n }\n });\n const flattenedIds: ComponentIdList = version.flattenedDependencies;\n const needsChange = flattenedIds.some((id) => !id.scope);\n if (needsChange) {\n version.flattenedDependencies = getBitIdsWithUpdatedScope(flattenedIds);\n hasChanged = true;\n }\n let hasFlattenedEdgesChanged = false;\n const flattenedEdges = await version.getFlattenedEdges(scope.objects);\n const updatedFlattenedEdges = flattenedEdges.map((edge) => {\n if (edge.source.scope && edge.target.scope) {\n return edge;\n }\n hasFlattenedEdgesChanged = true;\n return {\n ...edge,\n source: getIdWithUpdatedScope(edge.source),\n target: getIdWithUpdatedScope(edge.target),\n };\n });\n if (hasFlattenedEdgesChanged) {\n const source = Version.flattenedEdgeToSource(updatedFlattenedEdges);\n version.flattenedEdgesRef = source?.hash();\n if (source) componentsObjects.objects.push(source);\n hasChanged = true;\n }\n return hasChanged;\n }\n\n function changeExtensionsScope(version: Version): boolean {\n let hasChanged = false;\n version.extensions.forEach((ext) => {\n if (ext.extensionId) {\n const updatedScope = getIdWithUpdatedScope(ext.extensionId);\n if (!updatedScope.isEqual(ext.extensionId)) {\n hasChanged = true;\n ext.extensionId = updatedScope;\n }\n }\n });\n return hasChanged;\n }\n\n function getIdWithUpdatedScope(dependencyId: ComponentID): ComponentID {\n if (dependencyId.scope) {\n return dependencyId; // it's not new\n }\n const depId = ModelComponent.fromBitId(dependencyId);\n // todo: use 'load' for async and switch the foreach with map.\n const dependencyObject = scope.objects.loadSync(depId.hash());\n if (dependencyObject instanceof Symlink) {\n return dependencyId.changeScope(dependencyObject.realScope);\n }\n const currentlyExportedDep = idsWithFutureScope.searchWithoutScopeAndVersion(dependencyId);\n const scopeName = currentlyExportedDep?.scope || remoteScope;\n if (!scopeName) throw new Error(`unable to find scopeName for ${dependencyId.toString()}`);\n return dependencyId.changeScope(scopeName);\n }\n\n function getBitIdsWithUpdatedScope(bitIds: ComponentIdList): ComponentIdList {\n const updatedIds = bitIds.map((id) => getIdWithUpdatedScope(id));\n return ComponentIdList.fromArray(updatedIds);\n }\n }\n\n private async removeFromStagedConfig(ids: ComponentID[]) {\n this.logger.debug(`removeFromStagedConfig, ${ids.length} ids`);\n const componentIds = await this.workspace.resolveMultipleComponentIds(ids);\n const stagedConfig = await this.workspace.scope.getStagedConfig();\n componentIds.map((compId) => stagedConfig.removeComponentConfig(compId));\n await stagedConfig.write();\n }\n\n private async getComponentsToExport(\n ids: string[] = [],\n includeNonStaged?: boolean\n ): Promise<{\n idsToExport: ComponentIdList;\n missingScope: ComponentID[];\n idsWithFutureScope: ComponentIdList;\n laneObject?: Lane;\n }> {\n const consumer = this.workspace.consumer;\n const componentsList = new ComponentsList(consumer);\n const idsHaveWildcard = hasWildcard(ids);\n const filterNonScopeIfNeeded = async (\n bitIds: ComponentIdList\n ): Promise<{ idsToExport: ComponentIdList; missingScope: ComponentID[]; idsWithFutureScope: ComponentIdList }> => {\n const idsWithFutureScope = await this.getIdsWithFutureScope(bitIds);\n // const [idsToExport, missingScope] = R.partition((id) => {\n // const idWithFutureScope = idsWithFutureScope.searchWithoutScopeAndVersion(id);\n // if (!idWithFutureScope) throw new Error(`idsWithFutureScope is missing ${id.toString()}`);\n // return idWithFutureScope.hasScope();\n // }, bitIds);\n return { idsToExport: ComponentIdList.fromArray(bitIds), missingScope: [], idsWithFutureScope };\n };\n if (isUserTryingToExportLanes(consumer)) {\n if (ids.length) {\n throw new GeneralError(`when checked out to a lane, all its components are exported. please omit the ids`);\n }\n const { componentsToExport, laneObject } = await this.getLaneCompIdsToExport(consumer, includeNonStaged);\n const loaderMsg = componentsToExport.length > 1 ? BEFORE_EXPORTS : BEFORE_EXPORT;\n loader.start(loaderMsg);\n const filtered = await filterNonScopeIfNeeded(componentsToExport);\n return { ...filtered, laneObject };\n }\n if (!ids.length || idsHaveWildcard) {\n loader.start(BEFORE_LOADING_COMPONENTS);\n const exportPendingComponents: ComponentIdList = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds();\n const componentsToExport = idsHaveWildcard\n ? ComponentsList.filterComponentsByWildcard(exportPendingComponents, ids)\n : exportPendingComponents;\n const loaderMsg = componentsToExport.length > 1 ? BEFORE_EXPORTS : BEFORE_EXPORT;\n loader.start(loaderMsg);\n return filterNonScopeIfNeeded(componentsToExport);\n }\n loader.start(BEFORE_EXPORT); // show single export\n const parsedIds = await Promise.all(ids.map((id) => getParsedId(consumer, id)));\n // load the components for fixing any out-of-sync issues.\n await consumer.loadComponents(ComponentIdList.fromArray(parsedIds));\n\n return filterNonScopeIfNeeded(ComponentIdList.fromArray(parsedIds));\n }\n\n /**\n * remove the entire \"idsWithFutureScope\" thing. is not relevant anymore.\n */\n private async getIdsWithFutureScope(ids: ComponentIdList): Promise<ComponentIdList> {\n return ids;\n // const idsArrayP = ids.map(async (id) => {\n // if (id.hasScope()) return id;\n // const componentId = await this.workspace.resolveComponentId(id);\n // const finalScope = await this.workspace.componentDefaultScope(componentId);\n // if (finalScope) {\n // return id.changeScope(finalScope);\n // }\n // return id;\n // });\n // const idsArray = await Promise.all(idsArrayP);\n // return ComponentIdList.fromArray(idsArray);\n }\n\n private async getLaneCompIdsToExport(\n consumer: Consumer,\n includeNonStaged?: boolean\n ): Promise<{ componentsToExport: ComponentIdList; laneObject: Lane }> {\n const currentLaneId = consumer.getCurrentLaneId();\n const laneObject = await consumer.scope.loadLane(currentLaneId);\n if (!laneObject) {\n throw new Error(`fatal: unable to load the current lane object (${currentLaneId.toString()})`);\n }\n loader.start(BEFORE_LOADING_COMPONENTS);\n const componentsList = new ComponentsList(consumer);\n const componentsToExportWithoutRemoved = includeNonStaged\n ? await componentsList.listNonNewComponentsIds()\n : await componentsList.listExportPendingComponentsIds(laneObject);\n const removedStagedBitIds = await this.getRemovedStagedBitIds();\n const componentsToExport = ComponentIdList.uniqFromArray([\n ...componentsToExportWithoutRemoved,\n ...removedStagedBitIds,\n ]);\n return { componentsToExport, laneObject };\n }\n\n private async getRemovedStagedBitIds(): Promise<ComponentIdList> {\n const removedStaged = await this.remove.getRemovedStaged();\n return ComponentIdList.fromArray(removedStaged.map((id) => id.changeVersion(undefined)));\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n ScopeAspect,\n WorkspaceAspect,\n RemoveAspect,\n DependencyResolverAspect,\n LoggerAspect,\n EjectAspect,\n ];\n static async provider([cli, scope, workspace, remove, depResolver, loggerMain, eject]: [\n CLIMain,\n ScopeMain,\n Workspace,\n RemoveMain,\n DependencyResolverMain,\n LoggerMain,\n EjectMain\n ]) {\n const logger = loggerMain.createLogger(ExportAspect.id);\n const exportMain = new ExportMain(workspace, remove, depResolver, logger, eject);\n cli.register(new ResumeExportCmd(scope), new ExportCmd(exportMain));\n return exportMain;\n }\n}\n\nExportAspect.addRuntime(ExportMain);\n\n/**\n * the componentsIds passed here are the ones that didn't have scope-name before, and now they have.\n * so if the bitMap.updateComponentId returns bitId without scope-name is because it couldn't find it there\n */\nfunction _updateIdsOnBitMap(\n bitMap: BitMap,\n componentsIds: ComponentIdList\n): { updatedIds: ComponentID[]; nonExistOnBitMap: ComponentIdList } {\n const updatedIds: ComponentID[] = [];\n const nonExistOnBitMap = new ComponentIdList();\n componentsIds.forEach((componentsId) => {\n const resultId = bitMap.updateComponentId(componentsId, true);\n if (resultId.hasVersion()) updatedIds.push(resultId);\n else nonExistOnBitMap.push(resultId);\n });\n return { updatedIds, nonExistOnBitMap };\n}\n\nasync function getParsedId(consumer: Consumer, id: string): Promise<ComponentID> {\n // reason why not calling `consumer.getParsedId()` only is because a component might not be on\n // .bitmap and only in the scope. we support this case and enable to export\n try {\n return consumer.getParsedId(id);\n } catch (err: any) {\n return consumer.scope.getParsedId(id);\n }\n}\n\nfunction _throwForUnsnappedLaneReadme(lane: Lane) {\n const readmeComponent = lane.readmeComponent as LaneReadmeComponent;\n\n const isValid =\n readmeComponent?.head &&\n lane.getComponent(readmeComponent.id) &&\n lane.getComponentHead(readmeComponent.id)?.isEqual(readmeComponent?.head);\n\n if (!isValid) {\n throw new BitError(\n `${lane?.name} has a readme component ${readmeComponent.id} that hasn't been snapped on the lane.\n Please run either snap -a or snap ${readmeComponent.id} to snap the component on the lane before exporting it.`\n );\n }\n}\n\nasync function updateLanesAfterExport(consumer: Consumer, lane: Lane) {\n const currentLane = consumer.getCurrentLaneId();\n const isCurrentLane = lane.name === currentLane.name;\n if (!isCurrentLane) {\n throw new Error(\n `updateLanesAfterExport should get called only with current lane, got ${lane.name}, current ${currentLane.name}`\n );\n }\n consumer.setCurrentLane(lane.toLaneId(), true);\n consumer.scope.scopeJson.removeLaneFromNew(lane.name);\n lane.isNew = false;\n}\n\nexport function isUserTryingToExportLanes(consumer: Consumer) {\n return consumer.isOnLane();\n}\n\nexport default ExportMain;\n"],"mappings":";;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,KAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,IAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,OAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,MAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,OAAA;EAAA,MAAAL,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAG,MAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,UAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,SAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,WAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,UAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,aAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,YAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,QAAA;EAAA,MAAAT,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAO,OAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,gBAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,eAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAW,WAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,UAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA,SAAAY,gBAAA;EAAA,MAAAZ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAU,eAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,cAAA;EAAA,MAAAb,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAW,aAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,OAAA;EAAA,MAAAd,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAY,MAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,QAAA;EAAA,MAAAf,IAAA,GAAAE,OAAA;EAAAa,OAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,QAAA;EAAA,MAAAhB,IAAA,GAAAE,OAAA;EAAAc,OAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,aAAA;EAAA,MAAAjB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAe,YAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,QAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,OAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,WAAA;EAAA,MAAAnB,IAAA,GAAAoB,uBAAA,CAAAlB,OAAA;EAAAiB,UAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqB,QAAA;EAAA,MAAArB,IAAA,GAAAE,OAAA;EAAAmB,OAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAsB,MAAA;EAAA,MAAAtB,IAAA,GAAAE,OAAA;EAAAoB,KAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,YAAA;EAAA,MAAAvB,IAAA,GAAAE,OAAA;EAAAqB,WAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwB,QAAA;EAAA,MAAAxB,IAAA,GAAAE,OAAA;EAAAsB,OAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,YAAA;EAAA,MAAAzB,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAuB,WAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0B,QAAA;EAAA,MAAA1B,IAAA,GAAAE,OAAA;EAAAwB,OAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAA2B,OAAA;EAAA,MAAA3B,IAAA,GAAAE,OAAA;EAAAyB,MAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA4B,cAAA;EAAA,MAAA5B,IAAA,GAAAE,OAAA;EAAA0B,aAAA,YAAAA,CAAA;IAAA,OAAA5B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAA6B,kBAAA;EAAA,MAAA7B,IAAA,GAAAE,OAAA;EAAA2B,iBAAA,YAAAA,CAAA;IAAA,OAAA7B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA8B,oBAAA;EAAA,MAAA9B,IAAA,GAAAE,OAAA;EAAA4B,mBAAA,YAAAA,CAAA;IAAA,OAAA9B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA+B,uBAAA;EAAA,MAAA/B,IAAA,GAAAE,OAAA;EAAA6B,sBAAA,YAAAA,CAAA;IAAA,OAAA/B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAMA,SAAAgC,eAAA;EAAA,MAAAhC,IAAA,GAAAE,OAAA;EAAA8B,cAAA,YAAAA,CAAA;IAAA,OAAAhC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiC,kBAAA;EAAA,MAAAjC,IAAA,GAAAE,OAAA;EAAA+B,iBAAA,YAAAA,CAAA;IAAA,OAAAjC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkC,QAAA;EAAA,MAAAlC,IAAA,GAAAE,OAAA;EAAAgC,OAAA,YAAAA,CAAA;IAAA,OAAAlC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmC,WAAA;EAAA,MAAAnC,IAAA,GAAAE,OAAA;EAAAiC,UAAA,YAAAA,CAAA;IAAA,OAAAnC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoC,iBAAA;EAAA,MAAApC,IAAA,GAAAE,OAAA;EAAAkC,gBAAA,YAAAA,CAAA;IAAA,OAAApC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsD,MAAAqC,SAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAnB,wBAAAuB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAhD,uBAAA0C,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAiB,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAZ,MAAA,CAAAa,IAAA,CAAAH,CAAA,OAAAV,MAAA,CAAAc,qBAAA,QAAAC,CAAA,GAAAf,MAAA,CAAAc,qBAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAX,MAAA,CAAAE,wBAAA,CAAAQ,CAAA,EAAAC,CAAA,EAAAM,UAAA,OAAAL,CAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAQ,cAAAV,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAU,SAAA,CAAAC,MAAA,EAAAX,CAAA,UAAAC,CAAA,WAAAS,SAAA,CAAAV,CAAA,IAAAU,SAAA,CAAAV,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAT,MAAA,CAAAY,CAAA,OAAAW,OAAA,WAAAZ,CAAA,IAAAa,eAAA,CAAAd,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAX,MAAA,CAAAyB,yBAAA,GAAAzB,MAAA,CAAA0B,gBAAA,CAAAhB,CAAA,EAAAV,MAAA,CAAAyB,yBAAA,CAAAb,CAAA,KAAAH,OAAA,CAAAT,MAAA,CAAAY,CAAA,GAAAW,OAAA,WAAAZ,CAAA,IAAAX,MAAA,CAAAC,cAAA,CAAAS,CAAA,EAAAC,CAAA,EAAAX,MAAA,CAAAE,wBAAA,CAAAU,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAiB,yBAAAC,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,GAAAC,6BAAA,CAAAH,MAAA,EAAAC,QAAA,OAAA1B,GAAA,EAAA6B,CAAA,MAAAhC,MAAA,CAAAc,qBAAA,QAAAmB,gBAAA,GAAAjC,MAAA,CAAAc,qBAAA,CAAAc,MAAA,QAAAI,CAAA,MAAAA,CAAA,GAAAC,gBAAA,CAAAX,MAAA,EAAAU,CAAA,MAAA7B,GAAA,GAAA8B,gBAAA,CAAAD,CAAA,OAAAH,QAAA,CAAAK,OAAA,CAAA/B,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAA+B,oBAAA,CAAA7B,IAAA,CAAAsB,MAAA,EAAAzB,GAAA,aAAA2B,MAAA,CAAA3B,GAAA,IAAAyB,MAAA,CAAAzB,GAAA,cAAA2B,MAAA;AAAA,SAAAC,8BAAAH,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,WAAAM,UAAA,GAAApC,MAAA,CAAAa,IAAA,CAAAe,MAAA,OAAAzB,GAAA,EAAA6B,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAI,UAAA,CAAAd,MAAA,EAAAU,CAAA,MAAA7B,GAAA,GAAAiC,UAAA,CAAAJ,CAAA,OAAAH,QAAA,CAAAK,OAAA,CAAA/B,GAAA,kBAAA2B,MAAA,CAAA3B,GAAA,IAAAyB,MAAA,CAAAzB,GAAA,YAAA2B,MAAA;AAAA,SAAAN,gBAAAhC,GAAA,EAAAW,GAAA,EAAAkC,KAAA,IAAAlC,GAAA,GAAAmC,cAAA,CAAAnC,GAAA,OAAAA,GAAA,IAAAX,GAAA,IAAAQ,MAAA,CAAAC,cAAA,CAAAT,GAAA,EAAAW,GAAA,IAAAkC,KAAA,EAAAA,KAAA,EAAApB,UAAA,QAAAsB,YAAA,QAAAC,QAAA,oBAAAhD,GAAA,CAAAW,GAAA,IAAAkC,KAAA,WAAA7C,GAAA;AAAA,SAAA8C,eAAAG,GAAA,QAAAtC,GAAA,GAAAuC,YAAA,CAAAD,GAAA,2BAAAtC,GAAA,gBAAAA,GAAA,GAAAwC,MAAA,CAAAxC,GAAA;AAAA,SAAAuC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAxC,IAAA,CAAAsC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAEtD,MAAMS,oBAAoB,GAAGC,gBAAY,CAACC,WAAW,CAAC,CAAC;AA6BhD,MAAMC,UAAU,CAAC;EACtBC,WAAWA,CACDC,SAAoB,EACpBC,MAAkB,EAClBC,WAAmC,EACnCC,MAAc,EACdC,KAAgB,EACxB;IAAA,KALQJ,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,MAAkB,GAAlBA,MAAkB;IAAA,KAClBC,WAAmC,GAAnCA,WAAmC;IAAA,KACnCC,MAAc,GAAdA,MAAc;IAAA,KACdC,KAAgB,GAAhBA,KAAgB;EACvB;EAEH,MAAMC,MAAMA,CAACC,MAAoB,GAAG,CAAC,CAAC,EAAE;IACtCX,oBAAoB,aAApBA,oBAAoB,eAApBA,oBAAoB,CAAEY,WAAW,CAACC,4BAAe,EAAEF,MAAM,CAAC;IAC1D,MAAM;MAAEG,gBAAgB;MAAEC,YAAY;MAAEC,QAAQ;MAAEC,UAAU;MAAEC,aAAa;MAAEC;IAAW,CAAC,GACvF,MAAM,IAAI,CAACC,gBAAgB,CAACT,MAAM,CAAC;IACrC,IAAIU,YAAY;IAChB,MAAM,IAAI,CAAChB,SAAS,CAACiB,UAAU,CAAC,CAAC,CAAC,CAAC;IACnC,IAAIX,MAAM,CAACF,KAAK,EAAEY,YAAY,GAAG,MAAM,IAAI,CAACE,uBAAuB,CAACP,QAAQ,CAAC;IAC7E,MAAMQ,aAAa,GAAG;MACpBC,aAAa,EAAET,QAAQ;MACvBF,gBAAgB;MAChBG,UAAU;MACVF,YAAY;MACZM,YAAY;MACZH,aAAa;MACbC;IACF,CAAC;IACDnB,oBAAoB,aAApBA,oBAAoB,eAApBA,oBAAoB,CAAEY,WAAW,CAACc,6BAAgB,EAAEF,aAAa,CAAC;IAClE,IAAIG,eAAK,CAACC,YAAY,EAAE;MACtB,MAAMD,eAAK,CAACC,YAAY,CAACZ,QAAQ,EAAEE,aAAa,CAAC,CAACW,KAAK,CAAEC,GAAG,IAAK;QAC/D,IAAI,CAACtB,MAAM,CAACuB,KAAK,CAAC,iFAAiF,EAAED,GAAG,CAAC;MAC3G,CAAC,CAAC;IACJ;IACA,OAAON,aAAa;EACtB;EAEA,MAAcJ,gBAAgBA,CAAAY,IAAA,EAe3B;IAAA,IAf4B;QAC7BC,GAAG;QACHC,gBAAgB;QAChBC,QAAQ;QACRC;MAEY,CAAC,GAAAJ,IAAA;MADVrB,MAAM,GAAArC,wBAAA,CAAA0D,IAAA,EAAAnG,SAAA;IAWT,IAAI,CAAC,IAAI,CAACwE,SAAS,EAAE,MAAM,KAAIgC,kCAAqB,EAAC,CAAC;IACtD,MAAMC,QAAkB,GAAG,IAAI,CAACjC,SAAS,CAACiC,QAAQ;IAClD,MAAM;MAAEC,WAAW;MAAExB,YAAY;MAAEyB,kBAAkB;MAAEC;IAAW,CAAC,GAAG,MAAM,IAAI,CAACC,qBAAqB,CACpGT,GAAG,EACHC,gBAAgB,IAAIC,QACtB,CAAC;IAED,IAAIQ,gBAAC,CAACC,OAAO,CAACL,WAAW,CAAC,EAAE;MAC1B,OAAO;QACLM,UAAU,EAAE,EAAE;QACd/B,gBAAgB,EAAE,EAAE;QACpBG,UAAU,EAAE,KAAI6B,8BAAe,EAAC,CAAC;QACjC/B,YAAY;QACZC,QAAQ,EAAE,EAAE;QACZ+B,cAAc,EAAE,EAAE;QAClB7B,aAAa,EAAE,EAAE;QACjBC,UAAU,EAAE;MACd,CAAC;IACH;;IAEA;IACA,IAAIsB,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEO,eAAe,EAAE;MAC/BC,4BAA4B,CAACR,UAAU,CAAC;IAC1C;IAEA,IACE,CAAC9B,MAAM,CAACuC,gBAAgB,IACxBT,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEU,UAAU,IACtBV,UAAU,CAACW,KAAK,IAChBX,UAAU,CAACU,UAAU,CAACE,KAAK,KAAKZ,UAAU,CAACY,KAAK,EAChD;MACA,MAAM,KAAIC,oBAAQ,EAAE,2BAA0Bb,UAAU,CACrDc,EAAE,CAAC,CAAC,CACJC,QAAQ,CAAC,CAAE,oBAAmBf,UAAU,CAACU,UAAU,CAACK,QAAQ,CAAC,CAAE;AACxE,+CAA+Cf,UAAU,CAACY,KAAM,6BACxDZ,UAAU,CAACU,UAAU,CAACE,KACvB;AACP;AACA,sGACQZ,UAAU,CAACgB,IACZ,IAAGhB,UAAU,CAACU,UAAU,CAACE,KAAM;AACtC;AACA,gKAAgK,CAAC;IAC7J;IACA,MAAMK,QAAQ,GAAGpB,QAAQ,CAACoB,QAAQ,CAAC,CAAC;IACpC,MAAM;MAAE1C,QAAQ;MAAE2C,cAAc;MAAEZ,cAAc;MAAE5B;IAAW,CAAC,GAAG,MAAM,IAAI,CAACyC,UAAU,CAAA7F,aAAA,CAAAA,aAAA,KACjF4C,MAAM;MACTkD,eAAe,EAAE1B,QAAQ;MACzBkB,KAAK,EAAEf,QAAQ,CAACe,KAAK;MACrBpB,GAAG,EAAEM,WAAW;MAChBE,UAAU;MACVL,cAAc;MACdI,kBAAkB;MAClBkB,QAAQ;MACRI,yBAAyB,EAAEC,OAAO,CAAC,CAACpD,MAAM,CAACqD,WAAW,IAAIvB,UAAU;IAAC,EACtE,CAAC;IACF,IAAIA,UAAU,EAAE,MAAMwB,sBAAsB,CAAC3B,QAAQ,EAAEG,UAAU,CAAC;IAClE,MAAMxB,UAAU,GAAG,MAAM,IAAI,CAACiD,sBAAsB,CAAC,CAAC;IACtD,MAAM;MAAErB,UAAU;MAAE/B;IAAiB,CAAC,GAAGqD,kBAAkB,CAAC7B,QAAQ,CAAC8B,MAAM,EAAET,cAAc,CAAC;IAC5F;IACA,MAAM,IAAAU,0CAAsB,EAAC,IAAI,CAAChE,SAAS,EAAEwC,UAAU,EAAE,IAAI,CAAC;IAC9D,MAAM,IAAI,CAACyB,sBAAsB,CAACtD,QAAQ,CAAC;IAC3C;IACA;IACA,MAAM,IAAI,CAACX,SAAS,CAACgD,KAAK,CAACkB,WAAW,CAACC,WAAW,CAACC,UAAU,CAAC,CAAC;IAC/D,MAAMC,kBAAE,CAACpE,MAAM,CAAC,IAAI,CAACD,SAAS,CAACgD,KAAK,CAACsB,iBAAiB,CAAC,CAAC,CAAC;IACzDC,sBAAS,CAACC,YAAY,CAAC,gBAAgB,EAAE7D,QAAQ,CAAC/C,MAAM,CAAC;IACzD;IACA;IACA;IACA,MAAMqE,QAAQ,CAACwC,SAAS,CAAC,CAAC;IAC1B,OAAO;MACLjC,UAAU;MACV/B,gBAAgB,EAAEA,gBAAgB,CAACnD,MAAM,CAAE4F,EAAE,IAAK,CAACtC,UAAU,CAAC8D,iBAAiB,CAACxB,EAAE,CAAC,CAAC;MACpFtC,UAAU;MACVF,YAAY;MACZC,QAAQ;MACR+B,cAAc;MACd7B,aAAa,EAAEuB,UAAU,GAAG,CAACA,UAAU,CAAC,GAAG,EAAE;MAC7CtB;IACF,CAAC;EACH;;EAEA;AACF;AACA;EACE,MAAMyC,UAAUA,CAAC;IACfP,KAAK;IACLpB,GAAG;IAAE;IACLQ,UAAU;IACVuB,WAAW;IACX5B,cAAc;IACdI,kBAAkB;IAClBwC,cAAc;IACdC,sBAAsB;IACtBC,8BAA8B,GAAG,IAAI;IACrCxB,QAAQ,GAAG,IAAI;IACfG,eAAe;IAAE;IACjBC,yBAAyB;IAAE;IAC3BqB,YAAY,GAAG;EAejB,CAAC,EAKE;IAAA,IAAAC,kBAAA;IACD,IAAI,CAAC5E,MAAM,CAAC6E,KAAK,CAAE,0BAAyBpD,GAAG,CAACuB,QAAQ,CAAC,CAAE,EAAC,CAAC;IAC7D,MAAM8B,YAAqB,GAAG,MAAM,IAAAC,+BAAe,EAAClC,KAAK,CAAC;IAE1D,MAAMmC,gBAAgB,GAAIC,MAAuB,IAA+C;MAC9F,OAAOA,MAAM,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,OAAO,KAAK;QACrC,MAAMC,YAAY,GAAGA,CAAA,KAAM;UACzB,IAAID,OAAO,CAACvC,KAAK,EAAE,OAAOuC,OAAO,CAACvC,KAAK;UACvC,MAAMyC,kBAAkB,GAAGtD,kBAAkB,CAACuD,4BAA4B,CAACH,OAAO,CAAC;UACnF,OAAOE,kBAAkB,GAAGA,kBAAkB,CAACzC,KAAK,GAAG,IAAI;QAC7D,CAAC;QACD,MAAM2C,SAAS,GAAGH,YAAY,CAAC,CAAC;QAChC,IAAI,CAACG,SAAS,EAAE;UACd,MAAM,IAAIC,KAAK,CAAE,6DAA4DL,OAAO,CAACpC,QAAQ,CAAC,CAAE,EAAC,CAAC;QACpG;QACA,IAAImC,GAAG,CAACK,SAAS,CAAC,EAAEL,GAAG,CAACK,SAAS,CAAC,CAACnI,IAAI,CAAC+H,OAAO,CAAC,CAAC,KAC5CD,GAAG,CAACK,SAAS,CAAC,GAAG,KAAIlD,8BAAe,EAAC8C,OAAO,CAAC;QAClD,OAAOD,GAAG;MACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,MAAMO,iBAAiB,GAAGV,gBAAgB,CAACvD,GAAG,CAAC;;IAE/C;AACJ;AACA;AACA;AACA;IACI,MAAMkE,2BAA2B,GAAG,MAAAA,CAAA,KAAY;MAC9C,IAAI,CAAC1D,UAAU,EAAE;QACf;MACF;MACA,MAAM2D,MAAM,GAAGtD,8BAAe,CAACuD,SAAS,CAACpE,GAAG,CAACtE,MAAM,CAAE4F,EAAE,IAAK,CAACF,KAAK,CAACiD,UAAU,CAAC/C,EAAE,CAAC,CAAC,CAAC;MACnF,MAAMgD,aAAa,GAAGf,gBAAgB,CAACY,MAAM,CAAC;MAC9C,MAAM,IAAAI,qBAAS,EAAC7J,MAAM,CAACa,IAAI,CAAC+I,aAAa,CAAC,EAAE,MAAOP,SAAS,IAAK;QAC/D,IAAIA,SAAS,KAAKvD,UAAU,CAACY,KAAK,EAAE;UAClC;UACA;QACF;QACA;QACA,MAAMoD,MAAM,GAAG,MAAMnB,YAAY,CAACoB,OAAO,CAACV,SAAS,EAAE3C,KAAK,CAAC;QAC3D,MAAMsD,IAAI,GAAG,MAAMF,MAAM,CAACE,IAAI,CAAC,CAAC;QAChC,MAAMC,OAAO,GAAG9D,8BAAe,CAACuD,SAAS,CAACM,IAAI,CAACE,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAACvD,EAAE,CAAC,CAAC;QAC9EgD,aAAa,CAACP,SAAS,CAAC,CAAC9H,OAAO,CAAEqF,EAAE,IAAK;UACvC,IAAIqD,OAAO,CAAC7B,iBAAiB,CAACxB,EAAE,CAAC,EAAE;YACjC,MAAM,IAAI0C,KAAK,CAAE,iDAAgD1C,EAAE,CAACC,QAAQ,CAAC,CAAE,mCAAkCwC,SAAU;AACvI,yJAAyJ,CAAC;UAChJ;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC;;IAED;AACJ;AACA;AACA;IACI,MAAMe,qBAAqB,GAAG,MAAAA,CAAOC,SAAgB,EAAEC,cAA8B,KAAK;MACxF,MAAMC,IAAI,GAAGD,cAAc,CAACC,IAAI;MAChC,IAAI,CAACA,IAAI,EAAE;MACX,IAAIF,SAAS,CAACG,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAKH,IAAI,CAACG,IAAI,CAAC,EAAE,OAAO,CAAC;MACzD,IAAI,EAAE,MAAMhE,KAAK,CAACiE,OAAO,CAAC/K,GAAG,CAAC2K,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC;MAC9CF,SAAS,CAACnJ,IAAI,CAACqJ,IAAI,CAAC;IACtB,CAAC;IAED,MAAMK,mBAAmB,GAAG,MAAON,cAA8B,IAAqB;MACpF,IAAIpD,eAAe,EAAE;QAAA,IAAA2D,qBAAA;QACnB,MAAMN,IAAI,GAAG,CAAAzE,UAAU,aAAVA,UAAU,gBAAA+E,qBAAA,GAAV/E,UAAU,CAAEgF,YAAY,CAACR,cAAc,CAACS,aAAa,CAAC,CAAC,CAAC,cAAAF,qBAAA,uBAAxDA,qBAAA,CAA0DN,IAAI,KAAID,cAAc,CAACC,IAAI;QAClG,IAAI,CAACA,IAAI,EACP,MAAM,IAAIjB,KAAK,CACZ,oEAAmEgB,cAAc,CAAC1D,EAAE,CAAC,CAAE,aAC1F,CAAC;QACH,OAAO,CAAC2D,IAAI,CAAC;MACf;MACA,MAAMS,iBAAiB,GAAG,MAAMV,cAAc,CAACW,cAAc,CAACvE,KAAK,CAACiE,OAAO,CAAC;MAC5E,IAAI,CAACtD,WAAW,EAAE;QAChB,OAAO2D,iBAAiB;MAC1B;MAEA,MAAMX,SAAS,GAAG,MAAM,IAAAa,uCAAmB,EAAC;QAAEZ,cAAc;QAAEa,IAAI,EAAEzE,KAAK,CAACiE;MAAQ,CAAC,CAAC;MACpF,MAAMP,qBAAqB,CAACC,SAAS,EAAEC,cAAc,CAAC;MACtD,OAAOD,SAAS;IAClB,CAAC;IAED,MAAMb,2BAA2B,CAAC,CAAC;IACnC,MAAM4B,oBAAoB,GAAGpL,MAAM,CAACa,IAAI,CAAC0I,iBAAiB,CAAC,CACxDW,GAAG,CAAEb,SAAS,IAAM,UAASA,SAAU,MAAKE,iBAAiB,CAACF,SAAS,CAAC,CAACxC,QAAQ,CAAC,CAAE,EAAC,CAAC,CACtFwE,IAAI,CAAC,IAAI,CAAC;IACb,IAAI,CAACxH,MAAM,CAAC6E,KAAK,CAAE,2DAA0D0C,oBAAqB,EAAC,CAAC;IAEpG,MAAME,yBAAyB,GAAG,MAAAA,CAChCC,aAAqB,EACrBC,MAAuB,EACvBC,IAAW,KAC2B;MACtCD,MAAM,CAACE,gCAAgC,CAAC,CAAC;MACzC,MAAM5B,MAAc,GAAG,MAAMnB,YAAY,CAACoB,OAAO,CAACwB,aAAa,EAAE7E,KAAK,CAAC;MACvE,MAAMiF,kBAAkB,GAAGxF,8BAAe,CAACuD,SAAS,CAAC8B,MAAM,CAACxK,MAAM,CAAE4F,EAAE,IAAK,CAACF,KAAK,CAACiD,UAAU,CAAC/C,EAAE,CAAC,CAAC,CAAC;MAClG,MAAMgF,oBAAgD,GAAG,EAAE;MAC3D,MAAMC,UAAU,GAAG,KAAIC,wBAAU,EAAC,CAAC;MACnC,MAAMC,iBAAoC,GAAG,CAAC,CAAC;MAE/C,MAAMC,eAAe,GAAG,MAAM,IAAAnC,qBAAS,EAAC2B,MAAM,EAAG5E,EAAE,IAAKF,KAAK,CAACuF,iBAAiB,CAACrF,EAAE,CAAC,CAAC;MACpF;MACAF,KAAK,CAACiE,OAAO,CAACuB,qBAAqB,CAAC,CAAC;MAErC,MAAMC,iCAAiC,GAAG,MAAM,IAAAtC,qBAAS,EAACmC,eAAe,EAAE,MAAO1B,cAAc,IAAK;QACnG,MAAM8B,IAAI,GAAG,MAAMxB,mBAAmB,CAACN,cAAc,CAAC;QACtD,OAAO;UAAEA,cAAc;UAAE8B;QAAK,CAAC;MACjC,CAAC,CAAC;MAEF,MAAMC,sBAAsB,GAAG,MAAAA,CAAA,KAAY;QACzC,IAAI,CAAClF,yBAAyB,EAAE;UAC9B,OAAOgF,iCAAiC;QAC1C;QACA,MAAMG,cAAc,GAAGH,iCAAiC,CACrDjC,GAAG,CAAEvJ,CAAC,IAAKA,CAAC,CAACyL,IAAI,CAAC,CAClBG,IAAI,CAAC,CAAC,CACNrC,GAAG,CAAEsC,GAAG,IAAKA,GAAG,CAAC3F,QAAQ,CAAC,CAAC,CAAC;QAC/B,MAAM4F,gBAAgB,GAAG,MAAM/F,KAAK,CAACgG,aAAa,CAACC,4BAA4B,CAACpB,aAAa,EAAEe,cAAc,CAAC;QAC9G;QACA,MAAMM,wBAAwB,GAAGT,iCAAiC,CAACjC,GAAG,CAAC,CAAC;UAAEI,cAAc;UAAE8B;QAAK,CAAC,KAAK;UACnG,MAAMS,eAAyB,GAAG,EAAE;UACpC,MAAMC,YAAY,GAAGV,IAAI,CAACpL,MAAM,CAAEwL,GAAG,IAAK;YACxC,MAAMO,QAAQ,GAAGN,gBAAgB,CAACO,QAAQ,CAACR,GAAG,CAAC3F,QAAQ,CAAC,CAAC,CAAC;YAC1D,IAAIkG,QAAQ,EAAEF,eAAe,CAAC3L,IAAI,CAACsL,GAAG,CAAC3F,QAAQ,CAAC,CAAC,CAAC;YAClD,OAAO,CAACkG,QAAQ;UAClB,CAAC,CAAC;UACF,IAAIF,eAAe,CAACvL,MAAM,EACxB,IAAI,CAACuC,MAAM,CAAC6E,KAAK,CACd,sEAAqE4B,cAAc,CACjF1D,EAAE,CAAC,CAAC,CACJC,QAAQ,CAAC,CAAE,+CAA8CgG,eAAe,CAACxB,IAAI,CAAC,IAAI,CAAE,EACzF,CAAC;UAEH,OAAOyB,YAAY,CAACxL,MAAM,GAAG;YAAEgJ,cAAc;YAAE8B,IAAI,EAAEU;UAAa,CAAC,GAAG,IAAI;QAC5E,CAAC,CAAC;QAEF,OAAO,IAAAG,iBAAO,EAACL,wBAAwB,CAAC;MAC1C,CAAC;MAED,MAAMM,qBAAqB,GAAG,MAAAA,CAAO;QACnC5C,cAAc;QACd8B;MAIF,CAAC,KAAK;QACJ9B,cAAc,CAAC6C,cAAc,CAAC,CAAC;QAC/B,MAAMC,WAAW,GAAG,MAAM9C,cAAc,CAAC+C,sBAAsB,CAC7D3G,KAAK,CAACiE,OAAO,EACbyB,IAAI,CAAClC,GAAG,CAAEsC,GAAG,IAAKA,GAAG,CAAC3F,QAAQ,CAAC,CAAC,CAAC,EACjCyB,sBAAsB,EACtBC,8BACF,CAAC;QACD,MAAM+E,WAAW,GAAG,MAAM,KAAIxB,wBAAU,EAACsB,WAAW,CAAC,CAACG,YAAY,CAAC,CAAC;QACpE,MAAMC,kBAAkB,GAAG;UAAEC,SAAS,EAAEnD,cAAc;UAAEK,OAAO,EAAE2C,WAAW,CAACI,MAAM,CAAC;QAAE,CAAC;QACvF,MAAM,IAAI,CAACC,qBAAqB,CAACjH,KAAK,EAAE8G,kBAAkB,EAAEjC,aAAa,EAAEC,MAAM,EAAE3F,kBAAkB,CAAC;QACtG,MAAM+H,SAAS,GAAG;UAAEC,GAAG,EAAE/D,MAAM,CAACgE,IAAI;UAAEhH,IAAI,EAAEgD,MAAM,CAAChD,IAAI;UAAEiH,IAAI,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACpH,QAAQ,CAAC;QAAE,CAAC;QACtFyD,cAAc,CAAC4D,gBAAgB,CAACN,SAAS,CAAC;QAC1ChC,oBAAoB,CAAC1K,IAAI,CAACsM,kBAAkB,CAAC;QAC7C,MAAMW,eAAe,GAAG,MAAM7D,cAAc,CAAC8D,QAAQ,CAAC,CAAC;QACvD,MAAMC,aAAa,GAAG;UAAE7B,GAAG,EAAElC,cAAc,CAACI,IAAI,CAAC,CAAC;UAAE4D,MAAM,EAAEH,eAAe;UAAEI,IAAI,EAAEjE,cAAc,CAACkE,OAAO,CAAC;QAAE,CAAC;QAC7G,MAAMC,aAAa,GAAG,MAAMC,OAAO,CAACC,GAAG,CACrCnB,kBAAkB,CAAC7C,OAAO,CAACT,GAAG,CAAC,MAAO1K,GAAG,KAAM;UAC7CgN,GAAG,EAAEhN,GAAG,CAACkL,IAAI,CAAC,CAAC;UACf4D,MAAM,EAAE,MAAM9O,GAAG,CAAC4O,QAAQ,CAAC,CAAC;UAC5BG,IAAI,EAAE/O,GAAG,CAACgP,OAAO,CAAC;QACpB,CAAC,CAAC,CACJ,CAAC;QACD,MAAMI,cAAc,GAAG,CAACP,aAAa,EAAE,GAAGI,aAAa,CAAC;QACxD1C,iBAAiB,CAACzB,cAAc,CAACxD,IAAI,CAAC,GAAG,KAAIgF,wBAAU,EAAC8C,cAAc,CAAC;QACvE/C,UAAU,CAACgD,aAAa,CAACD,cAAc,CAAC;MAC1C,CAAC;MAED,MAAMhC,wBAAwB,GAAG,MAAMP,sBAAsB,CAAC,CAAC;MAC/D;MACA,MAAM,IAAAxC,qBAAS,EAAC+C,wBAAwB,EAAEM,qBAAqB,CAAC;MAChE,IAAIzB,IAAI,EAAE;QACR;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,MAAMqD,QAAQ,GAAG;UAAEtC,GAAG,EAAEf,IAAI,CAACf,IAAI,CAAC,CAAC;UAAE4D,MAAM,EAAE,MAAM7C,IAAI,CAAC2C,QAAQ,CAAC;QAAE,CAAC;QACpEvC,UAAU,CAACgD,aAAa,CAAC,CAACC,QAAQ,CAAC,CAAC;MACtC;MAEA,OAAO;QAAEhF,MAAM;QAAE+B,UAAU;QAAEE,iBAAiB;QAAEJ,kBAAkB;QAAEC;MAAqB,CAAC;IAC5F,CAAC;IAED,MAAMmD,oBAAoB,GAAGjJ,UAAU,GACnC,CAAC,MAAMwF,yBAAyB,CAACxF,UAAU,CAACY,KAAK,EAAEpB,GAAG,EAAEQ,UAAU,CAAC,CAAC,GACpE,MAAM,IAAA+D,qBAAS,EAAC7J,MAAM,CAACa,IAAI,CAAC0I,iBAAiB,CAAC,EAAGF,SAAS,IACxDiC,yBAAyB,CAACjC,SAAS,EAAEE,iBAAiB,CAACF,SAAS,CAAC,EAAEvD,UAAU,CAC/E,CAAC;IAEL,MAAMkJ,mBAAmB,GAAG,MAAAA,CAAA,KAAY;MACtC,MAAMnD,UAAU,GAAG,IAAI,CAACoD,qCAAqC,CAACF,oBAAoB,CAAC;MACnF,MAAMG,IAAI,GAAG,MAAMC,YAAI,CAACC,OAAO,CAACC,gCAAmB,EAAEC,iCAAoB,CAAC;MAC1E,MAAMC,WAAW,GAAG,MAAML,IAAI,CAACM,gBAAgB,CAAC3D,UAAU,EAAE;QAAE4D,MAAM,EAAEjH;MAAa,CAAC,CAAC;MACrF,MAAM;QAAEkH,YAAY;QAAEC,UAAU;QAAEC,MAAM;QAAEC;MAAS,CAAC,GAAGN,WAAW;MAClE,IAAIG,YAAY,CAACpO,MAAM,EAAE;QACvB,MAAM,KAAIwO,8BAAa,EAACJ,YAAY,EAAEE,MAAM,CAAC;MAC/C;MACA,MAAMG,cAAc,GAAGJ,UAAU,CAACzF,GAAG,CAAEtD,EAAE,IAAKoJ,0BAAW,CAACC,UAAU,CAACrJ,EAAE,CAAC,CAAC;MACzE,IAAImI,oBAAoB,CAACzN,MAAM,KAAK,CAAC,EAAE;QACrC;QACA;QACAyN,oBAAoB,CAAC,CAAC,CAAC,CAACmB,WAAW,GAAGH,cAAc,CAAC7F,GAAG,CAAEtD,EAAE,IAAKA,EAAE,CAACC,QAAQ,CAAC,CAAC,CAAC;MACjF,CAAC,MAAM;QACLkI,oBAAoB,CAACxN,OAAO,CAAE4O,eAAe,IAAK;UAChD,MAAMC,WAAW,GAAGL,cAAc,CAAC/O,MAAM,CAAE4F,EAAE,IAAKA,EAAE,CAACF,KAAK,KAAKyJ,eAAe,CAACrG,MAAM,CAAChD,IAAI,CAAC;UAC3F;UACAqJ,eAAe,CAACD,WAAW,GAAGE,WAAW,CAAClG,GAAG,CAAEtD,EAAE,IAAKA,EAAE,CAACC,QAAQ,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC;MACJ;MACA,OAAO;QAAErC,UAAU,EAAEqL,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEQ;MAAK,CAAC;IACvC,CAAC;IAED,MAAMC,kBAAkB,GAAG,MACzB7E,IAAW,IAGR;MACH,OAAO,IAAA5B,qBAAS,EAACkF,oBAAoB,EAAE,MAAOwB,gBAA0C,IAAK;QAC3F,MAAM;UAAEzG,MAAM;UAAE6B,kBAAkB;UAAEC,oBAAoB;UAAEsE;QAAY,CAAC,GAAGK,gBAAgB;QAC1F,MAAMhF,aAAa,GAAGzB,MAAM,CAAChD,IAAI;QACjC;QACA,MAAM0J,uBAAuB,GAAG,KAAK;QACrC,MAAMC,YAAY,GAAG,MAAM/B,OAAO,CAACC,GAAG,CACpChD,kBAAkB,CAACzB,GAAG,CAAEtD,EAAE,IAAKF,KAAK,CAACgK,OAAO,CAACC,0BAA0B,CAAC/J,EAAE,EAAE4J,uBAAuB,CAAC,CACtG,CAAC;QACD9J,KAAK,CAACiE,OAAO,CAACiG,iBAAiB,CAACH,YAAY,CAAClE,IAAI,CAAC,CAAC,CAAC;QACpD;QACA;QACA;QACAX,oBAAoB,CAACrK,OAAO,CAAEsP,eAAe,IAAKnK,KAAK,CAACgK,OAAO,CAACI,GAAG,CAACD,eAAe,CAAC,CAAC;;QAErF;QACA,IAAIpF,IAAI,EAAE;UACR,IAAIE,kBAAkB,CAACrK,MAAM,EAAE;YAC7B;YACAoF,KAAK,CAACiE,OAAO,CAACoG,GAAG,CAACtF,IAAI,CAAC;UACzB;UACA,MAAM/E,KAAK,CAACiE,OAAO,CAACqG,WAAW,CAACC,kBAAkB,CAAC1F,aAAa,EAAEE,IAAI,CAAC;QACzE;QAEA,IAAI1E,QAAQ,IAAI,CAAC0E,IAAI,EAAE;UACrB;UACA,MAAMyF,YAAY,GAAGC,gBAAM,CAACC,IAAI,CAACC,sBAAY,EAAE9F,aAAa,CAAC;UAC7D,MAAM7E,KAAK,CAACiE,OAAO,CAACqG,WAAW,CAACM,cAAc,CAACJ,YAAY,CAAC;UAC5D,MAAMxC,OAAO,CAACC,GAAG,CACf/C,oBAAoB,CAAC1B,GAAG,CAAC,OAAO;YAAEuD;UAAU,CAAC,KAAK;YAChD,MAAM/G,KAAK,CAACiE,OAAO,CAACqG,WAAW,CAACO,QAAQ,CAACL,YAAY,EAAEzD,SAAS,CAAC1C,aAAa,CAAC,CAAC,EAAE0C,SAAS,CAAC+D,OAAO,CAAC,CAAC,CAAC;UACxG,CAAC,CACH,CAAC;QACH;QAEA,MAAM9K,KAAK,CAACiE,OAAO,CAAC8G,OAAO,CAAC,CAAC;QAC7B;QACA,MAAMrL,cAAc,GAAG8J,WAAW,CAAEhG,GAAG,CAAEtD,EAAE,IAAKoJ,0BAAW,CAACC,UAAU,CAACrJ,EAAE,CAAC,CAAC;QAC3E;QACA,MAAM8K,kBAAiC,GAAGtL,cAAc,CAAC8D,GAAG,CAAEtD,EAAE,IAAKA,EAAE,CAAC+K,aAAa,CAAC1O,SAAS,CAAC,CAAC;QACjG,MAAM2O,sBAAsB,GAAGzL,8BAAe,CAAC0L,aAAa,CAACH,kBAAkB,CAAC;QAChF,OAAO;UACLtL,cAAc;UACd/B,QAAQ,EAAEuN,sBAAsB;UAChC5K,cAAc,EAAEb,8BAAe,CAACuD,SAAS,CACvCkI,sBAAsB,CAAC5Q,MAAM,CAAE4F,EAAE,IAAK+E,kBAAkB,CAACmG,yBAAyB,CAAClL,EAAE,CAAC,CACxF;QACF,CAAC;MACH,CAAC,CAAC;IACJ,CAAC;IAED,IAAImL,iBAAiB;IACrB,IAAI1J,cAAc,EAAE;MAClB,MAAM2J,OAAO,GAAGjD,oBAAoB,CAAC7E,GAAG,CAAEnJ,CAAC,IAAKA,CAAC,CAAC+I,MAAM,CAAC;MACzD,MAAM,IAAAmI,wCAAe,EAACD,OAAO,EAAE3J,cAAc,CAAC;MAC9C,MAAM,IAAA6J,uCAAc,EAACnD,oBAAoB,EAAE1G,cAAc,CAAC;IAC5D,CAAC,MAAM,IAAI,IAAI,CAAC8J,sBAAsB,CAACpD,oBAAoB,EAAEpG,YAAY,EAAElD,cAAc,CAAC,EAAE;MAC1FsM,iBAAiB,GAAG,MAAM/C,mBAAmB,CAAC,CAAC;IACjD,CAAC,MAAM;MACL;MACA,MAAM,IAAI,CAACoD,sBAAsB,CAACrD,oBAAoB,EAAE1G,cAAc,CAAC;IACzE;IAEAgK,iBAAM,CAACC,KAAK,CAAC,0BAA0B,CAAC;IACxC,MAAMC,OAAO,GAAG,MAAMjC,kBAAkB,CAACxK,UAAU,CAAC;IACpD,OAAO;MACLM,cAAc,EAAEJ,gBAAC,CAACwM,OAAO,CAACD,OAAO,CAACrI,GAAG,CAAEvJ,CAAC,IAAKA,CAAC,CAACyF,cAAc,CAAC,CAAC;MAC/D/B,QAAQ,EAAE8B,8BAAe,CAAC0L,aAAa,CAAC7L,gBAAC,CAACwM,OAAO,CAACD,OAAO,CAACrI,GAAG,CAAEvJ,CAAC,IAAKA,CAAC,CAAC0D,QAAQ,CAAC,CAAC,CAAC;MAClF2C,cAAc,EAAEb,8BAAe,CAAC0L,aAAa,CAAC7L,gBAAC,CAACwM,OAAO,CAACD,OAAO,CAACrI,GAAG,CAAEvJ,CAAC,IAAKA,CAAC,CAACqG,cAAc,CAAC,CAAC,CAAC;MAC9FxC,UAAU,EAAE,EAAAiE,kBAAA,GAAAsJ,iBAAiB,cAAAtJ,kBAAA,uBAAjBA,kBAAA,CAAmBjE,UAAU,KAAI;IAC/C,CAAC;EACH;EAEQyK,qCAAqCA,CAACsB,gBAAoC,EAAc;IAC9F,MAAM1E,UAAU,GAAG,KAAIC,wBAAU,EAAC,CAAC;IACnCyE,gBAAgB,CAAChP,OAAO,CAAEkR,YAAY,IAAK;MACzCA,YAAY,CAAC5G,UAAU,CAAC6G,YAAY,CAACD,YAAY,CAAC3I,MAAM,CAAChD,IAAI,CAAC;MAC9D+E,UAAU,CAAC8G,eAAe,CAACF,YAAY,CAAC5G,UAAU,CAAC;IACrD,CAAC,CAAC;IACF,OAAOA,UAAU;EACnB;EAEA,MAAcjH,uBAAuBA,CAACE,aAA4B,EAAyB;IACzF,MAAMa,QAAkB,GAAG,IAAI,CAACjC,SAAS,CAACiC,QAAQ;IAClD,IAAIjB,YAA0B;IAC9B,IAAI;MACF,MAAMkO,YAAY,GAAG,MAAM,IAAI,CAAClP,SAAS,CAACmP,2BAA2B,CAAC/N,aAAa,CAAC;MACpFJ,YAAY,GAAG,MAAM,IAAI,CAACZ,KAAK,CAACA,KAAK,CAAC8O,YAAY,EAAE;QAAEE,KAAK,EAAE;MAAK,CAAC,CAAC;IACtE,CAAC,CAAC,OAAO3N,GAAQ,EAAE;MACjB,MAAM4N,QAAQ,GAAI,kBAAiBjO,aAAa,CAACoF,GAAG,CAAE8I,CAAC,IAAKA,CAAC,CAACnM,QAAQ,CAAC,CAAC,CAAC,CAACwE,IAAI,CAAC,IAAI,CAAE;AAC3F,iEAAiElG,GAAG,CAAC8N,GAAG,IAAI9N,GAAI,EAAC;MAC3E,IAAI,CAACtB,MAAM,CAACuB,KAAK,CAAC2N,QAAQ,EAAE5N,GAAG,CAAC;MAChC,MAAM,IAAImE,KAAK,CAACyJ,QAAQ,CAAC;IAC3B;IACA;IACA,MAAMpN,QAAQ,CAACwC,SAAS,CAAC,CAAC;IAC1B,OAAOzD,YAAY;EACrB;EAEA,MAAc0N,sBAAsBA,CAACrD,oBAAwC,EAAE1G,cAAuB,EAAE;IACtG,MAAM2J,OAAO,GAAGjD,oBAAoB,CAAC7E,GAAG,CAAEnJ,CAAC,IAAKA,CAAC,CAAC+I,MAAM,CAAC;IACzD,MAAMoJ,QAAQ,GAAG7K,cAAc,IAAI2F,IAAI,CAACC,GAAG,CAAC,CAAC,CAACpH,QAAQ,CAAC,CAAC;IACxD,MAAM,IAAI,CAACsM,qBAAqB,CAACD,QAAQ,EAAEnE,oBAAoB,EAAE1G,cAAc,CAAC;IAChF,MAAM,IAAA4J,wCAAe,EAACD,OAAO,EAAEkB,QAAQ,EAAE9L,OAAO,CAACiB,cAAc,CAAC,CAAC;IACjE,MAAM,IAAA6J,uCAAc,EAACnD,oBAAoB,EAAEmE,QAAQ,CAAC;EACtD;EAEA,MAAcC,qBAAqBA,CACjCD,QAAgB,EAChBnE,oBAAwC,EACxC1G,cAAuB,EACR;IACf,IAAIA,cAAc,EAAE;MAClB,IAAI,CAACxE,MAAM,CAAC6E,KAAK,CAAC,+DAA+D,CAAC;MAClF;MACA;MACA;IACF;IACA,MAAM0K,WAAW,GAAG;MAAEF;IAAS,CAAC;IAChC,MAAMG,aAAuB,GAAG,EAAE;IAClC,MAAM,IAAAxJ,qBAAS,EAACkF,oBAAoB,EAAE,MAAOwB,gBAAkC,IAAK;MAClF,MAAM;QAAEzG,MAAM;QAAE+B;MAAW,CAAC,GAAG0E,gBAAgB;MAC/C8B,iBAAM,CAACC,KAAK,CAAE,gBAAezG,UAAU,CAACyH,KAAK,CAAC,CAAE,2BAA0BxJ,MAAM,CAAChD,IAAK,MAAK,CAAC;MAC5F,IAAI;QACF,MAAMgD,MAAM,CAACyJ,QAAQ,CAAC1H,UAAU,EAAEuH,WAAW,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,CAACvP,MAAM,CAAC6E,KAAK,CACf,mGACF,CAAC;QACD2K,aAAa,CAACnS,IAAI,CAAC4I,MAAM,CAAC;MAC5B,CAAC,CAAC,OAAO3E,GAAQ,EAAE;QACjB,IAAI,CAACtB,MAAM,CAAC2P,IAAI,CAAC,kDAAkD,CAAC;QACpE,MAAM,IAAAC,0CAAiB,EAACJ,aAAa,EAAEH,QAAQ,CAAC;QAChD,MAAM/N,GAAG;MACX;IACF,CAAC,CAAC;EACJ;EAEQgN,sBAAsBA,CAC5BpD,oBAAwC,EACxCpG,YAAqB,EACrBlD,cAAc,GAAG,KAAK,EACb;IACT,IAAIA,cAAc,EAAE,OAAO,KAAK;IAChC,MAAMiO,UAAU,GAAG3E,oBAAoB,CAAC/N,MAAM,CAAE2S,CAAC,IAAKhL,YAAY,CAACiL,KAAK,CAACD,CAAC,CAAC7J,MAAM,CAAChD,IAAI,CAAC,CAAC;IACxF,IAAI,CAAC4M,UAAU,CAACpS,MAAM,EAAE,OAAO,KAAK;IACpC,IAAIoS,UAAU,CAACpS,MAAM,KAAKyN,oBAAoB,CAACzN,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC;IACpE;IACA,MAAM,KAAIqF,oBAAQ,EACf,6HACH,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAcgH,qBAAqBA,CACjCjH,KAAY,EACZmN,iBAA2C,EAC3CC,WAAmB,EACnBC,YAA6B,EAC7BlO,kBAAmC,EACnCmO,UAAU,GAAG,KAAK,CAAC;EAAA,EACD;IAClB;IACA,MAAMC,eAA0B,GAAGJ,iBAAiB,CAAClJ,OAAO,CAAC3J,MAAM,CAAEkT,MAAM,IAAKA,MAAM,YAAYC,iBAAO,CAAC;IAC1G,MAAMC,mBAAmB,GAAG,MAAM1F,OAAO,CAACC,GAAG,CAC3CsF,eAAe,CAAC/J,GAAG,CAAC,MAAOmK,aAAsB,IAAK;MACpD,MAAMC,mBAAmB,GAAGC,qBAAqB,CAACF,aAAa,CAAC;MAChEG,qBAAqB,CAACH,aAAa,CAAC;MAEpC,OAAOC,mBAAmB;IAC5B,CAAC,CACH,CAAC;IACD,MAAMG,iBAAiB,GAAGT,UAAU,GAChCF,WAAW,KAAKD,iBAAiB,CAACpG,SAAS,CAAC/G,KAAK,GACjD,CAACmN,iBAAiB,CAACpG,SAAS,CAAC/G,KAAK;IACtC,MAAMgO,mBAAmB,GAAGD,iBAAiB;IAC7C,IAAIA,iBAAiB,EAAE;MACrB,MAAME,iBAAiB,GAAG9O,kBAAkB,CAACuD,4BAA4B,CACvEyK,iBAAiB,CAACpG,SAAS,CAAC1C,aAAa,CAAC,CAC5C,CAAC;MACD8I,iBAAiB,CAACpG,SAAS,CAAC/G,KAAK,GAAG,CAAAiO,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEjO,KAAK,KAAIoN,WAAW;IAC7E;;IAEA;IACA,OAAOM,mBAAmB,CAACQ,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAAC,IAAIH,mBAAmB;IAEhE,eAAeH,qBAAqBA,CAACO,OAAgB,EAAoB;MACvE,IAAIC,UAAU,GAAG,KAAK;MACtBD,OAAO,CAACE,kBAAkB,CAAC,CAAC,CAACzT,OAAO,CAAE0T,UAAU,IAAK;QACnD,MAAMC,kBAAkB,GAAGC,qBAAqB,CAACF,UAAU,CAACrO,EAAE,CAAC;QAC/D,IAAI,CAACqO,UAAU,CAACrO,EAAE,CAACF,KAAK,EAAE;UACxBqO,UAAU,GAAG,IAAI;UACjBE,UAAU,CAACrO,EAAE,GAAGsO,kBAAkB;QACpC;MACF,CAAC,CAAC;MACF,MAAME,YAA6B,GAAGN,OAAO,CAACO,qBAAqB;MACnE,MAAMC,WAAW,GAAGF,YAAY,CAACR,IAAI,CAAEhO,EAAE,IAAK,CAACA,EAAE,CAACF,KAAK,CAAC;MACxD,IAAI4O,WAAW,EAAE;QACfR,OAAO,CAACO,qBAAqB,GAAGE,yBAAyB,CAACH,YAAY,CAAC;QACvEL,UAAU,GAAG,IAAI;MACnB;MACA,IAAIS,wBAAwB,GAAG,KAAK;MACpC,MAAMC,cAAc,GAAG,MAAMX,OAAO,CAACY,iBAAiB,CAAChP,KAAK,CAACiE,OAAO,CAAC;MACrE,MAAMgL,qBAAqB,GAAGF,cAAc,CAACvL,GAAG,CAAE0L,IAAI,IAAK;QACzD,IAAIA,IAAI,CAAChU,MAAM,CAAC8E,KAAK,IAAIkP,IAAI,CAAC9T,MAAM,CAAC4E,KAAK,EAAE;UAC1C,OAAOkP,IAAI;QACb;QACAJ,wBAAwB,GAAG,IAAI;QAC/B,OAAApU,aAAA,CAAAA,aAAA,KACKwU,IAAI;UACPhU,MAAM,EAAEuT,qBAAqB,CAACS,IAAI,CAAChU,MAAM,CAAC;UAC1CE,MAAM,EAAEqT,qBAAqB,CAACS,IAAI,CAAC9T,MAAM;QAAC;MAE9C,CAAC,CAAC;MACF,IAAI0T,wBAAwB,EAAE;QAC5B,MAAM5T,MAAM,GAAGuS,iBAAO,CAAC0B,qBAAqB,CAACF,qBAAqB,CAAC;QACnEb,OAAO,CAACgB,iBAAiB,GAAGlU,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE8I,IAAI,CAAC,CAAC;QAC1C,IAAI9I,MAAM,EAAEiS,iBAAiB,CAAClJ,OAAO,CAACzJ,IAAI,CAACU,MAAM,CAAC;QAClDmT,UAAU,GAAG,IAAI;MACnB;MACA,OAAOA,UAAU;IACnB;IAEA,SAASP,qBAAqBA,CAACM,OAAgB,EAAW;MACxD,IAAIC,UAAU,GAAG,KAAK;MACtBD,OAAO,CAACiB,UAAU,CAACxU,OAAO,CAAEyU,GAAG,IAAK;QAClC,IAAIA,GAAG,CAACC,WAAW,EAAE;UACnB,MAAMC,YAAY,GAAGf,qBAAqB,CAACa,GAAG,CAACC,WAAW,CAAC;UAC3D,IAAI,CAACC,YAAY,CAACC,OAAO,CAACH,GAAG,CAACC,WAAW,CAAC,EAAE;YAC1ClB,UAAU,GAAG,IAAI;YACjBiB,GAAG,CAACC,WAAW,GAAGC,YAAY;UAChC;QACF;MACF,CAAC,CAAC;MACF,OAAOnB,UAAU;IACnB;IAEA,SAASI,qBAAqBA,CAACiB,YAAyB,EAAe;MACrE,IAAIA,YAAY,CAAC1P,KAAK,EAAE;QACtB,OAAO0P,YAAY,CAAC,CAAC;MACvB;;MACA,MAAMC,KAAK,GAAGC,wBAAc,CAACC,SAAS,CAACH,YAAY,CAAC;MACpD;MACA,MAAMI,gBAAgB,GAAG9P,KAAK,CAACiE,OAAO,CAAC8L,QAAQ,CAACJ,KAAK,CAAC3L,IAAI,CAAC,CAAC,CAAC;MAC7D,IAAI8L,gBAAgB,YAAYE,iBAAO,EAAE;QACvC,OAAON,YAAY,CAACO,WAAW,CAACH,gBAAgB,CAACI,SAAS,CAAC;MAC7D;MACA,MAAMC,oBAAoB,GAAGhR,kBAAkB,CAACuD,4BAA4B,CAACgN,YAAY,CAAC;MAC1F,MAAM/M,SAAS,GAAG,CAAAwN,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEnQ,KAAK,KAAIoN,WAAW;MAC5D,IAAI,CAACzK,SAAS,EAAE,MAAM,IAAIC,KAAK,CAAE,gCAA+B8M,YAAY,CAACvP,QAAQ,CAAC,CAAE,EAAC,CAAC;MAC1F,OAAOuP,YAAY,CAACO,WAAW,CAACtN,SAAS,CAAC;IAC5C;IAEA,SAASkM,yBAAyBA,CAAC/J,MAAuB,EAAmB;MAC3E,MAAMtF,UAAU,GAAGsF,MAAM,CAACtB,GAAG,CAAEtD,EAAE,IAAKuO,qBAAqB,CAACvO,EAAE,CAAC,CAAC;MAChE,OAAOT,8BAAe,CAACuD,SAAS,CAACxD,UAAU,CAAC;IAC9C;EACF;EAEA,MAAcyB,sBAAsBA,CAACrC,GAAkB,EAAE;IACvD,IAAI,CAACzB,MAAM,CAAC6E,KAAK,CAAE,2BAA0BpD,GAAG,CAAChE,MAAO,MAAK,CAAC;IAC9D,MAAMsR,YAAY,GAAG,MAAM,IAAI,CAAClP,SAAS,CAACmP,2BAA2B,CAACvN,GAAG,CAAC;IAC1E,MAAMwR,YAAY,GAAG,MAAM,IAAI,CAACpT,SAAS,CAACgD,KAAK,CAACqQ,eAAe,CAAC,CAAC;IACjEnE,YAAY,CAAC1I,GAAG,CAAE8M,MAAM,IAAKF,YAAY,CAACG,qBAAqB,CAACD,MAAM,CAAC,CAAC;IACxE,MAAMF,YAAY,CAACI,KAAK,CAAC,CAAC;EAC5B;EAEA,MAAcnR,qBAAqBA,CACjCT,GAAa,GAAG,EAAE,EAClBC,gBAA0B,EAMzB;IACD,MAAMI,QAAQ,GAAG,IAAI,CAACjC,SAAS,CAACiC,QAAQ;IACxC,MAAMwR,cAAc,GAAG,KAAIC,yBAAc,EAACzR,QAAQ,CAAC;IACnD,MAAM0R,eAAe,GAAG,IAAAC,sBAAW,EAAChS,GAAG,CAAC;IACxC,MAAMiS,sBAAsB,GAAG,MAC7B/L,MAAuB,IACyF;MAChH,MAAM3F,kBAAkB,GAAG,MAAM,IAAI,CAAC2R,qBAAqB,CAAChM,MAAM,CAAC;MACnE;MACA;MACA;MACA;MACA;MACA,OAAO;QAAE5F,WAAW,EAAEO,8BAAe,CAACuD,SAAS,CAAC8B,MAAM,CAAC;QAAEpH,YAAY,EAAE,EAAE;QAAEyB;MAAmB,CAAC;IACjG,CAAC;IACD,IAAI4R,yBAAyB,CAAC9R,QAAQ,CAAC,EAAE;MACvC,IAAIL,GAAG,CAAChE,MAAM,EAAE;QACd,MAAM,KAAIoW,uBAAY,EAAE,kFAAiF,CAAC;MAC5G;MACA,MAAM;QAAEC,kBAAkB;QAAE7R;MAAW,CAAC,GAAG,MAAM,IAAI,CAAC8R,sBAAsB,CAACjS,QAAQ,EAAEJ,gBAAgB,CAAC;MACxG,MAAMsS,SAAS,GAAGF,kBAAkB,CAACrW,MAAM,GAAG,CAAC,GAAGwW,gCAAc,GAAGC,+BAAa;MAChF1F,iBAAM,CAACC,KAAK,CAACuF,SAAS,CAAC;MACvB,MAAMG,QAAQ,GAAG,MAAMT,sBAAsB,CAACI,kBAAkB,CAAC;MACjE,OAAAvW,aAAA,CAAAA,aAAA,KAAY4W,QAAQ;QAAElS;MAAU;IAClC;IACA,IAAI,CAACR,GAAG,CAAChE,MAAM,IAAI+V,eAAe,EAAE;MAClChF,iBAAM,CAACC,KAAK,CAAC2F,2CAAyB,CAAC;MACvC,MAAMC,uBAAwC,GAAG3S,gBAAgB,GAC7D,MAAM4R,cAAc,CAACgB,uBAAuB,CAAC,CAAC,GAC9C,MAAMhB,cAAc,CAACiB,8BAA8B,CAAC,CAAC;MACzD,MAAMT,kBAAkB,GAAGN,eAAe,GACtCD,yBAAc,CAACiB,0BAA0B,CAACH,uBAAuB,EAAE5S,GAAG,CAAC,GACvE4S,uBAAuB;MAC3B,MAAML,SAAS,GAAGF,kBAAkB,CAACrW,MAAM,GAAG,CAAC,GAAGwW,gCAAc,GAAGC,+BAAa;MAChF1F,iBAAM,CAACC,KAAK,CAACuF,SAAS,CAAC;MACvB,OAAON,sBAAsB,CAACI,kBAAkB,CAAC;IACnD;IACAtF,iBAAM,CAACC,KAAK,CAACyF,+BAAa,CAAC,CAAC,CAAC;IAC7B,MAAMO,SAAS,GAAG,MAAM5J,OAAO,CAACC,GAAG,CAACrJ,GAAG,CAAC4E,GAAG,CAAEtD,EAAE,IAAK2R,WAAW,CAAC5S,QAAQ,EAAEiB,EAAE,CAAC,CAAC,CAAC;IAC/E;IACA,MAAMjB,QAAQ,CAAC6S,cAAc,CAACrS,8BAAe,CAACuD,SAAS,CAAC4O,SAAS,CAAC,CAAC;IAEnE,OAAOf,sBAAsB,CAACpR,8BAAe,CAACuD,SAAS,CAAC4O,SAAS,CAAC,CAAC;EACrE;;EAEA;AACF;AACA;EACE,MAAcd,qBAAqBA,CAAClS,GAAoB,EAA4B;IAClF,OAAOA,GAAG;IACV;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EACF;;EAEA,MAAcsS,sBAAsBA,CAClCjS,QAAkB,EAClBJ,gBAA0B,EAC0C;IACpE,MAAMkT,aAAa,GAAG9S,QAAQ,CAAC+S,gBAAgB,CAAC,CAAC;IACjD,MAAM5S,UAAU,GAAG,MAAMH,QAAQ,CAACe,KAAK,CAACiS,QAAQ,CAACF,aAAa,CAAC;IAC/D,IAAI,CAAC3S,UAAU,EAAE;MACf,MAAM,IAAIwD,KAAK,CAAE,kDAAiDmP,aAAa,CAAC5R,QAAQ,CAAC,CAAE,GAAE,CAAC;IAChG;IACAwL,iBAAM,CAACC,KAAK,CAAC2F,2CAAyB,CAAC;IACvC,MAAMd,cAAc,GAAG,KAAIC,yBAAc,EAACzR,QAAQ,CAAC;IACnD,MAAMiT,gCAAgC,GAAGrT,gBAAgB,GACrD,MAAM4R,cAAc,CAACgB,uBAAuB,CAAC,CAAC,GAC9C,MAAMhB,cAAc,CAACiB,8BAA8B,CAACtS,UAAU,CAAC;IACnE,MAAM+S,mBAAmB,GAAG,MAAM,IAAI,CAACtR,sBAAsB,CAAC,CAAC;IAC/D,MAAMoQ,kBAAkB,GAAGxR,8BAAe,CAAC0L,aAAa,CAAC,CACvD,GAAG+G,gCAAgC,EACnC,GAAGC,mBAAmB,CACvB,CAAC;IACF,OAAO;MAAElB,kBAAkB;MAAE7R;IAAW,CAAC;EAC3C;EAEA,MAAcyB,sBAAsBA,CAAA,EAA6B;IAC/D,MAAMuR,aAAa,GAAG,MAAM,IAAI,CAACnV,MAAM,CAACoV,gBAAgB,CAAC,CAAC;IAC1D,OAAO5S,8BAAe,CAACuD,SAAS,CAACoP,aAAa,CAAC5O,GAAG,CAAEtD,EAAE,IAAKA,EAAE,CAAC+K,aAAa,CAAC1O,SAAS,CAAC,CAAC,CAAC;EAC1F;EAYA,aAAa+V,QAAQA,CAAC,CAACC,GAAG,EAAEvS,KAAK,EAAEhD,SAAS,EAAEC,MAAM,EAAEC,WAAW,EAAEsV,UAAU,EAAEpV,KAAK,CAQnF,EAAE;IACD,MAAMD,MAAM,GAAGqV,UAAU,CAACC,YAAY,CAACC,sBAAY,CAACxS,EAAE,CAAC;IACvD,MAAMyS,UAAU,GAAG,IAAI7V,UAAU,CAACE,SAAS,EAAEC,MAAM,EAAEC,WAAW,EAAEC,MAAM,EAAEC,KAAK,CAAC;IAChFmV,GAAG,CAACK,QAAQ,CAAC,KAAIC,kCAAe,EAAC7S,KAAK,CAAC,EAAE,KAAI8S,sBAAS,EAACH,UAAU,CAAC,CAAC;IACnE,OAAOA,UAAU;EACnB;AACF;AAACI,OAAA,CAAAjW,UAAA,GAAAA,UAAA;AAAAhC,eAAA,CAvxBYgC,UAAU,aA+vBJkW,kBAAW;AAAAlY,eAAA,CA/vBjBgC,UAAU,kBAgwBC,CACpBmW,gBAAS,EACTC,gBAAW,EACXC,oBAAe,EACfC,sBAAY,EACZC,8CAAwB,EACxBC,sBAAY,EACZC,oBAAW,CACZ;AAiBHb,sBAAY,CAACc,UAAU,CAAC1W,UAAU,CAAC;;AAEnC;AACA;AACA;AACA;AACA,SAASgE,kBAAkBA,CACzBC,MAAc,EACd3C,aAA8B,EACoC;EAClE,MAAMoB,UAAyB,GAAG,EAAE;EACpC,MAAM/B,gBAAgB,GAAG,KAAIgC,8BAAe,EAAC,CAAC;EAC9CrB,aAAa,CAACvD,OAAO,CAAE4Y,YAAY,IAAK;IACtC,MAAMC,QAAQ,GAAG3S,MAAM,CAAC4S,iBAAiB,CAACF,YAAY,EAAE,IAAI,CAAC;IAC7D,IAAIC,QAAQ,CAACE,UAAU,CAAC,CAAC,EAAEpU,UAAU,CAAChF,IAAI,CAACkZ,QAAQ,CAAC,CAAC,KAChDjW,gBAAgB,CAACjD,IAAI,CAACkZ,QAAQ,CAAC;EACtC,CAAC,CAAC;EACF,OAAO;IAAElU,UAAU;IAAE/B;EAAiB,CAAC;AACzC;AAEA,eAAeoU,WAAWA,CAAC5S,QAAkB,EAAEiB,EAAU,EAAwB;EAC/E;EACA;EACA,IAAI;IACF,OAAOjB,QAAQ,CAAC4S,WAAW,CAAC3R,EAAE,CAAC;EACjC,CAAC,CAAC,OAAOzB,GAAQ,EAAE;IACjB,OAAOQ,QAAQ,CAACe,KAAK,CAAC6R,WAAW,CAAC3R,EAAE,CAAC;EACvC;AACF;AAEA,SAASN,4BAA4BA,CAACmF,IAAU,EAAE;EAAA,IAAA8O,qBAAA;EAChD,MAAMlU,eAAe,GAAGoF,IAAI,CAACpF,eAAsC;EAEnE,MAAMmU,OAAO,GACX,CAAAnU,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEkE,IAAI,KACrBkB,IAAI,CAACX,YAAY,CAACzE,eAAe,CAACO,EAAE,CAAC,MAAA2T,qBAAA,GACrC9O,IAAI,CAACgP,gBAAgB,CAACpU,eAAe,CAACO,EAAE,CAAC,cAAA2T,qBAAA,uBAAzCA,qBAAA,CAA2CpE,OAAO,CAAC9P,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEkE,IAAI,CAAC;EAE3E,IAAI,CAACiQ,OAAO,EAAE;IACZ,MAAM,KAAI7T,oBAAQ,EACf,GAAE8E,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE3E,IAAK,2BAA0BT,eAAe,CAACO,EAAG;AACjE,0CAA0CP,eAAe,CAACO,EAAG,yDACzD,CAAC;EACH;AACF;AAEA,eAAeU,sBAAsBA,CAAC3B,QAAkB,EAAE8F,IAAU,EAAE;EACpE,MAAMiP,WAAW,GAAG/U,QAAQ,CAAC+S,gBAAgB,CAAC,CAAC;EAC/C,MAAMiC,aAAa,GAAGlP,IAAI,CAAC3E,IAAI,KAAK4T,WAAW,CAAC5T,IAAI;EACpD,IAAI,CAAC6T,aAAa,EAAE;IAClB,MAAM,IAAIrR,KAAK,CACZ,wEAAuEmC,IAAI,CAAC3E,IAAK,aAAY4T,WAAW,CAAC5T,IAAK,EACjH,CAAC;EACH;EACAnB,QAAQ,CAACiV,cAAc,CAACnP,IAAI,CAACoP,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC;EAC9ClV,QAAQ,CAACe,KAAK,CAACoU,SAAS,CAACC,iBAAiB,CAACtP,IAAI,CAAC3E,IAAI,CAAC;EACrD2E,IAAI,CAAChF,KAAK,GAAG,KAAK;AACpB;AAEO,SAASgR,yBAAyBA,CAAC9R,QAAkB,EAAE;EAC5D,OAAOA,QAAQ,CAACqV,QAAQ,CAAC,CAAC;AAC5B;AAAC,IAAAC,QAAA,GAEczX,UAAU;AAAAiW,OAAA,CAAA/Z,OAAA,GAAAub,QAAA"}
@@ -0,0 +1,7 @@
1
+ import * as compositions_0 from '/Users/davidfirst/Library/Caches/Bit/capsules/4ff44c81b43ba7bd510274165d0509db76ae43db/teambit.scope_export@1.0.28/dist/export.composition.js';
2
+ import * as overview_0 from '/Users/davidfirst/Library/Caches/Bit/capsules/4ff44c81b43ba7bd510274165d0509db76ae43db/teambit.scope_export@1.0.28/dist/export.docs.mdx';
3
+
4
+ export const compositions = [compositions_0];
5
+ export const overview = [overview_0];
6
+
7
+ export const compositions_metadata = {"compositions":[{"displayName":"Logo","identifier":"Logo"}]};
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/export",
3
- "version": "1.0.27",
3
+ "version": "1.0.28",
4
4
  "homepage": "https://bit.cloud/teambit/scope/export",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.scope",
8
8
  "name": "export",
9
- "version": "1.0.27"
9
+ "version": "1.0.28"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -18,16 +18,17 @@
18
18
  "core-js": "^3.0.0",
19
19
  "@babel/runtime": "7.20.0",
20
20
  "@teambit/harmony": "0.4.6",
21
- "@teambit/cli": "0.0.799",
22
- "@teambit/eject": "1.0.27",
23
21
  "@teambit/bit-error": "0.0.404",
24
- "@teambit/dependency-resolver": "1.0.27",
22
+ "@teambit/component-id": "1.1.0",
25
23
  "@teambit/lane-id": "0.0.311",
26
- "@teambit/logger": "0.0.892",
27
- "@teambit/remove": "1.0.27",
28
- "@teambit/scope": "1.0.27",
29
- "@teambit/workspace.modules.node-modules-linker": "0.0.140",
30
- "@teambit/workspace": "1.0.27"
24
+ "@teambit/cli": "0.0.800",
25
+ "@teambit/eject": "1.0.28",
26
+ "@teambit/dependency-resolver": "1.0.28",
27
+ "@teambit/logger": "0.0.893",
28
+ "@teambit/remove": "1.0.28",
29
+ "@teambit/scope": "1.0.28",
30
+ "@teambit/workspace.modules.node-modules-linker": "0.0.141",
31
+ "@teambit/workspace": "1.0.28"
31
32
  },
32
33
  "devDependencies": {
33
34
  "@types/lodash": "4.14.165",
@@ -40,7 +41,7 @@
40
41
  "@types/testing-library__jest-dom": "5.9.5"
41
42
  },
42
43
  "peerDependencies": {
43
- "@teambit/legacy": "1.0.578",
44
+ "@teambit/legacy": "1.0.580",
44
45
  "react": "^16.8.0 || ^17.0.0",
45
46
  "react-dom": "^16.8.0 || ^17.0.0"
46
47
  },
@@ -1,7 +0,0 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_export@1.0.27/dist/export.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_export@1.0.27/dist/export.docs.mdx';
3
-
4
- export const compositions = [compositions_0];
5
- export const overview = [overview_0];
6
-
7
- export const compositions_metadata = {"compositions":[{"displayName":"Logo","identifier":"Logo"}]};