@codingame/monaco-vscode-edit-sessions-service-override 4.5.0 → 4.5.2

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.
@@ -72,42 +72,27 @@ import { IWorkspaceIdentityService } from 'vscode/vscode/vs/workbench/services/w
72
72
  import Severity$1 from 'vscode/vscode/vs/base/common/severity';
73
73
 
74
74
  var EditSessionsContribution_1;
75
+ const _moduleId = "vs/workbench/contrib/editSessions/browser/editSessions.contribution";
75
76
  const continueWorkingOnCommand = {
76
77
  id: '_workbench.editSessions.actions.continueEditSession',
77
- title: ( localize2WithPath(
78
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
79
- 'continue working on',
80
- 'Continue Working On...'
81
- )),
82
- precondition: ( WorkspaceFolderCountContext.notEqualsTo('0')),
78
+ title: ( localize2WithPath(_moduleId, 0, 'Continue Working On...')),
79
+ precondition: ( (WorkspaceFolderCountContext.notEqualsTo('0'))),
83
80
  f1: true
84
81
  };
85
82
  const openLocalFolderCommand = {
86
83
  id: '_workbench.editSessions.actions.continueEditSession.openLocalFolder',
87
- title: ( localize2WithPath(
88
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
89
- 'continue edit session in local folder',
90
- 'Open In Local Folder'
91
- )),
84
+ title: ( localize2WithPath(_moduleId, 1, 'Open In Local Folder')),
92
85
  category: EDIT_SESSION_SYNC_CATEGORY,
93
- precondition: ( ContextKeyExpr.and(( IsWebContext.toNegated()), VirtualWorkspaceContext))
86
+ precondition: ( (ContextKeyExpr.and( (IsWebContext.toNegated()), VirtualWorkspaceContext)))
94
87
  };
95
88
  const showOutputChannelCommand = {
96
89
  id: 'workbench.editSessions.actions.showOutputChannel',
97
- title: ( localize2WithPath(
98
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
99
- 'show log',
100
- "Show Log"
101
- )),
90
+ title: ( localize2WithPath(_moduleId, 2, "Show Log")),
102
91
  category: EDIT_SESSION_SYNC_CATEGORY
103
92
  };
104
93
  const installAdditionalContinueOnOptionsCommand = {
105
94
  id: 'workbench.action.continueOn.extensions',
106
- title: ( localizeWithPath(
107
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
108
- 'continueOn.installAdditional',
109
- 'Install additional development environment options'
110
- )),
95
+ title: ( localizeWithPath(_moduleId, 3, 'Install additional development environment options')),
111
96
  };
112
97
  registerAction2(class extends Action2 {
113
98
  constructor() {
@@ -120,11 +105,7 @@ registerAction2(class extends Action2 {
120
105
  view?.search('@tag:continueOn');
121
106
  }
122
107
  });
123
- const resumeProgressOptionsTitle = `[${( localizeWithPath(
124
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
125
- 'resuming working changes window',
126
- 'Resuming working changes...'
127
- ))}](command:${showOutputChannelCommand.id})`;
108
+ const resumeProgressOptionsTitle = `[${( localizeWithPath(_moduleId, 4, 'Resuming working changes...'))}](command:${showOutputChannelCommand.id})`;
128
109
  const resumeProgressOptions = {
129
110
  location: 10 ,
130
111
  type: 'syncing',
@@ -166,17 +147,25 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
166
147
  this.uriIdentityService = uriIdentityService;
167
148
  this.workspaceIdentityService = workspaceIdentityService;
168
149
  this.continueEditSessionOptions = [];
169
- this.accountsMenuBadgeDisposable = this._register(( new MutableDisposable()));
170
- this.registeredCommands = ( new Set());
150
+ this.accountsMenuBadgeDisposable = this._register(( (new MutableDisposable())));
151
+ this.registeredCommands = ( (new Set()));
171
152
  this.shouldShowViewsContext = EDIT_SESSIONS_SHOW_VIEW.bindTo(this.contextKeyService);
172
153
  this.pendingEditSessionsContext = EDIT_SESSIONS_PENDING.bindTo(this.contextKeyService);
173
154
  this.pendingEditSessionsContext.set(false);
174
155
  if (!this.productService['editSessions.store']?.url) {
175
156
  return;
176
157
  }
177
- this.editSessionsStorageClient = ( new EditSessionsStoreClient(( URI.parse(this.productService['editSessions.store'].url)), this.productService, this.requestService, this.logService, this.environmentService, this.fileService, this.storageService));
158
+ this.editSessionsStorageClient = ( (new EditSessionsStoreClient(
159
+ (URI.parse(this.productService['editSessions.store'].url)),
160
+ this.productService,
161
+ this.requestService,
162
+ this.logService,
163
+ this.environmentService,
164
+ this.fileService,
165
+ this.storageService
166
+ )));
178
167
  this.editSessionsStorageService.storeClient = this.editSessionsStorageClient;
179
- this.workspaceStateSynchronizer = ( new WorkspaceStateSynchroniser(
168
+ this.workspaceStateSynchronizer = ( (new WorkspaceStateSynchroniser(
180
169
  this.userDataProfilesService.defaultProfile,
181
170
  undefined,
182
171
  this.editSessionsStorageClient,
@@ -189,19 +178,15 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
189
178
  this.uriIdentityService,
190
179
  this.workspaceIdentityService,
191
180
  this.editSessionsStorageService
192
- ));
181
+ )));
193
182
  this.autoResumeEditSession();
194
183
  this.registerActions();
195
184
  this.registerViews();
196
185
  this.registerContributedEditSessionOptions();
197
- this._register(this.fileService.registerProvider(EditSessionsFileSystemProvider.SCHEMA, ( new EditSessionsFileSystemProvider(this.editSessionsStorageService))));
186
+ this._register(this.fileService.registerProvider(EditSessionsFileSystemProvider.SCHEMA, ( (new EditSessionsFileSystemProvider(this.editSessionsStorageService)))));
198
187
  this.lifecycleService.onWillShutdown((e) => {
199
188
  if (e.reason !== 3 && this.editSessionsStorageService.isSignedIn && this.configurationService.getValue('workbench.experimental.cloudChanges.autoStore') === 'onShutdown' && !isWeb) {
200
- e.join(this.autoStoreEditSession(), { id: 'autoStoreWorkingChanges', label: ( localizeWithPath(
201
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
202
- 'autoStoreWorkingChanges',
203
- 'Storing current working changes...'
204
- )) });
189
+ e.join(this.autoStoreEditSession(), { id: 'autoStoreWorkingChanges', label: ( localizeWithPath(_moduleId, 5, 'Storing current working changes...')) });
205
190
  }
206
191
  });
207
192
  this._register(this.editSessionsStorageService.onDidSignIn(() => this.updateAccountsMenuBadge()));
@@ -259,36 +244,28 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
259
244
  if (this.editSessionsStorageService.isSignedIn) {
260
245
  return this.accountsMenuBadgeDisposable.clear();
261
246
  }
262
- const badge = ( new NumberBadge(1, () => ( localizeWithPath(
263
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
264
- 'check for pending cloud changes',
265
- 'Check for pending cloud changes'
266
- ))));
247
+ const badge = ( (new NumberBadge(1, () => ( localizeWithPath(_moduleId, 6, 'Check for pending cloud changes')))));
267
248
  this.accountsMenuBadgeDisposable.value = this.activityService.showAccountsActivity({ badge });
268
249
  }
269
250
  async autoStoreEditSession() {
270
- const cancellationTokenSource = ( new CancellationTokenSource());
251
+ const cancellationTokenSource = ( (new CancellationTokenSource()));
271
252
  await this.progressService.withProgress({
272
253
  location: 10 ,
273
254
  type: 'syncing',
274
- title: ( localizeWithPath(
275
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
276
- 'store working changes',
277
- 'Storing working changes...'
278
- ))
255
+ title: ( localizeWithPath(_moduleId, 7, 'Storing working changes...'))
279
256
  }, async () => this.storeEditSession(false, cancellationTokenSource.token), () => {
280
257
  cancellationTokenSource.cancel();
281
258
  cancellationTokenSource.dispose();
282
259
  });
283
260
  }
284
261
  registerViews() {
285
- const container = ( Registry.as(Extensions.ViewContainersRegistry)).registerViewContainer({
262
+ const container = ( (Registry.as(Extensions.ViewContainersRegistry))).registerViewContainer({
286
263
  id: EDIT_SESSIONS_CONTAINER_ID,
287
264
  title: EDIT_SESSIONS_TITLE,
288
- ctorDescriptor: ( new SyncDescriptor(
265
+ ctorDescriptor: ( (new SyncDescriptor(
289
266
  ViewPaneContainer,
290
267
  [EDIT_SESSIONS_CONTAINER_ID, { mergeViewWithContainerWhenSingleView: true }]
291
- )),
268
+ ))),
292
269
  icon: EDIT_SESSIONS_VIEW_ICON,
293
270
  hideIfEmpty: true
294
271
  }, 0 , { doNotRegisterOpenCommand: true });
@@ -319,11 +296,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
319
296
  constructor() {
320
297
  super({
321
298
  id: 'workbench.editSessions.actions.showEditSessions',
322
- title: ( localize2WithPath(
323
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
324
- 'show cloud changes',
325
- 'Show Cloud Changes'
326
- )),
299
+ title: ( localize2WithPath(_moduleId, 8, 'Show Cloud Changes')),
327
300
  category: EDIT_SESSION_SYNC_CATEGORY,
328
301
  f1: true
329
302
  });
@@ -354,17 +327,13 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
354
327
  let ref;
355
328
  if (shouldStoreEditSession) {
356
329
  that.telemetryService.publicLog2('continueOn.editSessions.store');
357
- const cancellationTokenSource = ( new CancellationTokenSource());
330
+ const cancellationTokenSource = ( (new CancellationTokenSource()));
358
331
  try {
359
332
  ref = await that.progressService.withProgress({
360
333
  location: 15 ,
361
334
  cancellable: true,
362
335
  type: 'syncing',
363
- title: ( localizeWithPath(
364
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
365
- 'store your working changes',
366
- 'Storing your working changes...'
367
- ))
336
+ title: ( localizeWithPath(_moduleId, 9, 'Storing your working changes...'))
368
337
  }, async () => {
369
338
  const ref = await that.storeEditSession(false, cancellationTokenSource.token);
370
339
  if (ref !== undefined) {
@@ -394,11 +363,11 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
394
363
  uri = uri.with({
395
364
  query: uri.query.length > 0 ? (uri.query + `&${queryParamName}=${encodedRef}&continueOn=1`) : `${queryParamName}=${encodedRef}&continueOn=1`
396
365
  });
397
- that.logService.info(`Opening ${( uri.toString())}`);
366
+ that.logService.info(`Opening ${( (uri.toString()))}`);
398
367
  await that.openerService.open(uri, { openExternal: true });
399
368
  }
400
369
  else if (!shouldStoreEditSession && uri !== 'noDestinationUri') {
401
- that.logService.info(`Opening ${( uri.toString())}`);
370
+ that.logService.info(`Opening ${( (uri.toString()))}`);
402
371
  await that.openerService.open(uri, { openExternal: true });
403
372
  }
404
373
  else if (ref === undefined && shouldStoreEditSession) {
@@ -413,11 +382,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
413
382
  constructor() {
414
383
  super({
415
384
  id: 'workbench.editSessions.actions.resumeLatest',
416
- title: ( localize2WithPath(
417
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
418
- 'resume latest cloud changes',
419
- 'Resume Latest Changes from Cloud'
420
- )),
385
+ title: ( localize2WithPath(_moduleId, 10, 'Resume Latest Changes from Cloud')),
421
386
  category: EDIT_SESSION_SYNC_CATEGORY,
422
387
  f1: true,
423
388
  });
@@ -430,11 +395,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
430
395
  constructor() {
431
396
  super({
432
397
  id: 'workbench.editSessions.actions.resumeFromSerializedPayload',
433
- title: ( localize2WithPath(
434
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
435
- 'resume cloud changes',
436
- 'Resume Changes from Serialized Data'
437
- )),
398
+ title: ( localize2WithPath(_moduleId, 11, 'Resume Changes from Serialized Data')),
438
399
  category: 'Developer',
439
400
  f1: true,
440
401
  });
@@ -454,24 +415,16 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
454
415
  constructor() {
455
416
  super({
456
417
  id: 'workbench.editSessions.actions.storeCurrent',
457
- title: ( localize2WithPath(
458
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
459
- 'store working changes in cloud',
460
- 'Store Working Changes in Cloud'
461
- )),
418
+ title: ( localize2WithPath(_moduleId, 12, 'Store Working Changes in Cloud')),
462
419
  category: EDIT_SESSION_SYNC_CATEGORY,
463
420
  f1: true,
464
421
  });
465
422
  }
466
423
  async run(accessor) {
467
- const cancellationTokenSource = ( new CancellationTokenSource());
424
+ const cancellationTokenSource = ( (new CancellationTokenSource()));
468
425
  await that.progressService.withProgress({
469
426
  location: 15 ,
470
- title: ( localizeWithPath(
471
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
472
- 'storing working changes',
473
- 'Storing working changes...'
474
- ))
427
+ title: ( localizeWithPath(_moduleId, 13, 'Storing working changes...'))
475
428
  }, async () => {
476
429
  that.telemetryService.publicLog2('editSessions.store');
477
430
  await that.storeEditSession(true, cancellationTokenSource.token);
@@ -493,27 +446,14 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
493
446
  }
494
447
  this.telemetryService.publicLog2('editSessions.resume');
495
448
  performance.mark('code/willResumeEditSessionFromIdentifier');
496
- progress?.report({ message: ( localizeWithPath(
497
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
498
- 'checkingForWorkingChanges',
499
- 'Checking for pending cloud changes...'
500
- )) });
449
+ progress?.report({ message: ( localizeWithPath(_moduleId, 14, 'Checking for pending cloud changes...')) });
501
450
  const data = serializedData ? { content: serializedData, ref: '' } : await this.editSessionsStorageService.read('editSessions', ref);
502
451
  if (!data) {
503
452
  if (ref === undefined && !silent) {
504
- this.notificationService.info(( localizeWithPath(
505
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
506
- 'no cloud changes',
507
- 'There are no changes to resume from the cloud.'
508
- )));
453
+ this.notificationService.info(( localizeWithPath(_moduleId, 15, 'There are no changes to resume from the cloud.')));
509
454
  }
510
455
  else if (ref !== undefined) {
511
- this.notificationService.warn(( localizeWithPath(
512
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
513
- 'no cloud changes for ref',
514
- 'Could not resume changes from the cloud for ID {0}.',
515
- ref
516
- )));
456
+ this.notificationService.warn(( localizeWithPath(_moduleId, 16, 'Could not resume changes from the cloud for ID {0}.', ref)));
517
457
  }
518
458
  this.logService.info(ref !== undefined ? `Aborting resuming changes from cloud as no edit session content is available to be applied from ref ${ref}.` : `Aborting resuming edit session as no edit session content is available to be applied`);
519
459
  return;
@@ -523,8 +463,8 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
523
463
  ref = data.ref;
524
464
  if (editSession.version > EditSessionSchemaVersion) {
525
465
  this.notificationService.error(( localizeWithPath(
526
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
527
- 'client too old',
466
+ _moduleId,
467
+ 17,
528
468
  "Please upgrade to a newer version of {0} to resume your working changes from the cloud.",
529
469
  this.productService.nameLong
530
470
  )));
@@ -541,18 +481,18 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
541
481
  type: Severity$1.Warning,
542
482
  message: conflictingChanges.length > 1 ?
543
483
  ( localizeWithPath(
544
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
545
- 'resume edit session warning many',
484
+ _moduleId,
485
+ 18,
546
486
  'Resuming your working changes from the cloud will overwrite the following {0} files. Do you want to proceed?',
547
487
  conflictingChanges.length
548
488
  )) :
549
489
  ( localizeWithPath(
550
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
551
- 'resume edit session warning 1',
490
+ _moduleId,
491
+ 19,
552
492
  'Resuming your working changes from the cloud will overwrite {0}. Do you want to proceed?',
553
493
  basename(conflictingChanges[0].uri)
554
494
  )),
555
- detail: conflictingChanges.length > 1 ? getFileNamesMessage(( conflictingChanges.map((c) => c.uri))) : undefined
495
+ detail: conflictingChanges.length > 1 ? getFileNamesMessage(( (conflictingChanges.map((c) => c.uri)))) : undefined
556
496
  });
557
497
  if (!confirmed) {
558
498
  return;
@@ -573,12 +513,8 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
573
513
  this.telemetryService.publicLog2('editSessions.resume.outcome', { hashedId: hashedEditSessionId(ref), outcome: 'resumeSucceeded' });
574
514
  }
575
515
  catch (ex) {
576
- this.logService.error('Failed to resume edit session, reason: ', ( ex.toString()));
577
- this.notificationService.error(( localizeWithPath(
578
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
579
- 'resume failed',
580
- "Failed to resume your working changes from the cloud."
581
- )));
516
+ this.logService.error('Failed to resume edit session, reason: ', ( (ex.toString())));
517
+ this.notificationService.error(( localizeWithPath(_moduleId, 20, "Failed to resume your working changes from the cloud.")));
582
518
  }
583
519
  performance.mark('code/didResumeEditSessionFromIdentifier');
584
520
  }
@@ -586,7 +522,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
586
522
  const changes = [];
587
523
  const conflictingChanges = [];
588
524
  const workspaceFolders = this.contextService.getWorkspace().folders;
589
- const cancellationTokenSource = ( new CancellationTokenSource());
525
+ const cancellationTokenSource = ( (new CancellationTokenSource()));
590
526
  for (const folder of editSession.folders) {
591
527
  let folderRoot;
592
528
  if (folder.canonicalIdentity) {
@@ -607,14 +543,10 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
607
543
  this.configurationService.getValue('workbench.experimental.cloudChanges.partialMatches.enabled') === true) {
608
544
  if (!applyPartialMatch) {
609
545
  this.notificationService.prompt(Severity$1.Info, ( localizeWithPath(
610
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
611
- 'editSessionPartialMatch',
546
+ _moduleId,
547
+ 21,
612
548
  'You have pending working changes in the cloud for this workspace. Would you like to resume them?'
613
- )), [{ label: ( localizeWithPath(
614
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
615
- 'resume',
616
- 'Resume'
617
- )), run: () => this.resumeEditSession(ref, false, undefined, true) }]);
549
+ )), [{ label: ( localizeWithPath(_moduleId, 22, 'Resume')), run: () => this.resumeEditSession(ref, false, undefined, true) }]);
618
550
  }
619
551
  else {
620
552
  folderRoot = f;
@@ -631,12 +563,12 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
631
563
  this.logService.info(`Skipping applying ${folder.workingChanges.length} changes from edit session with ref ${ref} as no matching workspace folder was found.`);
632
564
  return { changes: [], conflictingChanges: [], contributedStateHandlers: [] };
633
565
  }
634
- const localChanges = ( new Set());
566
+ const localChanges = ( (new Set()));
635
567
  for (const repository of this.scmService.repositories) {
636
568
  if (repository.provider.rootUri !== undefined &&
637
569
  this.contextService.getWorkspaceFolder(repository.provider.rootUri)?.name === folder.name) {
638
570
  const repositoryChanges = this.getChangedResources(repository);
639
- repositoryChanges.forEach((change) => localChanges.add(( change.toString())));
571
+ repositoryChanges.forEach((change) => localChanges.add(( (change.toString()))));
640
572
  }
641
573
  }
642
574
  for (const change of folder.workingChanges) {
@@ -650,7 +582,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
650
582
  return { changes, conflictingChanges };
651
583
  }
652
584
  async willChangeLocalContents(localChanges, uriWithIncomingChanges, incomingChange) {
653
- if (!( localChanges.has(( uriWithIncomingChanges.toString())))) {
585
+ if (!( (localChanges.has( (uriWithIncomingChanges.toString()))))) {
654
586
  return false;
655
587
  }
656
588
  const { contents, type } = incomingChange;
@@ -663,7 +595,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
663
595
  return await this.fileService.exists(uriWithIncomingChanges);
664
596
  }
665
597
  default:
666
- throw new Error('Unhandled change type.');
598
+ throw ( (new Error('Unhandled change type.')));
667
599
  }
668
600
  }
669
601
  async storeEditSession(fromStoreCommand, cancellationToken) {
@@ -680,7 +612,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
680
612
  for (const uri of trackedUris) {
681
613
  const workspaceFolder = this.contextService.getWorkspaceFolder(uri);
682
614
  if (!workspaceFolder) {
683
- this.logService.info(`Skipping working change ${( uri.toString())} as no associated workspace folder was found.`);
615
+ this.logService.info(`Skipping working change ${( (uri.toString()))} as no associated workspace folder was found.`);
684
616
  continue;
685
617
  }
686
618
  await this.editSessionIdentityService.onWillCreateEditSessionIdentity(workspaceFolder, cancellationToken);
@@ -698,8 +630,8 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
698
630
  editSessionSize += contents.length;
699
631
  if (editSessionSize > this.editSessionsStorageService.SIZE_LIMIT) {
700
632
  this.notificationService.error(( localizeWithPath(
701
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
702
- 'payload too large',
633
+ _moduleId,
634
+ 23,
703
635
  'Your working changes exceed the size limit and cannot be stored.'
704
636
  )));
705
637
  return undefined;
@@ -721,8 +653,8 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
721
653
  this.logService.info('Skipped storing working changes in the cloud as there are no edits to store.');
722
654
  if (fromStoreCommand) {
723
655
  this.notificationService.info(( localizeWithPath(
724
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
725
- 'no working changes to store',
656
+ _moduleId,
657
+ 24,
726
658
  'Skipped storing working changes in the cloud as there are no edits to store.'
727
659
  )));
728
660
  }
@@ -736,24 +668,20 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
736
668
  return ref;
737
669
  }
738
670
  catch (ex) {
739
- this.logService.error(`Failed to store edit session, reason: `, ( ex.toString()));
671
+ this.logService.error(`Failed to store edit session, reason: `, ( (ex.toString())));
740
672
  if (ex instanceof UserDataSyncStoreError) {
741
673
  switch (ex.code) {
742
674
  case "TooLarge" :
743
675
  this.telemetryService.publicLog2('editSessions.upload.failed', { reason: 'TooLarge' });
744
676
  this.notificationService.error(( localizeWithPath(
745
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
746
- 'payload too large',
677
+ _moduleId,
678
+ 23,
747
679
  'Your working changes exceed the size limit and cannot be stored.'
748
680
  )));
749
681
  break;
750
682
  default:
751
683
  this.telemetryService.publicLog2('editSessions.upload.failed', { reason: 'unknown' });
752
- this.notificationService.error(( localizeWithPath(
753
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
754
- 'payload failed',
755
- 'Your working changes cannot be stored.'
756
- )));
684
+ this.notificationService.error(( localizeWithPath(_moduleId, 25, 'Your working changes cannot be stored.')));
757
685
  break;
758
686
  }
759
687
  }
@@ -764,7 +692,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
764
692
  return repository.provider.groups.reduce((resources, resourceGroups) => {
765
693
  resourceGroups.resources.forEach((resource) => resources.add(resource.sourceUri));
766
694
  return resources;
767
- }, ( new Set()));
695
+ }, ( (new Set())));
768
696
  }
769
697
  hasEditSession() {
770
698
  for (const repository of this.scmService.repositories) {
@@ -784,35 +712,23 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
784
712
  }
785
713
  if (this.hasEditSession()) {
786
714
  const quickpick = this.quickInputService.createQuickPick();
787
- quickpick.placeholder = ( localizeWithPath(
788
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
789
- 'continue with cloud changes',
790
- "Select whether to bring your working changes with you"
791
- ));
715
+ quickpick.placeholder = ( localizeWithPath(_moduleId, 26, "Select whether to bring your working changes with you"));
792
716
  quickpick.ok = false;
793
717
  quickpick.ignoreFocusOut = true;
794
- const withCloudChanges = { label: ( localizeWithPath(
795
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
796
- 'with cloud changes',
797
- "Yes, continue with my working changes"
798
- )) };
799
- const withoutCloudChanges = { label: ( localizeWithPath(
800
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
801
- 'without cloud changes',
802
- "No, continue without my working changes"
803
- )) };
718
+ const withCloudChanges = { label: ( localizeWithPath(_moduleId, 27, "Yes, continue with my working changes")) };
719
+ const withoutCloudChanges = { label: ( localizeWithPath(_moduleId, 28, "No, continue without my working changes")) };
804
720
  quickpick.items = [withCloudChanges, withoutCloudChanges];
805
- const continueWithCloudChanges = await ( new Promise((resolve, reject) => {
721
+ const continueWithCloudChanges = await ( (new Promise((resolve, reject) => {
806
722
  quickpick.onDidAccept(() => {
807
723
  resolve(quickpick.selectedItems[0] === withCloudChanges);
808
724
  quickpick.hide();
809
725
  });
810
726
  quickpick.onDidHide(() => {
811
- reject(( new CancellationError()));
727
+ reject(( (new CancellationError())));
812
728
  quickpick.hide();
813
729
  });
814
730
  quickpick.show();
815
- }));
731
+ })));
816
732
  if (!continueWithCloudChanges) {
817
733
  this.telemetryService.publicLog2('continueOn.editSessions.canStore.outcome', { outcome: 'didNotEnableEditSessionsWhenPrompted' });
818
734
  return continueWithCloudChanges;
@@ -843,13 +759,13 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
843
759
  const icon = command.icon;
844
760
  const title = typeof command.title === 'string' ? command.title : command.title.value;
845
761
  const when = ContextKeyExpr.deserialize(contribution.when);
846
- continueEditSessionOptions.push(( new ContinueEditSessionItem(
762
+ continueEditSessionOptions.push(( (new ContinueEditSessionItem(
847
763
  ThemeIcon.isThemeIcon(icon) ? `$(${icon.id}) ${title}` : title,
848
764
  command.id,
849
765
  command.source?.title,
850
766
  when,
851
767
  contribution.documentation
852
- )));
768
+ ))));
853
769
  if (contribution.qualifiedName) {
854
770
  this.generateStandaloneOptionCommand(command.id, contribution.qualifiedName, contribution.category ?? command.category, when, contribution.remoteGroup);
855
771
  }
@@ -866,7 +782,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
866
782
  precondition: when,
867
783
  f1: true
868
784
  };
869
- if (!( this.registeredCommands.has(command.id))) {
785
+ if (!( (this.registeredCommands.has(command.id)))) {
870
786
  this.registeredCommands.add(command.id);
871
787
  this._register(registerAction2(class StandaloneContinueOnOption extends Action2 {
872
788
  constructor() {
@@ -893,39 +809,31 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
893
809
  }
894
810
  async run(accessor) {
895
811
  const selection = await that.fileDialogService.showOpenDialog({
896
- title: ( localizeWithPath(
897
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
898
- 'continueEditSession.openLocalFolder.title.v2',
899
- 'Select a local folder to continue working in'
900
- )),
812
+ title: ( localizeWithPath(_moduleId, 29, 'Select a local folder to continue working in')),
901
813
  canSelectFolders: true,
902
814
  canSelectMany: false,
903
815
  canSelectFiles: false,
904
816
  availableFileSystems: [Schemas.file]
905
817
  });
906
- return selection?.length !== 1 ? undefined : ( URI.from({
818
+ return selection?.length !== 1 ? undefined : ( (URI.from({
907
819
  scheme: that.productService.urlProtocol,
908
820
  authority: Schemas.file,
909
821
  path: selection[0].path
910
- }));
822
+ })));
911
823
  }
912
824
  }));
913
825
  if (getVirtualWorkspaceLocation(this.contextService.getWorkspace()) !== undefined && isNative) {
914
- this.generateStandaloneOptionCommand(openLocalFolderCommand.id, ( localizeWithPath(
915
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
916
- 'continueWorkingOn.existingLocalFolder',
917
- 'Continue Working in Existing Local Folder'
918
- )), undefined, openLocalFolderCommand.precondition, undefined);
826
+ this.generateStandaloneOptionCommand(openLocalFolderCommand.id, ( localizeWithPath(_moduleId, 30, 'Continue Working in Existing Local Folder')), undefined, openLocalFolderCommand.precondition, undefined);
919
827
  }
920
828
  }
921
829
  async pickContinueEditSessionDestination() {
922
830
  const quickPick = this.quickInputService.createQuickPick();
923
831
  const workspaceContext = this.contextService.getWorkbenchState() === 2
924
832
  ? this.contextService.getWorkspace().folders[0].name
925
- : ( this.contextService.getWorkspace().folders.map((folder) => folder.name)).join(', ');
833
+ : ( (this.contextService.getWorkspace().folders.map((folder) => folder.name))).join(', ');
926
834
  quickPick.placeholder = ( localizeWithPath(
927
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
928
- 'continueEditSessionPick.title.v2',
835
+ _moduleId,
836
+ 31,
929
837
  "Select a development environment to continue working on {0} in",
930
838
  `'${workspaceContext}'`
931
839
  ));
@@ -933,7 +841,7 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
933
841
  this.extensionService.onDidChangeExtensions(() => {
934
842
  quickPick.items = this.createPickItems();
935
843
  });
936
- const command = await ( new Promise((resolve, reject) => {
844
+ const command = await ( (new Promise((resolve, reject) => {
937
845
  quickPick.onDidHide(() => resolve(undefined));
938
846
  quickPick.onDidAccept((e) => {
939
847
  const selection = quickPick.activeItems[0].command;
@@ -948,11 +856,11 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
948
856
  quickPick.show();
949
857
  quickPick.onDidTriggerItemButton(async (e) => {
950
858
  if (e.item.documentation !== undefined) {
951
- const uri = URI.isUri(e.item.documentation) ? ( URI.parse(e.item.documentation)) : await this.commandService.executeCommand(e.item.documentation);
859
+ const uri = URI.isUri(e.item.documentation) ? ( (URI.parse(e.item.documentation))) : await this.commandService.executeCommand(e.item.documentation);
952
860
  void this.openerService.open(uri, { openExternal: true });
953
861
  }
954
862
  });
955
- }));
863
+ })));
956
864
  quickPick.dispose();
957
865
  return command;
958
866
  }
@@ -983,54 +891,46 @@ let EditSessionsContribution = class EditSessionsContribution extends Disposable
983
891
  createPickItems() {
984
892
  const items = [...this.continueEditSessionOptions].filter((option) => option.when === undefined || this.contextKeyService.contextMatchesRules(option.when));
985
893
  if (getVirtualWorkspaceLocation(this.contextService.getWorkspace()) !== undefined && isNative) {
986
- items.push(( new ContinueEditSessionItem('$(folder) ' + ( localizeWithPath(
987
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
988
- 'continueEditSessionItem.openInLocalFolder.v2',
989
- 'Open in Local Folder'
990
- )), openLocalFolderCommand.id, ( localizeWithPath(
991
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
992
- 'continueEditSessionItem.builtin',
993
- 'Built-in'
994
- )))));
894
+ items.push(( (new ContinueEditSessionItem('$(folder) ' + ( localizeWithPath(_moduleId, 32, 'Open in Local Folder')), openLocalFolderCommand.id, ( localizeWithPath(_moduleId, 33, 'Built-in'))))));
995
895
  }
996
896
  const sortedItems = items.sort((item1, item2) => item1.label.localeCompare(item2.label));
997
- return sortedItems.concat({ type: 'separator' }, ( new ContinueEditSessionItem(
897
+ return sortedItems.concat({ type: 'separator' }, ( (new ContinueEditSessionItem(
998
898
  installAdditionalContinueOnOptionsCommand.title,
999
899
  installAdditionalContinueOnOptionsCommand.id
1000
- )));
900
+ ))));
1001
901
  }
1002
902
  };
1003
- EditSessionsContribution = EditSessionsContribution_1 = ( __decorate([
1004
- ( __param(0, IEditSessionsStorageService)),
1005
- ( __param(1, IFileService)),
1006
- ( __param(2, IProgressService)),
1007
- ( __param(3, IOpenerService)),
1008
- ( __param(4, ITelemetryService)),
1009
- ( __param(5, ISCMService)),
1010
- ( __param(6, INotificationService)),
1011
- ( __param(7, IDialogService)),
1012
- ( __param(8, IEditSessionsLogService)),
1013
- ( __param(9, IEnvironmentService)),
1014
- ( __param(10, IInstantiationService)),
1015
- ( __param(11, IProductService)),
1016
- ( __param(12, IConfigurationService)),
1017
- ( __param(13, IWorkspaceContextService)),
1018
- ( __param(14, IEditSessionIdentityService)),
1019
- ( __param(15, IQuickInputService)),
1020
- ( __param(16, ICommandService)),
1021
- ( __param(17, IContextKeyService)),
1022
- ( __param(18, IFileDialogService)),
1023
- ( __param(19, ILifecycleService)),
1024
- ( __param(20, IStorageService)),
1025
- ( __param(21, IActivityService)),
1026
- ( __param(22, IEditorService)),
1027
- ( __param(23, IRemoteAgentService)),
1028
- ( __param(24, IExtensionService)),
1029
- ( __param(25, IRequestService)),
1030
- ( __param(26, IUserDataProfilesService)),
1031
- ( __param(27, IUriIdentityService)),
1032
- ( __param(28, IWorkspaceIdentityService))
1033
- ], EditSessionsContribution));
903
+ EditSessionsContribution = EditSessionsContribution_1 = ( (__decorate([
904
+ ( (__param(0, IEditSessionsStorageService))),
905
+ ( (__param(1, IFileService))),
906
+ ( (__param(2, IProgressService))),
907
+ ( (__param(3, IOpenerService))),
908
+ ( (__param(4, ITelemetryService))),
909
+ ( (__param(5, ISCMService))),
910
+ ( (__param(6, INotificationService))),
911
+ ( (__param(7, IDialogService))),
912
+ ( (__param(8, IEditSessionsLogService))),
913
+ ( (__param(9, IEnvironmentService))),
914
+ ( (__param(10, IInstantiationService))),
915
+ ( (__param(11, IProductService))),
916
+ ( (__param(12, IConfigurationService))),
917
+ ( (__param(13, IWorkspaceContextService))),
918
+ ( (__param(14, IEditSessionIdentityService))),
919
+ ( (__param(15, IQuickInputService))),
920
+ ( (__param(16, ICommandService))),
921
+ ( (__param(17, IContextKeyService))),
922
+ ( (__param(18, IFileDialogService))),
923
+ ( (__param(19, ILifecycleService))),
924
+ ( (__param(20, IStorageService))),
925
+ ( (__param(21, IActivityService))),
926
+ ( (__param(22, IEditorService))),
927
+ ( (__param(23, IRemoteAgentService))),
928
+ ( (__param(24, IExtensionService))),
929
+ ( (__param(25, IRequestService))),
930
+ ( (__param(26, IUserDataProfilesService))),
931
+ ( (__param(27, IUriIdentityService))),
932
+ ( (__param(28, IWorkspaceIdentityService)))
933
+ ], EditSessionsContribution)));
1034
934
  const infoButtonClass = ThemeIcon.asClassName(Codicon.info);
1035
935
  class ContinueEditSessionItem {
1036
936
  constructor(label, command, description, when, documentation) {
@@ -1042,11 +942,7 @@ class ContinueEditSessionItem {
1042
942
  if (documentation !== undefined) {
1043
943
  this.buttons = [{
1044
944
  iconClass: infoButtonClass,
1045
- tooltip: ( localizeWithPath(
1046
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1047
- 'learnMoreTooltip',
1048
- 'Learn More'
1049
- )),
945
+ tooltip: ( localizeWithPath(_moduleId, 34, 'Learn More')),
1050
946
  }];
1051
947
  }
1052
948
  }
@@ -1055,8 +951,8 @@ const continueEditSessionExtPoint = ExtensionsRegistry.registerExtensionPoint({
1055
951
  extensionPoint: 'continueEditSession',
1056
952
  jsonSchema: {
1057
953
  description: ( localizeWithPath(
1058
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1059
- 'continueEditSessionExtPoint',
954
+ _moduleId,
955
+ 35,
1060
956
  'Contributes options for continuing the current edit session in a different environment'
1061
957
  )),
1062
958
  type: 'array',
@@ -1065,50 +961,42 @@ const continueEditSessionExtPoint = ExtensionsRegistry.registerExtensionPoint({
1065
961
  properties: {
1066
962
  command: {
1067
963
  description: ( localizeWithPath(
1068
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1069
- 'continueEditSessionExtPoint.command',
964
+ _moduleId,
965
+ 36,
1070
966
  'Identifier of the command to execute. The command must be declared in the \'commands\'-section and return a URI representing a different environment where the current edit session can be continued.'
1071
967
  )),
1072
968
  type: 'string'
1073
969
  },
1074
970
  group: {
1075
- description: ( localizeWithPath(
1076
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1077
- 'continueEditSessionExtPoint.group',
1078
- 'Group into which this item belongs.'
1079
- )),
971
+ description: ( localizeWithPath(_moduleId, 37, 'Group into which this item belongs.')),
1080
972
  type: 'string'
1081
973
  },
1082
974
  qualifiedName: {
1083
975
  description: ( localizeWithPath(
1084
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1085
- 'continueEditSessionExtPoint.qualifiedName',
976
+ _moduleId,
977
+ 38,
1086
978
  'A fully qualified name for this item which is used for display in menus.'
1087
979
  )),
1088
980
  type: 'string'
1089
981
  },
1090
982
  description: {
1091
983
  description: ( localizeWithPath(
1092
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1093
- 'continueEditSessionExtPoint.description',
984
+ _moduleId,
985
+ 39,
1094
986
  "The url, or a command that returns the url, to the option's documentation page."
1095
987
  )),
1096
988
  type: 'string'
1097
989
  },
1098
990
  remoteGroup: {
1099
991
  description: ( localizeWithPath(
1100
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1101
- 'continueEditSessionExtPoint.remoteGroup',
992
+ _moduleId,
993
+ 40,
1102
994
  'Group into which this item belongs in the remote indicator.'
1103
995
  )),
1104
996
  type: 'string'
1105
997
  },
1106
998
  when: {
1107
- description: ( localizeWithPath(
1108
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1109
- 'continueEditSessionExtPoint.when',
1110
- 'Condition which must be true to show this item.'
1111
- )),
999
+ description: ( localizeWithPath(_moduleId, 41, 'Condition which must be true to show this item.')),
1112
1000
  type: 'string'
1113
1001
  }
1114
1002
  },
@@ -1116,22 +1004,22 @@ const continueEditSessionExtPoint = ExtensionsRegistry.registerExtensionPoint({
1116
1004
  }
1117
1005
  }
1118
1006
  });
1119
- const workbenchRegistry = ( Registry.as(Extensions$1.Workbench));
1007
+ const workbenchRegistry = ( (Registry.as(Extensions$1.Workbench)));
1120
1008
  workbenchRegistry.registerWorkbenchContribution(EditSessionsContribution, 3 );
1121
- ( Registry.as(Extensions$2.Configuration)).registerConfiguration({
1009
+ ( (Registry.as(Extensions$2.Configuration))).registerConfiguration({
1122
1010
  ...workbenchConfigurationNodeBase,
1123
1011
  'properties': {
1124
1012
  'workbench.experimental.cloudChanges.autoStore': {
1125
1013
  enum: ['onShutdown', 'off'],
1126
1014
  enumDescriptions: [
1127
1015
  ( localizeWithPath(
1128
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1129
- 'autoStoreWorkingChanges.onShutdown',
1016
+ _moduleId,
1017
+ 42,
1130
1018
  "Automatically store current working changes in the cloud on window close."
1131
1019
  )),
1132
1020
  ( localizeWithPath(
1133
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1134
- 'autoStoreWorkingChanges.off',
1021
+ _moduleId,
1022
+ 43,
1135
1023
  "Never attempt to automatically store working changes in the cloud."
1136
1024
  ))
1137
1025
  ],
@@ -1139,8 +1027,8 @@ workbenchRegistry.registerWorkbenchContribution(EditSessionsContribution, 3 );
1139
1027
  'tags': ['experimental', 'usesOnlineServices'],
1140
1028
  'default': 'off',
1141
1029
  'markdownDescription': ( localizeWithPath(
1142
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1143
- 'autoStoreWorkingChangesDescription',
1030
+ _moduleId,
1031
+ 44,
1144
1032
  "Controls whether to automatically store available working changes in the cloud for the current workspace. This setting has no effect in the web."
1145
1033
  )),
1146
1034
  },
@@ -1148,22 +1036,18 @@ workbenchRegistry.registerWorkbenchContribution(EditSessionsContribution, 3 );
1148
1036
  enum: ['onReload', 'off'],
1149
1037
  enumDescriptions: [
1150
1038
  ( localizeWithPath(
1151
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1152
- 'autoResumeWorkingChanges.onReload',
1039
+ _moduleId,
1040
+ 45,
1153
1041
  "Automatically resume available working changes from the cloud on window reload."
1154
1042
  )),
1155
- ( localizeWithPath(
1156
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1157
- 'autoResumeWorkingChanges.off',
1158
- "Never attempt to resume working changes from the cloud."
1159
- ))
1043
+ ( localizeWithPath(_moduleId, 46, "Never attempt to resume working changes from the cloud."))
1160
1044
  ],
1161
1045
  'type': 'string',
1162
1046
  'tags': ['usesOnlineServices'],
1163
1047
  'default': 'onReload',
1164
1048
  'markdownDescription': ( localizeWithPath(
1165
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1166
- 'autoResumeWorkingChanges',
1049
+ _moduleId,
1050
+ 47,
1167
1051
  "Controls whether to automatically resume available working changes stored in the cloud for the current workspace."
1168
1052
  )),
1169
1053
  },
@@ -1171,13 +1055,13 @@ workbenchRegistry.registerWorkbenchContribution(EditSessionsContribution, 3 );
1171
1055
  enum: ['prompt', 'off'],
1172
1056
  enumDescriptions: [
1173
1057
  ( localizeWithPath(
1174
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1175
- 'continueOnCloudChanges.promptForAuth',
1058
+ _moduleId,
1059
+ 48,
1176
1060
  'Prompt the user to sign in to store working changes in the cloud with Continue Working On.'
1177
1061
  )),
1178
1062
  ( localizeWithPath(
1179
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1180
- 'continueOnCloudChanges.off',
1063
+ _moduleId,
1064
+ 49,
1181
1065
  'Do not store working changes in the cloud with Continue Working On unless the user has already turned on Cloud Changes.'
1182
1066
  ))
1183
1067
  ],
@@ -1185,8 +1069,8 @@ workbenchRegistry.registerWorkbenchContribution(EditSessionsContribution, 3 );
1185
1069
  tags: ['usesOnlineServices'],
1186
1070
  default: 'prompt',
1187
1071
  markdownDescription: ( localizeWithPath(
1188
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1189
- 'continueOnCloudChanges',
1072
+ _moduleId,
1073
+ 50,
1190
1074
  'Controls whether to prompt the user to store working changes in the cloud when using Continue Working On.'
1191
1075
  ))
1192
1076
  },
@@ -1195,8 +1079,8 @@ workbenchRegistry.registerWorkbenchContribution(EditSessionsContribution, 3 );
1195
1079
  'tags': ['experimental', 'usesOnlineServices'],
1196
1080
  'default': false,
1197
1081
  'markdownDescription': ( localizeWithPath(
1198
- 'vs/workbench/contrib/editSessions/browser/editSessions.contribution',
1199
- 'cloudChangesPartialMatchesEnabled',
1082
+ _moduleId,
1083
+ 51,
1200
1084
  "Controls whether to surface cloud changes which partially match the current session."
1201
1085
  ))
1202
1086
  }