@teambit/lanes 1.0.1210 → 1.0.1212

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.
@@ -112,13 +112,6 @@ function _lane() {
112
112
  };
113
113
  return data;
114
114
  }
115
- function _mergeLanes() {
116
- const data = require("@teambit/merge-lanes");
117
- _mergeLanes = function () {
118
- return data;
119
- };
120
- return data;
121
- }
122
115
  function _graphql() {
123
116
  const data = require("@teambit/graphql");
124
117
  _graphql = function () {
@@ -566,62 +559,6 @@ describe('LanesAspect', function () {
566
559
  (0, _chai().expect)(snapHistory.deleted?.length).to.equal(1);
567
560
  });
568
561
  });
569
- describe('create comps on a lane then switch to main with --head', () => {
570
- let lanes;
571
- let workspaceData;
572
- let snapping;
573
- let laneId;
574
- let harmony;
575
- before(async () => {
576
- workspaceData = (0, _workspaceTesting().mockWorkspace)();
577
- const {
578
- workspacePath
579
- } = workspaceData;
580
- await (0, _componentTesting().mockComponents)(workspacePath);
581
- harmony = await (0, _harmonyTesting().loadManyAspects)([_snapping().SnappingAspect, _export().ExportAspect, _remove().RemoveAspect, _workspace().WorkspaceAspect, _lanes().LanesAspect], workspaceData.workspacePath);
582
- lanes = harmony.get(_lanes().LanesAspect.id);
583
- await lanes.createLane('stage');
584
- const currentLaneId = lanes.getCurrentLaneId();
585
- if (!currentLaneId) throw new Error('unable to get the current lane-id');
586
- laneId = currentLaneId;
587
- snapping = harmony.get(_snapping().SnappingAspect.id);
588
- await snapping.snap({
589
- build: false
590
- });
591
- const exporter = harmony.get(_export().ExportAspect.id);
592
- await exporter.export();
593
-
594
- // in another workspace, merge the lane into main.
595
- const workspaceData2 = (0, _workspaceTesting().mockWorkspace)({
596
- bareScopeName: workspaceData.remoteScopeName
597
- });
598
- const harmony2 = await (0, _harmonyTesting().loadManyAspects)([_snapping().SnappingAspect, _export().ExportAspect, _remove().RemoveAspect, _workspace().WorkspaceAspect, _lanes().LanesAspect, _mergeLanes().MergeLanesAspect], workspaceData2.workspacePath);
599
- const mergeLanes2 = harmony2.get(_mergeLanes().MergeLanesAspect.id);
600
- const lanes2 = harmony2.get(_lanes().LanesAspect.id);
601
- const currentLaneId2 = lanes2.getCurrentLaneId();
602
- await mergeLanes2.mergeLane(laneId, currentLaneId2, {
603
- mergeStrategy: 'manual',
604
- skipDependencyInstallation: true
605
- });
606
- const export2 = harmony2.get(_export().ExportAspect.id);
607
- await export2.export();
608
-
609
- // reload harmony, otherwise, the "lanes" aspect has the workspace of harmony2.
610
- harmony = await (0, _harmonyTesting().loadManyAspects)([_lanes().LanesAspect], workspaceData.workspacePath);
611
- lanes = harmony.get(_lanes().LanesAspect.id);
612
- await lanes.switchLanes('main', {
613
- skipDependencyInstallation: true
614
- });
615
- });
616
- after(async () => {
617
- await (0, _workspaceTesting().destroyWorkspace)(workspaceData);
618
- });
619
- it('the components should be available on main', () => {
620
- const workspace = harmony.get(_workspace().WorkspaceAspect.id);
621
- const ids = workspace.listIds();
622
- (0, _chai().expect)(ids.length).to.equal(1);
623
- });
624
- });
625
562
  });
626
563
 
627
564
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_chai","data","require","_fsExtra","_interopRequireDefault","_path","_harmonyTesting","_remove","_snapping","_workspace","_export","_laneId","_workspaceTesting","_componentTesting","_lanesEntities","_componentId","_switchLanes","_lanes","_lane","_mergeLanes","_graphql","_legacy","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","describe","timeout","lanes","workspaceData","before","mockWorkspace","workspacePath","mockComponents","loadAspect","LanesAspect","createLane","after","destroyWorkspace","it","currentLanes","getLanes","expect","to","have","lengthOf","name","equal","snapping","harmony","loadManyAspects","SnappingAspect","ExportAspect","WorkspaceAspect","get","id","tag","ids","build","ignoreIssues","exporter","export","modifyMockedComponents","result","snap","pattern","snappedComponents","currentLane","getCurrentLane","Error","isUpToDate","diffStatus","toLaneId","undefined","skipChanges","componentsStatus","every","c","upToDate","be","true","switchLanes","skipDependencyInstallation","unmodified","false","laneDiffResults","changeType","ChangeType","NONE","removeLanes","lanesAfterDelete","restoreLane","hash","output","laneHash","error","err","instanceOf","message","include","laneId","currentLaneId","getCurrentLaneId","laneHistory","getLaneHistory","history","getHistory","snappingResult","snapHistory","log","components","toString","exportResults","compFile","path","join","fs","appendFile","componentsIds","exportedLanes","newWorkspace","bareScopeName","remoteScopeName","importLaneObject","snapHistoryId","find","key","includes","results","checkoutHistory","failedComponents","revertWorkspace","revertHistory","compFileContent","readFile","not","secondSnapHistoryId","secondSnapHistory","workspace","listIds","scope","skip","RemoveAspect","remove","deleteComps","lane","isDeleted","deleted","workspaceData2","harmony2","MergeLanesAspect","mergeLanes2","lanes2","currentLaneId2","mergeLane","mergeStrategy","export2","graphql","GraphqlAspect","schemas","getSchemas","an","schema","getSchema","idStr","ComponentID","fromString","ours","oursOnMainOnly","foreign","laneBitIds","partitionSwitchIds","map","members","deep","cascadedId","remoteScopePath","remoteScope","loadScope","remoteLane","loadLane","laneComponent","changeVersion","head","addComponentToUpdateDependents","saveLane","laneHistoryMsg","getLaneUpdateDependents","source","undoLaneUpdateDependents","remoteChanged","remoteSkipped","removed","updateDependents","remoteIds","localScope","localLane","localChanged","afterLocal","removeUpdateDependents","afterEmpty","afterAll","stubbedLaneId","LaneId","from","createCmd","LaneUpdatesCmd","report","remoteError"],"sources":["lanes.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport type { Harmony } from '@teambit/harmony';\nimport { loadAspect, loadManyAspects } from '@teambit/harmony.testing.load-aspect';\nimport type { RemoveMain } from '@teambit/remove';\nimport { RemoveAspect } from '@teambit/remove';\nimport type { SnappingMain } from '@teambit/snapping';\nimport { SnappingAspect } from '@teambit/snapping';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { ExportMain } from '@teambit/export';\nimport { ExportAspect } from '@teambit/export';\nimport { LaneId } from '@teambit/lane-id';\nimport type { WorkspaceData } from '@teambit/workspace.testing.mock-workspace';\nimport { mockWorkspace, destroyWorkspace } from '@teambit/workspace.testing.mock-workspace';\nimport { mockComponents, modifyMockedComponents } from '@teambit/component.testing.mock-components';\nimport { ChangeType } from '@teambit/lanes.entities.lane-diff';\nimport { ComponentID } from '@teambit/component-id';\nimport { partitionSwitchIds } from './switch-lanes';\nimport { LanesAspect } from './lanes.aspect';\nimport type { LanesMain, LaneUpdateDependentsSource } from './lanes.main.runtime';\nimport { LaneUpdatesCmd } from './lane.cmd';\nimport type { MergeLanesMain } from '@teambit/merge-lanes';\nimport { MergeLanesAspect } from '@teambit/merge-lanes';\nimport { GraphqlAspect, type GraphqlMain } from '@teambit/graphql';\nimport { loadScope } from '@teambit/legacy.scope';\n\ndescribe('LanesAspect', function () {\n this.timeout(0);\n\n describe('getLanes()', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n lanes = await loadAspect(LanesAspect, workspacePath);\n await lanes.createLane('stage');\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should list all lanes', async () => {\n const currentLanes = await lanes.getLanes({});\n expect(currentLanes).to.have.lengthOf(1);\n expect(currentLanes[0].name).to.equal('stage');\n });\n });\n\n describe('isLaneUpToDate', () => {\n let lanes: LanesMain;\n let snapping: SnappingMain;\n let workspaceData: WorkspaceData;\n let harmony: Harmony;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n harmony = await loadManyAspects([SnappingAspect, ExportAspect, LanesAspect, WorkspaceAspect], workspacePath);\n snapping = harmony.get(SnappingAspect.id);\n await snapping.tag({ ids: ['comp1'], build: false, ignoreIssues: 'MissingManuallyConfiguredPackages' });\n const exporter: ExportMain = harmony.get(ExportAspect.id);\n await exporter.export();\n lanes = harmony.get(LanesAspect.id);\n await lanes.createLane('stage');\n await modifyMockedComponents(workspacePath, 'v2');\n const result = await snapping.snap({\n pattern: 'comp1',\n build: false,\n ignoreIssues: 'MissingManuallyConfiguredPackages',\n });\n // intermediate step, make sure it is snapped\n expect(result?.snappedComponents.length).to.equal(1);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should return that the lane is up to date when the lane is ahead of main', async () => {\n const currentLane = await lanes.getCurrentLane();\n if (!currentLane) throw new Error('unable to get the current lane');\n const isUpToDate = (\n await lanes.diffStatus(currentLane.toLaneId(), undefined, { skipChanges: true })\n ).componentsStatus.every((c) => c.upToDate);\n\n expect(isUpToDate).to.be.true;\n });\n it('should return that the lane is not up to date when main is ahead', async () => {\n const currentLane = await lanes.getCurrentLane();\n if (!currentLane) throw new Error('unable to get the current lane');\n await lanes.switchLanes('main', { skipDependencyInstallation: true });\n await snapping.snap({\n pattern: 'comp1',\n build: false,\n unmodified: true,\n ignoreIssues: 'MissingManuallyConfiguredPackages',\n });\n const isUpToDate = (\n await lanes.diffStatus(currentLane.toLaneId(), undefined, { skipChanges: true })\n ).componentsStatus.every((c) => c.upToDate);\n\n expect(isUpToDate).to.be.false;\n });\n });\n\n describe('laneDiff', () => {\n let harmony: Harmony;\n let lanes: LanesMain;\n let snapping: SnappingMain;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n harmony = await loadManyAspects([SnappingAspect, ExportAspect, LanesAspect, WorkspaceAspect], workspacePath);\n snapping = harmony.get(SnappingAspect.id);\n await snapping.tag({ ids: ['comp1'], build: false });\n const exporter: ExportMain = harmony.get(ExportAspect.id);\n await exporter.export();\n lanes = harmony.get(LanesAspect.id);\n await lanes.createLane('stage');\n const result = await snapping.snap({ pattern: 'comp1', build: false, unmodified: true });\n // intermediate step, make sure it is snapped\n expect(result?.snappedComponents.length).to.equal(1);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should return that the lane is up to date when the lane is ahead of main', async () => {\n const currentLane = await lanes.getCurrentLane();\n if (!currentLane) throw new Error('unable to get the current lane');\n const laneDiffResults = await lanes.diffStatus(currentLane.toLaneId());\n expect(laneDiffResults.componentsStatus[0].upToDate).to.be.true;\n expect(laneDiffResults.componentsStatus[0].changeType).to.equal(ChangeType.NONE);\n });\n it('should return that the lane is not up to date when main is ahead', async () => {\n const currentLane = await lanes.getCurrentLane();\n if (!currentLane) throw new Error('unable to get the current lane');\n await lanes.switchLanes('main', { skipDependencyInstallation: true });\n await snapping.snap({ pattern: 'comp1', build: false, unmodified: true });\n\n const laneDiffResults = await lanes.diffStatus(currentLane.toLaneId());\n expect(laneDiffResults.componentsStatus[0].upToDate).to.be.false;\n expect(laneDiffResults.componentsStatus[0].changeType).to.equal(ChangeType.NONE);\n });\n });\n\n describe('restoreLane()', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n lanes = await loadAspect(LanesAspect, workspacePath);\n await lanes.createLane('stage');\n\n // as an intermediate step, make sure the lane was created\n const currentLanes = await lanes.getLanes({});\n expect(currentLanes).to.have.lengthOf(1);\n\n await lanes.switchLanes('main', { skipDependencyInstallation: true });\n await lanes.removeLanes(['stage']);\n\n // as an intermediate step, make sure the lane was removed\n const lanesAfterDelete = await lanes.getLanes({});\n expect(lanesAfterDelete).to.have.lengthOf(0);\n\n await lanes.restoreLane(currentLanes[0].hash);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should restore the deleted lane', async () => {\n const currentLanes = await lanes.getLanes({});\n expect(currentLanes).to.have.lengthOf(1);\n expect(currentLanes[0].id.name).to.equal('stage');\n });\n describe('delete restored lane', () => {\n let output: string[];\n before(async () => {\n output = await lanes.removeLanes(['stage']);\n });\n it('should not throw', () => {\n expect(output).to.have.lengthOf(1);\n });\n });\n });\n\n describe('restore lane when an existing lane has the same id', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n let laneHash: string;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n lanes = await loadAspect(LanesAspect, workspacePath);\n await lanes.createLane('stage');\n\n // as an intermediate step, make sure the lane was created\n const currentLanes = await lanes.getLanes({});\n expect(currentLanes).to.have.lengthOf(1);\n\n await lanes.switchLanes('main', { skipDependencyInstallation: true });\n await lanes.removeLanes(['stage']);\n\n await lanes.createLane('stage');\n laneHash = currentLanes[0].hash;\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should throw when restoring the lane', async () => {\n let error: Error | undefined;\n try {\n await lanes.restoreLane(laneHash);\n } catch (err: any) {\n error = err;\n }\n expect(error).to.be.instanceOf(Error);\n expect(error?.message).to.include('unable to restore lane');\n });\n });\n\n describe('lane history', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n let snapping: SnappingMain;\n let laneId: LaneId;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n lanes = await loadAspect(LanesAspect, workspacePath);\n await lanes.createLane('stage');\n snapping = await loadAspect(SnappingAspect, workspacePath);\n const currentLaneId = lanes.getCurrentLaneId();\n if (!currentLaneId) throw new Error('unable to get the current lane-id');\n laneId = currentLaneId;\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should create lane history object when creating a new lane', async () => {\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n expect(Object.keys(history).length).to.equal(1);\n });\n describe('snapping', () => {\n let snappingResult;\n before(async () => {\n snappingResult = await snapping.snap({ pattern: 'comp1', build: false, message: 'first snap' });\n });\n it('should add a record to LaneHistory when snapping', async () => {\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n expect(Object.keys(history).length).to.equal(2);\n const snapHistory = history[Object.keys(history)[1]];\n expect(snapHistory.log.message).to.equal('snap (first snap)');\n expect(snapHistory.components.length).to.equal(1);\n expect(snapHistory.components[0]).to.equal(snappingResult?.snappedComponents[0].id.toString() as string);\n });\n describe('snap again and export', () => {\n let exportResults;\n\n before(async () => {\n const compFile = path.join(workspaceData.workspacePath, 'comp1/index.js');\n await fs.appendFile(compFile, `\\nconsole.log('second-snap');`);\n // make another snap to check to test the checkout later.\n await snapping.snap({ pattern: 'comp1', build: false, message: 'second snap' });\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n expect(Object.keys(history).length).to.equal(3);\n\n const exporter: ExportMain = await loadAspect(ExportAspect, workspaceData.workspacePath);\n exportResults = await exporter.export();\n });\n it('should export successfully', () => {\n expect(exportResults.componentsIds.length).to.equal(1);\n expect(exportResults.exportedLanes.length).to.equal(1);\n });\n describe('import to another workspace', () => {\n let newWorkspace: WorkspaceData;\n before(async () => {\n newWorkspace = mockWorkspace({ bareScopeName: workspaceData.remoteScopeName });\n\n lanes = await loadAspect(LanesAspect, newWorkspace.workspacePath);\n await lanes.switchLanes(laneId.toString(), { skipDependencyInstallation: true });\n await lanes.importLaneObject(laneId, true, true);\n });\n after(async () => {\n await destroyWorkspace(newWorkspace);\n });\n it('should not add a record to the lane-history', async () => {\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n expect(Object.keys(history).length).to.equal(3);\n });\n it('should be able to checkout to a previous state of the lane', async () => {\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n const snapHistoryId = Object.keys(history).find((key) => history[key].log.message?.includes('first snap'));\n if (!snapHistoryId) throw new Error('unable to find snap history of the first snap');\n const results = await lanes.checkoutHistory(snapHistoryId, { skipDependencyInstallation: true });\n expect(results.components?.length).to.equal(1);\n expect(results.failedComponents?.length).to.equal(0);\n });\n it('should be able to revert to a previous history id', async () => {\n const revertWorkspace = mockWorkspace({ bareScopeName: workspaceData.remoteScopeName });\n lanes = await loadAspect(LanesAspect, revertWorkspace.workspacePath);\n await lanes.switchLanes(laneId.toString(), { skipDependencyInstallation: true });\n await lanes.importLaneObject(laneId, true, true);\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n const snapHistoryId = Object.keys(history).find((key) => history[key].log.message?.includes('first snap'));\n if (!snapHistoryId) throw new Error('unable to find snap history of the first snap');\n const results = await lanes.revertHistory(snapHistoryId, { skipDependencyInstallation: true });\n expect(results.components?.length).to.equal(1);\n expect(results.failedComponents?.length).to.equal(0);\n\n const compFile = path.join(\n revertWorkspace.workspacePath,\n revertWorkspace.remoteScopeName,\n 'comp1/index.js'\n );\n const compFileContent = await fs.readFile(compFile, 'utf8');\n\n // make sure it reverts to the first snap.\n expect(compFileContent).to.not.include('second-snap');\n\n // make sure it keeps the version in .bitmap intact and doesn't change it to the first snap. (as with checkout)\n const secondSnapHistoryId = Object.keys(history).find((key) =>\n history[key].log.message?.includes('second snap')\n );\n if (!secondSnapHistoryId) throw new Error('unable to find snap history of the second snap');\n const secondSnapHistory = history[secondSnapHistoryId];\n const workspace: Workspace = await loadAspect(WorkspaceAspect, revertWorkspace.workspacePath);\n const ids = await workspace.listIds();\n expect(ids[0].toString()).to.equal(secondSnapHistory.components[0]);\n await destroyWorkspace(revertWorkspace);\n });\n });\n });\n });\n });\n\n describe('create lanes with the same name different scope', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n lanes = await loadAspect(LanesAspect, workspacePath);\n await lanes.createLane('stage');\n await lanes.switchLanes('main', { skipDependencyInstallation: true });\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should not throw when creating the second lane', async () => {\n await lanes.createLane('stage', { scope: 'new-scope' });\n const currentLanes = await lanes.getLanes({});\n expect(currentLanes.length).to.equal(2);\n expect(currentLanes[0].id.name).to.equal('stage');\n expect(currentLanes[1].id.name).to.equal('stage');\n });\n });\n\n // todo: fix after deleting teambit.legacy\n // for some reason it is trying to add the core-aspect teambit.component/remove to the graph and then\n // it complains that it has no version. from the cli it doesn't happen.\n describe.skip('delete component on a lane after export', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n let snapping: SnappingMain;\n let laneId: LaneId;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n const harmony = await loadManyAspects(\n [SnappingAspect, ExportAspect, RemoveAspect, WorkspaceAspect, LanesAspect],\n workspaceData.workspacePath\n );\n lanes = harmony.get(LanesAspect.id);\n await lanes.createLane('stage');\n\n const currentLaneId = lanes.getCurrentLaneId();\n if (!currentLaneId) throw new Error('unable to get the current lane-id');\n laneId = currentLaneId;\n\n snapping = harmony.get(SnappingAspect.id);\n await snapping.snap({ build: false });\n const exporter: ExportMain = harmony.get(ExportAspect.id);\n await exporter.export();\n\n const remove: RemoveMain = harmony.get(RemoveAspect.id);\n await remove.deleteComps('comp1');\n\n await snapping.snap({ build: false });\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should save the deleted data into the lane object', async () => {\n const lane = await lanes.getCurrentLane();\n expect(lane?.components[0].isDeleted).to.be.true;\n });\n it('should save the deleted data into lane history', async () => {\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n expect(Object.keys(history).length).to.equal(3);\n const snapHistory = history[Object.keys(history)[2]];\n expect(snapHistory.deleted?.length).to.equal(1);\n });\n });\n\n describe('create comps on a lane then switch to main with --head', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n let snapping: SnappingMain;\n let laneId: LaneId;\n let harmony: Harmony;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n harmony = await loadManyAspects(\n [SnappingAspect, ExportAspect, RemoveAspect, WorkspaceAspect, LanesAspect],\n workspaceData.workspacePath\n );\n lanes = harmony.get(LanesAspect.id);\n await lanes.createLane('stage');\n\n const currentLaneId = lanes.getCurrentLaneId();\n if (!currentLaneId) throw new Error('unable to get the current lane-id');\n laneId = currentLaneId;\n\n snapping = harmony.get(SnappingAspect.id);\n await snapping.snap({ build: false });\n const exporter: ExportMain = harmony.get(ExportAspect.id);\n await exporter.export();\n\n // in another workspace, merge the lane into main.\n const workspaceData2 = mockWorkspace({ bareScopeName: workspaceData.remoteScopeName });\n const harmony2 = await loadManyAspects(\n [SnappingAspect, ExportAspect, RemoveAspect, WorkspaceAspect, LanesAspect, MergeLanesAspect],\n workspaceData2.workspacePath\n );\n const mergeLanes2 = harmony2.get<MergeLanesMain>(MergeLanesAspect.id);\n const lanes2 = harmony2.get<LanesMain>(LanesAspect.id);\n const currentLaneId2 = lanes2.getCurrentLaneId() as LaneId;\n await mergeLanes2.mergeLane(laneId, currentLaneId2, {\n mergeStrategy: 'manual',\n skipDependencyInstallation: true,\n });\n const export2 = harmony2.get<ExportMain>(ExportAspect.id);\n await export2.export();\n\n // reload harmony, otherwise, the \"lanes\" aspect has the workspace of harmony2.\n harmony = await loadManyAspects([LanesAspect], workspaceData.workspacePath);\n lanes = harmony.get(LanesAspect.id);\n await lanes.switchLanes('main', { skipDependencyInstallation: true });\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('the components should be available on main', () => {\n const workspace: Workspace = harmony.get(WorkspaceAspect.id);\n const ids = workspace.listIds();\n expect(ids.length).to.equal(1);\n });\n });\n});\n\n/**\n * TODO: this should not be here. It belongs to the GraphQL aspect.\n * The reason it was moved here is that otherwise, it forms circular dependencies.\n * we should think of a better way to handle this.\n */\ndescribe('GraphQL Aspect', function () {\n this.timeout(0);\n\n describe('getSchemas and getSchema APIs', () => {\n let graphql: GraphqlMain;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n const harmony = await loadManyAspects([WorkspaceAspect, GraphqlAspect, LanesAspect], workspacePath);\n graphql = harmony.get<GraphqlMain>(GraphqlAspect.id);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should bring the schemas when calling getSchemas API', async () => {\n const schemas = graphql.getSchemas([LanesAspect.id]);\n expect(schemas).to.be.an('array');\n expect(schemas).to.have.lengthOf(1);\n expect(schemas[0]).to.be.an('object');\n expect(schemas[0]).to.not.be.an('function');\n });\n it('should bring the schemas when calling getSchema API', async () => {\n const schema = graphql.getSchema(LanesAspect.id);\n expect(schema).to.be.an('object');\n expect(schema).to.not.be.an('function');\n });\n });\n});\n\ndescribe('partitionSwitchIds', () => {\n const id = (idStr: string) => ComponentID.fromString(idStr);\n const ours = id('acme.shop/comp1');\n const oursOnMainOnly = id('acme.shop/comp2');\n const foreign = id('other.scope/table');\n\n it('without a restriction: every lane component is taken, main-only components come along', () => {\n const { ids, laneBitIds } = partitionSwitchIds([ours, foreign], [ours, oursOnMainOnly]);\n expect(ids.map((i) => i.toString())).to.have.members([\n oursOnMainOnly.toString(),\n ours.toString(),\n foreign.toString(),\n ]);\n // on the lane but not in the workspace's main set\n expect(laneBitIds.map((i) => i.toString())).to.deep.equal([foreign.toString()]);\n });\n\n it('a restricted-out lane component is not taken from the lane', () => {\n const { ids, laneBitIds } = partitionSwitchIds([ours, foreign], [ours], ['acme.shop']);\n expect(ids.map((i) => i.toString())).to.deep.equal([ours.toString()]);\n expect(laneBitIds).to.deep.equal([]);\n });\n\n // The regression this guards: filtering only the lane side lets a restricted-out component\n // reappear as \"main-only\", which checks it out at its main version and writes it after all.\n it('a restricted-out lane component the workspace tracks is left untouched, not reverted to main', () => {\n const { ids } = partitionSwitchIds([ours, foreign], [ours, foreign], ['acme.shop']);\n expect(ids.map((i) => i.toString())).to.deep.equal([ours.toString()]);\n expect(ids.map((i) => i.toString())).to.not.include(foreign.toString());\n });\n\n it('a main-only component that the lane never carried is still taken at its main version', () => {\n const { ids } = partitionSwitchIds([ours], [ours, oursOnMainOnly], ['acme.shop']);\n expect(ids.map((i) => i.toString())).to.have.members([oursOnMainOnly.toString(), ours.toString()]);\n });\n});\n\ndescribe('lane updates (Ripple CI cascade entries)', function () {\n this.timeout(0);\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n let laneId: LaneId;\n let cascadedId: ComponentID;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath, remoteScopePath } = workspaceData;\n await mockComponents(workspacePath);\n const harmony = await loadManyAspects([SnappingAspect, ExportAspect, LanesAspect, WorkspaceAspect], workspacePath);\n const snapping: SnappingMain = harmony.get(SnappingAspect.id);\n lanes = harmony.get(LanesAspect.id);\n await lanes.createLane('stage');\n await snapping.snap({ pattern: 'comp1', build: false, ignoreIssues: 'MissingManuallyConfiguredPackages' });\n const exporter: ExportMain = harmony.get(ExportAspect.id);\n await exporter.export();\n laneId = lanes.getCurrentLaneId() as LaneId;\n\n // mimic the Ripple CI cascade producer: add a hidden update-dependents entry (a dependent of comp1, which\n // doesn't need to exist for the lane object) to the lane on the remote. the remote scope is loaded through\n // the cache on purpose, so the Fs network the workspace uses to reach this remote sees the same objects.\n const remoteScope = await loadScope(remoteScopePath);\n const remoteLane = await remoteScope.lanes.loadLane(laneId);\n if (!remoteLane) throw new Error('expected the lane to exist on the remote after export');\n const [laneComponent] = remoteLane.components;\n cascadedId = ComponentID.fromString(`${laneComponent.id.scope}/dependent-of-comp1`).changeVersion(\n laneComponent.head.toString()\n );\n remoteLane.addComponentToUpdateDependents(cascadedId);\n await remoteScope.lanes.saveLane(remoteLane, { laneHistoryMsg: 'test: cascade update-dependents' });\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('getLaneUpdateDependents() should read the cascaded entries from the remote lane', async () => {\n const result = await lanes.getLaneUpdateDependents(laneId);\n expect(result.source).to.equal('remote');\n expect(result.ids.map((id) => id.toString())).to.deep.equal([cascadedId.toString()]);\n });\n it('undoLaneUpdateDependents() should remove the entries from the remote lane', async () => {\n const result = await lanes.undoLaneUpdateDependents(laneId);\n expect(result.remoteChanged).to.be.true;\n expect(result.remoteSkipped).to.be.false;\n expect(result.removed.map((id) => id.toString())).to.deep.equal([cascadedId.toString()]);\n\n const remoteScope = await loadScope(workspaceData.remoteScopePath);\n const remoteLane = await remoteScope.lanes.loadLane(laneId);\n expect(remoteLane?.updateDependents).to.be.undefined;\n\n const after = await lanes.getLaneUpdateDependents(laneId);\n expect(after.source).to.equal('remote');\n expect(after.ids).to.have.lengthOf(0);\n });\n it('undoLaneUpdateDependents() should clean local entries the remote no longer has', async () => {\n // mimic an undo whose remote removal succeeded but whose local save failed: the previous test left the\n // remote lane clean, so re-adding the entry locally makes it stale by definition.\n const remoteIds = await lanes.getLaneUpdateDependents(laneId);\n expect(remoteIds.ids).to.have.lengthOf(0);\n const localScope = await loadScope(path.join(workspaceData.workspacePath, '.bit'));\n const localLane = await localScope.lanes.loadLane(laneId);\n if (!localLane) throw new Error('expected the lane to exist locally');\n localLane.addComponentToUpdateDependents(cascadedId);\n await localScope.lanes.saveLane(localLane, { laneHistoryMsg: 'test: stale local entry' });\n\n const result = await lanes.undoLaneUpdateDependents(laneId);\n expect(result.removed).to.have.lengthOf(0);\n expect(result.remoteChanged).to.be.false;\n expect(result.localChanged).to.be.true;\n\n const afterLocal = await localScope.lanes.loadLane(laneId);\n expect(afterLocal?.updateDependents).to.be.undefined;\n });\n it('removeUpdateDependents() should remove nothing when given an empty list, not everything', async () => {\n // an empty list means the caller resolved zero entries. reading it as \"remove all\" would let a\n // remote call that asks to remove nothing wipe the whole cascade.\n const localScope = await loadScope(path.join(workspaceData.workspacePath, '.bit'));\n const localLane = await localScope.lanes.loadLane(laneId);\n if (!localLane) throw new Error('expected the lane to exist locally');\n localLane.addComponentToUpdateDependents(cascadedId);\n await localScope.lanes.saveLane(localLane, { laneHistoryMsg: 'test: entry that must survive' });\n\n expect(await lanes.removeUpdateDependents(laneId, [])).to.be.false;\n const afterEmpty = await localScope.lanes.loadLane(laneId);\n expect(afterEmpty?.updateDependents?.map((id) => id.toString())).to.deep.equal([cascadedId.toString()]);\n\n // omitting the ids is what removes all of them\n expect(await lanes.removeUpdateDependents(laneId)).to.be.true;\n const afterAll = await localScope.lanes.loadLane(laneId);\n expect(afterAll?.updateDependents).to.be.undefined;\n });\n});\n\ndescribe('LaneUpdatesCmd', () => {\n const stubbedLaneId = LaneId.from('my-lane', 'org.scope');\n function createCmd(result: { source: LaneUpdateDependentsSource; remoteError?: string }) {\n const lanes = {\n getCurrentLaneId: () => stubbedLaneId,\n getLaneUpdateDependents: async () => ({ laneId: stubbedLaneId, ids: [], ...result }),\n } as unknown as LanesMain;\n return new LaneUpdatesCmd(lanes);\n }\n it('should say the lane is missing on the remote, rather than report a fetch failure', async () => {\n const output = await createCmd({ source: 'no-remote-lane' }).report([''], {});\n expect(output).to.include('not found on the remote');\n expect(output).to.not.include('undefined');\n });\n it('should report the remote error when the fetch actually failed', async () => {\n const output = await createCmd({ source: 'remote-unavailable', remoteError: 'connection refused' }).report(\n [''],\n {}\n );\n expect(output).to.include('could not be fetched: connection refused');\n });\n it('should not add a source hint when the entries came from the remote', async () => {\n const output = await createCmd({ source: 'remote' }).report([''], {});\n expect(output).to.not.include('showing the local lane object');\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chai","data","require","_fsExtra","_interopRequireDefault","_path","_harmonyTesting","_remove","_snapping","_workspace","_export","_laneId","_workspaceTesting","_componentTesting","_lanesEntities","_componentId","_switchLanes","_lanes","_lane","_graphql","_legacy","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","describe","timeout","lanes","workspaceData","before","mockWorkspace","workspacePath","mockComponents","loadAspect","LanesAspect","createLane","after","destroyWorkspace","it","currentLanes","getLanes","expect","to","have","lengthOf","name","equal","snapping","harmony","loadManyAspects","SnappingAspect","ExportAspect","WorkspaceAspect","get","id","tag","ids","build","ignoreIssues","exporter","export","modifyMockedComponents","result","snap","pattern","snappedComponents","currentLane","getCurrentLane","Error","isUpToDate","diffStatus","toLaneId","undefined","skipChanges","componentsStatus","every","c","upToDate","be","true","switchLanes","skipDependencyInstallation","unmodified","false","laneDiffResults","changeType","ChangeType","NONE","removeLanes","lanesAfterDelete","restoreLane","hash","output","laneHash","error","err","instanceOf","message","include","laneId","currentLaneId","getCurrentLaneId","laneHistory","getLaneHistory","history","getHistory","snappingResult","snapHistory","log","components","toString","exportResults","compFile","path","join","fs","appendFile","componentsIds","exportedLanes","newWorkspace","bareScopeName","remoteScopeName","importLaneObject","snapHistoryId","find","key","includes","results","checkoutHistory","failedComponents","revertWorkspace","revertHistory","compFileContent","readFile","not","secondSnapHistoryId","secondSnapHistory","workspace","listIds","scope","skip","RemoveAspect","remove","deleteComps","lane","isDeleted","deleted","graphql","GraphqlAspect","schemas","getSchemas","an","schema","getSchema","idStr","ComponentID","fromString","ours","oursOnMainOnly","foreign","laneBitIds","partitionSwitchIds","map","members","deep","cascadedId","remoteScopePath","remoteScope","loadScope","remoteLane","loadLane","laneComponent","changeVersion","head","addComponentToUpdateDependents","saveLane","laneHistoryMsg","getLaneUpdateDependents","source","undoLaneUpdateDependents","remoteChanged","remoteSkipped","removed","updateDependents","remoteIds","localScope","localLane","localChanged","afterLocal","removeUpdateDependents","afterEmpty","afterAll","stubbedLaneId","LaneId","from","createCmd","LaneUpdatesCmd","report","remoteError"],"sources":["lanes.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport type { Harmony } from '@teambit/harmony';\nimport { loadAspect, loadManyAspects } from '@teambit/harmony.testing.load-aspect';\nimport type { RemoveMain } from '@teambit/remove';\nimport { RemoveAspect } from '@teambit/remove';\nimport type { SnappingMain } from '@teambit/snapping';\nimport { SnappingAspect } from '@teambit/snapping';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { ExportMain } from '@teambit/export';\nimport { ExportAspect } from '@teambit/export';\nimport { LaneId } from '@teambit/lane-id';\nimport type { WorkspaceData } from '@teambit/workspace.testing.mock-workspace';\nimport { mockWorkspace, destroyWorkspace } from '@teambit/workspace.testing.mock-workspace';\nimport { mockComponents, modifyMockedComponents } from '@teambit/component.testing.mock-components';\nimport { ChangeType } from '@teambit/lanes.entities.lane-diff';\nimport { ComponentID } from '@teambit/component-id';\nimport { partitionSwitchIds } from './switch-lanes';\nimport { LanesAspect } from './lanes.aspect';\nimport type { LanesMain, LaneUpdateDependentsSource } from './lanes.main.runtime';\nimport { LaneUpdatesCmd } from './lane.cmd';\nimport { GraphqlAspect, type GraphqlMain } from '@teambit/graphql';\nimport { loadScope } from '@teambit/legacy.scope';\n\ndescribe('LanesAspect', function () {\n this.timeout(0);\n\n describe('getLanes()', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n lanes = await loadAspect(LanesAspect, workspacePath);\n await lanes.createLane('stage');\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should list all lanes', async () => {\n const currentLanes = await lanes.getLanes({});\n expect(currentLanes).to.have.lengthOf(1);\n expect(currentLanes[0].name).to.equal('stage');\n });\n });\n\n describe('isLaneUpToDate', () => {\n let lanes: LanesMain;\n let snapping: SnappingMain;\n let workspaceData: WorkspaceData;\n let harmony: Harmony;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n harmony = await loadManyAspects([SnappingAspect, ExportAspect, LanesAspect, WorkspaceAspect], workspacePath);\n snapping = harmony.get(SnappingAspect.id);\n await snapping.tag({ ids: ['comp1'], build: false, ignoreIssues: 'MissingManuallyConfiguredPackages' });\n const exporter: ExportMain = harmony.get(ExportAspect.id);\n await exporter.export();\n lanes = harmony.get(LanesAspect.id);\n await lanes.createLane('stage');\n await modifyMockedComponents(workspacePath, 'v2');\n const result = await snapping.snap({\n pattern: 'comp1',\n build: false,\n ignoreIssues: 'MissingManuallyConfiguredPackages',\n });\n // intermediate step, make sure it is snapped\n expect(result?.snappedComponents.length).to.equal(1);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should return that the lane is up to date when the lane is ahead of main', async () => {\n const currentLane = await lanes.getCurrentLane();\n if (!currentLane) throw new Error('unable to get the current lane');\n const isUpToDate = (\n await lanes.diffStatus(currentLane.toLaneId(), undefined, { skipChanges: true })\n ).componentsStatus.every((c) => c.upToDate);\n\n expect(isUpToDate).to.be.true;\n });\n it('should return that the lane is not up to date when main is ahead', async () => {\n const currentLane = await lanes.getCurrentLane();\n if (!currentLane) throw new Error('unable to get the current lane');\n await lanes.switchLanes('main', { skipDependencyInstallation: true });\n await snapping.snap({\n pattern: 'comp1',\n build: false,\n unmodified: true,\n ignoreIssues: 'MissingManuallyConfiguredPackages',\n });\n const isUpToDate = (\n await lanes.diffStatus(currentLane.toLaneId(), undefined, { skipChanges: true })\n ).componentsStatus.every((c) => c.upToDate);\n\n expect(isUpToDate).to.be.false;\n });\n });\n\n describe('laneDiff', () => {\n let harmony: Harmony;\n let lanes: LanesMain;\n let snapping: SnappingMain;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n harmony = await loadManyAspects([SnappingAspect, ExportAspect, LanesAspect, WorkspaceAspect], workspacePath);\n snapping = harmony.get(SnappingAspect.id);\n await snapping.tag({ ids: ['comp1'], build: false });\n const exporter: ExportMain = harmony.get(ExportAspect.id);\n await exporter.export();\n lanes = harmony.get(LanesAspect.id);\n await lanes.createLane('stage');\n const result = await snapping.snap({ pattern: 'comp1', build: false, unmodified: true });\n // intermediate step, make sure it is snapped\n expect(result?.snappedComponents.length).to.equal(1);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should return that the lane is up to date when the lane is ahead of main', async () => {\n const currentLane = await lanes.getCurrentLane();\n if (!currentLane) throw new Error('unable to get the current lane');\n const laneDiffResults = await lanes.diffStatus(currentLane.toLaneId());\n expect(laneDiffResults.componentsStatus[0].upToDate).to.be.true;\n expect(laneDiffResults.componentsStatus[0].changeType).to.equal(ChangeType.NONE);\n });\n it('should return that the lane is not up to date when main is ahead', async () => {\n const currentLane = await lanes.getCurrentLane();\n if (!currentLane) throw new Error('unable to get the current lane');\n await lanes.switchLanes('main', { skipDependencyInstallation: true });\n await snapping.snap({ pattern: 'comp1', build: false, unmodified: true });\n\n const laneDiffResults = await lanes.diffStatus(currentLane.toLaneId());\n expect(laneDiffResults.componentsStatus[0].upToDate).to.be.false;\n expect(laneDiffResults.componentsStatus[0].changeType).to.equal(ChangeType.NONE);\n });\n });\n\n describe('restoreLane()', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n lanes = await loadAspect(LanesAspect, workspacePath);\n await lanes.createLane('stage');\n\n // as an intermediate step, make sure the lane was created\n const currentLanes = await lanes.getLanes({});\n expect(currentLanes).to.have.lengthOf(1);\n\n await lanes.switchLanes('main', { skipDependencyInstallation: true });\n await lanes.removeLanes(['stage']);\n\n // as an intermediate step, make sure the lane was removed\n const lanesAfterDelete = await lanes.getLanes({});\n expect(lanesAfterDelete).to.have.lengthOf(0);\n\n await lanes.restoreLane(currentLanes[0].hash);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should restore the deleted lane', async () => {\n const currentLanes = await lanes.getLanes({});\n expect(currentLanes).to.have.lengthOf(1);\n expect(currentLanes[0].id.name).to.equal('stage');\n });\n describe('delete restored lane', () => {\n let output: string[];\n before(async () => {\n output = await lanes.removeLanes(['stage']);\n });\n it('should not throw', () => {\n expect(output).to.have.lengthOf(1);\n });\n });\n });\n\n describe('restore lane when an existing lane has the same id', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n let laneHash: string;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n lanes = await loadAspect(LanesAspect, workspacePath);\n await lanes.createLane('stage');\n\n // as an intermediate step, make sure the lane was created\n const currentLanes = await lanes.getLanes({});\n expect(currentLanes).to.have.lengthOf(1);\n\n await lanes.switchLanes('main', { skipDependencyInstallation: true });\n await lanes.removeLanes(['stage']);\n\n await lanes.createLane('stage');\n laneHash = currentLanes[0].hash;\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should throw when restoring the lane', async () => {\n let error: Error | undefined;\n try {\n await lanes.restoreLane(laneHash);\n } catch (err: any) {\n error = err;\n }\n expect(error).to.be.instanceOf(Error);\n expect(error?.message).to.include('unable to restore lane');\n });\n });\n\n describe('lane history', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n let snapping: SnappingMain;\n let laneId: LaneId;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n lanes = await loadAspect(LanesAspect, workspacePath);\n await lanes.createLane('stage');\n snapping = await loadAspect(SnappingAspect, workspacePath);\n const currentLaneId = lanes.getCurrentLaneId();\n if (!currentLaneId) throw new Error('unable to get the current lane-id');\n laneId = currentLaneId;\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should create lane history object when creating a new lane', async () => {\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n expect(Object.keys(history).length).to.equal(1);\n });\n describe('snapping', () => {\n let snappingResult;\n before(async () => {\n snappingResult = await snapping.snap({ pattern: 'comp1', build: false, message: 'first snap' });\n });\n it('should add a record to LaneHistory when snapping', async () => {\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n expect(Object.keys(history).length).to.equal(2);\n const snapHistory = history[Object.keys(history)[1]];\n expect(snapHistory.log.message).to.equal('snap (first snap)');\n expect(snapHistory.components.length).to.equal(1);\n expect(snapHistory.components[0]).to.equal(snappingResult?.snappedComponents[0].id.toString() as string);\n });\n describe('snap again and export', () => {\n let exportResults;\n\n before(async () => {\n const compFile = path.join(workspaceData.workspacePath, 'comp1/index.js');\n await fs.appendFile(compFile, `\\nconsole.log('second-snap');`);\n // make another snap to check to test the checkout later.\n await snapping.snap({ pattern: 'comp1', build: false, message: 'second snap' });\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n expect(Object.keys(history).length).to.equal(3);\n\n const exporter: ExportMain = await loadAspect(ExportAspect, workspaceData.workspacePath);\n exportResults = await exporter.export();\n });\n it('should export successfully', () => {\n expect(exportResults.componentsIds.length).to.equal(1);\n expect(exportResults.exportedLanes.length).to.equal(1);\n });\n describe('import to another workspace', () => {\n let newWorkspace: WorkspaceData;\n before(async () => {\n newWorkspace = mockWorkspace({ bareScopeName: workspaceData.remoteScopeName });\n\n lanes = await loadAspect(LanesAspect, newWorkspace.workspacePath);\n await lanes.switchLanes(laneId.toString(), { skipDependencyInstallation: true });\n await lanes.importLaneObject(laneId, true, true);\n });\n after(async () => {\n await destroyWorkspace(newWorkspace);\n });\n it('should not add a record to the lane-history', async () => {\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n expect(Object.keys(history).length).to.equal(3);\n });\n it('should be able to checkout to a previous state of the lane', async () => {\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n const snapHistoryId = Object.keys(history).find((key) => history[key].log.message?.includes('first snap'));\n if (!snapHistoryId) throw new Error('unable to find snap history of the first snap');\n const results = await lanes.checkoutHistory(snapHistoryId, { skipDependencyInstallation: true });\n expect(results.components?.length).to.equal(1);\n expect(results.failedComponents?.length).to.equal(0);\n });\n it('should be able to revert to a previous history id', async () => {\n const revertWorkspace = mockWorkspace({ bareScopeName: workspaceData.remoteScopeName });\n lanes = await loadAspect(LanesAspect, revertWorkspace.workspacePath);\n await lanes.switchLanes(laneId.toString(), { skipDependencyInstallation: true });\n await lanes.importLaneObject(laneId, true, true);\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n const snapHistoryId = Object.keys(history).find((key) => history[key].log.message?.includes('first snap'));\n if (!snapHistoryId) throw new Error('unable to find snap history of the first snap');\n const results = await lanes.revertHistory(snapHistoryId, { skipDependencyInstallation: true });\n expect(results.components?.length).to.equal(1);\n expect(results.failedComponents?.length).to.equal(0);\n\n const compFile = path.join(\n revertWorkspace.workspacePath,\n revertWorkspace.remoteScopeName,\n 'comp1/index.js'\n );\n const compFileContent = await fs.readFile(compFile, 'utf8');\n\n // make sure it reverts to the first snap.\n expect(compFileContent).to.not.include('second-snap');\n\n // make sure it keeps the version in .bitmap intact and doesn't change it to the first snap. (as with checkout)\n const secondSnapHistoryId = Object.keys(history).find((key) =>\n history[key].log.message?.includes('second snap')\n );\n if (!secondSnapHistoryId) throw new Error('unable to find snap history of the second snap');\n const secondSnapHistory = history[secondSnapHistoryId];\n const workspace: Workspace = await loadAspect(WorkspaceAspect, revertWorkspace.workspacePath);\n const ids = await workspace.listIds();\n expect(ids[0].toString()).to.equal(secondSnapHistory.components[0]);\n await destroyWorkspace(revertWorkspace);\n });\n });\n });\n });\n });\n\n describe('create lanes with the same name different scope', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n lanes = await loadAspect(LanesAspect, workspacePath);\n await lanes.createLane('stage');\n await lanes.switchLanes('main', { skipDependencyInstallation: true });\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should not throw when creating the second lane', async () => {\n await lanes.createLane('stage', { scope: 'new-scope' });\n const currentLanes = await lanes.getLanes({});\n expect(currentLanes.length).to.equal(2);\n expect(currentLanes[0].id.name).to.equal('stage');\n expect(currentLanes[1].id.name).to.equal('stage');\n });\n });\n\n // todo: fix after deleting teambit.legacy\n // for some reason it is trying to add the core-aspect teambit.component/remove to the graph and then\n // it complains that it has no version. from the cli it doesn't happen.\n describe.skip('delete component on a lane after export', () => {\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n let snapping: SnappingMain;\n let laneId: LaneId;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n const harmony = await loadManyAspects(\n [SnappingAspect, ExportAspect, RemoveAspect, WorkspaceAspect, LanesAspect],\n workspaceData.workspacePath\n );\n lanes = harmony.get(LanesAspect.id);\n await lanes.createLane('stage');\n\n const currentLaneId = lanes.getCurrentLaneId();\n if (!currentLaneId) throw new Error('unable to get the current lane-id');\n laneId = currentLaneId;\n\n snapping = harmony.get(SnappingAspect.id);\n await snapping.snap({ build: false });\n const exporter: ExportMain = harmony.get(ExportAspect.id);\n await exporter.export();\n\n const remove: RemoveMain = harmony.get(RemoveAspect.id);\n await remove.deleteComps('comp1');\n\n await snapping.snap({ build: false });\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should save the deleted data into the lane object', async () => {\n const lane = await lanes.getCurrentLane();\n expect(lane?.components[0].isDeleted).to.be.true;\n });\n it('should save the deleted data into lane history', async () => {\n const laneHistory = await lanes.getLaneHistory(laneId);\n const history = laneHistory.getHistory();\n expect(Object.keys(history).length).to.equal(3);\n const snapHistory = history[Object.keys(history)[2]];\n expect(snapHistory.deleted?.length).to.equal(1);\n });\n });\n});\n\n/**\n * TODO: this should not be here. It belongs to the GraphQL aspect.\n * The reason it was moved here is that otherwise, it forms circular dependencies.\n * we should think of a better way to handle this.\n */\ndescribe('GraphQL Aspect', function () {\n this.timeout(0);\n\n describe('getSchemas and getSchema APIs', () => {\n let graphql: GraphqlMain;\n let workspaceData: WorkspaceData;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n const harmony = await loadManyAspects([WorkspaceAspect, GraphqlAspect, LanesAspect], workspacePath);\n graphql = harmony.get<GraphqlMain>(GraphqlAspect.id);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should bring the schemas when calling getSchemas API', async () => {\n const schemas = graphql.getSchemas([LanesAspect.id]);\n expect(schemas).to.be.an('array');\n expect(schemas).to.have.lengthOf(1);\n expect(schemas[0]).to.be.an('object');\n expect(schemas[0]).to.not.be.an('function');\n });\n it('should bring the schemas when calling getSchema API', async () => {\n const schema = graphql.getSchema(LanesAspect.id);\n expect(schema).to.be.an('object');\n expect(schema).to.not.be.an('function');\n });\n });\n});\n\ndescribe('partitionSwitchIds', () => {\n const id = (idStr: string) => ComponentID.fromString(idStr);\n const ours = id('acme.shop/comp1');\n const oursOnMainOnly = id('acme.shop/comp2');\n const foreign = id('other.scope/table');\n\n it('without a restriction: every lane component is taken, main-only components come along', () => {\n const { ids, laneBitIds } = partitionSwitchIds([ours, foreign], [ours, oursOnMainOnly]);\n expect(ids.map((i) => i.toString())).to.have.members([\n oursOnMainOnly.toString(),\n ours.toString(),\n foreign.toString(),\n ]);\n // on the lane but not in the workspace's main set\n expect(laneBitIds.map((i) => i.toString())).to.deep.equal([foreign.toString()]);\n });\n\n it('a restricted-out lane component is not taken from the lane', () => {\n const { ids, laneBitIds } = partitionSwitchIds([ours, foreign], [ours], ['acme.shop']);\n expect(ids.map((i) => i.toString())).to.deep.equal([ours.toString()]);\n expect(laneBitIds).to.deep.equal([]);\n });\n\n // The regression this guards: filtering only the lane side lets a restricted-out component\n // reappear as \"main-only\", which checks it out at its main version and writes it after all.\n it('a restricted-out lane component the workspace tracks is left untouched, not reverted to main', () => {\n const { ids } = partitionSwitchIds([ours, foreign], [ours, foreign], ['acme.shop']);\n expect(ids.map((i) => i.toString())).to.deep.equal([ours.toString()]);\n expect(ids.map((i) => i.toString())).to.not.include(foreign.toString());\n });\n\n it('a main-only component that the lane never carried is still taken at its main version', () => {\n const { ids } = partitionSwitchIds([ours], [ours, oursOnMainOnly], ['acme.shop']);\n expect(ids.map((i) => i.toString())).to.have.members([oursOnMainOnly.toString(), ours.toString()]);\n });\n});\n\ndescribe('lane updates (Ripple CI cascade entries)', function () {\n this.timeout(0);\n let lanes: LanesMain;\n let workspaceData: WorkspaceData;\n let laneId: LaneId;\n let cascadedId: ComponentID;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath, remoteScopePath } = workspaceData;\n await mockComponents(workspacePath);\n const harmony = await loadManyAspects([SnappingAspect, ExportAspect, LanesAspect, WorkspaceAspect], workspacePath);\n const snapping: SnappingMain = harmony.get(SnappingAspect.id);\n lanes = harmony.get(LanesAspect.id);\n await lanes.createLane('stage');\n await snapping.snap({ pattern: 'comp1', build: false, ignoreIssues: 'MissingManuallyConfiguredPackages' });\n const exporter: ExportMain = harmony.get(ExportAspect.id);\n await exporter.export();\n laneId = lanes.getCurrentLaneId() as LaneId;\n\n // mimic the Ripple CI cascade producer: add a hidden update-dependents entry (a dependent of comp1, which\n // doesn't need to exist for the lane object) to the lane on the remote. the remote scope is loaded through\n // the cache on purpose, so the Fs network the workspace uses to reach this remote sees the same objects.\n const remoteScope = await loadScope(remoteScopePath);\n const remoteLane = await remoteScope.lanes.loadLane(laneId);\n if (!remoteLane) throw new Error('expected the lane to exist on the remote after export');\n const [laneComponent] = remoteLane.components;\n cascadedId = ComponentID.fromString(`${laneComponent.id.scope}/dependent-of-comp1`).changeVersion(\n laneComponent.head.toString()\n );\n remoteLane.addComponentToUpdateDependents(cascadedId);\n await remoteScope.lanes.saveLane(remoteLane, { laneHistoryMsg: 'test: cascade update-dependents' });\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('getLaneUpdateDependents() should read the cascaded entries from the remote lane', async () => {\n const result = await lanes.getLaneUpdateDependents(laneId);\n expect(result.source).to.equal('remote');\n expect(result.ids.map((id) => id.toString())).to.deep.equal([cascadedId.toString()]);\n });\n it('undoLaneUpdateDependents() should remove the entries from the remote lane', async () => {\n const result = await lanes.undoLaneUpdateDependents(laneId);\n expect(result.remoteChanged).to.be.true;\n expect(result.remoteSkipped).to.be.false;\n expect(result.removed.map((id) => id.toString())).to.deep.equal([cascadedId.toString()]);\n\n const remoteScope = await loadScope(workspaceData.remoteScopePath);\n const remoteLane = await remoteScope.lanes.loadLane(laneId);\n expect(remoteLane?.updateDependents).to.be.undefined;\n\n const after = await lanes.getLaneUpdateDependents(laneId);\n expect(after.source).to.equal('remote');\n expect(after.ids).to.have.lengthOf(0);\n });\n it('undoLaneUpdateDependents() should clean local entries the remote no longer has', async () => {\n // mimic an undo whose remote removal succeeded but whose local save failed: the previous test left the\n // remote lane clean, so re-adding the entry locally makes it stale by definition.\n const remoteIds = await lanes.getLaneUpdateDependents(laneId);\n expect(remoteIds.ids).to.have.lengthOf(0);\n const localScope = await loadScope(path.join(workspaceData.workspacePath, '.bit'));\n const localLane = await localScope.lanes.loadLane(laneId);\n if (!localLane) throw new Error('expected the lane to exist locally');\n localLane.addComponentToUpdateDependents(cascadedId);\n await localScope.lanes.saveLane(localLane, { laneHistoryMsg: 'test: stale local entry' });\n\n const result = await lanes.undoLaneUpdateDependents(laneId);\n expect(result.removed).to.have.lengthOf(0);\n expect(result.remoteChanged).to.be.false;\n expect(result.localChanged).to.be.true;\n\n const afterLocal = await localScope.lanes.loadLane(laneId);\n expect(afterLocal?.updateDependents).to.be.undefined;\n });\n it('removeUpdateDependents() should remove nothing when given an empty list, not everything', async () => {\n // an empty list means the caller resolved zero entries. reading it as \"remove all\" would let a\n // remote call that asks to remove nothing wipe the whole cascade.\n const localScope = await loadScope(path.join(workspaceData.workspacePath, '.bit'));\n const localLane = await localScope.lanes.loadLane(laneId);\n if (!localLane) throw new Error('expected the lane to exist locally');\n localLane.addComponentToUpdateDependents(cascadedId);\n await localScope.lanes.saveLane(localLane, { laneHistoryMsg: 'test: entry that must survive' });\n\n expect(await lanes.removeUpdateDependents(laneId, [])).to.be.false;\n const afterEmpty = await localScope.lanes.loadLane(laneId);\n expect(afterEmpty?.updateDependents?.map((id) => id.toString())).to.deep.equal([cascadedId.toString()]);\n\n // omitting the ids is what removes all of them\n expect(await lanes.removeUpdateDependents(laneId)).to.be.true;\n const afterAll = await localScope.lanes.loadLane(laneId);\n expect(afterAll?.updateDependents).to.be.undefined;\n });\n});\n\ndescribe('LaneUpdatesCmd', () => {\n const stubbedLaneId = LaneId.from('my-lane', 'org.scope');\n function createCmd(result: { source: LaneUpdateDependentsSource; remoteError?: string }) {\n const lanes = {\n getCurrentLaneId: () => stubbedLaneId,\n getLaneUpdateDependents: async () => ({ laneId: stubbedLaneId, ids: [], ...result }),\n } as unknown as LanesMain;\n return new LaneUpdatesCmd(lanes);\n }\n it('should say the lane is missing on the remote, rather than report a fetch failure', async () => {\n const output = await createCmd({ source: 'no-remote-lane' }).report([''], {});\n expect(output).to.include('not found on the remote');\n expect(output).to.not.include('undefined');\n });\n it('should report the remote error when the fetch actually failed', async () => {\n const output = await createCmd({ source: 'remote-unavailable', remoteError: 'connection refused' }).report(\n [''],\n {}\n );\n expect(output).to.include('could not be fetched: connection refused');\n });\n it('should not add a source hint when the entries came from the remote', async () => {\n const output = await createCmd({ source: 'remote' }).report([''], {});\n expect(output).to.not.include('showing the local lane object');\n });\n});\n"],"mappings":";;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,MAAA;EAAA,MAAAJ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAG,KAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,gBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,eAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,UAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,SAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAQ,WAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,UAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAS,QAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,OAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,QAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,OAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAW,kBAAA;EAAA,MAAAX,IAAA,GAAAC,OAAA;EAAAU,iBAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,kBAAA;EAAA,MAAAZ,IAAA,GAAAC,OAAA;EAAAW,iBAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,eAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,cAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,aAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,YAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,aAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,YAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,OAAA;EAAA,MAAAhB,IAAA,GAAAC,OAAA;EAAAe,MAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAiB,MAAA;EAAA,MAAAjB,IAAA,GAAAC,OAAA;EAAAgB,KAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,SAAA;EAAA,MAAAlB,IAAA,GAAAC,OAAA;EAAAiB,QAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,QAAA;EAAA,MAAAnB,IAAA,GAAAC,OAAA;EAAAkB,OAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAkD,SAAAG,uBAAAiB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,QAAAH,CAAA,EAAAI,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAP,CAAA,OAAAM,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAR,CAAA,GAAAI,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAX,CAAA,EAAAI,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAf,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAG,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAArB,CAAA,EAAAM,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAJ,CAAA;AAAA,SAAAmB,gBAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAJ,CAAA,GAAAM,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAA1B,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAuB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA9B,CAAA,QAAA2B,CAAA,GAAA3B,CAAA,CAAA+B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAElD8B,QAAQ,CAAC,aAAa,EAAE,YAAY;EAClC,IAAI,CAACC,OAAO,CAAC,CAAC,CAAC;EAEfD,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC3B,IAAIE,KAAgB;IACpB,IAAIC,aAA4B;IAChCC,MAAM,CAAC,YAAY;MACjBD,aAAa,GAAG,IAAAE,iCAAa,EAAC,CAAC;MAC/B,MAAM;QAAEC;MAAc,CAAC,GAAGH,aAAa;MACvC,MAAM,IAAAI,kCAAc,EAACD,aAAa,CAAC;MACnCJ,KAAK,GAAG,MAAM,IAAAM,4BAAU,EAACC,oBAAW,EAAEH,aAAa,CAAC;MACpD,MAAMJ,KAAK,CAACQ,UAAU,CAAC,OAAO,CAAC;IACjC,CAAC,CAAC;IACFC,KAAK,CAAC,YAAY;MAChB,MAAM,IAAAC,oCAAgB,EAACT,aAAa,CAAC;IACvC,CAAC,CAAC;IACFU,EAAE,CAAC,uBAAuB,EAAE,YAAY;MACtC,MAAMC,YAAY,GAAG,MAAMZ,KAAK,CAACa,QAAQ,CAAC,CAAC,CAAC,CAAC;MAC7C,IAAAC,cAAM,EAACF,YAAY,CAAC,CAACG,EAAE,CAACC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAC;MACxC,IAAAH,cAAM,EAACF,YAAY,CAAC,CAAC,CAAC,CAACM,IAAI,CAAC,CAACH,EAAE,CAACI,KAAK,CAAC,OAAO,CAAC;IAChD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFrB,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAC/B,IAAIE,KAAgB;IACpB,IAAIoB,QAAsB;IAC1B,IAAInB,aAA4B;IAChC,IAAIoB,OAAgB;IACpBnB,MAAM,CAAC,YAAY;MACjBD,aAAa,GAAG,IAAAE,iCAAa,EAAC,CAAC;MAC/B,MAAM;QAAEC;MAAc,CAAC,GAAGH,aAAa;MACvC,MAAM,IAAAI,kCAAc,EAACD,aAAa,CAAC;MACnCiB,OAAO,GAAG,MAAM,IAAAC,iCAAe,EAAC,CAACC,0BAAc,EAAEC,sBAAY,EAAEjB,oBAAW,EAAEkB,4BAAe,CAAC,EAAErB,aAAa,CAAC;MAC5GgB,QAAQ,GAAGC,OAAO,CAACK,GAAG,CAACH,0BAAc,CAACI,EAAE,CAAC;MACzC,MAAMP,QAAQ,CAACQ,GAAG,CAAC;QAAEC,GAAG,EAAE,CAAC,OAAO,CAAC;QAAEC,KAAK,EAAE,KAAK;QAAEC,YAAY,EAAE;MAAoC,CAAC,CAAC;MACvG,MAAMC,QAAoB,GAAGX,OAAO,CAACK,GAAG,CAACF,sBAAY,CAACG,EAAE,CAAC;MACzD,MAAMK,QAAQ,CAACC,MAAM,CAAC,CAAC;MACvBjC,KAAK,GAAGqB,OAAO,CAACK,GAAG,CAACnB,oBAAW,CAACoB,EAAE,CAAC;MACnC,MAAM3B,KAAK,CAACQ,UAAU,CAAC,OAAO,CAAC;MAC/B,MAAM,IAAA0B,0CAAsB,EAAC9B,aAAa,EAAE,IAAI,CAAC;MACjD,MAAM+B,MAAM,GAAG,MAAMf,QAAQ,CAACgB,IAAI,CAAC;QACjCC,OAAO,EAAE,OAAO;QAChBP,KAAK,EAAE,KAAK;QACZC,YAAY,EAAE;MAChB,CAAC,CAAC;MACF;MACA,IAAAjB,cAAM,EAACqB,MAAM,EAAEG,iBAAiB,CAAC1D,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;IACFV,KAAK,CAAC,YAAY;MAChB,MAAM,IAAAC,oCAAgB,EAACT,aAAa,CAAC;IACvC,CAAC,CAAC;IACFU,EAAE,CAAC,0EAA0E,EAAE,YAAY;MACzF,MAAM4B,WAAW,GAAG,MAAMvC,KAAK,CAACwC,cAAc,CAAC,CAAC;MAChD,IAAI,CAACD,WAAW,EAAE,MAAM,IAAIE,KAAK,CAAC,gCAAgC,CAAC;MACnE,MAAMC,UAAU,GAAG,CACjB,MAAM1C,KAAK,CAAC2C,UAAU,CAACJ,WAAW,CAACK,QAAQ,CAAC,CAAC,EAAEC,SAAS,EAAE;QAAEC,WAAW,EAAE;MAAK,CAAC,CAAC,EAChFC,gBAAgB,CAACC,KAAK,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAAC;MAE3C,IAAApC,cAAM,EAAC4B,UAAU,CAAC,CAAC3B,EAAE,CAACoC,EAAE,CAACC,IAAI;IAC/B,CAAC,CAAC;IACFzC,EAAE,CAAC,kEAAkE,EAAE,YAAY;MACjF,MAAM4B,WAAW,GAAG,MAAMvC,KAAK,CAACwC,cAAc,CAAC,CAAC;MAChD,IAAI,CAACD,WAAW,EAAE,MAAM,IAAIE,KAAK,CAAC,gCAAgC,CAAC;MACnE,MAAMzC,KAAK,CAACqD,WAAW,CAAC,MAAM,EAAE;QAAEC,0BAA0B,EAAE;MAAK,CAAC,CAAC;MACrE,MAAMlC,QAAQ,CAACgB,IAAI,CAAC;QAClBC,OAAO,EAAE,OAAO;QAChBP,KAAK,EAAE,KAAK;QACZyB,UAAU,EAAE,IAAI;QAChBxB,YAAY,EAAE;MAChB,CAAC,CAAC;MACF,MAAMW,UAAU,GAAG,CACjB,MAAM1C,KAAK,CAAC2C,UAAU,CAACJ,WAAW,CAACK,QAAQ,CAAC,CAAC,EAAEC,SAAS,EAAE;QAAEC,WAAW,EAAE;MAAK,CAAC,CAAC,EAChFC,gBAAgB,CAACC,KAAK,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAAC;MAE3C,IAAApC,cAAM,EAAC4B,UAAU,CAAC,CAAC3B,EAAE,CAACoC,EAAE,CAACK,KAAK;IAChC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF1D,QAAQ,CAAC,UAAU,EAAE,MAAM;IACzB,IAAIuB,OAAgB;IACpB,IAAIrB,KAAgB;IACpB,IAAIoB,QAAsB;IAC1B,IAAInB,aAA4B;IAChCC,MAAM,CAAC,YAAY;MACjBD,aAAa,GAAG,IAAAE,iCAAa,EAAC,CAAC;MAC/B,MAAM;QAAEC;MAAc,CAAC,GAAGH,aAAa;MACvC,MAAM,IAAAI,kCAAc,EAACD,aAAa,CAAC;MACnCiB,OAAO,GAAG,MAAM,IAAAC,iCAAe,EAAC,CAACC,0BAAc,EAAEC,sBAAY,EAAEjB,oBAAW,EAAEkB,4BAAe,CAAC,EAAErB,aAAa,CAAC;MAC5GgB,QAAQ,GAAGC,OAAO,CAACK,GAAG,CAACH,0BAAc,CAACI,EAAE,CAAC;MACzC,MAAMP,QAAQ,CAACQ,GAAG,CAAC;QAAEC,GAAG,EAAE,CAAC,OAAO,CAAC;QAAEC,KAAK,EAAE;MAAM,CAAC,CAAC;MACpD,MAAME,QAAoB,GAAGX,OAAO,CAACK,GAAG,CAACF,sBAAY,CAACG,EAAE,CAAC;MACzD,MAAMK,QAAQ,CAACC,MAAM,CAAC,CAAC;MACvBjC,KAAK,GAAGqB,OAAO,CAACK,GAAG,CAACnB,oBAAW,CAACoB,EAAE,CAAC;MACnC,MAAM3B,KAAK,CAACQ,UAAU,CAAC,OAAO,CAAC;MAC/B,MAAM2B,MAAM,GAAG,MAAMf,QAAQ,CAACgB,IAAI,CAAC;QAAEC,OAAO,EAAE,OAAO;QAAEP,KAAK,EAAE,KAAK;QAAEyB,UAAU,EAAE;MAAK,CAAC,CAAC;MACxF;MACA,IAAAzC,cAAM,EAACqB,MAAM,EAAEG,iBAAiB,CAAC1D,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;IACFV,KAAK,CAAC,YAAY;MAChB,MAAM,IAAAC,oCAAgB,EAACT,aAAa,CAAC;IACvC,CAAC,CAAC;IACFU,EAAE,CAAC,0EAA0E,EAAE,YAAY;MACzF,MAAM4B,WAAW,GAAG,MAAMvC,KAAK,CAACwC,cAAc,CAAC,CAAC;MAChD,IAAI,CAACD,WAAW,EAAE,MAAM,IAAIE,KAAK,CAAC,gCAAgC,CAAC;MACnE,MAAMgB,eAAe,GAAG,MAAMzD,KAAK,CAAC2C,UAAU,CAACJ,WAAW,CAACK,QAAQ,CAAC,CAAC,CAAC;MACtE,IAAA9B,cAAM,EAAC2C,eAAe,CAACV,gBAAgB,CAAC,CAAC,CAAC,CAACG,QAAQ,CAAC,CAACnC,EAAE,CAACoC,EAAE,CAACC,IAAI;MAC/D,IAAAtC,cAAM,EAAC2C,eAAe,CAACV,gBAAgB,CAAC,CAAC,CAAC,CAACW,UAAU,CAAC,CAAC3C,EAAE,CAACI,KAAK,CAACwC,2BAAU,CAACC,IAAI,CAAC;IAClF,CAAC,CAAC;IACFjD,EAAE,CAAC,kEAAkE,EAAE,YAAY;MACjF,MAAM4B,WAAW,GAAG,MAAMvC,KAAK,CAACwC,cAAc,CAAC,CAAC;MAChD,IAAI,CAACD,WAAW,EAAE,MAAM,IAAIE,KAAK,CAAC,gCAAgC,CAAC;MACnE,MAAMzC,KAAK,CAACqD,WAAW,CAAC,MAAM,EAAE;QAAEC,0BAA0B,EAAE;MAAK,CAAC,CAAC;MACrE,MAAMlC,QAAQ,CAACgB,IAAI,CAAC;QAAEC,OAAO,EAAE,OAAO;QAAEP,KAAK,EAAE,KAAK;QAAEyB,UAAU,EAAE;MAAK,CAAC,CAAC;MAEzE,MAAME,eAAe,GAAG,MAAMzD,KAAK,CAAC2C,UAAU,CAACJ,WAAW,CAACK,QAAQ,CAAC,CAAC,CAAC;MACtE,IAAA9B,cAAM,EAAC2C,eAAe,CAACV,gBAAgB,CAAC,CAAC,CAAC,CAACG,QAAQ,CAAC,CAACnC,EAAE,CAACoC,EAAE,CAACK,KAAK;MAChE,IAAA1C,cAAM,EAAC2C,eAAe,CAACV,gBAAgB,CAAC,CAAC,CAAC,CAACW,UAAU,CAAC,CAAC3C,EAAE,CAACI,KAAK,CAACwC,2BAAU,CAACC,IAAI,CAAC;IAClF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF9D,QAAQ,CAAC,eAAe,EAAE,MAAM;IAC9B,IAAIE,KAAgB;IACpB,IAAIC,aAA4B;IAChCC,MAAM,CAAC,YAAY;MACjBD,aAAa,GAAG,IAAAE,iCAAa,EAAC,CAAC;MAC/B,MAAM;QAAEC;MAAc,CAAC,GAAGH,aAAa;MACvC,MAAM,IAAAI,kCAAc,EAACD,aAAa,CAAC;MACnCJ,KAAK,GAAG,MAAM,IAAAM,4BAAU,EAACC,oBAAW,EAAEH,aAAa,CAAC;MACpD,MAAMJ,KAAK,CAACQ,UAAU,CAAC,OAAO,CAAC;;MAE/B;MACA,MAAMI,YAAY,GAAG,MAAMZ,KAAK,CAACa,QAAQ,CAAC,CAAC,CAAC,CAAC;MAC7C,IAAAC,cAAM,EAACF,YAAY,CAAC,CAACG,EAAE,CAACC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAC;MAExC,MAAMjB,KAAK,CAACqD,WAAW,CAAC,MAAM,EAAE;QAAEC,0BAA0B,EAAE;MAAK,CAAC,CAAC;MACrE,MAAMtD,KAAK,CAAC6D,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;;MAElC;MACA,MAAMC,gBAAgB,GAAG,MAAM9D,KAAK,CAACa,QAAQ,CAAC,CAAC,CAAC,CAAC;MACjD,IAAAC,cAAM,EAACgD,gBAAgB,CAAC,CAAC/C,EAAE,CAACC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAC;MAE5C,MAAMjB,KAAK,CAAC+D,WAAW,CAACnD,YAAY,CAAC,CAAC,CAAC,CAACoD,IAAI,CAAC;IAC/C,CAAC,CAAC;IACFvD,KAAK,CAAC,YAAY;MAChB,MAAM,IAAAC,oCAAgB,EAACT,aAAa,CAAC;IACvC,CAAC,CAAC;IACFU,EAAE,CAAC,iCAAiC,EAAE,YAAY;MAChD,MAAMC,YAAY,GAAG,MAAMZ,KAAK,CAACa,QAAQ,CAAC,CAAC,CAAC,CAAC;MAC7C,IAAAC,cAAM,EAACF,YAAY,CAAC,CAACG,EAAE,CAACC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAC;MACxC,IAAAH,cAAM,EAACF,YAAY,CAAC,CAAC,CAAC,CAACe,EAAE,CAACT,IAAI,CAAC,CAACH,EAAE,CAACI,KAAK,CAAC,OAAO,CAAC;IACnD,CAAC,CAAC;IACFrB,QAAQ,CAAC,sBAAsB,EAAE,MAAM;MACrC,IAAImE,MAAgB;MACpB/D,MAAM,CAAC,YAAY;QACjB+D,MAAM,GAAG,MAAMjE,KAAK,CAAC6D,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;MAC7C,CAAC,CAAC;MACFlD,EAAE,CAAC,kBAAkB,EAAE,MAAM;QAC3B,IAAAG,cAAM,EAACmD,MAAM,CAAC,CAAClD,EAAE,CAACC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAC;MACpC,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFnB,QAAQ,CAAC,oDAAoD,EAAE,MAAM;IACnE,IAAIE,KAAgB;IACpB,IAAIC,aAA4B;IAChC,IAAIiE,QAAgB;IACpBhE,MAAM,CAAC,YAAY;MACjBD,aAAa,GAAG,IAAAE,iCAAa,EAAC,CAAC;MAC/B,MAAM;QAAEC;MAAc,CAAC,GAAGH,aAAa;MACvC,MAAM,IAAAI,kCAAc,EAACD,aAAa,CAAC;MACnCJ,KAAK,GAAG,MAAM,IAAAM,4BAAU,EAACC,oBAAW,EAAEH,aAAa,CAAC;MACpD,MAAMJ,KAAK,CAACQ,UAAU,CAAC,OAAO,CAAC;;MAE/B;MACA,MAAMI,YAAY,GAAG,MAAMZ,KAAK,CAACa,QAAQ,CAAC,CAAC,CAAC,CAAC;MAC7C,IAAAC,cAAM,EAACF,YAAY,CAAC,CAACG,EAAE,CAACC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAC;MAExC,MAAMjB,KAAK,CAACqD,WAAW,CAAC,MAAM,EAAE;QAAEC,0BAA0B,EAAE;MAAK,CAAC,CAAC;MACrE,MAAMtD,KAAK,CAAC6D,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;MAElC,MAAM7D,KAAK,CAACQ,UAAU,CAAC,OAAO,CAAC;MAC/B0D,QAAQ,GAAGtD,YAAY,CAAC,CAAC,CAAC,CAACoD,IAAI;IACjC,CAAC,CAAC;IACFvD,KAAK,CAAC,YAAY;MAChB,MAAM,IAAAC,oCAAgB,EAACT,aAAa,CAAC;IACvC,CAAC,CAAC;IACFU,EAAE,CAAC,sCAAsC,EAAE,YAAY;MACrD,IAAIwD,KAAwB;MAC5B,IAAI;QACF,MAAMnE,KAAK,CAAC+D,WAAW,CAACG,QAAQ,CAAC;MACnC,CAAC,CAAC,OAAOE,GAAQ,EAAE;QACjBD,KAAK,GAAGC,GAAG;MACb;MACA,IAAAtD,cAAM,EAACqD,KAAK,CAAC,CAACpD,EAAE,CAACoC,EAAE,CAACkB,UAAU,CAAC5B,KAAK,CAAC;MACrC,IAAA3B,cAAM,EAACqD,KAAK,EAAEG,OAAO,CAAC,CAACvD,EAAE,CAACwD,OAAO,CAAC,wBAAwB,CAAC;IAC7D,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFzE,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC7B,IAAIE,KAAgB;IACpB,IAAIC,aAA4B;IAChC,IAAImB,QAAsB;IAC1B,IAAIoD,MAAc;IAClBtE,MAAM,CAAC,YAAY;MACjBD,aAAa,GAAG,IAAAE,iCAAa,EAAC,CAAC;MAC/B,MAAM;QAAEC;MAAc,CAAC,GAAGH,aAAa;MACvC,MAAM,IAAAI,kCAAc,EAACD,aAAa,CAAC;MACnCJ,KAAK,GAAG,MAAM,IAAAM,4BAAU,EAACC,oBAAW,EAAEH,aAAa,CAAC;MACpD,MAAMJ,KAAK,CAACQ,UAAU,CAAC,OAAO,CAAC;MAC/BY,QAAQ,GAAG,MAAM,IAAAd,4BAAU,EAACiB,0BAAc,EAAEnB,aAAa,CAAC;MAC1D,MAAMqE,aAAa,GAAGzE,KAAK,CAAC0E,gBAAgB,CAAC,CAAC;MAC9C,IAAI,CAACD,aAAa,EAAE,MAAM,IAAIhC,KAAK,CAAC,mCAAmC,CAAC;MACxE+B,MAAM,GAAGC,aAAa;IACxB,CAAC,CAAC;IACFhE,KAAK,CAAC,YAAY;MAChB,MAAM,IAAAC,oCAAgB,EAACT,aAAa,CAAC;IACvC,CAAC,CAAC;IACFU,EAAE,CAAC,4DAA4D,EAAE,YAAY;MAC3E,MAAMgE,WAAW,GAAG,MAAM3E,KAAK,CAAC4E,cAAc,CAACJ,MAAM,CAAC;MACtD,MAAMK,OAAO,GAAGF,WAAW,CAACG,UAAU,CAAC,CAAC;MACxC,IAAAhE,cAAM,EAAC7C,MAAM,CAACC,IAAI,CAAC2G,OAAO,CAAC,CAACjG,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;IACFrB,QAAQ,CAAC,UAAU,EAAE,MAAM;MACzB,IAAIiF,cAAc;MAClB7E,MAAM,CAAC,YAAY;QACjB6E,cAAc,GAAG,MAAM3D,QAAQ,CAACgB,IAAI,CAAC;UAAEC,OAAO,EAAE,OAAO;UAAEP,KAAK,EAAE,KAAK;UAAEwC,OAAO,EAAE;QAAa,CAAC,CAAC;MACjG,CAAC,CAAC;MACF3D,EAAE,CAAC,kDAAkD,EAAE,YAAY;QACjE,MAAMgE,WAAW,GAAG,MAAM3E,KAAK,CAAC4E,cAAc,CAACJ,MAAM,CAAC;QACtD,MAAMK,OAAO,GAAGF,WAAW,CAACG,UAAU,CAAC,CAAC;QACxC,IAAAhE,cAAM,EAAC7C,MAAM,CAACC,IAAI,CAAC2G,OAAO,CAAC,CAACjG,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;QAC/C,MAAM6D,WAAW,GAAGH,OAAO,CAAC5G,MAAM,CAACC,IAAI,CAAC2G,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAA/D,cAAM,EAACkE,WAAW,CAACC,GAAG,CAACX,OAAO,CAAC,CAACvD,EAAE,CAACI,KAAK,CAAC,mBAAmB,CAAC;QAC7D,IAAAL,cAAM,EAACkE,WAAW,CAACE,UAAU,CAACtG,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;QACjD,IAAAL,cAAM,EAACkE,WAAW,CAACE,UAAU,CAAC,CAAC,CAAC,CAAC,CAACnE,EAAE,CAACI,KAAK,CAAC4D,cAAc,EAAEzC,iBAAiB,CAAC,CAAC,CAAC,CAACX,EAAE,CAACwD,QAAQ,CAAC,CAAW,CAAC;MAC1G,CAAC,CAAC;MACFrF,QAAQ,CAAC,uBAAuB,EAAE,MAAM;QACtC,IAAIsF,aAAa;QAEjBlF,MAAM,CAAC,YAAY;UACjB,MAAMmF,QAAQ,GAAGC,eAAI,CAACC,IAAI,CAACtF,aAAa,CAACG,aAAa,EAAE,gBAAgB,CAAC;UACzE,MAAMoF,kBAAE,CAACC,UAAU,CAACJ,QAAQ,EAAE,+BAA+B,CAAC;UAC9D;UACA,MAAMjE,QAAQ,CAACgB,IAAI,CAAC;YAAEC,OAAO,EAAE,OAAO;YAAEP,KAAK,EAAE,KAAK;YAAEwC,OAAO,EAAE;UAAc,CAAC,CAAC;UAC/E,MAAMK,WAAW,GAAG,MAAM3E,KAAK,CAAC4E,cAAc,CAACJ,MAAM,CAAC;UACtD,MAAMK,OAAO,GAAGF,WAAW,CAACG,UAAU,CAAC,CAAC;UACxC,IAAAhE,cAAM,EAAC7C,MAAM,CAACC,IAAI,CAAC2G,OAAO,CAAC,CAACjG,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;UAE/C,MAAMa,QAAoB,GAAG,MAAM,IAAA1B,4BAAU,EAACkB,sBAAY,EAAEvB,aAAa,CAACG,aAAa,CAAC;UACxFgF,aAAa,GAAG,MAAMpD,QAAQ,CAACC,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC;QACFtB,EAAE,CAAC,4BAA4B,EAAE,MAAM;UACrC,IAAAG,cAAM,EAACsE,aAAa,CAACM,aAAa,CAAC9G,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;UACtD,IAAAL,cAAM,EAACsE,aAAa,CAACO,aAAa,CAAC/G,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC;QACFrB,QAAQ,CAAC,6BAA6B,EAAE,MAAM;UAC5C,IAAI8F,YAA2B;UAC/B1F,MAAM,CAAC,YAAY;YACjB0F,YAAY,GAAG,IAAAzF,iCAAa,EAAC;cAAE0F,aAAa,EAAE5F,aAAa,CAAC6F;YAAgB,CAAC,CAAC;YAE9E9F,KAAK,GAAG,MAAM,IAAAM,4BAAU,EAACC,oBAAW,EAAEqF,YAAY,CAACxF,aAAa,CAAC;YACjE,MAAMJ,KAAK,CAACqD,WAAW,CAACmB,MAAM,CAACW,QAAQ,CAAC,CAAC,EAAE;cAAE7B,0BAA0B,EAAE;YAAK,CAAC,CAAC;YAChF,MAAMtD,KAAK,CAAC+F,gBAAgB,CAACvB,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;UAClD,CAAC,CAAC;UACF/D,KAAK,CAAC,YAAY;YAChB,MAAM,IAAAC,oCAAgB,EAACkF,YAAY,CAAC;UACtC,CAAC,CAAC;UACFjF,EAAE,CAAC,6CAA6C,EAAE,YAAY;YAC5D,MAAMgE,WAAW,GAAG,MAAM3E,KAAK,CAAC4E,cAAc,CAACJ,MAAM,CAAC;YACtD,MAAMK,OAAO,GAAGF,WAAW,CAACG,UAAU,CAAC,CAAC;YACxC,IAAAhE,cAAM,EAAC7C,MAAM,CAACC,IAAI,CAAC2G,OAAO,CAAC,CAACjG,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;UACjD,CAAC,CAAC;UACFR,EAAE,CAAC,4DAA4D,EAAE,YAAY;YAC3E,MAAMgE,WAAW,GAAG,MAAM3E,KAAK,CAAC4E,cAAc,CAACJ,MAAM,CAAC;YACtD,MAAMK,OAAO,GAAGF,WAAW,CAACG,UAAU,CAAC,CAAC;YACxC,MAAMkB,aAAa,GAAG/H,MAAM,CAACC,IAAI,CAAC2G,OAAO,CAAC,CAACoB,IAAI,CAAEC,GAAG,IAAKrB,OAAO,CAACqB,GAAG,CAAC,CAACjB,GAAG,CAACX,OAAO,EAAE6B,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC1G,IAAI,CAACH,aAAa,EAAE,MAAM,IAAIvD,KAAK,CAAC,+CAA+C,CAAC;YACpF,MAAM2D,OAAO,GAAG,MAAMpG,KAAK,CAACqG,eAAe,CAACL,aAAa,EAAE;cAAE1C,0BAA0B,EAAE;YAAK,CAAC,CAAC;YAChG,IAAAxC,cAAM,EAACsF,OAAO,CAAClB,UAAU,EAAEtG,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;YAC9C,IAAAL,cAAM,EAACsF,OAAO,CAACE,gBAAgB,EAAE1H,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;UACtD,CAAC,CAAC;UACFR,EAAE,CAAC,mDAAmD,EAAE,YAAY;YAClE,MAAM4F,eAAe,GAAG,IAAApG,iCAAa,EAAC;cAAE0F,aAAa,EAAE5F,aAAa,CAAC6F;YAAgB,CAAC,CAAC;YACvF9F,KAAK,GAAG,MAAM,IAAAM,4BAAU,EAACC,oBAAW,EAAEgG,eAAe,CAACnG,aAAa,CAAC;YACpE,MAAMJ,KAAK,CAACqD,WAAW,CAACmB,MAAM,CAACW,QAAQ,CAAC,CAAC,EAAE;cAAE7B,0BAA0B,EAAE;YAAK,CAAC,CAAC;YAChF,MAAMtD,KAAK,CAAC+F,gBAAgB,CAACvB,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;YAChD,MAAMG,WAAW,GAAG,MAAM3E,KAAK,CAAC4E,cAAc,CAACJ,MAAM,CAAC;YACtD,MAAMK,OAAO,GAAGF,WAAW,CAACG,UAAU,CAAC,CAAC;YACxC,MAAMkB,aAAa,GAAG/H,MAAM,CAACC,IAAI,CAAC2G,OAAO,CAAC,CAACoB,IAAI,CAAEC,GAAG,IAAKrB,OAAO,CAACqB,GAAG,CAAC,CAACjB,GAAG,CAACX,OAAO,EAAE6B,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC1G,IAAI,CAACH,aAAa,EAAE,MAAM,IAAIvD,KAAK,CAAC,+CAA+C,CAAC;YACpF,MAAM2D,OAAO,GAAG,MAAMpG,KAAK,CAACwG,aAAa,CAACR,aAAa,EAAE;cAAE1C,0BAA0B,EAAE;YAAK,CAAC,CAAC;YAC9F,IAAAxC,cAAM,EAACsF,OAAO,CAAClB,UAAU,EAAEtG,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;YAC9C,IAAAL,cAAM,EAACsF,OAAO,CAACE,gBAAgB,EAAE1H,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;YAEpD,MAAMkE,QAAQ,GAAGC,eAAI,CAACC,IAAI,CACxBgB,eAAe,CAACnG,aAAa,EAC7BmG,eAAe,CAACT,eAAe,EAC/B,gBACF,CAAC;YACD,MAAMW,eAAe,GAAG,MAAMjB,kBAAE,CAACkB,QAAQ,CAACrB,QAAQ,EAAE,MAAM,CAAC;;YAE3D;YACA,IAAAvE,cAAM,EAAC2F,eAAe,CAAC,CAAC1F,EAAE,CAAC4F,GAAG,CAACpC,OAAO,CAAC,aAAa,CAAC;;YAErD;YACA,MAAMqC,mBAAmB,GAAG3I,MAAM,CAACC,IAAI,CAAC2G,OAAO,CAAC,CAACoB,IAAI,CAAEC,GAAG,IACxDrB,OAAO,CAACqB,GAAG,CAAC,CAACjB,GAAG,CAACX,OAAO,EAAE6B,QAAQ,CAAC,aAAa,CAClD,CAAC;YACD,IAAI,CAACS,mBAAmB,EAAE,MAAM,IAAInE,KAAK,CAAC,gDAAgD,CAAC;YAC3F,MAAMoE,iBAAiB,GAAGhC,OAAO,CAAC+B,mBAAmB,CAAC;YACtD,MAAME,SAAoB,GAAG,MAAM,IAAAxG,4BAAU,EAACmB,4BAAe,EAAE8E,eAAe,CAACnG,aAAa,CAAC;YAC7F,MAAMyB,GAAG,GAAG,MAAMiF,SAAS,CAACC,OAAO,CAAC,CAAC;YACrC,IAAAjG,cAAM,EAACe,GAAG,CAAC,CAAC,CAAC,CAACsD,QAAQ,CAAC,CAAC,CAAC,CAACpE,EAAE,CAACI,KAAK,CAAC0F,iBAAiB,CAAC3B,UAAU,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,IAAAxE,oCAAgB,EAAC6F,eAAe,CAAC;UACzC,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFzG,QAAQ,CAAC,iDAAiD,EAAE,MAAM;IAChE,IAAIE,KAAgB;IACpB,IAAIC,aAA4B;IAChCC,MAAM,CAAC,YAAY;MACjBD,aAAa,GAAG,IAAAE,iCAAa,EAAC,CAAC;MAC/B,MAAM;QAAEC;MAAc,CAAC,GAAGH,aAAa;MACvC,MAAM,IAAAI,kCAAc,EAACD,aAAa,CAAC;MACnCJ,KAAK,GAAG,MAAM,IAAAM,4BAAU,EAACC,oBAAW,EAAEH,aAAa,CAAC;MACpD,MAAMJ,KAAK,CAACQ,UAAU,CAAC,OAAO,CAAC;MAC/B,MAAMR,KAAK,CAACqD,WAAW,CAAC,MAAM,EAAE;QAAEC,0BAA0B,EAAE;MAAK,CAAC,CAAC;IACvE,CAAC,CAAC;IACF7C,KAAK,CAAC,YAAY;MAChB,MAAM,IAAAC,oCAAgB,EAACT,aAAa,CAAC;IACvC,CAAC,CAAC;IACFU,EAAE,CAAC,gDAAgD,EAAE,YAAY;MAC/D,MAAMX,KAAK,CAACQ,UAAU,CAAC,OAAO,EAAE;QAAEwG,KAAK,EAAE;MAAY,CAAC,CAAC;MACvD,MAAMpG,YAAY,GAAG,MAAMZ,KAAK,CAACa,QAAQ,CAAC,CAAC,CAAC,CAAC;MAC7C,IAAAC,cAAM,EAACF,YAAY,CAAChC,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;MACvC,IAAAL,cAAM,EAACF,YAAY,CAAC,CAAC,CAAC,CAACe,EAAE,CAACT,IAAI,CAAC,CAACH,EAAE,CAACI,KAAK,CAAC,OAAO,CAAC;MACjD,IAAAL,cAAM,EAACF,YAAY,CAAC,CAAC,CAAC,CAACe,EAAE,CAACT,IAAI,CAAC,CAACH,EAAE,CAACI,KAAK,CAAC,OAAO,CAAC;IACnD,CAAC,CAAC;EACJ,CAAC,CAAC;;EAEF;EACA;EACA;EACArB,QAAQ,CAACmH,IAAI,CAAC,yCAAyC,EAAE,MAAM;IAC7D,IAAIjH,KAAgB;IACpB,IAAIC,aAA4B;IAChC,IAAImB,QAAsB;IAC1B,IAAIoD,MAAc;IAClBtE,MAAM,CAAC,YAAY;MACjBD,aAAa,GAAG,IAAAE,iCAAa,EAAC,CAAC;MAC/B,MAAM;QAAEC;MAAc,CAAC,GAAGH,aAAa;MACvC,MAAM,IAAAI,kCAAc,EAACD,aAAa,CAAC;MACnC,MAAMiB,OAAO,GAAG,MAAM,IAAAC,iCAAe,EACnC,CAACC,0BAAc,EAAEC,sBAAY,EAAE0F,sBAAY,EAAEzF,4BAAe,EAAElB,oBAAW,CAAC,EAC1EN,aAAa,CAACG,aAChB,CAAC;MACDJ,KAAK,GAAGqB,OAAO,CAACK,GAAG,CAACnB,oBAAW,CAACoB,EAAE,CAAC;MACnC,MAAM3B,KAAK,CAACQ,UAAU,CAAC,OAAO,CAAC;MAE/B,MAAMiE,aAAa,GAAGzE,KAAK,CAAC0E,gBAAgB,CAAC,CAAC;MAC9C,IAAI,CAACD,aAAa,EAAE,MAAM,IAAIhC,KAAK,CAAC,mCAAmC,CAAC;MACxE+B,MAAM,GAAGC,aAAa;MAEtBrD,QAAQ,GAAGC,OAAO,CAACK,GAAG,CAACH,0BAAc,CAACI,EAAE,CAAC;MACzC,MAAMP,QAAQ,CAACgB,IAAI,CAAC;QAAEN,KAAK,EAAE;MAAM,CAAC,CAAC;MACrC,MAAME,QAAoB,GAAGX,OAAO,CAACK,GAAG,CAACF,sBAAY,CAACG,EAAE,CAAC;MACzD,MAAMK,QAAQ,CAACC,MAAM,CAAC,CAAC;MAEvB,MAAMkF,MAAkB,GAAG9F,OAAO,CAACK,GAAG,CAACwF,sBAAY,CAACvF,EAAE,CAAC;MACvD,MAAMwF,MAAM,CAACC,WAAW,CAAC,OAAO,CAAC;MAEjC,MAAMhG,QAAQ,CAACgB,IAAI,CAAC;QAAEN,KAAK,EAAE;MAAM,CAAC,CAAC;IACvC,CAAC,CAAC;IACFrB,KAAK,CAAC,YAAY;MAChB,MAAM,IAAAC,oCAAgB,EAACT,aAAa,CAAC;IACvC,CAAC,CAAC;IACFU,EAAE,CAAC,mDAAmD,EAAE,YAAY;MAClE,MAAM0G,IAAI,GAAG,MAAMrH,KAAK,CAACwC,cAAc,CAAC,CAAC;MACzC,IAAA1B,cAAM,EAACuG,IAAI,EAAEnC,UAAU,CAAC,CAAC,CAAC,CAACoC,SAAS,CAAC,CAACvG,EAAE,CAACoC,EAAE,CAACC,IAAI;IAClD,CAAC,CAAC;IACFzC,EAAE,CAAC,gDAAgD,EAAE,YAAY;MAC/D,MAAMgE,WAAW,GAAG,MAAM3E,KAAK,CAAC4E,cAAc,CAACJ,MAAM,CAAC;MACtD,MAAMK,OAAO,GAAGF,WAAW,CAACG,UAAU,CAAC,CAAC;MACxC,IAAAhE,cAAM,EAAC7C,MAAM,CAACC,IAAI,CAAC2G,OAAO,CAAC,CAACjG,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;MAC/C,MAAM6D,WAAW,GAAGH,OAAO,CAAC5G,MAAM,CAACC,IAAI,CAAC2G,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;MACpD,IAAA/D,cAAM,EAACkE,WAAW,CAACuC,OAAO,EAAE3I,MAAM,CAAC,CAACmC,EAAE,CAACI,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACArB,QAAQ,CAAC,gBAAgB,EAAE,YAAY;EACrC,IAAI,CAACC,OAAO,CAAC,CAAC,CAAC;EAEfD,QAAQ,CAAC,+BAA+B,EAAE,MAAM;IAC9C,IAAI0H,OAAoB;IACxB,IAAIvH,aAA4B;IAChCC,MAAM,CAAC,YAAY;MACjBD,aAAa,GAAG,IAAAE,iCAAa,EAAC,CAAC;MAC/B,MAAM;QAAEC;MAAc,CAAC,GAAGH,aAAa;MACvC,MAAMoB,OAAO,GAAG,MAAM,IAAAC,iCAAe,EAAC,CAACG,4BAAe,EAAEgG,wBAAa,EAAElH,oBAAW,CAAC,EAAEH,aAAa,CAAC;MACnGoH,OAAO,GAAGnG,OAAO,CAACK,GAAG,CAAc+F,wBAAa,CAAC9F,EAAE,CAAC;IACtD,CAAC,CAAC;IACFlB,KAAK,CAAC,YAAY;MAChB,MAAM,IAAAC,oCAAgB,EAACT,aAAa,CAAC;IACvC,CAAC,CAAC;IACFU,EAAE,CAAC,sDAAsD,EAAE,YAAY;MACrE,MAAM+G,OAAO,GAAGF,OAAO,CAACG,UAAU,CAAC,CAACpH,oBAAW,CAACoB,EAAE,CAAC,CAAC;MACpD,IAAAb,cAAM,EAAC4G,OAAO,CAAC,CAAC3G,EAAE,CAACoC,EAAE,CAACyE,EAAE,CAAC,OAAO,CAAC;MACjC,IAAA9G,cAAM,EAAC4G,OAAO,CAAC,CAAC3G,EAAE,CAACC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAC;MACnC,IAAAH,cAAM,EAAC4G,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC3G,EAAE,CAACoC,EAAE,CAACyE,EAAE,CAAC,QAAQ,CAAC;MACrC,IAAA9G,cAAM,EAAC4G,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC3G,EAAE,CAAC4F,GAAG,CAACxD,EAAE,CAACyE,EAAE,CAAC,UAAU,CAAC;IAC7C,CAAC,CAAC;IACFjH,EAAE,CAAC,qDAAqD,EAAE,YAAY;MACpE,MAAMkH,MAAM,GAAGL,OAAO,CAACM,SAAS,CAACvH,oBAAW,CAACoB,EAAE,CAAC;MAChD,IAAAb,cAAM,EAAC+G,MAAM,CAAC,CAAC9G,EAAE,CAACoC,EAAE,CAACyE,EAAE,CAAC,QAAQ,CAAC;MACjC,IAAA9G,cAAM,EAAC+G,MAAM,CAAC,CAAC9G,EAAE,CAAC4F,GAAG,CAACxD,EAAE,CAACyE,EAAE,CAAC,UAAU,CAAC;IACzC,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF9H,QAAQ,CAAC,oBAAoB,EAAE,MAAM;EACnC,MAAM6B,EAAE,GAAIoG,KAAa,IAAKC,0BAAW,CAACC,UAAU,CAACF,KAAK,CAAC;EAC3D,MAAMG,IAAI,GAAGvG,EAAE,CAAC,iBAAiB,CAAC;EAClC,MAAMwG,cAAc,GAAGxG,EAAE,CAAC,iBAAiB,CAAC;EAC5C,MAAMyG,OAAO,GAAGzG,EAAE,CAAC,mBAAmB,CAAC;EAEvChB,EAAE,CAAC,uFAAuF,EAAE,MAAM;IAChG,MAAM;MAAEkB,GAAG;MAAEwG;IAAW,CAAC,GAAG,IAAAC,iCAAkB,EAAC,CAACJ,IAAI,EAAEE,OAAO,CAAC,EAAE,CAACF,IAAI,EAAEC,cAAc,CAAC,CAAC;IACvF,IAAArH,cAAM,EAACe,GAAG,CAAC0G,GAAG,CAAEjJ,CAAC,IAAKA,CAAC,CAAC6F,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACpE,EAAE,CAACC,IAAI,CAACwH,OAAO,CAAC,CACnDL,cAAc,CAAChD,QAAQ,CAAC,CAAC,EACzB+C,IAAI,CAAC/C,QAAQ,CAAC,CAAC,EACfiD,OAAO,CAACjD,QAAQ,CAAC,CAAC,CACnB,CAAC;IACF;IACA,IAAArE,cAAM,EAACuH,UAAU,CAACE,GAAG,CAAEjJ,CAAC,IAAKA,CAAC,CAAC6F,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACpE,EAAE,CAAC0H,IAAI,CAACtH,KAAK,CAAC,CAACiH,OAAO,CAACjD,QAAQ,CAAC,CAAC,CAAC,CAAC;EACjF,CAAC,CAAC;EAEFxE,EAAE,CAAC,4DAA4D,EAAE,MAAM;IACrE,MAAM;MAAEkB,GAAG;MAAEwG;IAAW,CAAC,GAAG,IAAAC,iCAAkB,EAAC,CAACJ,IAAI,EAAEE,OAAO,CAAC,EAAE,CAACF,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACtF,IAAApH,cAAM,EAACe,GAAG,CAAC0G,GAAG,CAAEjJ,CAAC,IAAKA,CAAC,CAAC6F,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACpE,EAAE,CAAC0H,IAAI,CAACtH,KAAK,CAAC,CAAC+G,IAAI,CAAC/C,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrE,IAAArE,cAAM,EAACuH,UAAU,CAAC,CAACtH,EAAE,CAAC0H,IAAI,CAACtH,KAAK,CAAC,EAAE,CAAC;EACtC,CAAC,CAAC;;EAEF;EACA;EACAR,EAAE,CAAC,8FAA8F,EAAE,MAAM;IACvG,MAAM;MAAEkB;IAAI,CAAC,GAAG,IAAAyG,iCAAkB,EAAC,CAACJ,IAAI,EAAEE,OAAO,CAAC,EAAE,CAACF,IAAI,EAAEE,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACnF,IAAAtH,cAAM,EAACe,GAAG,CAAC0G,GAAG,CAAEjJ,CAAC,IAAKA,CAAC,CAAC6F,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACpE,EAAE,CAAC0H,IAAI,CAACtH,KAAK,CAAC,CAAC+G,IAAI,CAAC/C,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrE,IAAArE,cAAM,EAACe,GAAG,CAAC0G,GAAG,CAAEjJ,CAAC,IAAKA,CAAC,CAAC6F,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACpE,EAAE,CAAC4F,GAAG,CAACpC,OAAO,CAAC6D,OAAO,CAACjD,QAAQ,CAAC,CAAC,CAAC;EACzE,CAAC,CAAC;EAEFxE,EAAE,CAAC,sFAAsF,EAAE,MAAM;IAC/F,MAAM;MAAEkB;IAAI,CAAC,GAAG,IAAAyG,iCAAkB,EAAC,CAACJ,IAAI,CAAC,EAAE,CAACA,IAAI,EAAEC,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACjF,IAAArH,cAAM,EAACe,GAAG,CAAC0G,GAAG,CAAEjJ,CAAC,IAAKA,CAAC,CAAC6F,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACpE,EAAE,CAACC,IAAI,CAACwH,OAAO,CAAC,CAACL,cAAc,CAAChD,QAAQ,CAAC,CAAC,EAAE+C,IAAI,CAAC/C,QAAQ,CAAC,CAAC,CAAC,CAAC;EACpG,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFrF,QAAQ,CAAC,0CAA0C,EAAE,YAAY;EAC/D,IAAI,CAACC,OAAO,CAAC,CAAC,CAAC;EACf,IAAIC,KAAgB;EACpB,IAAIC,aAA4B;EAChC,IAAIuE,MAAc;EAClB,IAAIkE,UAAuB;EAC3BxI,MAAM,CAAC,YAAY;IACjBD,aAAa,GAAG,IAAAE,iCAAa,EAAC,CAAC;IAC/B,MAAM;MAAEC,aAAa;MAAEuI;IAAgB,CAAC,GAAG1I,aAAa;IACxD,MAAM,IAAAI,kCAAc,EAACD,aAAa,CAAC;IACnC,MAAMiB,OAAO,GAAG,MAAM,IAAAC,iCAAe,EAAC,CAACC,0BAAc,EAAEC,sBAAY,EAAEjB,oBAAW,EAAEkB,4BAAe,CAAC,EAAErB,aAAa,CAAC;IAClH,MAAMgB,QAAsB,GAAGC,OAAO,CAACK,GAAG,CAACH,0BAAc,CAACI,EAAE,CAAC;IAC7D3B,KAAK,GAAGqB,OAAO,CAACK,GAAG,CAACnB,oBAAW,CAACoB,EAAE,CAAC;IACnC,MAAM3B,KAAK,CAACQ,UAAU,CAAC,OAAO,CAAC;IAC/B,MAAMY,QAAQ,CAACgB,IAAI,CAAC;MAAEC,OAAO,EAAE,OAAO;MAAEP,KAAK,EAAE,KAAK;MAAEC,YAAY,EAAE;IAAoC,CAAC,CAAC;IAC1G,MAAMC,QAAoB,GAAGX,OAAO,CAACK,GAAG,CAACF,sBAAY,CAACG,EAAE,CAAC;IACzD,MAAMK,QAAQ,CAACC,MAAM,CAAC,CAAC;IACvBuC,MAAM,GAAGxE,KAAK,CAAC0E,gBAAgB,CAAC,CAAW;;IAE3C;IACA;IACA;IACA,MAAMkE,WAAW,GAAG,MAAM,IAAAC,mBAAS,EAACF,eAAe,CAAC;IACpD,MAAMG,UAAU,GAAG,MAAMF,WAAW,CAAC5I,KAAK,CAAC+I,QAAQ,CAACvE,MAAM,CAAC;IAC3D,IAAI,CAACsE,UAAU,EAAE,MAAM,IAAIrG,KAAK,CAAC,uDAAuD,CAAC;IACzF,MAAM,CAACuG,aAAa,CAAC,GAAGF,UAAU,CAAC5D,UAAU;IAC7CwD,UAAU,GAAGV,0BAAW,CAACC,UAAU,CAAC,GAAGe,aAAa,CAACrH,EAAE,CAACqF,KAAK,qBAAqB,CAAC,CAACiC,aAAa,CAC/FD,aAAa,CAACE,IAAI,CAAC/D,QAAQ,CAAC,CAC9B,CAAC;IACD2D,UAAU,CAACK,8BAA8B,CAACT,UAAU,CAAC;IACrD,MAAME,WAAW,CAAC5I,KAAK,CAACoJ,QAAQ,CAACN,UAAU,EAAE;MAAEO,cAAc,EAAE;IAAkC,CAAC,CAAC;EACrG,CAAC,CAAC;EACF5I,KAAK,CAAC,YAAY;IAChB,MAAM,IAAAC,oCAAgB,EAACT,aAAa,CAAC;EACvC,CAAC,CAAC;EACFU,EAAE,CAAC,iFAAiF,EAAE,YAAY;IAChG,MAAMwB,MAAM,GAAG,MAAMnC,KAAK,CAACsJ,uBAAuB,CAAC9E,MAAM,CAAC;IAC1D,IAAA1D,cAAM,EAACqB,MAAM,CAACoH,MAAM,CAAC,CAACxI,EAAE,CAACI,KAAK,CAAC,QAAQ,CAAC;IACxC,IAAAL,cAAM,EAACqB,MAAM,CAACN,GAAG,CAAC0G,GAAG,CAAE5G,EAAE,IAAKA,EAAE,CAACwD,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACpE,EAAE,CAAC0H,IAAI,CAACtH,KAAK,CAAC,CAACuH,UAAU,CAACvD,QAAQ,CAAC,CAAC,CAAC,CAAC;EACtF,CAAC,CAAC;EACFxE,EAAE,CAAC,2EAA2E,EAAE,YAAY;IAC1F,MAAMwB,MAAM,GAAG,MAAMnC,KAAK,CAACwJ,wBAAwB,CAAChF,MAAM,CAAC;IAC3D,IAAA1D,cAAM,EAACqB,MAAM,CAACsH,aAAa,CAAC,CAAC1I,EAAE,CAACoC,EAAE,CAACC,IAAI;IACvC,IAAAtC,cAAM,EAACqB,MAAM,CAACuH,aAAa,CAAC,CAAC3I,EAAE,CAACoC,EAAE,CAACK,KAAK;IACxC,IAAA1C,cAAM,EAACqB,MAAM,CAACwH,OAAO,CAACpB,GAAG,CAAE5G,EAAE,IAAKA,EAAE,CAACwD,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACpE,EAAE,CAAC0H,IAAI,CAACtH,KAAK,CAAC,CAACuH,UAAU,CAACvD,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExF,MAAMyD,WAAW,GAAG,MAAM,IAAAC,mBAAS,EAAC5I,aAAa,CAAC0I,eAAe,CAAC;IAClE,MAAMG,UAAU,GAAG,MAAMF,WAAW,CAAC5I,KAAK,CAAC+I,QAAQ,CAACvE,MAAM,CAAC;IAC3D,IAAA1D,cAAM,EAACgI,UAAU,EAAEc,gBAAgB,CAAC,CAAC7I,EAAE,CAACoC,EAAE,CAACN,SAAS;IAEpD,MAAMpC,KAAK,GAAG,MAAMT,KAAK,CAACsJ,uBAAuB,CAAC9E,MAAM,CAAC;IACzD,IAAA1D,cAAM,EAACL,KAAK,CAAC8I,MAAM,CAAC,CAACxI,EAAE,CAACI,KAAK,CAAC,QAAQ,CAAC;IACvC,IAAAL,cAAM,EAACL,KAAK,CAACoB,GAAG,CAAC,CAACd,EAAE,CAACC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAC;EACvC,CAAC,CAAC;EACFN,EAAE,CAAC,gFAAgF,EAAE,YAAY;IAC/F;IACA;IACA,MAAMkJ,SAAS,GAAG,MAAM7J,KAAK,CAACsJ,uBAAuB,CAAC9E,MAAM,CAAC;IAC7D,IAAA1D,cAAM,EAAC+I,SAAS,CAAChI,GAAG,CAAC,CAACd,EAAE,CAACC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAC;IACzC,MAAM6I,UAAU,GAAG,MAAM,IAAAjB,mBAAS,EAACvD,eAAI,CAACC,IAAI,CAACtF,aAAa,CAACG,aAAa,EAAE,MAAM,CAAC,CAAC;IAClF,MAAM2J,SAAS,GAAG,MAAMD,UAAU,CAAC9J,KAAK,CAAC+I,QAAQ,CAACvE,MAAM,CAAC;IACzD,IAAI,CAACuF,SAAS,EAAE,MAAM,IAAItH,KAAK,CAAC,oCAAoC,CAAC;IACrEsH,SAAS,CAACZ,8BAA8B,CAACT,UAAU,CAAC;IACpD,MAAMoB,UAAU,CAAC9J,KAAK,CAACoJ,QAAQ,CAACW,SAAS,EAAE;MAAEV,cAAc,EAAE;IAA0B,CAAC,CAAC;IAEzF,MAAMlH,MAAM,GAAG,MAAMnC,KAAK,CAACwJ,wBAAwB,CAAChF,MAAM,CAAC;IAC3D,IAAA1D,cAAM,EAACqB,MAAM,CAACwH,OAAO,CAAC,CAAC5I,EAAE,CAACC,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAC;IAC1C,IAAAH,cAAM,EAACqB,MAAM,CAACsH,aAAa,CAAC,CAAC1I,EAAE,CAACoC,EAAE,CAACK,KAAK;IACxC,IAAA1C,cAAM,EAACqB,MAAM,CAAC6H,YAAY,CAAC,CAACjJ,EAAE,CAACoC,EAAE,CAACC,IAAI;IAEtC,MAAM6G,UAAU,GAAG,MAAMH,UAAU,CAAC9J,KAAK,CAAC+I,QAAQ,CAACvE,MAAM,CAAC;IAC1D,IAAA1D,cAAM,EAACmJ,UAAU,EAAEL,gBAAgB,CAAC,CAAC7I,EAAE,CAACoC,EAAE,CAACN,SAAS;EACtD,CAAC,CAAC;EACFlC,EAAE,CAAC,yFAAyF,EAAE,YAAY;IACxG;IACA;IACA,MAAMmJ,UAAU,GAAG,MAAM,IAAAjB,mBAAS,EAACvD,eAAI,CAACC,IAAI,CAACtF,aAAa,CAACG,aAAa,EAAE,MAAM,CAAC,CAAC;IAClF,MAAM2J,SAAS,GAAG,MAAMD,UAAU,CAAC9J,KAAK,CAAC+I,QAAQ,CAACvE,MAAM,CAAC;IACzD,IAAI,CAACuF,SAAS,EAAE,MAAM,IAAItH,KAAK,CAAC,oCAAoC,CAAC;IACrEsH,SAAS,CAACZ,8BAA8B,CAACT,UAAU,CAAC;IACpD,MAAMoB,UAAU,CAAC9J,KAAK,CAACoJ,QAAQ,CAACW,SAAS,EAAE;MAAEV,cAAc,EAAE;IAAgC,CAAC,CAAC;IAE/F,IAAAvI,cAAM,EAAC,MAAMd,KAAK,CAACkK,sBAAsB,CAAC1F,MAAM,EAAE,EAAE,CAAC,CAAC,CAACzD,EAAE,CAACoC,EAAE,CAACK,KAAK;IAClE,MAAM2G,UAAU,GAAG,MAAML,UAAU,CAAC9J,KAAK,CAAC+I,QAAQ,CAACvE,MAAM,CAAC;IAC1D,IAAA1D,cAAM,EAACqJ,UAAU,EAAEP,gBAAgB,EAAErB,GAAG,CAAE5G,EAAE,IAAKA,EAAE,CAACwD,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACpE,EAAE,CAAC0H,IAAI,CAACtH,KAAK,CAAC,CAACuH,UAAU,CAACvD,QAAQ,CAAC,CAAC,CAAC,CAAC;;IAEvG;IACA,IAAArE,cAAM,EAAC,MAAMd,KAAK,CAACkK,sBAAsB,CAAC1F,MAAM,CAAC,CAAC,CAACzD,EAAE,CAACoC,EAAE,CAACC,IAAI;IAC7D,MAAMgH,QAAQ,GAAG,MAAMN,UAAU,CAAC9J,KAAK,CAAC+I,QAAQ,CAACvE,MAAM,CAAC;IACxD,IAAA1D,cAAM,EAACsJ,QAAQ,EAAER,gBAAgB,CAAC,CAAC7I,EAAE,CAACoC,EAAE,CAACN,SAAS;EACpD,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF/C,QAAQ,CAAC,gBAAgB,EAAE,MAAM;EAC/B,MAAMuK,aAAa,GAAGC,gBAAM,CAACC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;EACzD,SAASC,SAASA,CAACrI,MAAoE,EAAE;IACvF,MAAMnC,KAAK,GAAG;MACZ0E,gBAAgB,EAAEA,CAAA,KAAM2F,aAAa;MACrCf,uBAAuB,EAAE,MAAAA,CAAA,KAAA5K,aAAA;QAAe8F,MAAM,EAAE6F,aAAa;QAAExI,GAAG,EAAE;MAAE,GAAKM,MAAM;IACnF,CAAyB;IACzB,OAAO,KAAIsI,sBAAc,EAACzK,KAAK,CAAC;EAClC;EACAW,EAAE,CAAC,kFAAkF,EAAE,YAAY;IACjG,MAAMsD,MAAM,GAAG,MAAMuG,SAAS,CAAC;MAAEjB,MAAM,EAAE;IAAiB,CAAC,CAAC,CAACmB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,IAAA5J,cAAM,EAACmD,MAAM,CAAC,CAAClD,EAAE,CAACwD,OAAO,CAAC,yBAAyB,CAAC;IACpD,IAAAzD,cAAM,EAACmD,MAAM,CAAC,CAAClD,EAAE,CAAC4F,GAAG,CAACpC,OAAO,CAAC,WAAW,CAAC;EAC5C,CAAC,CAAC;EACF5D,EAAE,CAAC,+DAA+D,EAAE,YAAY;IAC9E,MAAMsD,MAAM,GAAG,MAAMuG,SAAS,CAAC;MAAEjB,MAAM,EAAE,oBAAoB;MAAEoB,WAAW,EAAE;IAAqB,CAAC,CAAC,CAACD,MAAM,CACxG,CAAC,EAAE,CAAC,EACJ,CAAC,CACH,CAAC;IACD,IAAA5J,cAAM,EAACmD,MAAM,CAAC,CAAClD,EAAE,CAACwD,OAAO,CAAC,0CAA0C,CAAC;EACvE,CAAC,CAAC;EACF5D,EAAE,CAAC,oEAAoE,EAAE,YAAY;IACnF,MAAMsD,MAAM,GAAG,MAAMuG,SAAS,CAAC;MAAEjB,MAAM,EAAE;IAAS,CAAC,CAAC,CAACmB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,IAAA5J,cAAM,EAACmD,MAAM,CAAC,CAAClD,EAAE,CAAC4F,GAAG,CAACpC,OAAO,CAAC,+BAA+B,CAAC;EAChE,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.lanes_lanes@1.0.1210/dist/lanes.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.lanes_lanes@1.0.1210/dist/lanes.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.lanes_lanes@1.0.1212/dist/lanes.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.lanes_lanes@1.0.1212/dist/lanes.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/lanes",
3
- "version": "1.0.1210",
3
+ "version": "1.0.1212",
4
4
  "homepage": "https://bit.cloud/teambit/lanes/lanes",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.lanes",
8
8
  "name": "lanes",
9
- "version": "1.0.1210"
9
+ "version": "1.0.1212"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
@@ -21,23 +21,17 @@
21
21
  "group-array": "1.0.0",
22
22
  "@teambit/lanes.ui.models.lanes-model": "0.0.237",
23
23
  "@teambit/bit-error": "0.0.404",
24
- "@teambit/component.modules.merge-helper": "0.0.114",
25
24
  "@teambit/lane-id": "0.0.312",
26
25
  "@teambit/legacy.constants": "0.0.46",
27
- "@teambit/legacy.scope": "0.0.171",
28
26
  "@teambit/harmony": "0.4.12",
27
+ "@teambit/express": "0.0.1500",
28
+ "@teambit/logger": "0.0.1494",
29
29
  "@teambit/component-id": "1.2.4",
30
- "@teambit/component.snap-distance": "0.0.172",
31
30
  "@teambit/git.modules.git-executable": "0.0.47",
32
31
  "@teambit/harmony.modules.concurrency": "0.0.47",
32
+ "@teambit/harmony.modules.runtimes": "0.0.1",
33
33
  "@teambit/lanes.entities.lane-diff": "0.0.203",
34
- "@teambit/lanes.modules.create-lane": "0.0.207",
35
- "@teambit/lanes.modules.diff": "0.0.677",
36
34
  "@teambit/legacy-bit-id": "1.1.3",
37
- "@teambit/legacy.component-diff": "0.0.227",
38
- "@teambit/legacy.component-list": "0.0.225",
39
- "@teambit/legacy.scope-api": "0.0.226",
40
- "@teambit/scope.remotes": "0.0.171",
41
35
  "@teambit/component.ui.component-compare.models.component-compare-props": "0.0.142",
42
36
  "@teambit/design.ui.pages.not-found": "0.0.371",
43
37
  "@teambit/lanes.hooks.use-lanes": "0.0.298",
@@ -52,38 +46,43 @@
52
46
  "@teambit/ui-foundation.ui.menu": "0.0.503",
53
47
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.531",
54
48
  "@teambit/ui-foundation.ui.react-router.use-query": "0.0.505",
55
- "@teambit/legacy.consumer": "0.0.171",
56
- "@teambit/scope.network": "0.0.171",
57
- "@teambit/checkout": "1.0.1190",
58
- "@teambit/cli": "0.0.1401",
59
- "@teambit/importer": "1.0.1188",
60
- "@teambit/scope": "1.0.1188",
61
- "@teambit/workspace": "1.0.1188",
62
- "@teambit/express": "0.0.1500",
63
- "@teambit/logger": "0.0.1494",
64
- "@teambit/graphql": "1.0.1188",
65
- "@teambit/component-compare": "1.0.1188",
66
- "@teambit/component-writer": "1.0.1188",
67
- "@teambit/component": "1.0.1188",
68
- "@teambit/export": "1.0.1188",
69
- "@teambit/harmony.modules.runtimes": "0.0.1",
70
- "@teambit/install": "1.0.1188",
71
- "@teambit/merging": "1.0.1192",
72
- "@teambit/objects": "0.0.695",
73
- "@teambit/remove": "1.0.1188",
74
- "@teambit/command-bar": "1.0.1188",
75
- "@teambit/ui": "1.0.1188"
49
+ "@teambit/checkout": "1.0.1191",
50
+ "@teambit/cli": "0.0.1402",
51
+ "@teambit/component.modules.merge-helper": "0.0.115",
52
+ "@teambit/importer": "1.0.1189",
53
+ "@teambit/legacy.scope": "0.0.172",
54
+ "@teambit/scope": "1.0.1189",
55
+ "@teambit/workspace": "1.0.1189",
56
+ "@teambit/graphql": "1.0.1189",
57
+ "@teambit/component-compare": "1.0.1189",
58
+ "@teambit/component-writer": "1.0.1189",
59
+ "@teambit/component.snap-distance": "0.0.173",
60
+ "@teambit/component": "1.0.1189",
61
+ "@teambit/export": "1.0.1189",
62
+ "@teambit/install": "1.0.1189",
63
+ "@teambit/lanes.modules.create-lane": "0.0.208",
64
+ "@teambit/lanes.modules.diff": "0.0.678",
65
+ "@teambit/legacy.component-diff": "0.0.228",
66
+ "@teambit/legacy.component-list": "0.0.226",
67
+ "@teambit/legacy.scope-api": "0.0.227",
68
+ "@teambit/merging": "1.0.1193",
69
+ "@teambit/objects": "0.0.696",
70
+ "@teambit/remove": "1.0.1189",
71
+ "@teambit/scope.remotes": "0.0.172",
72
+ "@teambit/command-bar": "1.0.1189",
73
+ "@teambit/ui": "1.0.1189",
74
+ "@teambit/legacy.consumer": "0.0.172",
75
+ "@teambit/scope.network": "0.0.172"
76
76
  },
77
77
  "devDependencies": {
78
78
  "@types/lodash": "4.14.165",
79
79
  "@types/fs-extra": "9.0.7",
80
80
  "@types/mocha": "9.1.0",
81
- "@teambit/component.testing.mock-components": "0.0.445",
82
- "@teambit/harmony.testing.load-aspect": "0.0.439",
83
- "@teambit/workspace.testing.mock-workspace": "0.0.253",
84
81
  "@teambit/harmony.envs.core-aspect-env": "2.1.1",
85
- "@teambit/merge-lanes": "1.0.1210",
86
- "@teambit/snapping": "1.0.1188"
82
+ "@teambit/component.testing.mock-components": "0.0.446",
83
+ "@teambit/harmony.testing.load-aspect": "0.0.440",
84
+ "@teambit/snapping": "1.0.1189",
85
+ "@teambit/workspace.testing.mock-workspace": "0.0.254"
87
86
  },
88
87
  "peerDependencies": {
89
88
  "react": "^17.0.0 || ^18.0.0 || ^19.0.0",