@azure/container-registry 1.0.0-beta.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +70 -37
  3. package/dist/index.js +1255 -1123
  4. package/dist/index.js.map +1 -1
  5. package/dist-esm/src/containerRegistryChallengeHandler.js +35 -38
  6. package/dist-esm/src/containerRegistryChallengeHandler.js.map +1 -1
  7. package/dist-esm/src/containerRegistryClient.js +69 -50
  8. package/dist-esm/src/containerRegistryClient.js.map +1 -1
  9. package/dist-esm/src/containerRegistryTokenCredential.js +39 -126
  10. package/dist-esm/src/containerRegistryTokenCredential.js.map +1 -1
  11. package/dist-esm/src/containerRepository.js +100 -63
  12. package/dist-esm/src/containerRepository.js.map +1 -1
  13. package/dist-esm/src/generated/generatedClient.js +7 -6
  14. package/dist-esm/src/generated/generatedClient.js.map +1 -1
  15. package/dist-esm/src/generated/generatedClientContext.js +13 -2
  16. package/dist-esm/src/generated/generatedClientContext.js.map +1 -1
  17. package/dist-esm/src/generated/index.js +1 -0
  18. package/dist-esm/src/generated/index.js.map +1 -1
  19. package/dist-esm/src/generated/models/index.js +61 -1
  20. package/dist-esm/src/generated/models/index.js.map +1 -1
  21. package/dist-esm/src/generated/models/mappers.js +514 -557
  22. package/dist-esm/src/generated/models/mappers.js.map +1 -1
  23. package/dist-esm/src/generated/models/parameters.js +87 -7
  24. package/dist-esm/src/generated/models/parameters.js.map +1 -1
  25. package/dist-esm/src/generated/operations/authentication.js +28 -8
  26. package/dist-esm/src/generated/operations/authentication.js.map +1 -1
  27. package/dist-esm/src/generated/operations/containerRegistry.js +27 -7
  28. package/dist-esm/src/generated/operations/containerRegistry.js.map +1 -1
  29. package/dist-esm/src/generated/operations/containerRegistryBlob.js +2 -2
  30. package/dist-esm/src/generated/operations/containerRegistryBlob.js.map +1 -1
  31. package/dist-esm/src/generated/operationsInterfaces/authentication.js +9 -0
  32. package/dist-esm/src/generated/operationsInterfaces/authentication.js.map +1 -0
  33. package/dist-esm/src/generated/operationsInterfaces/containerRegistry.js +9 -0
  34. package/dist-esm/src/generated/operationsInterfaces/containerRegistry.js.map +1 -0
  35. package/dist-esm/src/generated/operationsInterfaces/containerRegistryBlob.js +9 -0
  36. package/dist-esm/src/generated/operationsInterfaces/containerRegistryBlob.js.map +1 -0
  37. package/dist-esm/src/generated/operationsInterfaces/index.js +11 -0
  38. package/dist-esm/src/generated/operationsInterfaces/index.js.map +1 -0
  39. package/dist-esm/src/index.js.map +1 -1
  40. package/dist-esm/src/models.js +43 -2
  41. package/dist-esm/src/models.js.map +1 -1
  42. package/dist-esm/src/registryArtifact.js +176 -135
  43. package/dist-esm/src/registryArtifact.js.map +1 -1
  44. package/dist-esm/src/tracing.js +1 -1
  45. package/dist-esm/src/tracing.js.map +1 -1
  46. package/dist-esm/src/transformations.js +2 -2
  47. package/dist-esm/src/transformations.js.map +1 -1
  48. package/dist-esm/src/{base64.browser.js → utils/base64.browser.js} +0 -0
  49. package/dist-esm/src/utils/base64.browser.js.map +1 -0
  50. package/dist-esm/src/{base64.js → utils/base64.js} +0 -0
  51. package/dist-esm/src/utils/base64.js.map +1 -0
  52. package/dist-esm/src/{utils.js → utils/helpers.js} +1 -1
  53. package/dist-esm/src/utils/helpers.js.map +1 -0
  54. package/dist-esm/src/{tokenCycler.js → utils/tokenCycler.js} +29 -34
  55. package/dist-esm/src/utils/tokenCycler.js.map +1 -0
  56. package/dist-esm/src/{url.browser.js → utils/url.browser.js} +0 -0
  57. package/dist-esm/src/utils/url.browser.js.map +1 -0
  58. package/dist-esm/src/{url.js → utils/url.js} +0 -0
  59. package/dist-esm/src/utils/url.js.map +1 -0
  60. package/dist-esm/src/{wwwAuthenticateParser.js → utils/wwwAuthenticateParser.js} +0 -0
  61. package/dist-esm/src/utils/wwwAuthenticateParser.js.map +1 -0
  62. package/package.json +22 -25
  63. package/types/container-registry.d.ts +258 -83
  64. package/dist-esm/src/base64.browser.js.map +0 -1
  65. package/dist-esm/src/base64.js.map +0 -1
  66. package/dist-esm/src/constants.js +0 -4
  67. package/dist-esm/src/constants.js.map +0 -1
  68. package/dist-esm/src/tokenCycler.js.map +0 -1
  69. package/dist-esm/src/url.browser.js.map +0 -1
  70. package/dist-esm/src/url.js.map +0 -1
  71. package/dist-esm/src/utils.js.map +0 -1
  72. package/dist-esm/src/wwwAuthenticateParser.js.map +0 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/constants.ts","../src/logger.ts","../src/generated/models/mappers.ts","../src/generated/models/parameters.ts","../src/generated/operations/containerRegistry.ts","../src/generated/operations/containerRegistryBlob.ts","../src/generated/operations/authentication.ts","../src/generated/generatedClientContext.ts","../src/generated/generatedClient.ts","../src/tracing.ts","../src/utils.ts","../src/wwwAuthenticateParser.ts","../src/tokenCycler.ts","../src/containerRegistryChallengeHandler.ts","../src/transformations.ts","../src/registryArtifact.ts","../src/containerRepository.ts","../src/base64.ts","../src/containerRegistryTokenCredential.ts","../src/containerRegistryClient.ts","../src/models.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport const SDK_VERSION: string = \"1.0.0-beta.3\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createClientLogger } from \"@azure/logger\";\n\n/**\n * The \\@azure/logger configuration for this package.\n *\n * @internal\n */\nexport const logger = createClientLogger(\"container-registry\");\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const AcrErrors: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AcrErrors\",\n modelProperties: {\n errors: {\n serializedName: \"errors\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AcrErrorInfo\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AcrErrorInfo: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AcrErrorInfo\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n },\n detail: {\n serializedName: \"detail\",\n type: {\n name: \"any\"\n }\n }\n }\n }\n};\n\nexport const Manifest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Manifest\",\n modelProperties: {\n schemaVersion: {\n serializedName: \"schemaVersion\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const Repositories: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Repositories\",\n modelProperties: {\n repositories: {\n serializedName: \"repositories\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRepositoryProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRepositoryProperties\",\n modelProperties: {\n registryLoginServer: {\n serializedName: \"registry\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"imageName\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"lastUpdateTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n manifestCount: {\n serializedName: \"manifestCount\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n tagCount: {\n serializedName: \"tagCount\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n canDelete: {\n serializedName: \"changeableAttributes.deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"changeableAttributes.writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"changeableAttributes.listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"changeableAttributes.readEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n teleportEnabled: {\n serializedName: \"changeableAttributes.teleportEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const RepositoryWriteableProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RepositoryWriteableProperties\",\n modelProperties: {\n canDelete: {\n serializedName: \"deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"readEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n teleportEnabled: {\n serializedName: \"teleportEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const TagList: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TagList\",\n modelProperties: {\n registryLoginServer: {\n serializedName: \"registry\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n repository: {\n serializedName: \"imageName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n tagAttributeBases: {\n serializedName: \"tags\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TagAttributesBase\"\n }\n }\n }\n },\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TagAttributesBase: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TagAttributesBase\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n digest: {\n serializedName: \"digest\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"lastUpdateTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n canDelete: {\n serializedName: \"changeableAttributes.deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"changeableAttributes.writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"changeableAttributes.listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"changeableAttributes.readEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const TagWriteableProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TagWriteableProperties\",\n modelProperties: {\n canDelete: {\n serializedName: \"deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"readEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const ArtifactTagProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ArtifactTagProperties\",\n modelProperties: {\n registryLoginServer: {\n serializedName: \"registry\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n repositoryName: {\n serializedName: \"imageName\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"tag.name\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n digest: {\n serializedName: \"tag.digest\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"tag.createdTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"tag.lastUpdateTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n canDelete: {\n serializedName: \"tag.changeableAttributes.deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"tag.changeableAttributes.writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"tag.changeableAttributes.listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"tag.changeableAttributes.readEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const AcrManifests: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AcrManifests\",\n modelProperties: {\n registryLoginServer: {\n serializedName: \"registry\",\n type: {\n name: \"String\"\n }\n },\n repository: {\n serializedName: \"imageName\",\n type: {\n name: \"String\"\n }\n },\n manifests: {\n serializedName: \"manifests\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManifestAttributesBase\"\n }\n }\n }\n },\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ManifestAttributesBase: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ManifestAttributesBase\",\n modelProperties: {\n digest: {\n serializedName: \"digest\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n size: {\n serializedName: \"imageSize\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n createdOn: {\n serializedName: \"createdTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"lastUpdateTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n architecture: {\n serializedName: \"architecture\",\n readOnly: true,\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n operatingSystem: {\n serializedName: \"os\",\n readOnly: true,\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n relatedArtifacts: {\n serializedName: \"references\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ArtifactManifestPlatform\"\n }\n }\n }\n },\n tags: {\n serializedName: \"tags\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n canDelete: {\n serializedName: \"changeableAttributes.deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"changeableAttributes.writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"changeableAttributes.listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"changeableAttributes.readEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n quarantineState: {\n serializedName: \"changeableAttributes.quarantineState\",\n type: {\n name: \"String\"\n }\n },\n quarantineDetails: {\n serializedName: \"changeableAttributes.quarantineDetails\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ArtifactManifestPlatform: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ArtifactManifestPlatform\",\n modelProperties: {\n digest: {\n serializedName: \"digest\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n architecture: {\n serializedName: \"architecture\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n operatingSystem: {\n serializedName: \"os\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ManifestWriteableProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ManifestWriteableProperties\",\n modelProperties: {\n canDelete: {\n serializedName: \"deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"readEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n quarantineState: {\n serializedName: \"quarantineState\",\n type: {\n name: \"String\"\n }\n },\n quarantineDetails: {\n serializedName: \"quarantineDetails\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ArtifactManifestProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ArtifactManifestProperties\",\n modelProperties: {\n registryLoginServer: {\n serializedName: \"registry\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n repositoryName: {\n serializedName: \"imageName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n digest: {\n serializedName: \"manifest.digest\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n size: {\n serializedName: \"manifest.imageSize\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n createdOn: {\n serializedName: \"manifest.createdTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"manifest.lastUpdateTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n architecture: {\n serializedName: \"manifest.architecture\",\n readOnly: true,\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n operatingSystem: {\n serializedName: \"manifest.os\",\n readOnly: true,\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n relatedArtifacts: {\n serializedName: \"manifest.references\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ArtifactManifestPlatform\"\n }\n }\n }\n },\n tags: {\n serializedName: \"manifest.tags\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n canDelete: {\n serializedName: \"manifest.changeableAttributes.deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"manifest.changeableAttributes.writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"manifest.changeableAttributes.listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"manifest.changeableAttributes.readEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n quarantineState: {\n serializedName: \"manifest.changeableAttributes.quarantineState\",\n type: {\n name: \"String\"\n }\n },\n quarantineDetails: {\n serializedName: \"manifest.changeableAttributes.quarantineDetails\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Paths108HwamOauth2ExchangePostRequestbodyContentApplicationXWwwFormUrlencodedSchema: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className:\n \"Paths108HwamOauth2ExchangePostRequestbodyContentApplicationXWwwFormUrlencodedSchema\",\n modelProperties: {\n grantType: {\n defaultValue: \"access_token\",\n isConstant: true,\n serializedName: \"grant_type\",\n type: {\n name: \"String\"\n }\n },\n service: {\n serializedName: \"service\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n aadAccessToken: {\n serializedName: \"access_token\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AcrRefreshToken: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AcrRefreshToken\",\n modelProperties: {\n refreshToken: {\n serializedName: \"refresh_token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PathsV3R3RxOauth2TokenPostRequestbodyContentApplicationXWwwFormUrlencodedSchema: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className:\n \"PathsV3R3RxOauth2TokenPostRequestbodyContentApplicationXWwwFormUrlencodedSchema\",\n modelProperties: {\n service: {\n serializedName: \"service\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n scope: {\n serializedName: \"scope\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n acrRefreshToken: {\n serializedName: \"refresh_token\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n grantType: {\n serializedName: \"grant_type\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"refresh_token\", \"password\"]\n }\n }\n }\n }\n};\n\nexport const AcrAccessToken: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AcrAccessToken\",\n modelProperties: {\n accessToken: {\n serializedName: \"access_token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RepositoryTags: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RepositoryTags\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ImageSignature: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ImageSignature\",\n modelProperties: {\n header: {\n serializedName: \"header\",\n type: {\n name: \"Composite\",\n className: \"Jwk\"\n }\n },\n signature: {\n serializedName: \"signature\",\n type: {\n name: \"String\"\n }\n },\n protected: {\n serializedName: \"protected\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Jwk: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Jwk\",\n modelProperties: {\n jwk: {\n serializedName: \"jwk\",\n type: {\n name: \"Composite\",\n className: \"JWKHeader\"\n }\n },\n alg: {\n serializedName: \"alg\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const JWKHeader: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"JWKHeader\",\n modelProperties: {\n crv: {\n serializedName: \"crv\",\n type: {\n name: \"String\"\n }\n },\n kid: {\n serializedName: \"kid\",\n type: {\n name: \"String\"\n }\n },\n kty: {\n serializedName: \"kty\",\n type: {\n name: \"String\"\n }\n },\n x: {\n serializedName: \"x\",\n type: {\n name: \"String\"\n }\n },\n y: {\n serializedName: \"y\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const History: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"History\",\n modelProperties: {\n v1Compatibility: {\n serializedName: \"v1Compatibility\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DeleteRepositoryResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DeleteRepositoryResult\",\n modelProperties: {\n deletedManifests: {\n serializedName: \"manifestsDeleted\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n deletedTags: {\n serializedName: \"tagsDeleted\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const FsLayer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"FsLayer\",\n modelProperties: {\n blobSum: {\n serializedName: \"blobSum\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Descriptor: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Descriptor\",\n modelProperties: {\n mediaType: {\n serializedName: \"mediaType\",\n type: {\n name: \"String\"\n }\n },\n size: {\n serializedName: \"size\",\n type: {\n name: \"Number\"\n }\n },\n digest: {\n serializedName: \"digest\",\n type: {\n name: \"String\"\n }\n },\n urls: {\n serializedName: \"urls\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n annotations: {\n serializedName: \"annotations\",\n type: {\n name: \"Composite\",\n className: \"Annotations\"\n }\n }\n }\n }\n};\n\nexport const Annotations: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Annotations\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n created: {\n serializedName: \"org\\\\.opencontainers.image.created\",\n type: {\n name: \"DateTime\"\n }\n },\n authors: {\n serializedName: \"org\\\\.opencontainers.image.authors\",\n type: {\n name: \"String\"\n }\n },\n url: {\n serializedName: \"org\\\\.opencontainers.image.url\",\n type: {\n name: \"String\"\n }\n },\n documentation: {\n serializedName: \"org\\\\.opencontainers.image.documentation\",\n type: {\n name: \"String\"\n }\n },\n source: {\n serializedName: \"org\\\\.opencontainers.image.source\",\n type: {\n name: \"String\"\n }\n },\n version: {\n serializedName: \"org\\\\.opencontainers.image.version\",\n type: {\n name: \"String\"\n }\n },\n revision: {\n serializedName: \"org\\\\.opencontainers.image.revision\",\n type: {\n name: \"String\"\n }\n },\n vendor: {\n serializedName: \"org\\\\.opencontainers.image.vendor\",\n type: {\n name: \"String\"\n }\n },\n licenses: {\n serializedName: \"org\\\\.opencontainers.image.licenses\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"org\\\\.opencontainers.image.ref.name\",\n type: {\n name: \"String\"\n }\n },\n title: {\n serializedName: \"org\\\\.opencontainers.image.title\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"org\\\\.opencontainers.image.description\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TagAttributesTag: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TagAttributesTag\",\n modelProperties: {\n signatureRecord: {\n serializedName: \"signatureRecord\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ManifestAttributesManifest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ManifestAttributesManifest\",\n modelProperties: {\n references: {\n serializedName: \"references\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ArtifactManifestPlatform\"\n }\n }\n }\n },\n quarantineTag: {\n serializedName: \"quarantineTag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ManifestListAttributes: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ManifestListAttributes\",\n modelProperties: {\n mediaType: {\n serializedName: \"mediaType\",\n type: {\n name: \"String\"\n }\n },\n size: {\n serializedName: \"size\",\n type: {\n name: \"Number\"\n }\n },\n digest: {\n serializedName: \"digest\",\n type: {\n name: \"String\"\n }\n },\n platform: {\n serializedName: \"platform\",\n type: {\n name: \"Composite\",\n className: \"Platform\"\n }\n }\n }\n }\n};\n\nexport const Platform: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Platform\",\n modelProperties: {\n architecture: {\n serializedName: \"architecture\",\n type: {\n name: \"String\"\n }\n },\n os: {\n serializedName: \"os\",\n type: {\n name: \"String\"\n }\n },\n osVersion: {\n serializedName: \"os\\\\.version\",\n type: {\n name: \"String\"\n }\n },\n osFeatures: {\n serializedName: \"os\\\\.features\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n variant: {\n serializedName: \"variant\",\n type: {\n name: \"String\"\n }\n },\n features: {\n serializedName: \"features\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ManifestWrapper: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ManifestWrapper\",\n modelProperties: {\n ...Manifest.type.modelProperties,\n mediaType: {\n serializedName: \"mediaType\",\n type: {\n name: \"String\"\n }\n },\n manifests: {\n serializedName: \"manifests\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManifestListAttributes\"\n }\n }\n }\n },\n config: {\n serializedName: \"config\",\n type: {\n name: \"Composite\",\n className: \"Descriptor\"\n }\n },\n layers: {\n serializedName: \"layers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Descriptor\"\n }\n }\n }\n },\n annotations: {\n serializedName: \"annotations\",\n type: {\n name: \"Composite\",\n className: \"Annotations\"\n }\n },\n architecture: {\n serializedName: \"architecture\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n tag: {\n serializedName: \"tag\",\n type: {\n name: \"String\"\n }\n },\n fsLayers: {\n serializedName: \"fsLayers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FsLayer\"\n }\n }\n }\n },\n history: {\n serializedName: \"history\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"History\"\n }\n }\n }\n },\n signatures: {\n serializedName: \"signatures\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ImageSignature\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ManifestList: coreClient.CompositeMapper = {\n serializedName: \"application/vnd.docker.distribution.manifest.list.v2+json\",\n type: {\n name: \"Composite\",\n className: \"ManifestList\",\n modelProperties: {\n ...Manifest.type.modelProperties,\n mediaType: {\n serializedName: \"mediaType\",\n type: {\n name: \"String\"\n }\n },\n manifests: {\n serializedName: \"manifests\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManifestListAttributes\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const V2Manifest: coreClient.CompositeMapper = {\n serializedName: \"application/vnd.docker.distribution.manifest.v2+json\",\n type: {\n name: \"Composite\",\n className: \"V2Manifest\",\n modelProperties: {\n ...Manifest.type.modelProperties,\n mediaType: {\n serializedName: \"mediaType\",\n type: {\n name: \"String\"\n }\n },\n config: {\n serializedName: \"config\",\n type: {\n name: \"Composite\",\n className: \"Descriptor\"\n }\n },\n layers: {\n serializedName: \"layers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Descriptor\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const OCIManifest: coreClient.CompositeMapper = {\n serializedName: \"application/vnd.oci.image.manifest.v1+json\",\n type: {\n name: \"Composite\",\n className: \"OCIManifest\",\n modelProperties: {\n ...Manifest.type.modelProperties,\n config: {\n serializedName: \"config\",\n type: {\n name: \"Composite\",\n className: \"Descriptor\"\n }\n },\n layers: {\n serializedName: \"layers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Descriptor\"\n }\n }\n }\n },\n annotations: {\n serializedName: \"annotations\",\n type: {\n name: \"Composite\",\n className: \"Annotations\"\n }\n }\n }\n }\n};\n\nexport const OCIIndex: coreClient.CompositeMapper = {\n serializedName: \"application/vnd.oci.image.index.v1+json\",\n type: {\n name: \"Composite\",\n className: \"OCIIndex\",\n modelProperties: {\n ...Manifest.type.modelProperties,\n manifests: {\n serializedName: \"manifests\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManifestListAttributes\"\n }\n }\n }\n },\n annotations: {\n serializedName: \"annotations\",\n type: {\n name: \"Composite\",\n className: \"Annotations\"\n }\n }\n }\n }\n};\n\nexport const V1Manifest: coreClient.CompositeMapper = {\n serializedName: \"application/vnd.oci.image.manifest.v1+json\",\n type: {\n name: \"Composite\",\n className: \"V1Manifest\",\n modelProperties: {\n ...Manifest.type.modelProperties,\n architecture: {\n serializedName: \"architecture\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n tag: {\n serializedName: \"tag\",\n type: {\n name: \"String\"\n }\n },\n fsLayers: {\n serializedName: \"fsLayers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FsLayer\"\n }\n }\n }\n },\n history: {\n serializedName: \"history\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"History\"\n }\n }\n }\n },\n signatures: {\n serializedName: \"signatures\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ImageSignature\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryCreateManifestHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryCreateManifestHeaders\",\n modelProperties: {\n dockerContentDigest: {\n serializedName: \"docker-content-digest\",\n type: {\n name: \"String\"\n }\n },\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n contentLength: {\n serializedName: \"content-length\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryGetRepositoriesHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryGetRepositoriesHeaders\",\n modelProperties: {\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryGetTagsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryGetTagsHeaders\",\n modelProperties: {\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryGetManifestsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryGetManifestsHeaders\",\n modelProperties: {\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryGetRepositoriesNextHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryGetRepositoriesNextHeaders\",\n modelProperties: {\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryGetTagsNextHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryGetTagsNextHeaders\",\n modelProperties: {\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryGetManifestsNextHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryGetManifestsNextHeaders\",\n modelProperties: {\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobGetBlobHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobGetBlobHeaders\",\n modelProperties: {\n contentLength: {\n serializedName: \"content-length\",\n type: {\n name: \"Number\"\n }\n },\n dockerContentDigest: {\n serializedName: \"docker-content-digest\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobCheckBlobExistsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobCheckBlobExistsHeaders\",\n modelProperties: {\n contentLength: {\n serializedName: \"content-length\",\n type: {\n name: \"Number\"\n }\n },\n dockerContentDigest: {\n serializedName: \"docker-content-digest\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobDeleteBlobHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobDeleteBlobHeaders\",\n modelProperties: {\n dockerContentDigest: {\n serializedName: \"docker-content-digest\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobMountBlobHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobMountBlobHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n dockerUploadUuid: {\n serializedName: \"docker-upload-uuid\",\n type: {\n name: \"String\"\n }\n },\n dockerContentDigest: {\n serializedName: \"docker-content-digest\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobGetUploadStatusHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobGetUploadStatusHeaders\",\n modelProperties: {\n range: {\n serializedName: \"range\",\n type: {\n name: \"String\"\n }\n },\n dockerUploadUuid: {\n serializedName: \"docker-upload-uuid\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobUploadChunkHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobUploadChunkHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n range: {\n serializedName: \"range\",\n type: {\n name: \"String\"\n }\n },\n dockerUploadUuid: {\n serializedName: \"docker-upload-uuid\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobCompleteUploadHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobCompleteUploadHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n range: {\n serializedName: \"range\",\n type: {\n name: \"String\"\n }\n },\n dockerContentDigest: {\n serializedName: \"docker-content-digest\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobStartUploadHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobStartUploadHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n range: {\n serializedName: \"range\",\n type: {\n name: \"String\"\n }\n },\n dockerUploadUuid: {\n serializedName: \"docker-upload-uuid\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobGetChunkHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobGetChunkHeaders\",\n modelProperties: {\n contentLength: {\n serializedName: \"content-length\",\n type: {\n name: \"Number\"\n }\n },\n contentRange: {\n serializedName: \"content-range\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobCheckChunkExistsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobCheckChunkExistsHeaders\",\n modelProperties: {\n contentLength: {\n serializedName: \"content-length\",\n type: {\n name: \"Number\"\n }\n },\n contentRange: {\n serializedName: \"content-range\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n Manifest as ManifestMapper,\n RepositoryWriteableProperties as RepositoryWriteablePropertiesMapper,\n TagWriteableProperties as TagWriteablePropertiesMapper,\n ManifestWriteableProperties as ManifestWriteablePropertiesMapper,\n Paths108HwamOauth2ExchangePostRequestbodyContentApplicationXWwwFormUrlencodedSchema as Paths108HwamOauth2ExchangePostRequestbodyContentApplicationXWwwFormUrlencodedSchemaMapper,\n PathsV3R3RxOauth2TokenPostRequestbodyContentApplicationXWwwFormUrlencodedSchema as PathsV3R3RxOauth2TokenPostRequestbodyContentApplicationXWwwFormUrlencodedSchemaMapper\n} from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const url: OperationURLParameter = {\n parameterPath: \"url\",\n mapper: {\n serializedName: \"url\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const name: OperationURLParameter = {\n parameterPath: \"name\",\n mapper: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const reference: OperationURLParameter = {\n parameterPath: \"reference\",\n mapper: {\n serializedName: \"reference\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const accept1: OperationParameter = {\n parameterPath: [\"options\", \"accept\"],\n mapper: {\n serializedName: \"accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/vnd.docker.distribution.manifest.v2+json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const payload: OperationParameter = {\n parameterPath: \"payload\",\n mapper: ManifestMapper\n};\n\nexport const last: OperationQueryParameter = {\n parameterPath: [\"options\", \"last\"],\n mapper: {\n serializedName: \"last\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const n: OperationQueryParameter = {\n parameterPath: [\"options\", \"n\"],\n mapper: {\n serializedName: \"n\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const contentType1: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const value: OperationParameter = {\n parameterPath: [\"options\", \"value\"],\n mapper: RepositoryWriteablePropertiesMapper\n};\n\nexport const orderby: OperationQueryParameter = {\n parameterPath: [\"options\", \"orderby\"],\n mapper: {\n serializedName: \"orderby\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const digest: OperationQueryParameter = {\n parameterPath: [\"options\", \"digest\"],\n mapper: {\n serializedName: \"digest\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const value1: OperationParameter = {\n parameterPath: [\"options\", \"value\"],\n mapper: TagWriteablePropertiesMapper\n};\n\nexport const digest1: OperationURLParameter = {\n parameterPath: \"digest\",\n mapper: {\n serializedName: \"digest\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const value2: OperationParameter = {\n parameterPath: [\"options\", \"value\"],\n mapper: ManifestWriteablePropertiesMapper\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const accept2: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/octet-stream\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const fromParam: OperationQueryParameter = {\n parameterPath: \"fromParam\",\n mapper: {\n serializedName: \"from\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const mount: OperationQueryParameter = {\n parameterPath: \"mount\",\n mapper: {\n serializedName: \"mount\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const location: OperationURLParameter = {\n parameterPath: \"location\",\n mapper: {\n serializedName: \"nextBlobUuidLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const contentType2: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/octet-stream\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const value3: OperationParameter = {\n parameterPath: \"value\",\n mapper: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Stream\"\n }\n }\n};\n\nexport const accept3: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const value4: OperationParameter = {\n parameterPath: [\"options\", \"value\"],\n mapper: {\n serializedName: \"value\",\n type: {\n name: \"Stream\"\n }\n }\n};\n\nexport const digest2: OperationQueryParameter = {\n parameterPath: \"digest\",\n mapper: {\n serializedName: \"digest\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const range: OperationParameter = {\n parameterPath: \"range\",\n mapper: {\n serializedName: \"Range\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType3: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/x-www-form-urlencoded\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const aadAccessToken: OperationParameter = {\n parameterPath: [\"options\", \"aadAccessToken\"],\n mapper: Paths108HwamOauth2ExchangePostRequestbodyContentApplicationXWwwFormUrlencodedSchemaMapper\n};\n\nexport const accept4: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const acrRefreshToken: OperationParameter = {\n parameterPath: [\"options\", \"acrRefreshToken\"],\n mapper: PathsV3R3RxOauth2TokenPostRequestbodyContentApplicationXWwwFormUrlencodedSchemaMapper\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { GeneratedClientContext } from \"../generatedClientContext\";\nimport {\n ContainerRegistryGetManifestOptionalParams,\n ContainerRegistryGetManifestResponse,\n Manifest,\n ContainerRegistryCreateManifestResponse,\n ContainerRegistryGetRepositoriesOptionalParams,\n ContainerRegistryGetRepositoriesResponse,\n ContainerRegistryGetPropertiesResponse,\n ContainerRegistryUpdatePropertiesOptionalParams,\n ContainerRegistryUpdatePropertiesResponse,\n ContainerRegistryGetTagsOptionalParams,\n ContainerRegistryGetTagsResponse,\n ContainerRegistryGetTagPropertiesResponse,\n ContainerRegistryUpdateTagAttributesOptionalParams,\n ContainerRegistryUpdateTagAttributesResponse,\n ContainerRegistryGetManifestsOptionalParams,\n ContainerRegistryGetManifestsResponse,\n ContainerRegistryGetManifestPropertiesResponse,\n ContainerRegistryUpdateManifestPropertiesOptionalParams,\n ContainerRegistryUpdateManifestPropertiesResponse,\n ContainerRegistryGetRepositoriesNextOptionalParams,\n ContainerRegistryGetRepositoriesNextResponse,\n ContainerRegistryGetTagsNextOptionalParams,\n ContainerRegistryGetTagsNextResponse,\n ContainerRegistryGetManifestsNextOptionalParams,\n ContainerRegistryGetManifestsNextResponse\n} from \"../models\";\n\n/** Class representing a ContainerRegistry. */\nexport class ContainerRegistry {\n private readonly client: GeneratedClientContext;\n\n /**\n * Initialize a new instance of the class ContainerRegistry class.\n * @param client Reference to the service client\n */\n constructor(client: GeneratedClientContext) {\n this.client = client;\n }\n\n /**\n * Tells whether this Docker Registry instance supports Docker Registry HTTP API v2\n * @param options The options parameters.\n */\n checkDockerV2Support(options?: coreClient.OperationOptions): Promise<void> {\n return this.client.sendOperationRequest(\n { options },\n checkDockerV2SupportOperationSpec\n );\n }\n\n /**\n * Get the manifest identified by `name` and `reference` where `reference` can be a tag or digest.\n * @param name Name of the image (including the namespace)\n * @param reference A tag or a digest, pointing to a specific image\n * @param options The options parameters.\n */\n getManifest(\n name: string,\n reference: string,\n options?: ContainerRegistryGetManifestOptionalParams\n ): Promise<ContainerRegistryGetManifestResponse> {\n return this.client.sendOperationRequest(\n { name, reference, options },\n getManifestOperationSpec\n );\n }\n\n /**\n * Put the manifest identified by `name` and `reference` where `reference` can be a tag or digest.\n * @param name Name of the image (including the namespace)\n * @param reference A tag or a digest, pointing to a specific image\n * @param payload Manifest body, can take v1 or v2 values depending on accept header\n * @param options The options parameters.\n */\n createManifest(\n name: string,\n reference: string,\n payload: Manifest,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryCreateManifestResponse> {\n return this.client.sendOperationRequest(\n { name, reference, payload, options },\n createManifestOperationSpec\n );\n }\n\n /**\n * Delete the manifest identified by `name` and `reference`. Note that a manifest can _only_ be deleted\n * by `digest`.\n * @param name Name of the image (including the namespace)\n * @param reference Digest of a BLOB\n * @param options The options parameters.\n */\n deleteManifest(\n name: string,\n reference: string,\n options?: coreClient.OperationOptions\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { name, reference, options },\n deleteManifestOperationSpec\n );\n }\n\n /**\n * List repositories\n * @param options The options parameters.\n */\n getRepositories(\n options?: ContainerRegistryGetRepositoriesOptionalParams\n ): Promise<ContainerRegistryGetRepositoriesResponse> {\n return this.client.sendOperationRequest(\n { options },\n getRepositoriesOperationSpec\n );\n }\n\n /**\n * Get repository attributes\n * @param name Name of the image (including the namespace)\n * @param options The options parameters.\n */\n getProperties(\n name: string,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryGetPropertiesResponse> {\n return this.client.sendOperationRequest(\n { name, options },\n getPropertiesOperationSpec\n );\n }\n\n /**\n * Delete the repository identified by `name`\n * @param name Name of the image (including the namespace)\n * @param options The options parameters.\n */\n deleteRepository(\n name: string,\n options?: coreClient.OperationOptions\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { name, options },\n deleteRepositoryOperationSpec\n );\n }\n\n /**\n * Update the attribute identified by `name` where `reference` is the name of the repository.\n * @param name Name of the image (including the namespace)\n * @param options The options parameters.\n */\n updateProperties(\n name: string,\n options?: ContainerRegistryUpdatePropertiesOptionalParams\n ): Promise<ContainerRegistryUpdatePropertiesResponse> {\n return this.client.sendOperationRequest(\n { name, options },\n updatePropertiesOperationSpec\n );\n }\n\n /**\n * List tags of a repository\n * @param name Name of the image (including the namespace)\n * @param options The options parameters.\n */\n getTags(\n name: string,\n options?: ContainerRegistryGetTagsOptionalParams\n ): Promise<ContainerRegistryGetTagsResponse> {\n return this.client.sendOperationRequest(\n { name, options },\n getTagsOperationSpec\n );\n }\n\n /**\n * Get tag attributes by tag\n * @param name Name of the image (including the namespace)\n * @param reference Tag name\n * @param options The options parameters.\n */\n getTagProperties(\n name: string,\n reference: string,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryGetTagPropertiesResponse> {\n return this.client.sendOperationRequest(\n { name, reference, options },\n getTagPropertiesOperationSpec\n );\n }\n\n /**\n * Update tag attributes\n * @param name Name of the image (including the namespace)\n * @param reference Tag name\n * @param options The options parameters.\n */\n updateTagAttributes(\n name: string,\n reference: string,\n options?: ContainerRegistryUpdateTagAttributesOptionalParams\n ): Promise<ContainerRegistryUpdateTagAttributesResponse> {\n return this.client.sendOperationRequest(\n { name, reference, options },\n updateTagAttributesOperationSpec\n );\n }\n\n /**\n * Delete tag\n * @param name Name of the image (including the namespace)\n * @param reference Tag name\n * @param options The options parameters.\n */\n deleteTag(\n name: string,\n reference: string,\n options?: coreClient.OperationOptions\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { name, reference, options },\n deleteTagOperationSpec\n );\n }\n\n /**\n * List manifests of a repository\n * @param name Name of the image (including the namespace)\n * @param options The options parameters.\n */\n getManifests(\n name: string,\n options?: ContainerRegistryGetManifestsOptionalParams\n ): Promise<ContainerRegistryGetManifestsResponse> {\n return this.client.sendOperationRequest(\n { name, options },\n getManifestsOperationSpec\n );\n }\n\n /**\n * Get manifest attributes\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param options The options parameters.\n */\n getManifestProperties(\n name: string,\n digest: string,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryGetManifestPropertiesResponse> {\n return this.client.sendOperationRequest(\n { name, digest, options },\n getManifestPropertiesOperationSpec\n );\n }\n\n /**\n * Update properties of a manifest\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param options The options parameters.\n */\n updateManifestProperties(\n name: string,\n digest: string,\n options?: ContainerRegistryUpdateManifestPropertiesOptionalParams\n ): Promise<ContainerRegistryUpdateManifestPropertiesResponse> {\n return this.client.sendOperationRequest(\n { name, digest, options },\n updateManifestPropertiesOperationSpec\n );\n }\n\n /**\n * GetRepositoriesNext\n * @param nextLink The nextLink from the previous successful call to the GetRepositories method.\n * @param options The options parameters.\n */\n getRepositoriesNext(\n nextLink: string,\n options?: ContainerRegistryGetRepositoriesNextOptionalParams\n ): Promise<ContainerRegistryGetRepositoriesNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n getRepositoriesNextOperationSpec\n );\n }\n\n /**\n * GetTagsNext\n * @param name Name of the image (including the namespace)\n * @param nextLink The nextLink from the previous successful call to the GetTags method.\n * @param options The options parameters.\n */\n getTagsNext(\n name: string,\n nextLink: string,\n options?: ContainerRegistryGetTagsNextOptionalParams\n ): Promise<ContainerRegistryGetTagsNextResponse> {\n return this.client.sendOperationRequest(\n { name, nextLink, options },\n getTagsNextOperationSpec\n );\n }\n\n /**\n * GetManifestsNext\n * @param name Name of the image (including the namespace)\n * @param nextLink The nextLink from the previous successful call to the GetManifests method.\n * @param options The options parameters.\n */\n getManifestsNext(\n name: string,\n nextLink: string,\n options?: ContainerRegistryGetManifestsNextOptionalParams\n ): Promise<ContainerRegistryGetManifestsNextResponse> {\n return this.client.sendOperationRequest(\n { name, nextLink, options },\n getManifestsNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst checkDockerV2SupportOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/\",\n httpMethod: \"GET\",\n responses: {\n 200: {},\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getManifestOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/manifests/{reference}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Manifest\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.reference],\n headerParameters: [Parameters.accept, Parameters.accept1],\n serializer\n};\nconst createManifestOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/manifests/{reference}\",\n httpMethod: \"PUT\",\n responses: {\n 201: {\n bodyMapper: { type: { name: \"any\" } },\n headersMapper: Mappers.ContainerRegistryCreateManifestHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n requestBody: Parameters.payload,\n urlParameters: [Parameters.url, Parameters.name, Parameters.reference],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteManifestOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/manifests/{reference}\",\n httpMethod: \"DELETE\",\n responses: {\n 202: {},\n 404: {},\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.reference],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getRepositoriesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/_catalog\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Repositories,\n headersMapper: Mappers.ContainerRegistryGetRepositoriesHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.last, Parameters.n],\n urlParameters: [Parameters.url],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getPropertiesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ContainerRepositoryProperties\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteRepositoryOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}\",\n httpMethod: \"DELETE\",\n responses: {\n 202: {},\n 404: {},\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updatePropertiesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.ContainerRepositoryProperties\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n requestBody: Parameters.value,\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept, Parameters.contentType1],\n mediaType: \"json\",\n serializer\n};\nconst getTagsOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_tags\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.TagList,\n headersMapper: Mappers.ContainerRegistryGetTagsHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [\n Parameters.last,\n Parameters.n,\n Parameters.orderby,\n Parameters.digest\n ],\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getTagPropertiesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_tags/{reference}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ArtifactTagProperties\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.reference],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateTagAttributesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_tags/{reference}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.ArtifactTagProperties\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n requestBody: Parameters.value1,\n urlParameters: [Parameters.url, Parameters.name, Parameters.reference],\n headerParameters: [Parameters.accept, Parameters.contentType1],\n mediaType: \"json\",\n serializer\n};\nconst deleteTagOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_tags/{reference}\",\n httpMethod: \"DELETE\",\n responses: {\n 202: {},\n 404: {},\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.reference],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getManifestsOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_manifests\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AcrManifests,\n headersMapper: Mappers.ContainerRegistryGetManifestsHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.last, Parameters.n, Parameters.orderby],\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getManifestPropertiesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_manifests/{digest}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ArtifactManifestProperties\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateManifestPropertiesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_manifests/{digest}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.ArtifactManifestProperties\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n requestBody: Parameters.value2,\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept, Parameters.contentType1],\n mediaType: \"json\",\n serializer\n};\nconst getRepositoriesNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Repositories,\n headersMapper: Mappers.ContainerRegistryGetRepositoriesNextHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.last, Parameters.n],\n urlParameters: [Parameters.url, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getTagsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.TagList,\n headersMapper: Mappers.ContainerRegistryGetTagsNextHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [\n Parameters.last,\n Parameters.n,\n Parameters.orderby,\n Parameters.digest\n ],\n urlParameters: [Parameters.url, Parameters.name, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getManifestsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AcrManifests,\n headersMapper: Mappers.ContainerRegistryGetManifestsNextHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.last, Parameters.n, Parameters.orderby],\n urlParameters: [Parameters.url, Parameters.name, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as coreHttps from \"@azure/core-rest-pipeline\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { GeneratedClientContext } from \"../generatedClientContext\";\nimport {\n ContainerRegistryBlobGetBlobResponse,\n ContainerRegistryBlobCheckBlobExistsResponse,\n ContainerRegistryBlobDeleteBlobResponse,\n ContainerRegistryBlobMountBlobResponse,\n ContainerRegistryBlobGetUploadStatusResponse,\n ContainerRegistryBlobUploadChunkResponse,\n ContainerRegistryBlobCompleteUploadOptionalParams,\n ContainerRegistryBlobCompleteUploadResponse,\n ContainerRegistryBlobStartUploadResponse,\n ContainerRegistryBlobGetChunkResponse,\n ContainerRegistryBlobCheckChunkExistsResponse\n} from \"../models\";\n\n/** Class representing a ContainerRegistryBlob. */\nexport class ContainerRegistryBlob {\n private readonly client: GeneratedClientContext;\n\n /**\n * Initialize a new instance of the class ContainerRegistryBlob class.\n * @param client Reference to the service client\n */\n constructor(client: GeneratedClientContext) {\n this.client = client;\n }\n\n /**\n * Retrieve the blob from the registry identified by digest.\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param options The options parameters.\n */\n getBlob(\n name: string,\n digest: string,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryBlobGetBlobResponse> {\n return this.client.sendOperationRequest(\n { name, digest, options },\n getBlobOperationSpec\n );\n }\n\n /**\n * Same as GET, except only the headers are returned.\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param options The options parameters.\n */\n checkBlobExists(\n name: string,\n digest: string,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryBlobCheckBlobExistsResponse> {\n return this.client.sendOperationRequest(\n { name, digest, options },\n checkBlobExistsOperationSpec\n );\n }\n\n /**\n * Removes an already uploaded blob.\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param options The options parameters.\n */\n deleteBlob(\n name: string,\n digest: string,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryBlobDeleteBlobResponse> {\n return this.client.sendOperationRequest(\n { name, digest, options },\n deleteBlobOperationSpec\n );\n }\n\n /**\n * Mount a blob identified by the `mount` parameter from another repository.\n * @param name Name of the image (including the namespace)\n * @param mount Digest of blob to mount from the source repository.\n * @param fromParam Name of the source repository.\n * @param options The options parameters.\n */\n mountBlob(\n name: string,\n mount: string,\n fromParam: string,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryBlobMountBlobResponse> {\n return this.client.sendOperationRequest(\n { name, mount, fromParam, options },\n mountBlobOperationSpec\n );\n }\n\n /**\n * Retrieve status of upload identified by uuid. The primary purpose of this endpoint is to resolve the\n * current status of a resumable upload.\n * @param location Link acquired from upload start or previous chunk. Note, do not include initial /\n * (must do substring(1) )\n * @param options The options parameters.\n */\n getUploadStatus(\n location: string,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryBlobGetUploadStatusResponse> {\n return this.client.sendOperationRequest(\n { location, options },\n getUploadStatusOperationSpec\n );\n }\n\n /**\n * Upload a stream of data without completing the upload.\n * @param location Link acquired from upload start or previous chunk. Note, do not include initial /\n * (must do substring(1) )\n * @param value Raw data of blob\n * @param options The options parameters.\n */\n uploadChunk(\n location: string,\n value: coreHttps.RequestBodyType,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryBlobUploadChunkResponse> {\n return this.client.sendOperationRequest(\n { location, value, options },\n uploadChunkOperationSpec\n );\n }\n\n /**\n * Complete the upload, providing all the data in the body, if necessary. A request without a body will\n * just complete the upload with previously uploaded content.\n * @param digest Digest of a BLOB\n * @param location Link acquired from upload start or previous chunk. Note, do not include initial /\n * (must do substring(1) )\n * @param options The options parameters.\n */\n completeUpload(\n digest: string,\n location: string,\n options?: ContainerRegistryBlobCompleteUploadOptionalParams\n ): Promise<ContainerRegistryBlobCompleteUploadResponse> {\n return this.client.sendOperationRequest(\n { digest, location, options },\n completeUploadOperationSpec\n );\n }\n\n /**\n * Cancel outstanding upload processes, releasing associated resources. If this is not called, the\n * unfinished uploads will eventually timeout.\n * @param location Link acquired from upload start or previous chunk. Note, do not include initial /\n * (must do substring(1) )\n * @param options The options parameters.\n */\n cancelUpload(\n location: string,\n options?: coreClient.OperationOptions\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { location, options },\n cancelUploadOperationSpec\n );\n }\n\n /**\n * Initiate a resumable blob upload with an empty request body.\n * @param name Name of the image (including the namespace)\n * @param options The options parameters.\n */\n startUpload(\n name: string,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryBlobStartUploadResponse> {\n return this.client.sendOperationRequest(\n { name, options },\n startUploadOperationSpec\n );\n }\n\n /**\n * Retrieve the blob from the registry identified by `digest`. This endpoint may also support RFC7233\n * compliant range requests. Support can be detected by issuing a HEAD request. If the header\n * `Accept-Range: bytes` is returned, range requests can be used to fetch partial content.\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param range Format : bytes=<start>-<end>, HTTP Range header specifying blob chunk.\n * @param options The options parameters.\n */\n getChunk(\n name: string,\n digest: string,\n range: string,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryBlobGetChunkResponse> {\n return this.client.sendOperationRequest(\n { name, digest, range, options },\n getChunkOperationSpec\n );\n }\n\n /**\n * Same as GET, except only the headers are returned.\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param range Format : bytes=<start>-<end>, HTTP Range header specifying blob chunk.\n * @param options The options parameters.\n */\n checkChunkExists(\n name: string,\n digest: string,\n range: string,\n options?: coreClient.OperationOptions\n ): Promise<ContainerRegistryBlobCheckChunkExistsResponse> {\n return this.client.sendOperationRequest(\n { name, digest, range, options },\n checkChunkExistsOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getBlobOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/{digest}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Stream\" },\n serializedName: \"parsedResponse\"\n },\n headersMapper: Mappers.ContainerRegistryBlobGetBlobHeaders\n },\n 307: {\n headersMapper: Mappers.ContainerRegistryBlobGetBlobHeaders\n },\n default: {}\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst checkBlobExistsOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/{digest}\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.ContainerRegistryBlobCheckBlobExistsHeaders\n },\n 307: {\n headersMapper: Mappers.ContainerRegistryBlobCheckBlobExistsHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteBlobOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/{digest}\",\n httpMethod: \"DELETE\",\n responses: {\n 202: {\n bodyMapper: {\n type: { name: \"Stream\" },\n serializedName: \"parsedResponse\"\n },\n headersMapper: Mappers.ContainerRegistryBlobDeleteBlobHeaders\n },\n default: {}\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst mountBlobOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/uploads/\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n headersMapper: Mappers.ContainerRegistryBlobMountBlobHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.fromParam, Parameters.mount],\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getUploadStatusOperationSpec: coreClient.OperationSpec = {\n path: \"/{nextBlobUuidLink}\",\n httpMethod: \"GET\",\n responses: {\n 204: {\n headersMapper: Mappers.ContainerRegistryBlobGetUploadStatusHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.location],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst uploadChunkOperationSpec: coreClient.OperationSpec = {\n path: \"/{nextBlobUuidLink}\",\n httpMethod: \"PATCH\",\n responses: {\n 202: {\n headersMapper: Mappers.ContainerRegistryBlobUploadChunkHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n requestBody: Parameters.value3,\n urlParameters: [Parameters.url, Parameters.location],\n headerParameters: [Parameters.contentType2, Parameters.accept3],\n mediaType: \"binary\",\n serializer\n};\nconst completeUploadOperationSpec: coreClient.OperationSpec = {\n path: \"/{nextBlobUuidLink}\",\n httpMethod: \"PUT\",\n responses: {\n 201: {\n headersMapper: Mappers.ContainerRegistryBlobCompleteUploadHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n requestBody: Parameters.value4,\n queryParameters: [Parameters.digest2],\n urlParameters: [Parameters.url, Parameters.location],\n headerParameters: [Parameters.contentType2, Parameters.accept3],\n mediaType: \"binary\",\n serializer\n};\nconst cancelUploadOperationSpec: coreClient.OperationSpec = {\n path: \"/{nextBlobUuidLink}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.location],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst startUploadOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/uploads/\",\n httpMethod: \"POST\",\n responses: {\n 202: {\n headersMapper: Mappers.ContainerRegistryBlobStartUploadHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getChunkOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/{digest}\",\n httpMethod: \"GET\",\n responses: {\n 206: {\n bodyMapper: {\n type: { name: \"Stream\" },\n serializedName: \"parsedResponse\"\n },\n headersMapper: Mappers.ContainerRegistryBlobGetChunkHeaders\n },\n default: {}\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept2, Parameters.range],\n serializer\n};\nconst checkChunkExistsOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/{digest}\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.ContainerRegistryBlobCheckChunkExistsHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept, Parameters.range],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { GeneratedClientContext } from \"../generatedClientContext\";\nimport {\n AuthenticationExchangeAadAccessTokenForAcrRefreshTokenOptionalParams,\n AuthenticationExchangeAadAccessTokenForAcrRefreshTokenResponse,\n AuthenticationExchangeAcrRefreshTokenForAcrAccessTokenOptionalParams,\n AuthenticationExchangeAcrRefreshTokenForAcrAccessTokenResponse\n} from \"../models\";\n\n/** Class representing a Authentication. */\nexport class Authentication {\n private readonly client: GeneratedClientContext;\n\n /**\n * Initialize a new instance of the class Authentication class.\n * @param client Reference to the service client\n */\n constructor(client: GeneratedClientContext) {\n this.client = client;\n }\n\n /**\n * Exchange AAD tokens for an ACR refresh Token\n * @param options The options parameters.\n */\n exchangeAadAccessTokenForAcrRefreshToken(\n options?: AuthenticationExchangeAadAccessTokenForAcrRefreshTokenOptionalParams\n ): Promise<AuthenticationExchangeAadAccessTokenForAcrRefreshTokenResponse> {\n return this.client.sendOperationRequest(\n { options },\n exchangeAadAccessTokenForAcrRefreshTokenOperationSpec\n );\n }\n\n /**\n * Exchange ACR Refresh token for an ACR Access Token\n * @param options The options parameters.\n */\n exchangeAcrRefreshTokenForAcrAccessToken(\n options?: AuthenticationExchangeAcrRefreshTokenForAcrAccessTokenOptionalParams\n ): Promise<AuthenticationExchangeAcrRefreshTokenForAcrAccessTokenResponse> {\n return this.client.sendOperationRequest(\n { options },\n exchangeAcrRefreshTokenForAcrAccessTokenOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst exchangeAadAccessTokenForAcrRefreshTokenOperationSpec: coreClient.OperationSpec = {\n path: \"/oauth2/exchange\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.AcrRefreshToken\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n formDataParameters: [Parameters.aadAccessToken],\n urlParameters: [Parameters.url],\n headerParameters: [Parameters.contentType3, Parameters.accept4],\n serializer\n};\nconst exchangeAcrRefreshTokenForAcrAccessTokenOperationSpec: coreClient.OperationSpec = {\n path: \"/oauth2/token\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.AcrAccessToken\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n formDataParameters: [Parameters.acrRefreshToken],\n urlParameters: [Parameters.url],\n headerParameters: [Parameters.contentType3, Parameters.accept4],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport { GeneratedClientOptionalParams } from \"./models\";\n\n/** @internal */\nexport class GeneratedClientContext extends coreClient.ServiceClient {\n url: string;\n\n /**\n * Initializes a new instance of the GeneratedClientContext class.\n * @param url Registry login URL\n * @param options The parameter options\n */\n constructor(url: string, options?: GeneratedClientOptionalParams) {\n if (url === undefined) {\n throw new Error(\"'url' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n\n const defaults: GeneratedClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n baseUri: options.endpoint || \"{url}\"\n };\n\n super(optionsWithDefaults);\n // Parameter assignments\n this.url = url;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n ContainerRegistry,\n ContainerRegistryBlob,\n Authentication\n} from \"./operations\";\nimport { GeneratedClientContext } from \"./generatedClientContext\";\nimport { GeneratedClientOptionalParams } from \"./models\";\n\n/** @internal */\nexport class GeneratedClient extends GeneratedClientContext {\n /**\n * Initializes a new instance of the GeneratedClient class.\n * @param url Registry login URL\n * @param options The parameter options\n */\n constructor(url: string, options?: GeneratedClientOptionalParams) {\n super(url, options);\n this.containerRegistry = new ContainerRegistry(this);\n this.containerRegistryBlob = new ContainerRegistryBlob(this);\n this.authentication = new Authentication(this);\n }\n\n containerRegistry: ContainerRegistry;\n containerRegistryBlob: ContainerRegistryBlob;\n authentication: Authentication;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n//\nimport { createSpanFunction } from \"@azure/core-tracing\";\n\n/**\n * Creates a span using the global tracer.\n *\n * @param name - The name of the operation being performed.\n * @param tracingOptions - The options for the underlying http request.\n *\n * @internal\n */\nexport const createSpan = createSpanFunction({\n namespace: \"Azure.Containers\",\n packagePrefix: \"Azure.Containers.ContainerRegistry\"\n});\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Extract the path part from the next link value returned by the service,\n * @internal\n */\nexport function extractNextLink(value: string | undefined): string | undefined {\n // The link value has this pattern\n // `</acr/v1/name/...&n=2&orderby=>; rel=\"next\"`\n // and we only want the part inside of <...>\n return value?.substr(1, value.indexOf(\">\") - 1);\n}\n\n/**\n * Checks whether a string is a digest\n * @internal\n */\nexport function isDigest(tagOrDigest: string): boolean {\n return tagOrDigest.includes(\":\");\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Defined supported names of WWW-Authenticate name-value pairs.\n */\nexport type ValidParsedWWWAuthenticateProperties =\n // \"authorization_uri\" was used in the track 1 version of KeyVault.\n // This is not a relevant property anymore, since the service is consistently answering with \"authorization\".\n // | \"authorization_uri\"\n | \"authorization\"\n | \"claims\"\n // Even though the service is moving to \"scope\", both \"resource\" and \"scope\" should be supported.\n | \"resource\"\n | \"scope\"\n | \"service\";\n\n/**\n * Represents the result of `parseWWWAuthenticate()`;\n */\nexport type ParsedWWWAuthenticate = {\n [Key in ValidParsedWWWAuthenticateProperties]?: string;\n};\n\n/**\n * Parses an WWW-Authenticate response.\n * This transforms a string value like:\n * `Bearer authorization=\"some_authorization\", resource=\"https://some.url\"`\n * into an object like:\n * `{ authorization: \"some_authorization\", resource: \"https://some.url\" }`\n * @param wwwAuthenticate - String value in the WWW-Authenticate header\n */\nexport function parseWWWAuthenticate(wwwAuthenticate: string): ParsedWWWAuthenticate {\n // First we split the string by either `,`, `, ` or ` `.\n const parts = wwwAuthenticate.split(/, *| +/);\n // Then we only keep the strings with an equal sign after a word and before a quote.\n // also splitting these sections by their equal sign\n const keyValues = parts.reduce<string[][]>(\n (acc, str) => (str.match(/\\w=\"/) ? [...acc, str.split(\"=\")] : acc),\n []\n );\n // Then we transform these key-value pairs back into an object.\n const parsed = keyValues.reduce<ParsedWWWAuthenticate>(\n (result, [key, value]: string[]) => ({\n ...result,\n [key]: value.slice(1, -1)\n }),\n {}\n );\n return parsed;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\n\nfunction delay<T>(t: number, value?: T): Promise<T | void> {\n return new Promise((resolve) => setTimeout(() => resolve(value), t));\n}\n/**\n * A function that gets a promise of an access token and allows providing\n * options.\n *\n * @param options - the options to pass to the underlying token provider\n */\nexport type AccessTokenGetter<T extends GetTokenOptions> = (\n scopes: string | string[],\n options: T\n) => Promise<AccessToken>;\n\n/**\n * The response of the\n */\nexport interface AccessTokenRefresher<T extends GetTokenOptions> {\n cachedToken?: AccessToken;\n getToken: AccessTokenGetter<T>;\n}\n\nexport interface TokenCyclerOptions {\n /**\n * The window of time before token expiration during which the token will be\n * considered unusable due to risk of the token expiring before sending the\n * request.\n *\n * This will only become meaningful if the refresh fails for over\n * (refreshWindow - forcedRefreshWindow) milliseconds.\n */\n forcedRefreshWindowInMs: number;\n /**\n * Interval in milliseconds to retry failed token refreshes.\n */\n retryIntervalInMs: number;\n /**\n * The window of time before token expiration during which\n * we will attempt to refresh the token.\n */\n refreshWindowInMs: number;\n}\n\n// Default options for the cycler if none are provided\nexport const DEFAULT_CYCLER_OPTIONS: TokenCyclerOptions = {\n forcedRefreshWindowInMs: 1000, // Force waiting for a refresh 1s before the token expires\n retryIntervalInMs: 3000, // Allow refresh attempts every 3s\n refreshWindowInMs: 1000 * 60 * 2 // Start refreshing 2m before expiry\n};\n\n/**\n * Converts an an unreliable access token getter (which may resolve with null)\n * into an AccessTokenGetter by retrying the unreliable getter in a regular\n * interval.\n *\n * @param getAccessToken - A function that produces a promise of an access token that may fail by returning null.\n * @param retryIntervalInMs - The time (in milliseconds) to wait between retry attempts.\n * @param refreshTimeout - The timestamp after which the refresh attempt will fail, throwing an exception.\n * @returns - A promise that, if it resolves, will resolve with an access token.\n */\nasync function beginRefresh(\n getAccessToken: () => Promise<AccessToken | null>,\n retryIntervalInMs: number,\n refreshTimeout: number\n): Promise<AccessToken> {\n // This wrapper handles exceptions gracefully as long as we haven't exceeded\n // the timeout.\n async function tryGetAccessToken(): Promise<AccessToken | null> {\n if (Date.now() < refreshTimeout) {\n try {\n return await getAccessToken();\n } catch {\n return null;\n }\n } else {\n const finalToken = await getAccessToken();\n\n // Timeout is up, so throw if it's still null\n if (finalToken === null) {\n throw new Error(\"Failed to refresh access token.\");\n }\n\n return finalToken;\n }\n }\n\n let token: AccessToken | null = await tryGetAccessToken();\n\n while (token === null) {\n await delay(retryIntervalInMs);\n\n token = await tryGetAccessToken();\n }\n\n return token;\n}\n\n/**\n * Creates a token cycler from a credential, scopes, and optional settings.\n *\n * A token cycler represents a way to reliably retrieve a valid access token\n * from a TokenCredential. It will handle initializing the token, refreshing it\n * when it nears expiration, and synchronizes refresh attempts to avoid\n * concurrency hazards.\n *\n * @param credential - the underlying TokenCredential that provides the access\n * token\n * @param tokenCyclerOptions - optionally override default settings for the cycler\n *\n * @returns - a function that reliably produces a valid access token\n */\nexport function createTokenCycler<T extends GetTokenOptions>(\n credential: TokenCredential,\n tokenCyclerOptions?: Partial<TokenCyclerOptions>\n): AccessTokenRefresher<T> {\n let refreshWorker: Promise<AccessToken> | null = null;\n let token: AccessToken | null = null;\n\n const options = {\n ...DEFAULT_CYCLER_OPTIONS,\n ...tokenCyclerOptions\n };\n\n /**\n * This little holder defines several predicates that we use to construct\n * the rules of refreshing the token.\n */\n const cycler = {\n /**\n * Produces true if a refresh job is currently in progress.\n */\n get isRefreshing(): boolean {\n return refreshWorker !== null;\n },\n /**\n * Produces true if the cycler SHOULD refresh (we are within the refresh\n * window and not already refreshing)\n */\n get shouldRefresh(): boolean {\n return (\n !cycler.isRefreshing &&\n (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now()\n );\n },\n /**\n * Produces true if the cycler MUST refresh (null or nearly-expired\n * token).\n */\n get mustRefresh(): boolean {\n return (\n token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now()\n );\n }\n };\n\n /**\n * Starts a refresh job or returns the existing job if one is already\n * running.\n */\n function refresh(scopes: string | string[], getTokenOptions: T): Promise<AccessToken> {\n if (!cycler.isRefreshing) {\n // We bind `scopes` here to avoid passing it around a lot\n const tryGetAccessToken = (): Promise<AccessToken | null> =>\n credential.getToken(scopes, getTokenOptions);\n\n // Take advantage of promise chaining to insert an assignment to `token`\n // before the refresh can be considered done.\n refreshWorker = beginRefresh(\n tryGetAccessToken,\n options.retryIntervalInMs,\n // If we don't have a token, then we should timeout immediately\n token?.expiresOnTimestamp ?? Date.now()\n )\n .then((_token) => {\n refreshWorker = null;\n token = _token;\n return token;\n })\n .catch((reason) => {\n // We also should reset the refresher if we enter a failed state. All\n // existing awaiters will throw, but subsequent requests will start a\n // new retry chain.\n refreshWorker = null;\n token = null;\n throw reason;\n });\n }\n\n return refreshWorker as Promise<AccessToken>;\n }\n\n return {\n get cachedToken(): AccessToken | undefined {\n return token || undefined;\n },\n getToken: async (scopes: string | string[], tokenOptions: T): Promise<AccessToken> => {\n //\n // Simple rules:\n // - If we MUST refresh, then return the refresh task, blocking\n // the pipeline until a token is available.\n // - If we SHOULD refresh, then run refresh but don't return it\n // (we can still use the cached token).\n // - Return the token, since it's fine if we didn't return in\n // step 1.\n //\n if (cycler.mustRefresh) return refresh(scopes, tokenOptions);\n\n if (cycler.shouldRefresh) {\n refresh(scopes, tokenOptions);\n }\n\n return token as AccessToken;\n }\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { GetTokenOptions } from \"@azure/core-auth\";\nimport {\n AuthorizeRequestOnChallengeOptions,\n ChallengeCallbacks,\n AuthorizeRequestOptions\n} from \"@azure/core-rest-pipeline\";\nimport { parseWWWAuthenticate } from \"./wwwAuthenticateParser\";\nimport {\n ContainerRegistryGetTokenOptions,\n ContainerRegistryRefreshTokenCredential\n} from \"./containerRegistryTokenCredential\";\nimport { AccessTokenRefresher, createTokenCycler } from \"./tokenCycler\";\n\nconst fiveMinutesInMs = 5 * 60 * 1000;\n\n/**\n * Handles challenge based authentication for Container Registry Service.\n *```\n * The challenge-based authorization flow for ACR is illustrated in the following steps.\n * For example, GET /api/v1/acr/repositories translates into the following calls.\n * Step 1: GET /api/v1/acr/repositories\n * Return Header: 401: www-authenticate header - Bearer realm=\"{url}\",service=\"{serviceName}\",scope=\"{scope}\",error=\"invalid_token\"\n * Step 2: Retrieve the serviceName, scope from the WWW-Authenticate header. (Parse the string.)\n * Step 3: POST /api/oauth2/exchange\n * Request Body : { service, scope, grant-type, aadToken with ARM scope }\n * Response Body: { acrRefreshToken }\n * Step 4: POST /api/oauth2/token\n * Request Body: { acrRefreshToken, scope, grant-type }\n * Response Body: { acrAccessToken }\n * Step 5: GET /api/v1/acr/repositories\n * Request Header: { Bearer acrTokenAccess }\n *```\n */\nexport class ChallengeHandler implements ChallengeCallbacks {\n private readonly cycler: AccessTokenRefresher<ContainerRegistryGetTokenOptions>;\n constructor(\n private credential: ContainerRegistryRefreshTokenCredential,\n private options: GetTokenOptions & { claims?: string } = {}\n ) {\n this.cycler = createTokenCycler(credential, {\n refreshWindowInMs: fiveMinutesInMs\n });\n }\n\n authorizeRequest(_options: AuthorizeRequestOptions): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Updates the authentication context based on the challenge.\n */\n async authorizeRequestOnChallenge(options: AuthorizeRequestOnChallengeOptions): Promise<boolean> {\n // Once we're here, we've completed Step 1.\n const challenge = options.response?.headers.get(\"WWW-Authenticate\");\n if (!challenge) {\n throw new Error(\"Failed to retrieve challenge from response headers\");\n }\n // Step 2: Parse challenge string to retrieve serviceName and scope, where scope is the ACR Scope\n const { service, scope } = parseWWWAuthenticate(challenge);\n\n if (!service) {\n throw new Error(\"Failed to retrieve 'service' from challenge\");\n }\n\n if (!scope) {\n throw new Error(\"Failed to retrieve 'scope' from challenge\");\n }\n\n // Step 3: Exchange AAD Access Token for ACR Refresh Token\n // For anonymous access, we send the request with grant_type=password and an empty ACR refresh token\n // For non-anonymous access, we get an AAD token then exchange it for an ACR fresh token\n let grantType: \"password\" | \"refresh_token\";\n let acrRefreshToken: string;\n if (this.credential.isAnonymousAccess) {\n grantType = \"password\";\n acrRefreshToken = \"\";\n } else {\n grantType = \"refresh_token\";\n acrRefreshToken = (await this.cycler.getToken(scope, { ...options, service })).token;\n }\n\n // Step 4: Send in acrRefreshToken and get back acrAccessToken\n const acrAccessToken = await this.credential.tokenService.ExchangeAcrRefreshTokenForAcrAccessTokenAsync(\n acrRefreshToken,\n service,\n scope,\n grantType,\n this.options\n );\n\n // Step 5 - Authorize Request. At this point we're done with AAD and using an ACR access token.\n options.request.headers.set(\"Authorization\", `Bearer ${acrAccessToken}`);\n\n return true;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n ArtifactTagOrderBy as ServiceTagOrderBy,\n ArtifactManifestOrderBy as ServiceManifestOrderBy,\n ManifestWriteableProperties as ServiceManifestWritableProperties,\n ArtifactManifestProperties as ServiceArtifactManifestProperties\n} from \"./generated/models\";\nimport { ArtifactManifestProperties, TagOrderBy, ManifestOrderBy } from \"./models\";\n\n/** Changeable attributes. Filter out `quarantineState` and `quarantineDetails` returned by service */\ninterface ManifestWriteableProperties {\n /** Delete enabled */\n canDelete?: boolean;\n /** Write enabled */\n canWrite?: boolean;\n /** List enabled */\n canList?: boolean;\n /** Read enabled */\n canRead?: boolean;\n}\n\nexport function toManifestWritableProperties(\n from?: ServiceManifestWritableProperties\n): ManifestWriteableProperties | undefined {\n // don't return unwanted properties, namely `quarantineState` and `quarantineDetails`\n return from\n ? {\n canDelete: from.canDelete,\n canList: from.canList,\n canRead: from.canRead,\n canWrite: from.canWrite\n }\n : undefined;\n}\n\nexport function toArtifactManifestProperties(\n from: ServiceArtifactManifestProperties,\n repositoryName: string,\n registryLoginServer: string\n): ArtifactManifestProperties {\n return {\n registryLoginServer,\n repositoryName,\n digest: from.digest,\n size: from.size,\n createdOn: from.createdOn,\n lastUpdatedOn: from.lastUpdatedOn,\n architecture: from.architecture ?? undefined,\n operatingSystem: from.operatingSystem ?? undefined,\n relatedArtifacts: from.relatedArtifacts ?? [],\n tags: from.tags ?? [],\n ...toManifestWritableProperties(from)\n };\n}\n\nexport function toServiceTagOrderBy(orderBy?: TagOrderBy): ServiceTagOrderBy | undefined {\n return orderBy === \"LastUpdatedOnAscending\"\n ? \"timeasc\"\n : orderBy === \"LastUpdatedOnDescending\"\n ? \"timedesc\"\n : undefined;\n}\n\nexport function toServiceManifestOrderBy(\n orderBy?: ManifestOrderBy\n): ServiceManifestOrderBy | undefined {\n return orderBy === \"LastUpdatedOnAscending\"\n ? \"timeasc\"\n : orderBy === \"LastUpdatedOnDescending\"\n ? \"timedesc\"\n : undefined;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { OperationOptions } from \"@azure/core-client\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport \"@azure/core-paging\";\nimport { PageSettings, PagedAsyncIterableIterator } from \"@azure/core-paging\";\n\nimport {\n ArtifactTagProperties,\n ArtifactManifestProperties,\n TagOrderBy,\n TagPageResponse\n} from \"./models\";\nimport { URL } from \"./url\";\nimport { createSpan } from \"./tracing\";\nimport { GeneratedClient } from \"./generated\";\nimport { extractNextLink, isDigest } from \"./utils\";\nimport { toArtifactManifestProperties, toServiceTagOrderBy } from \"./transformations\";\n\n/**\n * Options for the `delete` method of `RegistryArtifact`.\n */\nexport interface DeleteArtifactOptions extends OperationOptions {}\n/**\n * Options for the `deleteTag` method of `RegistryArtifact`.\n */\nexport interface DeleteTagOptions extends OperationOptions {}\n/**\n * Options for the `getManifestProperties` method of `RegistryArtifact`.\n */\nexport interface GetManifestPropertiesOptions extends OperationOptions {}\n/**\n * Options for the `getTagProperties` method of `RegistryArtifact`.\n */\nexport interface GetTagPropertiesOptions extends OperationOptions {}\n\n/**\n * Options for the `updateTagProperties` method of `RegistryArtifact`.\n */\nexport interface UpdateTagPropertiesOptions extends OperationOptions {\n /** Delete enabled */\n canDelete?: boolean;\n /** Write enabled */\n canWrite?: boolean;\n /** List enabled */\n canList?: boolean;\n /** Read enabled */\n canRead?: boolean;\n}\n\n/**\n * Options for the `updateManifestProperties` method of `RegistryArtifact`.\n */\nexport interface UpdateManifestPropertiesOptions extends OperationOptions {\n /** Delete enabled */\n canDelete?: boolean;\n /** Write enabled */\n canWrite?: boolean;\n /** List enabled */\n canList?: boolean;\n /** Read enabled */\n canRead?: boolean;\n}\n\n/**\n * Options for the `listTagProperties` method of `RegistryArtifact`.\n */\nexport interface ListTagPropertiesOptions extends OperationOptions {\n /** orderby query parameter */\n orderBy?: TagOrderBy;\n}\n\n/**\n * The helper used to interact with the Container Registry artifact.\n */\nexport interface RegistryArtifact {\n /**\n * The Azure Container Registry endpoint.\n */\n readonly registryEndpoint: string;\n /**\n * Repository name.\n */\n readonly repositoryName: string;\n /**\n * fully qualified reference of the artifact.\n */\n readonly fullyQualifiedReference: string;\n /**\n * Deletes this artifact.\n * @param options -\n */\n delete(options?: DeleteArtifactOptions): Promise<void>;\n /**\n * Deletes a tag.\n * @param tag - the name of the tag to be deleted.\n * @param options -\n */\n deleteTag(tag: string, options?: DeleteTagOptions): Promise<void>;\n /**\n * Retrieves properties of this registry artifact.\n * @param options -\n */\n getManifestProperties(\n options?: GetManifestPropertiesOptions\n ): Promise<ArtifactManifestProperties>;\n /**\n * Updates manifest artifact attributes.\n * @param options -\n */\n updateManifestProperties(\n options?: UpdateManifestPropertiesOptions\n ): Promise<ArtifactManifestProperties>;\n /**\n * Retrieves properties of a tag.\n * @param tag - the tag to retrieve properties.\n * @param options -\n */\n getTagProperties(tag: string, options?: GetTagPropertiesOptions): Promise<ArtifactTagProperties>;\n /**\n * Updates tag properties.\n * @param tag - name of the tag\n * @param options -\n */\n updateTagProperties(\n tag: string,\n options: UpdateTagPropertiesOptions\n ): Promise<ArtifactTagProperties>;\n /**\n * Iterates tags.\n *\n * Example usage:\n * ```ts\n * const client = new ContainerRegistryClient(url, credentials);\n * const repository = client.getRepository(repositoryName);\n * const artifact = repository.getArtifact(digest)\n * for await (const tag of artifact.listTagProperties()) {\n * console.log(\"tag: \", tag);\n * }\n * ```\n * @param options -\n */\n listTagProperties(\n options?: ListTagPropertiesOptions\n ): PagedAsyncIterableIterator<ArtifactTagProperties>;\n}\n\n/**\n * The client class used to interact with the Container Registry service.\n * @internal\n */\nexport class RegistryArtifactImpl {\n private client: GeneratedClient;\n /**\n * The Azure Container Registry endpoint.\n */\n public readonly registryEndpoint: string;\n /**\n * Repository name.\n */\n public readonly repositoryName: string;\n\n /**\n * Name of the form 'registry-login-server/repository-name\\@digest' or\n * 'registry-login-server/repository-name:tag'\n */\n public readonly fullyQualifiedReference: string;\n\n private digest?: string;\n /**\n * Creates an instance of a RegistryArtifact.\n * @param registryEndpoint - the URL to the Container Registry endpoint\n * @param repositoryName - the name of the repository\n * @param tagOrDigest - the tag or digest of this artifact\n * @param client - the generated client that interacts with service\n */\n constructor(\n registryEndpoint: string,\n repositoryName: string,\n private tagOrDigest: string,\n client: GeneratedClient\n ) {\n this.registryEndpoint = registryEndpoint;\n this.repositoryName = repositoryName;\n\n const parsedUrl = new URL(registryEndpoint);\n if (isDigest(tagOrDigest)) {\n this.digest = tagOrDigest;\n this.fullyQualifiedReference = `${parsedUrl.hostname}/${repositoryName}@${this.digest}`;\n } else {\n this.fullyQualifiedReference = `${parsedUrl.hostname}/${repositoryName}:${tagOrDigest}`;\n }\n\n this.client = client;\n }\n\n /**\n * digest of this artifact.\n */\n private async getDigest(): Promise<string> {\n if (this.digest) {\n return this.digest;\n }\n\n if (!isDigest(this.tagOrDigest)) {\n this.digest = (await this.getTagProperties(this.tagOrDigest)).digest;\n } else {\n this.digest = this.tagOrDigest;\n }\n\n return this.digest;\n }\n\n /**\n * Deletes this artifact.\n * @param options -\n */\n public async delete(options: DeleteArtifactOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"RegistryArtifact-delete\", options);\n\n try {\n await this.client.containerRegistry.deleteManifest(\n this.repositoryName,\n await this.getDigest(),\n updatedOptions\n );\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a tag.\n * @param tag - the name of the tag to be deleted.\n * @param options -\n */\n public async deleteTag(tag: string, options: DeleteTagOptions = {}): Promise<void> {\n if (!tag) {\n throw new Error(\"invalid tag\");\n }\n\n const { span, updatedOptions } = createSpan(\"RegistryArtifact-deleteTag\", options);\n\n try {\n await this.client.containerRegistry.deleteTag(this.repositoryName, tag, updatedOptions);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves properties of this registry artifact.\n * @param options -\n */\n public async getManifestProperties(\n options: GetManifestPropertiesOptions = {}\n ): Promise<ArtifactManifestProperties> {\n const { span, updatedOptions } = createSpan(\"RegistryArtifact-getManifestProperties\", options);\n\n try {\n const result = await this.client.containerRegistry.getManifestProperties(\n this.repositoryName,\n await this.getDigest(),\n updatedOptions\n );\n return toArtifactManifestProperties(result, this.repositoryName, result.registryLoginServer!);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates manifest artifact attributes.\n * @param options -\n */\n public async updateManifestProperties(\n options: UpdateManifestPropertiesOptions = {}\n ): Promise<ArtifactManifestProperties> {\n const { span, updatedOptions } = createSpan(\"RegistryArtifact-updateManifestProperties\", {\n ...options,\n value: {\n canDelete: options.canDelete,\n canWrite: options.canWrite,\n canList: options.canList,\n canRead: options.canRead\n }\n });\n\n try {\n const result = await this.client.containerRegistry.updateManifestProperties(\n this.repositoryName,\n await this.getDigest(),\n updatedOptions\n );\n return toArtifactManifestProperties(result, this.repositoryName, result.registryLoginServer!);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves properties of a tag.\n * @param tag - the tag to retrieve properties.\n * @param options -\n */\n public async getTagProperties(\n tag: string,\n options: GetTagPropertiesOptions = {}\n ): Promise<ArtifactTagProperties> {\n if (!tag) {\n throw new Error(\"invalid tag\");\n }\n\n const { span, updatedOptions } = createSpan(\"RegistryArtifact-getTagProperties\", options);\n try {\n return await this.client.containerRegistry.getTagProperties(\n this.repositoryName,\n tag,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates tag properties.\n * @param tag - name of the tag\n * @param options -\n */\n public async updateTagProperties(\n tag: string,\n options: UpdateTagPropertiesOptions\n ): Promise<ArtifactTagProperties> {\n if (!tag) {\n throw new Error(\"invalid tag\");\n }\n\n const { span, updatedOptions } = createSpan(\"RegistryArtifact-updateTagProperties\", {\n ...options,\n value: {\n canDelete: options.canDelete,\n canWrite: options.canWrite,\n canList: options.canList,\n canRead: options.canRead\n }\n });\n\n try {\n return await this.client.containerRegistry.updateTagAttributes(\n this.repositoryName,\n tag,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates tags.\n *\n * Example usage:\n * ```ts\n * const client = new ContainerRegistryClient(url, credentials);\n * const repository = client.getRepository(repositoryName);\n * const artifact = repository.getArtifact(digest)\n * for await (const tag of artifact.listTagProperties()) {\n * console.log(\"tag: \", tag);\n * }\n * ```\n * @param options -\n */\n public listTagProperties(\n options: ListTagPropertiesOptions = {}\n ): PagedAsyncIterableIterator<ArtifactTagProperties, TagPageResponse> {\n const iter = this.listTagsItems(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => this.listTagsPage(settings, options)\n };\n }\n\n private async *listTagsItems(\n options: ListTagPropertiesOptions = {}\n ): AsyncIterableIterator<ArtifactTagProperties> {\n for await (const page of this.listTagsPage({}, options)) {\n yield* page;\n }\n }\n\n private async *listTagsPage(\n continuationState: PageSettings,\n options: ListTagPropertiesOptions = {}\n ): AsyncIterableIterator<TagPageResponse> {\n const orderby = toServiceTagOrderBy(options.orderBy);\n if (!continuationState.continuationToken) {\n const optionsComplete = {\n ...options,\n n: continuationState.maxPageSize,\n orderby\n };\n const currentPage = await this.client.containerRegistry.getTags(\n this.repositoryName,\n optionsComplete\n );\n continuationState.continuationToken = extractNextLink(currentPage.link);\n if (currentPage.tagAttributeBases) {\n const array = currentPage.tagAttributeBases.map((t) => {\n return {\n registryLoginServer: currentPage.registryLoginServer,\n repositoryName: currentPage.repository,\n ...t\n };\n });\n yield Object.defineProperty(array, \"continuationToken\", {\n value: continuationState.continuationToken,\n enumerable: true\n });\n }\n }\n while (continuationState.continuationToken) {\n const currentPage = await this.client.containerRegistry.getTagsNext(\n this.repositoryName,\n continuationState.continuationToken,\n options\n );\n continuationState.continuationToken = extractNextLink(currentPage.link);\n if (currentPage.tagAttributeBases) {\n const array = currentPage.tagAttributeBases.map((t) => {\n return {\n registryLoginServer: currentPage.registryLoginServer,\n repositoryName: currentPage.repository,\n ...t\n };\n });\n yield Object.defineProperty(array, \"continuationToken\", {\n value: continuationState.continuationToken,\n enumerable: true\n });\n }\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { OperationOptions } from \"@azure/core-client\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport \"@azure/core-paging\";\nimport { PageSettings, PagedAsyncIterableIterator } from \"@azure/core-paging\";\n\nimport { GeneratedClient, RepositoryWriteableProperties } from \"./generated\";\nimport { createSpan } from \"./tracing\";\nimport {\n ManifestOrderBy,\n ContainerRepositoryProperties,\n ArtifactManifestProperties,\n ManifestPageResponse\n} from \"./models\";\nimport { RegistryArtifact, RegistryArtifactImpl } from \"./registryArtifact\";\nimport { toArtifactManifestProperties, toServiceManifestOrderBy } from \"./transformations\";\nimport { extractNextLink } from \"./utils\";\n\n/**\n * Options for delete repository operation.\n */\nexport interface DeleteRepositoryOptions extends OperationOptions {}\n/**\n * Options for the `listRegistryArtifacts` method of `ContainerRepository`.\n */\nexport interface ListManifestPropertiesOptions extends OperationOptions {\n /** orderby query parameter */\n orderBy?: ManifestOrderBy;\n}\n/**\n * Options for the `getProperties` method of `ContainerRepository`.\n */\nexport interface GetRepositoryPropertiesOptions extends OperationOptions {}\n/**\n * Options for the `setProperties` method of `ContainerRepository`.\n */\nexport interface UpdateRepositoryPropertiesOptions extends OperationOptions {\n /** Delete enabled */\n canDelete?: boolean;\n /** Write enabled */\n canWrite?: boolean;\n /** List enabled */\n canList?: boolean;\n /** Read enabled */\n canRead?: boolean;\n /** Enables Teleport functionality on new images in the repository improving Container startup performance */\n teleportEnabled?: boolean;\n}\n\n/**\n * The helper used to interact with the Container Registry service.\n */\nexport interface ContainerRepository {\n /**\n * The Azure Container Registry endpoint.\n */\n readonly registryEndpoint: string;\n /**\n * Repository name.\n */\n readonly name: string;\n /**\n * Deletes this repository.\n *\n * @param options - optional configuration for the operation\n */\n delete(options?: DeleteRepositoryOptions): Promise<void>;\n /**\n * Returns an instance of RegistryArtifact.\n * @param tagOrDigest - the tag or digest of the artifact\n */\n getArtifact(tagOrDigest: string): RegistryArtifact;\n /**\n * Retrieves properties of this repository.\n * @param options -\n */\n getProperties(options?: GetRepositoryPropertiesOptions): Promise<ContainerRepositoryProperties>;\n /**\n * Updates repository attributes.\n * @param options -\n */\n updateProperties(\n options: UpdateRepositoryPropertiesOptions\n ): Promise<ContainerRepositoryProperties>;\n /**\n * Iterates manifests.\n *\n * Example usage:\n * ```ts\n * const client = new ContainerRegistryClient(url, credentials);\n * const repository = client.getRepository(repositoryName)\n * for await (const manifest of repository.listManifestProperties()) {\n * console.log(\"manifest: \", manifest);\n * }\n * ```\n * @param options -\n */\n listManifestProperties(\n options?: ListManifestPropertiesOptions\n ): PagedAsyncIterableIterator<ArtifactManifestProperties>;\n}\n\n/**\n * The client class used to interact with the Container Registry service.\n * @internal\n */\nexport class ContainerRepositoryImpl {\n private readonly client: GeneratedClient;\n /**\n * The Azure Container Registry endpoint.\n */\n public readonly registryEndpoint: string;\n /**\n * Repository name.\n */\n public readonly name: string;\n\n /**\n * Creates an instance of a ContainerRepository.\n * @param registryEndpoint - the URL to the Container Registry endpoint\n * @param name - the name of the repository\n * @param client - the generated client that interacts with service\n */\n constructor(registryEndpoint: string, name: string, client: GeneratedClient) {\n this.registryEndpoint = registryEndpoint;\n this.name = name;\n\n this.client = client;\n }\n\n /**\n * Deletes this repository.\n *\n * @param options - optional configuration for the operation\n */\n public async delete(options: DeleteRepositoryOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ContainerRepository-delete\", options);\n\n try {\n await this.client.containerRegistry.deleteRepository(this.name, updatedOptions);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Returns an instance of RegistryArtifact.\n * @param tagOrDigest - the tag or digest of the artifact\n */\n public getArtifact(tagOrDigest: string): RegistryArtifact {\n if (!tagOrDigest) {\n throw new Error(\"invalid tagOrDigest\");\n }\n return new RegistryArtifactImpl(this.registryEndpoint, this.name, tagOrDigest, this.client);\n }\n\n /**\n * Retrieves properties of this repository.\n * @param options -\n */\n public async getProperties(\n options: GetRepositoryPropertiesOptions = {}\n ): Promise<ContainerRepositoryProperties> {\n const { span, updatedOptions } = createSpan(\"ContainerRepository-getProperties\", options);\n\n try {\n return await this.client.containerRegistry.getProperties(this.name, updatedOptions);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates repository attributes.\n * @param options -\n */\n public async updateProperties(\n options: UpdateRepositoryPropertiesOptions\n ): Promise<ContainerRepositoryProperties> {\n const value: RepositoryWriteableProperties = {\n canDelete: options.canDelete,\n canWrite: options.canWrite,\n canList: options.canList,\n canRead: options.canRead,\n teleportEnabled: options.teleportEnabled\n };\n const { span, updatedOptions } = createSpan(\"ContainerRepository-updateProperties\", {\n ...options,\n value\n });\n\n try {\n return await this.client.containerRegistry.updateProperties(this.name, updatedOptions);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates manifests.\n *\n * Example usage:\n * ```ts\n * const client = new ContainerRegistryClient(url, credentials);\n * const repository = client.getRepository(repositoryName)\n * for await (const manifest of repository.listManifestProperties()) {\n * console.log(\"manifest: \", manifest);\n * }\n * ```\n * @param options -\n */\n public listManifestProperties(\n options: ListManifestPropertiesOptions = {}\n ): PagedAsyncIterableIterator<ArtifactManifestProperties, ManifestPageResponse> {\n const iter = this.listManifestsItems(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => this.listManifestsPage(settings, options)\n };\n }\n\n private async *listManifestsItems(\n options: ListManifestPropertiesOptions = {}\n ): AsyncIterableIterator<ArtifactManifestProperties> {\n for await (const page of this.listManifestsPage({}, options)) {\n yield* page;\n }\n }\n\n private async *listManifestsPage(\n continuationState: PageSettings,\n options: ListManifestPropertiesOptions = {}\n ): AsyncIterableIterator<ManifestPageResponse> {\n const orderby = toServiceManifestOrderBy(options.orderBy);\n if (!continuationState.continuationToken) {\n const optionsComplete = {\n ...options,\n n: continuationState.maxPageSize,\n orderby\n };\n const currentPage = await this.client.containerRegistry.getManifests(\n this.name,\n optionsComplete\n );\n continuationState.continuationToken = extractNextLink(currentPage.link);\n if (currentPage.manifests) {\n const array = currentPage.manifests.map((t) =>\n toArtifactManifestProperties(t, this.name, currentPage.registryLoginServer!)\n );\n yield Object.defineProperty(array, \"continuationToken\", {\n value: continuationState.continuationToken,\n enumerable: true\n });\n }\n }\n while (continuationState.continuationToken) {\n const currentPage = await this.client.containerRegistry.getManifestsNext(\n this.name,\n continuationState.continuationToken,\n options\n );\n continuationState.continuationToken = extractNextLink(currentPage.link);\n if (currentPage.manifests) {\n const array = currentPage.manifests.map((t) =>\n toArtifactManifestProperties(t, this.name, currentPage.registryLoginServer!)\n );\n yield Object.defineProperty(array, \"continuationToken\", {\n value: continuationState.continuationToken,\n enumerable: true\n });\n }\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Base64 decode\n *\n * @internal\n * @param encodedString -\n * @returns\n */\nexport function base64decode(encodedString: string): string {\n return Buffer.from(encodedString, \"base64\").toString();\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createSerializer, OperationOptions, OperationSpec } from \"@azure/core-client\";\nimport { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport { AcrAccessToken, AcrRefreshToken, GeneratedClient } from \"./generated\";\nimport * as Mappers from \"./generated/models/mappers\";\nimport * as Parameters from \"./generated/models/parameters\";\nimport { base64decode } from \"./base64\";\n\nexport interface ContainerRegistryGetTokenOptions extends GetTokenOptions {\n service: string;\n}\n\nexport class ContainerRegistryRefreshTokenCredential implements TokenCredential {\n readonly tokenService: ContainerRegistryTokenService;\n readonly isAnonymousAccess: boolean;\n constructor(\n authClient: GeneratedClient,\n private authenticationScope: string,\n private credential?: TokenCredential\n ) {\n this.tokenService = new ContainerRegistryTokenService(authClient);\n this.isAnonymousAccess = !this.credential;\n }\n\n async getToken(\n _scopes: string | string[],\n options: ContainerRegistryGetTokenOptions\n ): Promise<AccessToken | null> {\n if (!this.credential) {\n return null;\n }\n\n const aadToken = await this.credential.getToken(this.authenticationScope, options);\n if (!aadToken) {\n throw new Error(\"Failed to retrieve AAD token.\");\n }\n\n return this.tokenService.ExchangeAadAccessTokenForAcrRefreshTokenAsync(\n aadToken.token,\n options.service,\n options\n );\n }\n}\n\nconst customExchangeAadTokenForAcrRefreshTokenOperationSpec: OperationSpec = {\n path: \"/oauth2/exchange\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.AcrRefreshToken\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n // formDataParameters: [Parameters.aadAccesstoken],\n requestBody: {\n parameterPath: [\"options\", \"payload\"],\n mapper: {\n type: {\n name: \"Stream\"\n }\n }\n },\n urlParameters: [Parameters.url],\n headerParameters: [Parameters.contentType3, Parameters.accept4],\n serializer: createSerializer(Mappers, /* isXml */ false)\n};\n\ninterface CustomAuthOptions extends OperationOptions {\n payload: string;\n}\n\nconst customExchangeAcrRefreshTokenForAcrAccessTokenOperationSpec: OperationSpec = {\n path: \"/oauth2/token\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.AcrAccessToken\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n // formDataParameters: [Parameters.acrRefreshToken],\n requestBody: {\n parameterPath: [\"options\", \"payload\"],\n mapper: {\n type: {\n name: \"Stream\"\n }\n }\n },\n urlParameters: [Parameters.url],\n headerParameters: [Parameters.contentType3, Parameters.accept4],\n serializer: createSerializer(Mappers, /* isXml */ false)\n};\n\nexport class ContainerRegistryTokenService {\n constructor(private authClient: GeneratedClient) {}\n\n async ExchangeAadAccessTokenForAcrRefreshTokenAsync(\n aadAccessToken: string,\n service: string,\n options: GetTokenOptions\n ): Promise<AccessToken> {\n // const acrRefreshToken = await this.authClient.authentication.exchangeAadTokenForAcrRefreshToken(\n // {\n // aadAccesstoken: {\n // grantType: \"access_token\",\n // service,\n // aadAccesstoken: aadAccessToken,\n // }\n // }\n // );\n\n // TODO: (jeremymeng) revert custom sendOperationRequest call after FormData is working in core\n const payload = `grant_type=access_token&service=${encodeURIComponent(\n service\n )}&access_token=${encodeURIComponent(aadAccessToken)}`;\n const customOptions: CustomAuthOptions = {\n payload\n };\n const acrRefreshToken = await this.authClient.sendOperationRequest<AcrRefreshToken>(\n { options: { ...options, ...customOptions } },\n customExchangeAadTokenForAcrRefreshTokenOperationSpec\n );\n\n if (!acrRefreshToken.refreshToken) {\n throw new Error(\"Failed to exchange AAD access token for an ACR refresh token.\");\n }\n\n // ACR refresh token expires after three hours\n const jwtParts = acrRefreshToken.refreshToken.split(\".\");\n if (jwtParts.length < 3) {\n throw new Error(\"Invalid JWT structure from ACR refresh token.\");\n }\n if (!jwtParts[1]) {\n throw new Error(\"Invalid JWT payload.\");\n }\n\n const jwtPayload = JSON.parse(base64decode(jwtParts[1]));\n if (!jwtPayload.exp) {\n throw new Error(\"Invalid JWT payload structure. No expiration.\");\n }\n\n // JWT expiry is in seconds\n const expiry = Number.parseInt(jwtPayload.exp) * 1000;\n return {\n token: acrRefreshToken.refreshToken,\n expiresOnTimestamp: expiry\n };\n }\n\n async ExchangeAcrRefreshTokenForAcrAccessTokenAsync(\n acrRefreshToken: string,\n service: string,\n scope: string,\n grantType: \"refresh_token\" | \"password\",\n options: GetTokenOptions\n ): Promise<string> {\n // const acrAccessToken = await this.authClient.authentication.exchangeAcrRefreshTokenForAcrAccessToken(\n // {\n // acrRefreshToken: {\n // grantType: \"refresh_token\",\n // acrRefreshToken,\n // service,\n // scope\n // }\n // }\n // );\n\n // TODO: (jeremymeng) revert custom sendOperationRequest call after FormData is working in core\n const payload = `grant_type=${grantType}&service=${encodeURIComponent(service)}&refresh_token=${\n acrRefreshToken ? encodeURIComponent(acrRefreshToken) : \"\"\n }&scope=${encodeURIComponent(scope)}`;\n const customOptions: CustomAuthOptions = {\n payload\n };\n const acrAccessToken = await this.authClient.sendOperationRequest<AcrAccessToken>(\n { options: { ...options, ...customOptions } },\n customExchangeAcrRefreshTokenForAcrAccessTokenOperationSpec\n );\n\n if (!acrAccessToken.accessToken) {\n throw new Error(\"Failed to exchange ACR refresh token for an ACR access token\");\n }\n return acrAccessToken.accessToken;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { isTokenCredential, TokenCredential } from \"@azure/core-auth\";\nimport {\n InternalPipelineOptions,\n bearerTokenAuthenticationPolicy,\n PipelineOptions\n} from \"@azure/core-rest-pipeline\";\nimport { OperationOptions } from \"@azure/core-client\";\n\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport \"@azure/core-paging\";\nimport { PageSettings, PagedAsyncIterableIterator } from \"@azure/core-paging\";\n\nimport { SDK_VERSION } from \"./constants\";\nimport { logger } from \"./logger\";\nimport { GeneratedClient } from \"./generated\";\nimport { createSpan } from \"./tracing\";\nimport { RepositoryPageResponse } from \"./models\";\nimport { extractNextLink } from \"./utils\";\nimport { ChallengeHandler } from \"./containerRegistryChallengeHandler\";\nimport {\n ContainerRepository,\n ContainerRepositoryImpl,\n DeleteRepositoryOptions\n} from \"./containerRepository\";\nimport { RegistryArtifact } from \"./registryArtifact\";\nimport { ContainerRegistryRefreshTokenCredential } from \"./containerRegistryTokenCredential\";\n\n/**\n * Client options used to configure Container Registry Repository API requests.\n */\nexport interface ContainerRegistryClientOptions extends PipelineOptions {\n /**\n * Gets or sets the authentication scope to use for authentication with AAD.\n * This defaults to the Azure Resource Manager \"Azure Global\" scope. To\n * connect to a different cloud, set this value to \"&lt;resource-id&gt;/.default\",\n * where &lt;resource-id&gt; is one of the Resource IDs listed at\n * https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/services-support-managed-identities#azure-resource-manager.\n * For example, to connect to the Azure Germany cloud, create a client with\n * this set to \"https://management.microsoftazure.de/.default\".\n */\n authenticationScope?: string;\n}\n\n/**\n * Options for the `listRepositories` method of `ContainerRegistryClient`.\n */\nexport interface ListRepositoriesOptions extends OperationOptions {}\n\n/**\n * The client class used to interact with the Container Registry service.\n */\nexport class ContainerRegistryClient {\n /**\n * The Azure Container Registry endpoint.\n */\n public readonly endpoint: string;\n\n private client: GeneratedClient;\n\n /**\n * Creates an instance of a ContainerRegistryClient.\n *\n * Example usage:\n * ```ts\n * import { ContainerRegistryClient } from \"@azure/container-registry\";\n * import { DefaultAzureCredential} from \"@azure/identity\";\n *\n * const client = new ContainerRegistryClient(\n * \"<container registry API endpoint>\",\n * new DefaultAzureCredential()\n * );\n * ```\n * @param endpoint - the URL to the Container Registry endpoint\n * @param credential - used to authenticate requests to the service\n * @param options - optional configuration used to send requests to the service\n */\n constructor(\n endpoint: string,\n credential: TokenCredential,\n options?: ContainerRegistryClientOptions\n );\n\n /**\n * Creates an instance of a ContainerRegistryClient to interact with\n * an Azure Container Registry that has anonymous pull access enabled.\n *\n * Example usage:\n * ```ts\n * import { ContainerRegistryClient } from \"@azure/container-registry\";\n *\n * const client = new ContainerRegistryClient(\n * \"<container registry API endpoint>\",\n * );\n * ```\n * @param endpoint - the URL to the Container Registry endpoint\n * @param options - optional configuration used to send requests to the service\n */\n constructor(endpoint: string, options?: ContainerRegistryClientOptions);\n\n constructor(\n endpoint: string,\n credentialOrOptions?: TokenCredential | ContainerRegistryClientOptions,\n clientOptions: ContainerRegistryClientOptions = {}\n ) {\n if (!endpoint) {\n throw new Error(\"invalid endpoint\");\n }\n\n this.endpoint = endpoint;\n\n let credential: TokenCredential | undefined;\n let options: ContainerRegistryClientOptions | undefined;\n if (isTokenCredential(credentialOrOptions)) {\n credential = credentialOrOptions;\n options = clientOptions;\n } else {\n options = credentialOrOptions ?? {};\n }\n\n // The below code helps us set a proper User-Agent header on all requests\n const libInfo = `azsdk-js-container-registry/${SDK_VERSION}`;\n if (!options.userAgentOptions) {\n options.userAgentOptions = {};\n }\n if (options.userAgentOptions.userAgentPrefix) {\n options.userAgentOptions.userAgentPrefix = `${options.userAgentOptions.userAgentPrefix} ${libInfo}`;\n } else {\n options.userAgentOptions.userAgentPrefix = libInfo;\n }\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...options,\n loggingOptions: {\n logger: logger.info,\n // This array contains header names we want to log that are not already\n // included as safe. Unknown/unsafe headers are logged as \"<REDACTED>\".\n additionalAllowedQueryParameters: [\"last\", \"n\", \"orderby\", \"digest\"]\n }\n };\n const authScope = options.authenticationScope ?? \"https://management.azure.com/.default\";\n const authClient = new GeneratedClient(endpoint, internalPipelineOptions);\n this.client = new GeneratedClient(endpoint, internalPipelineOptions);\n this.client.pipeline.addPolicy(\n bearerTokenAuthenticationPolicy({\n credential,\n scopes: [authScope],\n challengeCallbacks: new ChallengeHandler(\n new ContainerRegistryRefreshTokenCredential(authClient, authScope, credential)\n )\n })\n );\n }\n\n /**\n * Deletes the repository identified by the given name.\n *\n * @param repositoryName - the name of repository to delete\n * @param options - optional configuration for the operation\n */\n public async deleteRepository(\n repositoryName: string,\n options: DeleteRepositoryOptions = {}\n ): Promise<void> {\n if (!repositoryName) {\n throw new Error(\"invalid repositoryName\");\n }\n\n const { span, updatedOptions } = createSpan(\n \"ContainerRegistryClient-deleteRepository\",\n options\n );\n\n try {\n await this.client.containerRegistry.deleteRepository(repositoryName, updatedOptions);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Returns an artifact for given repository name, and a tag or digest.\n *\n * @param repositoryName - the name of repository\n * @param tagOrDigest - tag or digest of the artifact to retrieve\n */\n public getArtifact(repositoryName: string, tagOrDigest: string): RegistryArtifact {\n if (!repositoryName) {\n throw new Error(\"invalid repositoryName\");\n }\n if (!tagOrDigest) {\n throw new Error(\"invalid tagOrDigest\");\n }\n\n return new ContainerRepositoryImpl(this.endpoint, repositoryName, this.client).getArtifact(\n tagOrDigest\n );\n }\n\n /**\n * Returns a ContainerRepositoryClient instance for the given repository.\n *\n * @param repositoryName - the name of repository to delete\n * @param options - optional configuration for the operation\n */\n public getRepository(repositoryName: string): ContainerRepository {\n if (!repositoryName) {\n throw new Error(\"invalid repositoryName\");\n }\n\n return new ContainerRepositoryImpl(this.endpoint, repositoryName, this.client);\n }\n\n /**\n * Iterates repositories.\n *\n * Example usage:\n * ```ts\n * let client = new ContainerRegistryClient(url, credentials);\n * for await (const repository of client.listRepositoryNames()) {\n * console.log(\"repository name: \", repository);\n * }\n * ```\n * @param options -\n */\n public listRepositoryNames(\n options: ListRepositoriesOptions = {}\n ): PagedAsyncIterableIterator<string, RepositoryPageResponse> {\n const iter = this.listRepositoryItems(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => this.listRepositoriesPage(settings, options)\n };\n }\n\n private async *listRepositoryItems(\n options: ListRepositoriesOptions = {}\n ): AsyncIterableIterator<string> {\n for await (const page of this.listRepositoriesPage({}, options)) {\n yield* page;\n }\n }\n\n private async *listRepositoriesPage(\n continuationState: PageSettings,\n options: ListRepositoriesOptions = {}\n ): AsyncIterableIterator<RepositoryPageResponse> {\n if (!continuationState.continuationToken) {\n const optionsComplete = {\n ...options,\n n: continuationState.maxPageSize\n };\n const currentPage = await this.client.containerRegistry.getRepositories(optionsComplete);\n continuationState.continuationToken = extractNextLink(currentPage.link);\n if (currentPage.repositories) {\n const array = currentPage.repositories;\n yield Object.defineProperty(array, \"continuationToken\", {\n value: continuationState.continuationToken,\n enumerable: true\n });\n }\n }\n while (continuationState.continuationToken) {\n const currentPage = await this.client.containerRegistry.getRepositoriesNext(\n continuationState.continuationToken,\n options\n );\n continuationState.continuationToken = extractNextLink(currentPage.link);\n if (currentPage.repositories) {\n const array = currentPage.repositories;\n yield Object.defineProperty(array, \"continuationToken\", {\n value: continuationState.continuationToken,\n enumerable: true\n });\n }\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport { ContainerRepositoryProperties, ArtifactTagProperties } from \"./generated\";\n\nimport { ArtifactTagProperties } from \"./generated\";\n\n/**\n * Defines known {@link ArtifactArchitecture} that the service supports.\n */\nexport enum KnownArtifactArchitecture {\n I386 = \"386\",\n Amd64 = \"amd64\",\n Arm = \"arm\",\n Arm64 = \"arm64\",\n Mips = \"mips\",\n MipsLe = \"mipsle\",\n Mips64 = \"mips64\",\n Mips64Le = \"mips64le\",\n Ppc64 = \"ppc64\",\n Ppc64Le = \"ppc64le\",\n RiscV64 = \"riscv64\",\n S390X = \"s390x\",\n Wasm = \"wasm\"\n}\n\n/**\n * Defines known {@link ArtifactOperatingSystem} values that the service supports.\n */\nexport enum KnownArtifactOperatingSystem {\n Aix = \"aix\",\n Android = \"android\",\n Darwin = \"darwin\",\n Dragonfly = \"dragonfly\",\n FreeBsd = \"freebsd\",\n Illumos = \"illumos\",\n iOS = \"ios\",\n JS = \"js\",\n Linux = \"linux\",\n NetBsd = \"netbsd\",\n OpenBsd = \"openbsd\",\n Plan9 = \"plan9\",\n Solaris = \"solaris\",\n Windows = \"windows\"\n}\n\n/** Manifest attributes details */\nexport interface ArtifactManifestPlatform {\n /**\n * Manifest digest\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly digest: string;\n /**\n * CPU architecture. See {@link KnownArtifactArchitecture} for values supported by the service.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly architecture?: string;\n /**\n * Operating system. See {@link KnownArtifactOperatingSystem} for values supported by the service.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly operatingSystem?: string;\n}\n\n/** Manifest attributes details */\nexport interface ArtifactManifestProperties {\n /**\n * Registry login server name. This is likely to be similar to <registry-name>.azurecr.io\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly registryLoginServer: string;\n /**\n * Repository name\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly repositoryName: string;\n /**\n * Manifest\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly digest: string;\n /**\n * Image size\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly size?: number;\n /**\n * Created time\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly createdOn: Date;\n /**\n * Last update time\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly lastUpdatedOn: Date;\n /**\n * CPU architecture. See {@link KnownArtifactArchitecture} for values supported by the service.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly architecture?: string;\n /**\n * Operating system. See {@link KnownArtifactOperatingSystem} for values supported by the service.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly operatingSystem?: string;\n /**\n * List of manifests referenced by this manifest list. List will be empty if this manifest is not a manifest list.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly relatedArtifacts: ArtifactManifestPlatform[];\n /**\n * List of tags\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly tags: string[];\n /** Delete enabled */\n canDelete?: boolean;\n /** Write enabled */\n canWrite?: boolean;\n /** List enabled */\n canList?: boolean;\n /** Read enabled */\n canRead?: boolean;\n}\n\n/**\n * Defines values for TagOrderBy.\n * this contains the known values that the service supports.\n * ### Know values supported by the service\n * **LastUpdatedOnDescending**: Order tags by LastUpdatedOn field, from most recently updated to least recently updated.\n * **LastUpdatedOnAscending**: Order tags by LastUpdatedOn field, from least recently updated to most recently updated.\n */\nexport type TagOrderBy = \"LastUpdatedOnDescending\" | \"LastUpdatedOnAscending\";\n\n/**\n * Defines values for RegistryArtifactOrderBy.\n * this contains the known values that the service supports.\n * ### Know values supported by the service\n * **LastUpdatedOnDescending**: Order registry artifacts by LastUpdatedOn field, from most recently updated to least recently updated.\n * **LastUpdatedOnAscending**: Order registry artifacts by LastUpdatedOn field, from least recently updated to most recently updated.\n */\nexport type ManifestOrderBy = \"LastUpdatedOnDescending\" | \"LastUpdatedOnAscending\";\n\n/**\n * Contains response data for the listRepositoryNames operation.\n */\nexport interface RepositoryPageResponse extends Array<string> {\n /**\n * Continuation token to pass to `byPage()` to resume listing of more results if available.\n */\n continuationToken?: string;\n}\n\n/**\n * Contains response data for the listManifests operation.\n */\nexport interface ManifestPageResponse extends Array<ArtifactManifestProperties> {\n /**\n * Continuation token to pass to `byPage()` to resume listing of more results if available.\n */\n continuationToken?: string;\n}\n\n/**\n * Contains response data for the listTags operation.\n */\nexport interface TagPageResponse extends Array<ArtifactTagProperties> {\n /**\n * Continuation token to pass to `byPage()` to resume listing of more results if available.\n */\n continuationToken?: string;\n}\n"],"names":["createClientLogger","ManifestMapper","RepositoryWriteablePropertiesMapper","TagWriteablePropertiesMapper","ManifestWriteablePropertiesMapper","Paths108HwamOauth2ExchangePostRequestbodyContentApplicationXWwwFormUrlencodedSchemaMapper","PathsV3R3RxOauth2TokenPostRequestbodyContentApplicationXWwwFormUrlencodedSchemaMapper","coreClient.createSerializer","Mappers.AcrErrors","Parameters.url","Parameters.accept","Mappers.Manifest","Parameters.name","Parameters.reference","Parameters.accept1","Mappers.ContainerRegistryCreateManifestHeaders","Parameters.payload","Parameters.contentType","Mappers.Repositories","Mappers.ContainerRegistryGetRepositoriesHeaders","Parameters.last","Parameters.n","Mappers.ContainerRepositoryProperties","Parameters.value","Parameters.contentType1","Mappers.TagList","Mappers.ContainerRegistryGetTagsHeaders","Parameters.orderby","Parameters.digest","Mappers.ArtifactTagProperties","Parameters.value1","Mappers.AcrManifests","Mappers.ContainerRegistryGetManifestsHeaders","Mappers.ArtifactManifestProperties","Parameters.digest1","Parameters.value2","Mappers.ContainerRegistryGetRepositoriesNextHeaders","Parameters.nextLink","Mappers.ContainerRegistryGetTagsNextHeaders","Mappers.ContainerRegistryGetManifestsNextHeaders","serializer","Mappers.ContainerRegistryBlobGetBlobHeaders","Parameters.accept2","Mappers.ContainerRegistryBlobCheckBlobExistsHeaders","Mappers.ContainerRegistryBlobDeleteBlobHeaders","Mappers.ContainerRegistryBlobMountBlobHeaders","Parameters.fromParam","Parameters.mount","Mappers.ContainerRegistryBlobGetUploadStatusHeaders","Parameters.location","Mappers.ContainerRegistryBlobUploadChunkHeaders","Parameters.value3","Parameters.contentType2","Parameters.accept3","Mappers.ContainerRegistryBlobCompleteUploadHeaders","Parameters.value4","Parameters.digest2","Mappers.ContainerRegistryBlobStartUploadHeaders","Mappers.ContainerRegistryBlobGetChunkHeaders","Parameters.range","Mappers.ContainerRegistryBlobCheckChunkExistsHeaders","Mappers.AcrRefreshToken","Parameters.aadAccessToken","Parameters.contentType3","Parameters.accept4","Mappers.AcrAccessToken","Parameters.acrRefreshToken","coreClient.ServiceClient","createSpanFunction","URL","SpanStatusCode","__asyncValues","__asyncDelegator","createSerializer","isTokenCredential","bearerTokenAuthenticationPolicy","KnownArtifactArchitecture","KnownArtifactOperatingSystem"],"mappings":";;;;;;;;;;;;;AAAA;AACA;AAEO,MAAM,WAAW,GAAW,cAAc;;ACHjD;AACA,AAIA;;;;;AAKA,AAAO,MAAM,MAAM,GAAGA,2BAAkB,CAAC,oBAAoB,CAAC,CAAC;;ACV/D;;;;;;;AAUA,AAAO,MAAM,SAAS,GAA+B;IACnD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,WAAW;QACtB,eAAe,EAAE;YACf,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,cAAc;yBAC1B;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,YAAY,GAA+B;IACtD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,cAAc;QACzB,eAAe,EAAE;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE;oBACJ,IAAI,EAAE,KAAK;iBACZ;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,QAAQ,GAA+B;IAClD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,UAAU;QACrB,eAAe,EAAE;YACf,aAAa,EAAE;gBACb,cAAc,EAAE,eAAe;gBAC/B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,YAAY,GAA+B;IACtD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,cAAc;QACzB,eAAe,EAAE;YACf,YAAY,EAAE;gBACZ,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,6BAA6B,GAA+B;IACvE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,+BAA+B;QAC1C,eAAe,EAAE;YACf,mBAAmB,EAAE;gBACnB,cAAc,EAAE,UAAU;gBAC1B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,WAAW;gBAC3B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,aAAa;gBAC7B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,aAAa,EAAE;gBACb,cAAc,EAAE,gBAAgB;gBAChC,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,aAAa,EAAE;gBACb,cAAc,EAAE,eAAe;gBAC/B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,oCAAoC;gBACpD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,mCAAmC;gBACnD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,kCAAkC;gBAClD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,kCAAkC;gBAClD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,sCAAsC;gBACtD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,6BAA6B,GAA+B;IACvE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,+BAA+B;QAC1C,eAAe,EAAE;YACf,SAAS,EAAE;gBACT,cAAc,EAAE,eAAe;gBAC/B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,iBAAiB;gBACjC,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,OAAO,GAA+B;IACjD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE;YACf,mBAAmB,EAAE;gBACnB,cAAc,EAAE,UAAU;gBAC1B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,UAAU,EAAE;gBACV,cAAc,EAAE,WAAW;gBAC3B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,iBAAiB,EAAE;gBACjB,cAAc,EAAE,MAAM;gBACtB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,mBAAmB;yBAC/B;qBACF;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,iBAAiB,GAA+B;IAC3D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,mBAAmB;QAC9B,eAAe,EAAE;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,aAAa;gBAC7B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,aAAa,EAAE;gBACb,cAAc,EAAE,gBAAgB;gBAChC,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,oCAAoC;gBACpD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,mCAAmC;gBACnD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,kCAAkC;gBAClD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,kCAAkC;gBAClD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,sBAAsB,GAA+B;IAChE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,wBAAwB;QACnC,eAAe,EAAE;YACf,SAAS,EAAE;gBACT,cAAc,EAAE,eAAe;gBAC/B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,qBAAqB,GAA+B;IAC/D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,uBAAuB;QAClC,eAAe,EAAE;YACf,mBAAmB,EAAE;gBACnB,cAAc,EAAE,UAAU;gBAC1B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,cAAc,EAAE;gBACd,cAAc,EAAE,WAAW;gBAC3B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,UAAU;gBAC1B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,MAAM,EAAE;gBACN,cAAc,EAAE,YAAY;gBAC5B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,aAAa,EAAE;gBACb,cAAc,EAAE,oBAAoB;gBACpC,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,wCAAwC;gBACxD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,uCAAuC;gBACvD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,sCAAsC;gBACtD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,sCAAsC;gBACtD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,YAAY,GAA+B;IACtD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,cAAc;QACzB,eAAe,EAAE;YACf,mBAAmB,EAAE;gBACnB,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,UAAU,EAAE;gBACV,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,wBAAwB;yBACpC;qBACF;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,sBAAsB,GAA+B;IAChE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,wBAAwB;QACnC,eAAe,EAAE;YACf,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,WAAW;gBAC3B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,aAAa;gBAC7B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,aAAa,EAAE;gBACb,cAAc,EAAE,gBAAgB;gBAChC,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,YAAY,EAAE;gBACZ,cAAc,EAAE,cAAc;gBAC9B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,gBAAgB,EAAE;gBAChB,cAAc,EAAE,YAAY;gBAC5B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,0BAA0B;yBACtC;qBACF;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,oCAAoC;gBACpD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,mCAAmC;gBACnD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,kCAAkC;gBAClD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,kCAAkC;gBAClD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,sCAAsC;gBACtD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,iBAAiB,EAAE;gBACjB,cAAc,EAAE,wCAAwC;gBACxD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,wBAAwB,GAA+B;IAClE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,0BAA0B;QACrC,eAAe,EAAE;YACf,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,YAAY,EAAE;gBACZ,cAAc,EAAE,cAAc;gBAC9B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,2BAA2B,GAA+B;IACrE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,6BAA6B;QACxC,eAAe,EAAE;YACf,SAAS,EAAE;gBACT,cAAc,EAAE,eAAe;gBAC/B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,iBAAiB;gBACjC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,iBAAiB,EAAE;gBACjB,cAAc,EAAE,mBAAmB;gBACnC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,0BAA0B,GAA+B;IACpE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,4BAA4B;QACvC,eAAe,EAAE;YACf,mBAAmB,EAAE;gBACnB,cAAc,EAAE,UAAU;gBAC1B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,cAAc,EAAE;gBACd,cAAc,EAAE,WAAW;gBAC3B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,MAAM,EAAE;gBACN,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,oBAAoB;gBACpC,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,sBAAsB;gBACtC,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,aAAa,EAAE;gBACb,cAAc,EAAE,yBAAyB;gBACzC,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,YAAY,EAAE;gBACZ,cAAc,EAAE,uBAAuB;gBACvC,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,aAAa;gBAC7B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,gBAAgB,EAAE;gBAChB,cAAc,EAAE,qBAAqB;gBACrC,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,0BAA0B;yBACtC;qBACF;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,eAAe;gBAC/B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,6CAA6C;gBAC7D,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,4CAA4C;gBAC5D,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,2CAA2C;gBAC3D,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,2CAA2C;gBAC3D,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,+CAA+C;gBAC/D,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,iBAAiB,EAAE;gBACjB,cAAc,EAAE,iDAAiD;gBACjE,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,mFAAmF,GAA+B;IAC7H,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EACP,qFAAqF;QACvF,eAAe,EAAE;YACf,SAAS,EAAE;gBACT,YAAY,EAAE,cAAc;gBAC5B,UAAU,EAAE,IAAI;gBAChB,cAAc,EAAE,YAAY;gBAC5B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,cAAc,EAAE;gBACd,cAAc,EAAE,cAAc;gBAC9B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,eAAe,GAA+B;IACzD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,iBAAiB;QAC5B,eAAe,EAAE;YACf,YAAY,EAAE;gBACZ,cAAc,EAAE,eAAe;gBAC/B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,+EAA+E,GAA+B;IACzH,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EACP,iFAAiF;QACnF,eAAe,EAAE;YACf,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,eAAe;gBAC/B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,YAAY;gBAC5B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,aAAa,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC;iBAC7C;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,cAAc,GAA+B;IACxD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,gBAAgB;QAC3B,eAAe,EAAE;YACf,WAAW,EAAE;gBACX,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,cAAc,GAA+B;IACxD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,gBAAgB;QAC3B,eAAe,EAAE;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,cAAc,GAA+B;IACxD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,gBAAgB;QAC3B,eAAe,EAAE;YACf,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,KAAK;iBACjB;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,GAAG,GAA+B;IAC7C,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,KAAK;QAChB,eAAe,EAAE;YACf,GAAG,EAAE;gBACH,cAAc,EAAE,KAAK;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,WAAW;iBACvB;aACF;YACD,GAAG,EAAE;gBACH,cAAc,EAAE,KAAK;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,SAAS,GAA+B;IACnD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,WAAW;QACtB,eAAe,EAAE;YACf,GAAG,EAAE;gBACH,cAAc,EAAE,KAAK;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,GAAG,EAAE;gBACH,cAAc,EAAE,KAAK;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,GAAG,EAAE;gBACH,cAAc,EAAE,KAAK;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,CAAC,EAAE;gBACD,cAAc,EAAE,GAAG;gBACnB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,CAAC,EAAE;gBACD,cAAc,EAAE,GAAG;gBACnB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,OAAO,GAA+B;IACjD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE;YACf,eAAe,EAAE;gBACf,cAAc,EAAE,iBAAiB;gBACjC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,sBAAsB,GAA+B;IAChE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,wBAAwB;QACnC,eAAe,EAAE;YACf,gBAAgB,EAAE;gBAChB,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;aACF;YACD,WAAW,EAAE;gBACX,cAAc,EAAE,aAAa;gBAC7B,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,OAAO,GAA+B;IACjD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE;YACf,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,UAAU,GAA+B;IACpD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,YAAY;QACvB,eAAe,EAAE;YACf,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;aACF;YACD,WAAW,EAAE;gBACX,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,aAAa;iBACzB;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,WAAW,GAA+B;IACrD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,aAAa;QACxB,oBAAoB,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAClD,eAAe,EAAE;YACf,OAAO,EAAE;gBACP,cAAc,EAAE,oCAAoC;gBACpD,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;iBACjB;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,oCAAoC;gBACpD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,GAAG,EAAE;gBACH,cAAc,EAAE,gCAAgC;gBAChD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,aAAa,EAAE;gBACb,cAAc,EAAE,0CAA0C;gBAC1D,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,MAAM,EAAE;gBACN,cAAc,EAAE,mCAAmC;gBACnD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,oCAAoC;gBACpD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,qCAAqC;gBACrD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,MAAM,EAAE;gBACN,cAAc,EAAE,mCAAmC;gBACnD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,qCAAqC;gBACrD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,qCAAqC;gBACrD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,KAAK,EAAE;gBACL,cAAc,EAAE,kCAAkC;gBAClD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,WAAW,EAAE;gBACX,cAAc,EAAE,wCAAwC;gBACxD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,gBAAgB,GAA+B;IAC1D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,kBAAkB;QAC7B,eAAe,EAAE;YACf,eAAe,EAAE;gBACf,cAAc,EAAE,iBAAiB;gBACjC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,0BAA0B,GAA+B;IACpE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,4BAA4B;QACvC,eAAe,EAAE;YACf,UAAU,EAAE;gBACV,cAAc,EAAE,YAAY;gBAC5B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,0BAA0B;yBACtC;qBACF;iBACF;aACF;YACD,aAAa,EAAE;gBACb,cAAc,EAAE,eAAe;gBAC/B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,sBAAsB,GAA+B;IAChE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,wBAAwB;QACnC,eAAe,EAAE;YACf,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,UAAU;iBACtB;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,QAAQ,GAA+B;IAClD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,UAAU;QACrB,eAAe,EAAE;YACf,YAAY,EAAE;gBACZ,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,EAAE,EAAE;gBACF,cAAc,EAAE,IAAI;gBACpB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,SAAS,EAAE;gBACT,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,UAAU,EAAE;gBACV,cAAc,EAAE,eAAe;gBAC/B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;aACF;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;yBACf;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,eAAe,GAA+B;IACzD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,iBAAiB;QAC5B,eAAe,kCACV,QAAQ,CAAC,IAAI,CAAC,eAAe,KAChC,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF,EACD,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,wBAAwB;yBACpC;qBACF;iBACF;aACF,EACD,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,YAAY;iBACxB;aACF,EACD,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,YAAY;yBACxB;qBACF;iBACF;aACF,EACD,WAAW,EAAE;gBACX,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,aAAa;iBACzB;aACF,EACD,YAAY,EAAE;gBACZ,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF,EACD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF,EACD,GAAG,EAAE;gBACH,cAAc,EAAE,KAAK;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF,EACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,SAAS;yBACrB;qBACF;iBACF;aACF,EACD,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,SAAS;yBACrB;qBACF;iBACF;aACF,EACD,UAAU,EAAE;gBACV,cAAc,EAAE,YAAY;gBAC5B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,gBAAgB;yBAC5B;qBACF;iBACF;aACF,GACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,YAAY,GAA+B;IACtD,cAAc,EAAE,2DAA2D;IAC3E,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,cAAc;QACzB,eAAe,kCACV,QAAQ,CAAC,IAAI,CAAC,eAAe,KAChC,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF,EACD,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,wBAAwB;yBACpC;qBACF;iBACF;aACF,GACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,UAAU,GAA+B;IACpD,cAAc,EAAE,sDAAsD;IACtE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,YAAY;QACvB,eAAe,kCACV,QAAQ,CAAC,IAAI,CAAC,eAAe,KAChC,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF,EACD,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,YAAY;iBACxB;aACF,EACD,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,YAAY;yBACxB;qBACF;iBACF;aACF,GACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,WAAW,GAA+B;IACrD,cAAc,EAAE,4CAA4C;IAC5D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,aAAa;QACxB,eAAe,kCACV,QAAQ,CAAC,IAAI,CAAC,eAAe,KAChC,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,YAAY;iBACxB;aACF,EACD,MAAM,EAAE;gBACN,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,YAAY;yBACxB;qBACF;iBACF;aACF,EACD,WAAW,EAAE;gBACX,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,aAAa;iBACzB;aACF,GACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,QAAQ,GAA+B;IAClD,cAAc,EAAE,yCAAyC;IACzD,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,UAAU;QACrB,eAAe,kCACV,QAAQ,CAAC,IAAI,CAAC,eAAe,KAChC,SAAS,EAAE;gBACT,cAAc,EAAE,WAAW;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,wBAAwB;yBACpC;qBACF;iBACF;aACF,EACD,WAAW,EAAE;gBACX,cAAc,EAAE,aAAa;gBAC7B,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,aAAa;iBACzB;aACF,GACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,UAAU,GAA+B;IACpD,cAAc,EAAE,4CAA4C;IAC5D,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,YAAY;QACvB,eAAe,kCACV,QAAQ,CAAC,IAAI,CAAC,eAAe,KAChC,YAAY,EAAE;gBACZ,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF,EACD,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF,EACD,GAAG,EAAE;gBACH,cAAc,EAAE,KAAK;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF,EACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,SAAS;yBACrB;qBACF;iBACF;aACF,EACD,OAAO,EAAE;gBACP,cAAc,EAAE,SAAS;gBACzB,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,SAAS;yBACrB;qBACF;iBACF;aACF,EACD,UAAU,EAAE;gBACV,cAAc,EAAE,YAAY;gBAC5B,IAAI,EAAE;oBACJ,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,gBAAgB;yBAC5B;qBACF;iBACF;aACF,GACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,sCAAsC,GAA+B;IAChF,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,wCAAwC;QACnD,eAAe,EAAE;YACf,mBAAmB,EAAE;gBACnB,cAAc,EAAE,uBAAuB;gBACvC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,aAAa,EAAE;gBACb,cAAc,EAAE,gBAAgB;gBAChC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,uCAAuC,GAA+B;IACjF,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,yCAAyC;QACpD,eAAe,EAAE;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,+BAA+B,GAA+B;IACzE,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,iCAAiC;QAC5C,eAAe,EAAE;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,oCAAoC,GAA+B;IAC9E,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,sCAAsC;QACjD,eAAe,EAAE;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,2CAA2C,GAA+B;IACrF,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,6CAA6C;QACxD,eAAe,EAAE;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,mCAAmC,GAA+B;IAC7E,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,qCAAqC;QAChD,eAAe,EAAE;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,wCAAwC,GAA+B;IAClF,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,0CAA0C;QACrD,eAAe,EAAE;YACf,IAAI,EAAE;gBACJ,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,mCAAmC,GAA+B;IAC7E,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,qCAAqC;QAChD,eAAe,EAAE;YACf,aAAa,EAAE;gBACb,cAAc,EAAE,gBAAgB;gBAChC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,mBAAmB,EAAE;gBACnB,cAAc,EAAE,uBAAuB;gBACvC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,2CAA2C,GAA+B;IACrF,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,6CAA6C;QACxD,eAAe,EAAE;YACf,aAAa,EAAE;gBACb,cAAc,EAAE,gBAAgB;gBAChC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,mBAAmB,EAAE;gBACnB,cAAc,EAAE,uBAAuB;gBACvC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,sCAAsC,GAA+B;IAChF,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,wCAAwC;QACnD,eAAe,EAAE;YACf,mBAAmB,EAAE;gBACnB,cAAc,EAAE,uBAAuB;gBACvC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,qCAAqC,GAA+B;IAC/E,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,uCAAuC;QAClD,eAAe,EAAE;YACf,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,gBAAgB,EAAE;gBAChB,cAAc,EAAE,oBAAoB;gBACpC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,mBAAmB,EAAE;gBACnB,cAAc,EAAE,uBAAuB;gBACvC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,2CAA2C,GAA+B;IACrF,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,6CAA6C;QACxD,eAAe,EAAE;YACf,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,gBAAgB,EAAE;gBAChB,cAAc,EAAE,oBAAoB;gBACpC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,uCAAuC,GAA+B;IACjF,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,yCAAyC;QACpD,eAAe,EAAE;YACf,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,gBAAgB,EAAE;gBAChB,cAAc,EAAE,oBAAoB;gBACpC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,0CAA0C,GAA+B;IACpF,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,4CAA4C;QACvD,eAAe,EAAE;YACf,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,mBAAmB,EAAE;gBACnB,cAAc,EAAE,uBAAuB;gBACvC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,uCAAuC,GAA+B;IACjF,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,yCAAyC;QACpD,eAAe,EAAE;YACf,QAAQ,EAAE;gBACR,cAAc,EAAE,UAAU;gBAC1B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,KAAK,EAAE;gBACL,cAAc,EAAE,OAAO;gBACvB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,gBAAgB,EAAE;gBAChB,cAAc,EAAE,oBAAoB;gBACpC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,oCAAoC,GAA+B;IAC9E,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,sCAAsC;QACjD,eAAe,EAAE;YACf,aAAa,EAAE;gBACb,cAAc,EAAE,gBAAgB;gBAChC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,YAAY,EAAE;gBACZ,cAAc,EAAE,eAAe;gBAC/B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF,AAAO,MAAM,4CAA4C,GAA+B;IACtF,IAAI,EAAE;QACJ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,8CAA8C;QACzD,eAAe,EAAE;YACf,aAAa,EAAE;gBACb,cAAc,EAAE,gBAAgB;gBAChC,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;YACD,YAAY,EAAE;gBACZ,cAAc,EAAE,eAAe;gBAC/B,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;KACF;CACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC18DF;;;;;;;AAaA,AASO,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,GAAG,GAA0B;IACxC,aAAa,EAAE,KAAK;IACpB,MAAM,EAAE;QACN,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;IACD,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,AAAO,MAAM,IAAI,GAA0B;IACzC,aAAa,EAAE,MAAM;IACrB,MAAM,EAAE;QACN,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,SAAS,GAA0B;IAC9C,aAAa,EAAE,WAAW;IAC1B,MAAM,EAAE;QACN,cAAc,EAAE,WAAW;QAC3B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,OAAO,GAAuB;IACzC,aAAa,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;IACpC,MAAM,EAAE;QACN,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,WAAW,GAAuB;IAC7C,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;IACzC,MAAM,EAAE;QACN,YAAY,EAAE,sDAAsD;QACpE,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,cAAc;QAC9B,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,OAAO,GAAuB;IACzC,aAAa,EAAE,SAAS;IACxB,MAAM,EAAEC,QAAc;CACvB,CAAC;AAEF,AAAO,MAAM,IAAI,GAA4B;IAC3C,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,MAAM,EAAE;QACN,cAAc,EAAE,MAAM;QACtB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,CAAC,GAA4B;IACxC,aAAa,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC;IAC/B,MAAM,EAAE;QACN,cAAc,EAAE,GAAG;QACnB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,YAAY,GAAuB;IAC9C,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;IACzC,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,cAAc;QAC9B,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,KAAK,GAAuB;IACvC,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;IACnC,MAAM,EAAEC,6BAAmC;CAC5C,CAAC;AAEF,AAAO,MAAM,OAAO,GAA4B;IAC9C,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IACrC,MAAM,EAAE;QACN,cAAc,EAAE,SAAS;QACzB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,MAAM,GAA4B;IAC7C,aAAa,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;IACpC,MAAM,EAAE;QACN,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;IACnC,MAAM,EAAEC,sBAA4B;CACrC,CAAC;AAEF,AAAO,MAAM,OAAO,GAA0B;IAC5C,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE;QACN,cAAc,EAAE,QAAQ;QACxB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;IACnC,MAAM,EAAEC,2BAAiC;CAC1C,CAAC;AAEF,AAAO,MAAM,QAAQ,GAA0B;IAC7C,aAAa,EAAE,UAAU;IACzB,MAAM,EAAE;QACN,cAAc,EAAE,UAAU;QAC1B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;IACD,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,AAAO,MAAM,OAAO,GAAuB;IACzC,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE;QACN,YAAY,EAAE,0BAA0B;QACxC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,SAAS,GAA4B;IAChD,aAAa,EAAE,WAAW;IAC1B,MAAM,EAAE;QACN,cAAc,EAAE,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,KAAK,GAA4B;IAC5C,aAAa,EAAE,OAAO;IACtB,MAAM,EAAE;QACN,cAAc,EAAE,OAAO;QACvB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,QAAQ,GAA0B;IAC7C,aAAa,EAAE,UAAU;IACzB,MAAM,EAAE;QACN,cAAc,EAAE,kBAAkB;QAClC,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;IACD,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,AAAO,MAAM,YAAY,GAAuB;IAC9C,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;IACzC,MAAM,EAAE;QACN,YAAY,EAAE,0BAA0B;QACxC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,cAAc;QAC9B,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,OAAO;IACtB,MAAM,EAAE;QACN,cAAc,EAAE,OAAO;QACvB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,OAAO,GAAuB;IACzC,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;IACnC,MAAM,EAAE;QACN,cAAc,EAAE,OAAO;QACvB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,OAAO,GAA4B;IAC9C,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE;QACN,cAAc,EAAE,QAAQ;QACxB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,KAAK,GAAuB;IACvC,aAAa,EAAE,OAAO;IACtB,MAAM,EAAE;QACN,cAAc,EAAE,OAAO;QACvB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,YAAY,GAAuB;IAC9C,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;IACzC,MAAM,EAAE;QACN,YAAY,EAAE,mCAAmC;QACjD,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,cAAc;QAC9B,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,cAAc,GAAuB;IAChD,aAAa,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAC5C,MAAM,EAAEC,mFAAyF;CAClG,CAAC;AAEF,AAAO,MAAM,OAAO,GAAuB;IACzC,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,AAAO,MAAM,eAAe,GAAuB;IACjD,aAAa,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAC7C,MAAM,EAAEC,+EAAqF;CAC9F,CAAC;;AC1UF;;;;;;;AAQA,AAgCA;AACA,MAAa,iBAAiB;;;;;IAO5B,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;;;;;IAMD,oBAAoB,CAAC,OAAqC;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,OAAO,EAAE,EACX,iCAAiC,CAClC,CAAC;KACH;;;;;;;IAQD,WAAW,CACT,IAAY,EACZ,SAAiB,EACjB,OAAoD;QAEpD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAC5B,wBAAwB,CACzB,CAAC;KACH;;;;;;;;IASD,cAAc,CACZ,IAAY,EACZ,SAAiB,EACjB,OAAiB,EACjB,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EACrC,2BAA2B,CAC5B,CAAC;KACH;;;;;;;;IASD,cAAc,CACZ,IAAY,EACZ,SAAiB,EACjB,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAC5B,2BAA2B,CAC5B,CAAC;KACH;;;;;IAMD,eAAe,CACb,OAAwD;QAExD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,OAAO,EAAE,EACX,4BAA4B,CAC7B,CAAC;KACH;;;;;;IAOD,aAAa,CACX,IAAY,EACZ,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,0BAA0B,CAC3B,CAAC;KACH;;;;;;IAOD,gBAAgB,CACd,IAAY,EACZ,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,6BAA6B,CAC9B,CAAC;KACH;;;;;;IAOD,gBAAgB,CACd,IAAY,EACZ,OAAyD;QAEzD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,6BAA6B,CAC9B,CAAC;KACH;;;;;;IAOD,OAAO,CACL,IAAY,EACZ,OAAgD;QAEhD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,oBAAoB,CACrB,CAAC;KACH;;;;;;;IAQD,gBAAgB,CACd,IAAY,EACZ,SAAiB,EACjB,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAC5B,6BAA6B,CAC9B,CAAC;KACH;;;;;;;IAQD,mBAAmB,CACjB,IAAY,EACZ,SAAiB,EACjB,OAA4D;QAE5D,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAC5B,gCAAgC,CACjC,CAAC;KACH;;;;;;;IAQD,SAAS,CACP,IAAY,EACZ,SAAiB,EACjB,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAC5B,sBAAsB,CACvB,CAAC;KACH;;;;;;IAOD,YAAY,CACV,IAAY,EACZ,OAAqD;QAErD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,yBAAyB,CAC1B,CAAC;KACH;;;;;;;IAQD,qBAAqB,CACnB,IAAY,EACZ,MAAc,EACd,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EACzB,kCAAkC,CACnC,CAAC;KACH;;;;;;;IAQD,wBAAwB,CACtB,IAAY,EACZ,MAAc,EACd,OAAiE;QAEjE,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EACzB,qCAAqC,CACtC,CAAC;KACH;;;;;;IAOD,mBAAmB,CACjB,QAAgB,EAChB,OAA4D;QAE5D,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,gCAAgC,CACjC,CAAC;KACH;;;;;;;IAQD,WAAW,CACT,IAAY,EACZ,QAAgB,EAChB,OAAoD;QAEpD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC3B,wBAAwB,CACzB,CAAC;KACH;;;;;;;IAQD,gBAAgB,CACd,IAAY,EACZ,QAAgB,EAChB,OAAyD;QAEzD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC3B,6BAA6B,CAC9B,CAAC;KACH;CACF;AACD;AACA,MAAM,UAAU,GAAGC,2BAA2B,CAAC,OAAO,cAAc,KAAK,CAAC,CAAC;AAE3E,MAAM,iCAAiC,GAA6B;IAClE,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE,EAAE;QACP,OAAO,EAAE;YACP,UAAU,EAAEC,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,CAAC;IAC/B,gBAAgB,EAAE,CAACC,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,wBAAwB,GAA6B;IACzD,IAAI,EAAE,kCAAkC;IACxC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEC,QAAgB;SAC7B;QACD,OAAO,EAAE;YACP,UAAU,EAAEH,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,EAAEG,IAAe,EAAEC,SAAoB,CAAC;IACtE,gBAAgB,EAAE,CAACH,MAAiB,EAAEI,OAAkB,CAAC;IACzD,UAAU;CACX,CAAC;AACF,MAAM,2BAA2B,GAA6B;IAC5D,IAAI,EAAE,kCAAkC;IACxC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACrC,aAAa,EAAEC,sCAA8C;SAC9D;QACD,OAAO,EAAE;YACP,UAAU,EAAEP,SAAiB;SAC9B;KACF;IACD,WAAW,EAAEQ,OAAkB;IAC/B,aAAa,EAAE,CAACP,GAAc,EAAEG,IAAe,EAAEC,SAAoB,CAAC;IACtE,gBAAgB,EAAE,CAACH,MAAiB,EAAEO,WAAsB,CAAC;IAC7D,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,2BAA2B,GAA6B;IAC5D,IAAI,EAAE,kCAAkC;IACxC,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE;QACT,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,EAAE;QACP,OAAO,EAAE;YACP,UAAU,EAAET,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,EAAEG,IAAe,EAAEC,SAAoB,CAAC;IACtE,gBAAgB,EAAE,CAACH,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,4BAA4B,GAA6B;IAC7D,IAAI,EAAE,kBAAkB;IACxB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEQ,YAAoB;YAChC,aAAa,EAAEC,uCAA+C;SAC/D;QACD,OAAO,EAAE;YACP,UAAU,EAAEX,SAAiB;SAC9B;KACF;IACD,eAAe,EAAE,CAACY,IAAe,EAAEC,CAAY,CAAC;IAChD,aAAa,EAAE,CAACZ,GAAc,CAAC;IAC/B,gBAAgB,EAAE,CAACC,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,0BAA0B,GAA6B;IAC3D,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEY,6BAAqC;SAClD;QACD,OAAO,EAAE;YACP,UAAU,EAAEd,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,EAAEG,IAAe,CAAC;IAChD,gBAAgB,EAAE,CAACF,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,6BAA6B,GAA6B;IAC9D,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE;QACT,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,EAAE;QACP,OAAO,EAAE;YACP,UAAU,EAAEF,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,EAAEG,IAAe,CAAC;IAChD,gBAAgB,EAAE,CAACF,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,6BAA6B,GAA6B;IAC9D,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEY,6BAAqC;SAClD;QACD,OAAO,EAAE;YACP,UAAU,EAAEd,SAAiB;SAC9B;KACF;IACD,WAAW,EAAEe,KAAgB;IAC7B,aAAa,EAAE,CAACd,GAAc,EAAEG,IAAe,CAAC;IAChD,gBAAgB,EAAE,CAACF,MAAiB,EAAEc,YAAuB,CAAC;IAC9D,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,oBAAoB,GAA6B;IACrD,IAAI,EAAE,sBAAsB;IAC5B,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEC,OAAe;YAC3B,aAAa,EAAEC,+BAAuC;SACvD;QACD,OAAO,EAAE;YACP,UAAU,EAAElB,SAAiB;SAC9B;KACF;IACD,eAAe,EAAE;QACfY,IAAe;QACfC,CAAY;QACZM,OAAkB;QAClBC,MAAiB;KAClB;IACD,aAAa,EAAE,CAACnB,GAAc,EAAEG,IAAe,CAAC;IAChD,gBAAgB,EAAE,CAACF,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,6BAA6B,GAA6B;IAC9D,IAAI,EAAE,kCAAkC;IACxC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEmB,qBAA6B;SAC1C;QACD,OAAO,EAAE;YACP,UAAU,EAAErB,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,EAAEG,IAAe,EAAEC,SAAoB,CAAC;IACtE,gBAAgB,EAAE,CAACH,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,gCAAgC,GAA6B;IACjE,IAAI,EAAE,kCAAkC;IACxC,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEmB,qBAA6B;SAC1C;QACD,OAAO,EAAE;YACP,UAAU,EAAErB,SAAiB;SAC9B;KACF;IACD,WAAW,EAAEsB,MAAiB;IAC9B,aAAa,EAAE,CAACrB,GAAc,EAAEG,IAAe,EAAEC,SAAoB,CAAC;IACtE,gBAAgB,EAAE,CAACH,MAAiB,EAAEc,YAAuB,CAAC;IAC9D,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,sBAAsB,GAA6B;IACvD,IAAI,EAAE,kCAAkC;IACxC,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE;QACT,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,EAAE;QACP,OAAO,EAAE;YACP,UAAU,EAAEhB,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,EAAEG,IAAe,EAAEC,SAAoB,CAAC;IACtE,gBAAgB,EAAE,CAACH,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,yBAAyB,GAA6B;IAC1D,IAAI,EAAE,2BAA2B;IACjC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEqB,YAAoB;YAChC,aAAa,EAAEC,oCAA4C;SAC5D;QACD,OAAO,EAAE;YACP,UAAU,EAAExB,SAAiB;SAC9B;KACF;IACD,eAAe,EAAE,CAACY,IAAe,EAAEC,CAAY,EAAEM,OAAkB,CAAC;IACpE,aAAa,EAAE,CAAClB,GAAc,EAAEG,IAAe,CAAC;IAChD,gBAAgB,EAAE,CAACF,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,kCAAkC,GAA6B;IACnE,IAAI,EAAE,oCAAoC;IAC1C,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEuB,0BAAkC;SAC/C;QACD,OAAO,EAAE;YACP,UAAU,EAAEzB,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,EAAEG,IAAe,EAAEsB,OAAkB,CAAC;IACpE,gBAAgB,EAAE,CAACxB,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,qCAAqC,GAA6B;IACtE,IAAI,EAAE,oCAAoC;IAC1C,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEuB,0BAAkC;SAC/C;QACD,OAAO,EAAE;YACP,UAAU,EAAEzB,SAAiB;SAC9B;KACF;IACD,WAAW,EAAE2B,MAAiB;IAC9B,aAAa,EAAE,CAAC1B,GAAc,EAAEG,IAAe,EAAEsB,OAAkB,CAAC;IACpE,gBAAgB,EAAE,CAACxB,MAAiB,EAAEc,YAAuB,CAAC;IAC9D,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,gCAAgC,GAA6B;IACjE,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEN,YAAoB;YAChC,aAAa,EAAEkB,2CAAmD;SACnE;QACD,OAAO,EAAE;YACP,UAAU,EAAE5B,SAAiB;SAC9B;KACF;IACD,eAAe,EAAE,CAACY,IAAe,EAAEC,CAAY,CAAC;IAChD,aAAa,EAAE,CAACZ,GAAc,EAAE4B,QAAmB,CAAC;IACpD,gBAAgB,EAAE,CAAC3B,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,wBAAwB,GAA6B;IACzD,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEe,OAAe;YAC3B,aAAa,EAAEa,mCAA2C;SAC3D;QACD,OAAO,EAAE;YACP,UAAU,EAAE9B,SAAiB;SAC9B;KACF;IACD,eAAe,EAAE;QACfY,IAAe;QACfC,CAAY;QACZM,OAAkB;QAClBC,MAAiB;KAClB;IACD,aAAa,EAAE,CAACnB,GAAc,EAAEG,IAAe,EAAEyB,QAAmB,CAAC;IACrE,gBAAgB,EAAE,CAAC3B,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,6BAA6B,GAA6B;IAC9D,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEqB,YAAoB;YAChC,aAAa,EAAEQ,wCAAgD;SAChE;QACD,OAAO,EAAE;YACP,UAAU,EAAE/B,SAAiB;SAC9B;KACF;IACD,eAAe,EAAE,CAACY,IAAe,EAAEC,CAAY,EAAEM,OAAkB,CAAC;IACpE,aAAa,EAAE,CAAClB,GAAc,EAAEG,IAAe,EAAEyB,QAAmB,CAAC;IACrE,gBAAgB,EAAE,CAAC3B,MAAiB,CAAC;IACrC,UAAU;CACX,CAAC;;AC7nBF;;;;;;;AAQA,AAmBA;AACA,MAAa,qBAAqB;;;;;IAOhC,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;;;;;;;IAQD,OAAO,CACL,IAAY,EACZ,MAAc,EACd,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EACzB,oBAAoB,CACrB,CAAC;KACH;;;;;;;IAQD,eAAe,CACb,IAAY,EACZ,MAAc,EACd,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EACzB,4BAA4B,CAC7B,CAAC;KACH;;;;;;;IAQD,UAAU,CACR,IAAY,EACZ,MAAc,EACd,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EACzB,uBAAuB,CACxB,CAAC;KACH;;;;;;;;IASD,SAAS,CACP,IAAY,EACZ,KAAa,EACb,SAAiB,EACjB,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EACnC,sBAAsB,CACvB,CAAC;KACH;;;;;;;;IASD,eAAe,CACb,QAAgB,EAChB,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,4BAA4B,CAC7B,CAAC;KACH;;;;;;;;IASD,WAAW,CACT,QAAgB,EAChB,KAAgC,EAChC,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAC5B,wBAAwB,CACzB,CAAC;KACH;;;;;;;;;IAUD,cAAc,CACZ,MAAc,EACd,QAAgB,EAChB,OAA2D;QAE3D,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC7B,2BAA2B,CAC5B,CAAC;KACH;;;;;;;;IASD,YAAY,CACV,QAAgB,EAChB,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,yBAAyB,CAC1B,CAAC;KACH;;;;;;IAOD,WAAW,CACT,IAAY,EACZ,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,OAAO,EAAE,EACjB,wBAAwB,CACzB,CAAC;KACH;;;;;;;;;;IAWD,QAAQ,CACN,IAAY,EACZ,MAAc,EACd,KAAa,EACb,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAChC,qBAAqB,CACtB,CAAC;KACH;;;;;;;;IASD,gBAAgB,CACd,IAAY,EACZ,MAAc,EACd,KAAa,EACb,OAAqC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAChC,6BAA6B,CAC9B,CAAC;KACH;CACF;AACD;AACA,MAAM8B,YAAU,GAAGjC,2BAA2B,CAAC,OAAO,cAAc,KAAK,CAAC,CAAC;AAE3E,MAAM,oBAAoB,GAA6B;IACrD,IAAI,EAAE,2BAA2B;IACjC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,cAAc,EAAE,gBAAgB;aACjC;YACD,aAAa,EAAEkC,mCAA2C;SAC3D;QACD,GAAG,EAAE;YACH,aAAa,EAAEA,mCAA2C;SAC3D;QACD,OAAO,EAAE,EAAE;KACZ;IACD,aAAa,EAAE,CAAChC,GAAc,EAAEG,IAAe,EAAEsB,OAAkB,CAAC;IACpE,gBAAgB,EAAE,CAACQ,OAAkB,CAAC;gBACtCF,YAAU;CACX,CAAC;AACF,MAAM,4BAA4B,GAA6B;IAC7D,IAAI,EAAE,2BAA2B;IACjC,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,aAAa,EAAEG,2CAAmD;SACnE;QACD,GAAG,EAAE;YACH,aAAa,EAAEA,2CAAmD;SACnE;QACD,OAAO,EAAE;YACP,UAAU,EAAEnC,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,EAAEG,IAAe,EAAEsB,OAAkB,CAAC;IACpE,gBAAgB,EAAE,CAACxB,MAAiB,CAAC;gBACrC8B,YAAU;CACX,CAAC;AACF,MAAM,uBAAuB,GAA6B;IACxD,IAAI,EAAE,2BAA2B;IACjC,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,cAAc,EAAE,gBAAgB;aACjC;YACD,aAAa,EAAEI,sCAA8C;SAC9D;QACD,OAAO,EAAE,EAAE;KACZ;IACD,aAAa,EAAE,CAACnC,GAAc,EAAEG,IAAe,EAAEsB,OAAkB,CAAC;IACpE,gBAAgB,EAAE,CAACQ,OAAkB,CAAC;gBACtCF,YAAU;CACX,CAAC;AACF,MAAM,sBAAsB,GAA6B;IACvD,IAAI,EAAE,2BAA2B;IACjC,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,aAAa,EAAEK,qCAA6C;SAC7D;QACD,OAAO,EAAE;YACP,UAAU,EAAErC,SAAiB;SAC9B;KACF;IACD,eAAe,EAAE,CAACsC,SAAoB,EAAEC,KAAgB,CAAC;IACzD,aAAa,EAAE,CAACtC,GAAc,EAAEG,IAAe,CAAC;IAChD,gBAAgB,EAAE,CAACF,MAAiB,CAAC;gBACrC8B,YAAU;CACX,CAAC;AACF,MAAM,4BAA4B,GAA6B;IAC7D,IAAI,EAAE,qBAAqB;IAC3B,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,aAAa,EAAEQ,2CAAmD;SACnE;QACD,OAAO,EAAE;YACP,UAAU,EAAExC,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,EAAEwC,QAAmB,CAAC;IACpD,gBAAgB,EAAE,CAACvC,MAAiB,CAAC;gBACrC8B,YAAU;CACX,CAAC;AACF,MAAM,wBAAwB,GAA6B;IACzD,IAAI,EAAE,qBAAqB;IAC3B,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,aAAa,EAAEU,uCAA+C;SAC/D;QACD,OAAO,EAAE;YACP,UAAU,EAAE1C,SAAiB;SAC9B;KACF;IACD,WAAW,EAAE2C,MAAiB;IAC9B,aAAa,EAAE,CAAC1C,GAAc,EAAEwC,QAAmB,CAAC;IACpD,gBAAgB,EAAE,CAACG,YAAuB,EAAEC,OAAkB,CAAC;IAC/D,SAAS,EAAE,QAAQ;gBACnBb,YAAU;CACX,CAAC;AACF,MAAM,2BAA2B,GAA6B;IAC5D,IAAI,EAAE,qBAAqB;IAC3B,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,aAAa,EAAEc,0CAAkD;SAClE;QACD,OAAO,EAAE;YACP,UAAU,EAAE9C,SAAiB;SAC9B;KACF;IACD,WAAW,EAAE+C,MAAiB;IAC9B,eAAe,EAAE,CAACC,OAAkB,CAAC;IACrC,aAAa,EAAE,CAAC/C,GAAc,EAAEwC,QAAmB,CAAC;IACpD,gBAAgB,EAAE,CAACG,YAAuB,EAAEC,OAAkB,CAAC;IAC/D,SAAS,EAAE,QAAQ;gBACnBb,YAAU;CACX,CAAC;AACF,MAAM,yBAAyB,GAA6B;IAC1D,IAAI,EAAE,qBAAqB;IAC3B,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE;QACT,GAAG,EAAE,EAAE;QACP,OAAO,EAAE;YACP,UAAU,EAAEhC,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,EAAEwC,QAAmB,CAAC;IACpD,gBAAgB,EAAE,CAACvC,MAAiB,CAAC;gBACrC8B,YAAU;CACX,CAAC;AACF,MAAM,wBAAwB,GAA6B;IACzD,IAAI,EAAE,2BAA2B;IACjC,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,aAAa,EAAEiB,uCAA+C;SAC/D;QACD,OAAO,EAAE;YACP,UAAU,EAAEjD,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,EAAEG,IAAe,CAAC;IAChD,gBAAgB,EAAE,CAACF,MAAiB,CAAC;gBACrC8B,YAAU;CACX,CAAC;AACF,MAAM,qBAAqB,GAA6B;IACtD,IAAI,EAAE,2BAA2B;IACjC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,cAAc,EAAE,gBAAgB;aACjC;YACD,aAAa,EAAEkB,oCAA4C;SAC5D;QACD,OAAO,EAAE,EAAE;KACZ;IACD,aAAa,EAAE,CAACjD,GAAc,EAAEG,IAAe,EAAEsB,OAAkB,CAAC;IACpE,gBAAgB,EAAE,CAACQ,OAAkB,EAAEiB,KAAgB,CAAC;gBACxDnB,YAAU;CACX,CAAC;AACF,MAAM,6BAA6B,GAA6B;IAC9D,IAAI,EAAE,2BAA2B;IACjC,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,aAAa,EAAEoB,4CAAoD;SACpE;QACD,OAAO,EAAE;YACP,UAAU,EAAEpD,SAAiB;SAC9B;KACF;IACD,aAAa,EAAE,CAACC,GAAc,EAAEG,IAAe,EAAEsB,OAAkB,CAAC;IACpE,gBAAgB,EAAE,CAACxB,MAAiB,EAAEiD,KAAgB,CAAC;gBACvDnB,YAAU;CACX,CAAC;;AClaF;;;;;;;AAQA,AAWA;AACA,MAAa,cAAc;;;;;IAOzB,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;;;;;IAMD,wCAAwC,CACtC,OAA8E;QAE9E,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,OAAO,EAAE,EACX,qDAAqD,CACtD,CAAC;KACH;;;;;IAMD,wCAAwC,CACtC,OAA8E;QAE9E,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,OAAO,EAAE,EACX,qDAAqD,CACtD,CAAC;KACH;CACF;AACD;AACA,MAAMA,YAAU,GAAGjC,2BAA2B,CAAC,OAAO,cAAc,KAAK,CAAC,CAAC;AAE3E,MAAM,qDAAqD,GAA6B;IACtF,IAAI,EAAE,kBAAkB;IACxB,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEsD,eAAuB;SACpC;QACD,OAAO,EAAE;YACP,UAAU,EAAErD,SAAiB;SAC9B;KACF;IACD,kBAAkB,EAAE,CAACsD,cAAyB,CAAC;IAC/C,aAAa,EAAE,CAACrD,GAAc,CAAC;IAC/B,gBAAgB,EAAE,CAACsD,YAAuB,EAAEC,OAAkB,CAAC;gBAC/DxB,YAAU;CACX,CAAC;AACF,MAAM,qDAAqD,GAA6B;IACtF,IAAI,EAAE,eAAe;IACrB,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEyB,cAAsB;SACnC;QACD,OAAO,EAAE;YACP,UAAU,EAAEzD,SAAiB;SAC9B;KACF;IACD,kBAAkB,EAAE,CAAC0D,eAA0B,CAAC;IAChD,aAAa,EAAE,CAACzD,GAAc,CAAC;IAC/B,gBAAgB,EAAE,CAACsD,YAAuB,EAAEC,OAAkB,CAAC;gBAC/DxB,YAAU;CACX,CAAC;;AC3FF;;;;;;;AAQA,AAGA;AACA,MAAa,sBAAuB,SAAQ2B,wBAAwB;;;;;;IAQlE,YAAY,GAAW,EAAE,OAAuC;QAC9D,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;;QAGD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,CAAC;SACd;QAED,MAAM,QAAQ,GAAkC;YAC9C,kBAAkB,EAAE,iCAAiC;SACtD,CAAC;QAEF,MAAM,mBAAmB,iDACpB,QAAQ,GACR,OAAO,KACV,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,GACrC,CAAC;QAEF,KAAK,CAAC,mBAAmB,CAAC,CAAC;;QAE3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;KAChB;CACF;;AC5CD;;;;;;;AAQA,AAQA;AACA,MAAa,eAAgB,SAAQ,sBAAsB;;;;;;IAMzD,YAAY,GAAW,EAAE,OAAuC;QAC9D,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;KAChD;CAKF;;ACjCD;AACA,AAIA;;;;;;;;AAQA,AAAO,MAAM,UAAU,GAAGC,8BAAkB,CAAC;IAC3C,SAAS,EAAE,kBAAkB;IAC7B,aAAa,EAAE,oCAAoC;CACpD,CAAC,CAAC;;AChBH;AACA;AAEA;;;;AAIA,SAAgB,eAAe,CAAC,KAAyB;;;;IAIvD,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;AAIA,SAAgB,QAAQ,CAAC,WAAmB;IAC1C,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;;ACpBD;AACA;AAuBA;;;;;;;;AAQA,SAAgB,oBAAoB,CAAC,eAAuB;;IAE1D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;;;IAG9C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAC5B,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAClE,EAAE,CACH,CAAC;;IAEF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAC7B,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,CAAW,sCAC1B,MAAM,KACT,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IACzB,EACF,EAAE,CACH,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;;AClDD;AACA,AAIA,SAAS,KAAK,CAAI,CAAS,EAAE,KAAS;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAyCD;AACA,AAAO,MAAM,sBAAsB,GAAuB;IACxD,uBAAuB,EAAE,IAAI;IAC7B,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC;CACjC,CAAC;AAEF;;;;;;;;;;AAUA,SAAe,YAAY,CACzB,cAAiD,EACjD,iBAAyB,EACzB,cAAsB;;;;QAItB,SAAe,iBAAiB;;gBAC9B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,EAAE;oBAC/B,IAAI;wBACF,OAAO,MAAM,cAAc,EAAE,CAAC;qBAC/B;oBAAC,WAAM;wBACN,OAAO,IAAI,CAAC;qBACb;iBACF;qBAAM;oBACL,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;;oBAG1C,IAAI,UAAU,KAAK,IAAI,EAAE;wBACvB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;qBACpD;oBAED,OAAO,UAAU,CAAC;iBACnB;aACF;SAAA;QAED,IAAI,KAAK,GAAuB,MAAM,iBAAiB,EAAE,CAAC;QAE1D,OAAO,KAAK,KAAK,IAAI,EAAE;YACrB,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAE/B,KAAK,GAAG,MAAM,iBAAiB,EAAE,CAAC;SACnC;QAED,OAAO,KAAK,CAAC;KACd;CAAA;AAED;;;;;;;;;;;;;;AAcA,SAAgB,iBAAiB,CAC/B,UAA2B,EAC3B,kBAAgD;IAEhD,IAAI,aAAa,GAAgC,IAAI,CAAC;IACtD,IAAI,KAAK,GAAuB,IAAI,CAAC;IAErC,MAAM,OAAO,mCACR,sBAAsB,GACtB,kBAAkB,CACtB,CAAC;;;;;IAMF,MAAM,MAAM,GAAG;;;;QAIb,IAAI,YAAY;YACd,OAAO,aAAa,KAAK,IAAI,CAAC;SAC/B;;;;;QAKD,IAAI,aAAa;;YACf,QACE,CAAC,MAAM,CAAC,YAAY;gBACpB,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,mCAAI,CAAC,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,EACzE;SACH;;;;;QAKD,IAAI,WAAW;YACb,QACE,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,EACzF;SACH;KACF,CAAC;;;;;IAMF,SAAS,OAAO,CAAC,MAAyB,EAAE,eAAkB;;QAC5D,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;;YAExB,MAAM,iBAAiB,GAAG,MACxB,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;;;YAI/C,aAAa,GAAG,YAAY,CAC1B,iBAAiB,EACjB,OAAO,CAAC,iBAAiB;;YAEzB,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,mCAAI,IAAI,CAAC,GAAG,EAAE,CACxC;iBACE,IAAI,CAAC,CAAC,MAAM;gBACX,aAAa,GAAG,IAAI,CAAC;gBACrB,KAAK,GAAG,MAAM,CAAC;gBACf,OAAO,KAAK,CAAC;aACd,CAAC;iBACD,KAAK,CAAC,CAAC,MAAM;;;;gBAIZ,aAAa,GAAG,IAAI,CAAC;gBACrB,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM,MAAM,CAAC;aACd,CAAC,CAAC;SACN;QAED,OAAO,aAAqC,CAAC;KAC9C;IAED,OAAO;QACL,IAAI,WAAW;YACb,OAAO,KAAK,IAAI,SAAS,CAAC;SAC3B;QACD,QAAQ,EAAE,CAAO,MAAyB,EAAE,YAAe;;;;;;;;;;YAUzD,IAAI,MAAM,CAAC,WAAW;gBAAE,OAAO,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAE7D,IAAI,MAAM,CAAC,aAAa,EAAE;gBACxB,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;aAC/B;YAED,OAAO,KAAoB,CAAC;SAC7B,CAAA;KACF,CAAC;AACJ,CAAC;;AC3ND;AACA,AAeA,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtC;;;;;;;;;;;;;;;;;;AAkBA,MAAa,gBAAgB;IAE3B,YACU,UAAmD,EACnD,UAAiD,EAAE;QADnD,eAAU,GAAV,UAAU,CAAyC;QACnD,YAAO,GAAP,OAAO,CAA4C;QAE3D,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE;YAC1C,iBAAiB,EAAE,eAAe;SACnC,CAAC,CAAC;KACJ;IAED,gBAAgB,CAAC,QAAiC;QAChD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC1B;;;;IAKK,2BAA2B,CAAC,OAA2C;;;;YAE3E,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,QAAQ,0CAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;aACvE;;YAED,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAE3D,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAChE;YAED,IAAI,CAAC,KAAK,EAAE;gBACV,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC9D;;;;YAKD,IAAI,SAAuC,CAAC;YAC5C,IAAI,eAAuB,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;gBACrC,SAAS,GAAG,UAAU,CAAC;gBACvB,eAAe,GAAG,EAAE,CAAC;aACtB;iBAAM;gBACL,SAAS,GAAG,eAAe,CAAC;gBAC5B,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,kCAAO,OAAO,KAAE,OAAO,IAAG,EAAE,KAAK,CAAC;aACtF;;YAGD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,6CAA6C,CACrG,eAAe,EACf,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,CAAC,OAAO,CACb,CAAC;;YAGF,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,cAAc,EAAE,CAAC,CAAC;YAEzE,OAAO,IAAI,CAAC;;KACb;CACF;;AClGD;AACA;AAsBA,SAAgB,4BAA4B,CAC1C,IAAwC;;IAGxC,OAAO,IAAI;UACP;YACE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;UACD,SAAS,CAAC;AAChB,CAAC;AAED,SAAgB,4BAA4B,CAC1C,IAAuC,EACvC,cAAsB,EACtB,mBAA2B;;IAE3B,uBACE,mBAAmB;QACnB,cAAc,EACd,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,YAAY,EAAE,MAAA,IAAI,CAAC,YAAY,mCAAI,SAAS,EAC5C,eAAe,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,SAAS,EAClD,gBAAgB,EAAE,MAAA,IAAI,CAAC,gBAAgB,mCAAI,EAAE,EAC7C,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,IAClB,4BAA4B,CAAC,IAAI,CAAC,EACrC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAoB;IACtD,OAAO,OAAO,KAAK,wBAAwB;UACvC,SAAS;UACT,OAAO,KAAK,yBAAyB;cACrC,UAAU;cACV,SAAS,CAAC;AAChB,CAAC;AAED,SAAgB,wBAAwB,CACtC,OAAyB;IAEzB,OAAO,OAAO,KAAK,wBAAwB;UACvC,SAAS;UACT,OAAO,KAAK,yBAAyB;cACrC,UAAU;cACV,SAAS,CAAC;AAChB,CAAC;;ACzED;AACA,AAqJA;;;;AAIA,MAAa,oBAAoB;;;;;;;;IAyB/B,YACE,gBAAwB,EACxB,cAAsB,EACd,WAAmB,EAC3B,MAAuB;QADf,gBAAW,GAAX,WAAW,CAAQ;QAG3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,MAAM,SAAS,GAAG,IAAIC,SAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE;YACzB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,uBAAuB,GAAG,GAAG,SAAS,CAAC,QAAQ,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;SACzF;aAAM;YACL,IAAI,CAAC,uBAAuB,GAAG,GAAG,SAAS,CAAC,QAAQ,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;SACzF;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;;;;IAKa,SAAS;;YACrB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,OAAO,IAAI,CAAC,MAAM,CAAC;aACpB;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAC/B,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;aACtE;iBAAM;gBACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;aAChC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;KAAA;;;;;IAMY,MAAM,CAAC,UAAiC,EAAE;;YACrD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;YAEhF,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAChD,IAAI,CAAC,cAAc,EACnB,MAAM,IAAI,CAAC,SAAS,EAAE,EACtB,cAAc,CACf,CAAC;aACH;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAEC,0BAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,IAAI,CAAC,GAAG,EAAE,CAAC;aACZ;SACF;KAAA;;;;;;IAOY,SAAS,CAAC,GAAW,EAAE,UAA4B,EAAE;;YAChE,IAAI,CAAC,GAAG,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;aAChC;YAED,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;YAEnF,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;aACzF;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAEA,0BAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,IAAI,CAAC,GAAG,EAAE,CAAC;aACZ;SACF;KAAA;;;;;IAMY,qBAAqB,CAChC,UAAwC,EAAE;;YAE1C,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAC;YAE/F,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,CACtE,IAAI,CAAC,cAAc,EACnB,MAAM,IAAI,CAAC,SAAS,EAAE,EACtB,cAAc,CACf,CAAC;gBACF,OAAO,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,mBAAoB,CAAC,CAAC;aAC/F;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAEA,0BAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,IAAI,CAAC,GAAG,EAAE,CAAC;aACZ;SACF;KAAA;;;;;IAMY,wBAAwB,CACnC,UAA2C,EAAE;;YAE7C,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,2CAA2C,kCAClF,OAAO,KACV,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,IACD,CAAC;YAEH,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,CACzE,IAAI,CAAC,cAAc,EACnB,MAAM,IAAI,CAAC,SAAS,EAAE,EACtB,cAAc,CACf,CAAC;gBACF,OAAO,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,mBAAoB,CAAC,CAAC;aAC/F;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAEA,0BAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,IAAI,CAAC,GAAG,EAAE,CAAC;aACZ;SACF;KAAA;;;;;;IAOY,gBAAgB,CAC3B,GAAW,EACX,UAAmC,EAAE;;YAErC,IAAI,CAAC,GAAG,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;aAChC;YAED,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;YAC1F,IAAI;gBACF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CACzD,IAAI,CAAC,cAAc,EACnB,GAAG,EACH,cAAc,CACf,CAAC;aACH;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAEA,0BAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,IAAI,CAAC,GAAG,EAAE,CAAC;aACZ;SACF;KAAA;;;;;;IAOY,mBAAmB,CAC9B,GAAW,EACX,OAAmC;;YAEnC,IAAI,CAAC,GAAG,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;aAChC;YAED,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,sCAAsC,kCAC7E,OAAO,KACV,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,IACD,CAAC;YAEH,IAAI;gBACF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,mBAAmB,CAC5D,IAAI,CAAC,cAAc,EACnB,GAAG,EACH,cAAc,CACf,CAAC;aACH;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAEA,0BAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,IAAI,CAAC,GAAG,EAAE,CAAC;aACZ;SACF;KAAA;;;;;;;;;;;;;;;IAgBM,iBAAiB,CACtB,UAAoC,EAAE;QAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEzC,OAAO;YACL,IAAI;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;aACpB;YACD,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,OAAO,IAAI,CAAC;aACb;YACD,MAAM,EAAE,CAAC,WAAyB,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;SAC9E,CAAC;KACH;IAEc,aAAa,CAC1B,UAAoC,EAAE;;;;gBAEtC,KAAyB,IAAA,KAAAC,oBAAA,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA,IAAA;oBAA5C,MAAM,IAAI,WAAA,CAAA;oBACnB,oBAAA,OAAOC,uBAAAD,oBAAA,IAAI,CAAA,CAAA,CAAA,CAAC;iBACb;;;;;;;;;SACF;KAAA;IAEc,YAAY,CACzB,iBAA+B,EAC/B,UAAoC,EAAE;;YAEtC,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;gBACxC,MAAM,eAAe,mCAChB,OAAO,KACV,CAAC,EAAE,iBAAiB,CAAC,WAAW,EAChC,OAAO,GACR,CAAC;gBACF,MAAM,WAAW,GAAG,oBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAC7D,IAAI,CAAC,cAAc,EACnB,eAAe,CAChB,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACxE,IAAI,WAAW,CAAC,iBAAiB,EAAE;oBACjC,MAAM,KAAK,GAAG,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;wBAChD,uBACE,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,EACpD,cAAc,EAAE,WAAW,CAAC,UAAU,IACnC,CAAC,EACJ;qBACH,CAAC,CAAC;oBACH,0BAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE;wBACtD,KAAK,EAAE,iBAAiB,CAAC,iBAAiB;wBAC1C,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAA,CAAC;iBACJ;aACF;YACD,OAAO,iBAAiB,CAAC,iBAAiB,EAAE;gBAC1C,MAAM,WAAW,GAAG,oBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,WAAW,CACjE,IAAI,CAAC,cAAc,EACnB,iBAAiB,CAAC,iBAAiB,EACnC,OAAO,CACR,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACxE,IAAI,WAAW,CAAC,iBAAiB,EAAE;oBACjC,MAAM,KAAK,GAAG,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;wBAChD,uBACE,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,EACpD,cAAc,EAAE,WAAW,CAAC,UAAU,IACnC,CAAC,EACJ;qBACH,CAAC,CAAC;oBACH,0BAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE;wBACtD,KAAK,EAAE,iBAAiB,CAAC,iBAAiB;wBAC1C,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAA,CAAC;iBACJ;aACF;SACF;KAAA;CACF;;ACtdD;AACA,AAyGA;;;;AAIA,MAAa,uBAAuB;;;;;;;IAiBlC,YAAY,gBAAwB,EAAE,IAAY,EAAE,MAAuB;QACzE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;;;;;;IAOY,MAAM,CAAC,UAAmC,EAAE;;YACvD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;YAEnF,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;aACjF;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAED,0BAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,IAAI,CAAC,GAAG,EAAE,CAAC;aACZ;SACF;KAAA;;;;;IAMM,WAAW,CAAC,WAAmB;QACpC,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;QACD,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;KAC7F;;;;;IAMY,aAAa,CACxB,UAA0C,EAAE;;YAE5C,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;YAE1F,IAAI;gBACF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;aACrF;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAEA,0BAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,IAAI,CAAC,GAAG,EAAE,CAAC;aACZ;SACF;KAAA;;;;;IAMY,gBAAgB,CAC3B,OAA0C;;YAE1C,MAAM,KAAK,GAAkC;gBAC3C,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,eAAe,EAAE,OAAO,CAAC,eAAe;aACzC,CAAC;YACF,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,sCAAsC,kCAC7E,OAAO,KACV,KAAK,IACL,CAAC;YAEH,IAAI;gBACF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;aACxF;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAEA,0BAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,IAAI,CAAC,GAAG,EAAE,CAAC;aACZ;SACF;KAAA;;;;;;;;;;;;;;IAeM,sBAAsB,CAC3B,UAAyC,EAAE;QAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAE9C,OAAO;YACL,IAAI;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;aACpB;YACD,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,OAAO,IAAI,CAAC;aACb;YACD,MAAM,EAAE,CAAC,WAAyB,EAAE,KAAK,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC;SACnF,CAAC;KACH;IAEc,kBAAkB,CAC/B,UAAyC,EAAE;;;;gBAE3C,KAAyB,IAAA,KAAAC,oBAAA,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA,IAAA;oBAAjD,MAAM,IAAI,WAAA,CAAA;oBACnB,oBAAA,OAAOC,uBAAAD,oBAAA,IAAI,CAAA,CAAA,CAAA,CAAC;iBACb;;;;;;;;;SACF;KAAA;IAEc,iBAAiB,CAC9B,iBAA+B,EAC/B,UAAyC,EAAE;;YAE3C,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;gBACxC,MAAM,eAAe,mCAChB,OAAO,KACV,CAAC,EAAE,iBAAiB,CAAC,WAAW,EAChC,OAAO,GACR,CAAC;gBACF,MAAM,WAAW,GAAG,oBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAClE,IAAI,CAAC,IAAI,EACT,eAAe,CAChB,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACxE,IAAI,WAAW,CAAC,SAAS,EAAE;oBACzB,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KACxC,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,mBAAoB,CAAC,CAC7E,CAAC;oBACF,0BAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE;wBACtD,KAAK,EAAE,iBAAiB,CAAC,iBAAiB;wBAC1C,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAA,CAAC;iBACJ;aACF;YACD,OAAO,iBAAiB,CAAC,iBAAiB,EAAE;gBAC1C,MAAM,WAAW,GAAG,oBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CACtE,IAAI,CAAC,IAAI,EACT,iBAAiB,CAAC,iBAAiB,EACnC,OAAO,CACR,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACxE,IAAI,WAAW,CAAC,SAAS,EAAE;oBACzB,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KACxC,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,mBAAoB,CAAC,CAC7E,CAAC;oBACF,0BAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE;wBACtD,KAAK,EAAE,iBAAiB,CAAC,iBAAiB;wBAC1C,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAA,CAAC;iBACJ;aACF;SACF;KAAA;CACF;;ACpSD;AACA;AAEA;;;;;;;AAOA,SAAgB,YAAY,CAAC,aAAqB;IAChD,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;AACzD,CAAC;;ACZD;AACA,MAaa,uCAAuC;IAGlD,YACE,UAA2B,EACnB,mBAA2B,EAC3B,UAA4B;QAD5B,wBAAmB,GAAnB,mBAAmB,CAAQ;QAC3B,eAAU,GAAV,UAAU,CAAkB;QAEpC,IAAI,CAAC,YAAY,GAAG,IAAI,6BAA6B,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KAC3C;IAEK,QAAQ,CACZ,OAA0B,EAC1B,OAAyC;;YAEzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,OAAO,IAAI,CAAC;aACb;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;YACnF,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;aAClD;YAED,OAAO,IAAI,CAAC,YAAY,CAAC,6CAA6C,CACpE,QAAQ,CAAC,KAAK,EACd,OAAO,CAAC,OAAO,EACf,OAAO,CACR,CAAC;SACH;KAAA;CACF;AAED,MAAM,qDAAqD,GAAkB;IAC3E,IAAI,EAAE,kBAAkB;IACxB,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAEV,eAAuB;SACpC;QACD,OAAO,EAAE;YACP,UAAU,EAAErD,SAAiB;SAC9B;KACF;;IAED,WAAW,EAAE;QACX,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;QACrC,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;aACf;SACF;KACF;IACD,aAAa,EAAE,CAACC,GAAc,CAAC;IAC/B,gBAAgB,EAAE,CAACsD,YAAuB,EAAEC,OAAkB,CAAC;IAC/D,UAAU,EAAES,2BAAgB,CAAC,OAAO,cAAc,KAAK,CAAC;CACzD,CAAC;AAMF,MAAM,2DAA2D,GAAkB;IACjF,IAAI,EAAE,eAAe;IACrB,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAER,cAAsB;SACnC;QACD,OAAO,EAAE;YACP,UAAU,EAAEzD,SAAiB;SAC9B;KACF;;IAED,WAAW,EAAE;QACX,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;QACrC,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;aACf;SACF;KACF;IACD,aAAa,EAAE,CAACC,GAAc,CAAC;IAC/B,gBAAgB,EAAE,CAACsD,YAAuB,EAAEC,OAAkB,CAAC;IAC/D,UAAU,EAAES,2BAAgB,CAAC,OAAO,cAAc,KAAK,CAAC;CACzD,CAAC;AAEF,MAAa,6BAA6B;IACxC,YAAoB,UAA2B;QAA3B,eAAU,GAAV,UAAU,CAAiB;KAAI;IAE7C,6CAA6C,CACjD,cAAsB,EACtB,OAAe,EACf,OAAwB;;;;;;;;;;;;YAaxB,MAAM,OAAO,GAAG,mCAAmC,kBAAkB,CACnE,OAAO,CACR,iBAAiB,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;YACvD,MAAM,aAAa,GAAsB;gBACvC,OAAO;aACR,CAAC;YACF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAChE,EAAE,OAAO,kCAAO,OAAO,GAAK,aAAa,CAAE,EAAE,EAC7C,qDAAqD,CACtD,CAAC;YAEF,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;aAClF;;YAGD,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;aAClE;YACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;aACzC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;gBACnB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;aAClE;;YAGD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACtD,OAAO;gBACL,KAAK,EAAE,eAAe,CAAC,YAAY;gBACnC,kBAAkB,EAAE,MAAM;aAC3B,CAAC;SACH;KAAA;IAEK,6CAA6C,CACjD,eAAuB,EACvB,OAAe,EACf,KAAa,EACb,SAAuC,EACvC,OAAwB;;;;;;;;;;;;;YAcxB,MAAM,OAAO,GAAG,cAAc,SAAS,YAAY,kBAAkB,CAAC,OAAO,CAAC,kBAC5E,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAC,GAAG,EAC1D,UAAU,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,aAAa,GAAsB;gBACvC,OAAO;aACR,CAAC;YACF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAC/D,EAAE,OAAO,kCAAO,OAAO,GAAK,aAAa,CAAE,EAAE,EAC7C,2DAA2D,CAC5D,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;gBAC/B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;aACjF;YACD,OAAO,cAAc,CAAC,WAAW,CAAC;SACnC;KAAA;CACF;;AChMD;AACA,AAoDA;;;AAGA,MAAa,uBAAuB;IAgDlC,YACE,QAAgB,EAChB,mBAAsE,EACtE,gBAAgD,EAAE;;QAElD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,UAAuC,CAAC;QAC5C,IAAI,OAAmD,CAAC;QACxD,IAAIC,0BAAiB,CAAC,mBAAmB,CAAC,EAAE;YAC1C,UAAU,GAAG,mBAAmB,CAAC;YACjC,OAAO,GAAG,aAAa,CAAC;SACzB;aAAM;YACL,OAAO,GAAG,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,EAAE,CAAC;SACrC;;QAGD,MAAM,OAAO,GAAG,+BAA+B,WAAW,EAAE,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC7B,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC;SAC/B;QACD,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE;YAC5C,OAAO,CAAC,gBAAgB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,OAAO,EAAE,CAAC;SACrG;aAAM;YACL,OAAO,CAAC,gBAAgB,CAAC,eAAe,GAAG,OAAO,CAAC;SACpD;QAED,MAAM,uBAAuB,mCACxB,OAAO,KACV,cAAc,EAAE;gBACd,MAAM,EAAE,MAAM,CAAC,IAAI;;;gBAGnB,gCAAgC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC;aACrE,GACF,CAAC;QACF,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,mBAAmB,mCAAI,uCAAuC,CAAC;QACzF,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAC5BC,gDAA+B,CAAC;YAC9B,UAAU;YACV,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,kBAAkB,EAAE,IAAI,gBAAgB,CACtC,IAAI,uCAAuC,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAC/E;SACF,CAAC,CACH,CAAC;KACH;;;;;;;IAQY,gBAAgB,CAC3B,cAAsB,EACtB,UAAmC,EAAE;;YAErC,IAAI,CAAC,cAAc,EAAE;gBACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;aAC3C;YAED,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,UAAU,CACzC,0CAA0C,EAC1C,OAAO,CACR,CAAC;YAEF,IAAI;gBACF,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;aACtF;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAEL,0BAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,IAAI,CAAC,GAAG,EAAE,CAAC;aACZ;SACF;KAAA;;;;;;;IAQM,WAAW,CAAC,cAAsB,EAAE,WAAmB;QAC5D,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;QAED,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CACxF,WAAW,CACZ,CAAC;KACH;;;;;;;IAQM,aAAa,CAAC,cAAsB;QACzC,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAED,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;KAChF;;;;;;;;;;;;;IAcM,mBAAmB,CACxB,UAAmC,EAAE;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE/C,OAAO;YACL,IAAI;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;aACpB;YACD,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,OAAO,IAAI,CAAC;aACb;YACD,MAAM,EAAE,CAAC,WAAyB,EAAE,KAAK,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC;SACtF,CAAC;KACH;IAEc,mBAAmB,CAChC,UAAmC,EAAE;;;;gBAErC,KAAyB,IAAA,KAAAC,oBAAA,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA,IAAA;oBAApD,MAAM,IAAI,WAAA,CAAA;oBACnB,oBAAA,OAAOC,uBAAAD,oBAAA,IAAI,CAAA,CAAA,CAAA,CAAC;iBACb;;;;;;;;;SACF;KAAA;IAEc,oBAAoB,CACjC,iBAA+B,EAC/B,UAAmC,EAAE;;YAErC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;gBACxC,MAAM,eAAe,mCAChB,OAAO,KACV,CAAC,EAAE,iBAAiB,CAAC,WAAW,GACjC,CAAC;gBACF,MAAM,WAAW,GAAG,oBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA,CAAC;gBACzF,iBAAiB,CAAC,iBAAiB,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACxE,IAAI,WAAW,CAAC,YAAY,EAAE;oBAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC;oBACvC,0BAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE;wBACtD,KAAK,EAAE,iBAAiB,CAAC,iBAAiB;wBAC1C,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAA,CAAC;iBACJ;aACF;YACD,OAAO,iBAAiB,CAAC,iBAAiB,EAAE;gBAC1C,MAAM,WAAW,GAAG,oBAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,mBAAmB,CACzE,iBAAiB,CAAC,iBAAiB,EACnC,OAAO,CACR,CAAA,CAAC;gBACF,iBAAiB,CAAC,iBAAiB,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACxE,IAAI,WAAW,CAAC,YAAY,EAAE;oBAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC;oBACvC,0BAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE;wBACtD,KAAK,EAAE,iBAAiB,CAAC,iBAAiB;wBAC1C,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAA,CAAC;iBACJ;aACF;SACF;KAAA;CACF;;AClSD;AACA,AASA,WAAY,yBAAyB;IACnC,yCAAY,CAAA;IACZ,4CAAe,CAAA;IACf,wCAAW,CAAA;IACX,4CAAe,CAAA;IACf,0CAAa,CAAA;IACb,8CAAiB,CAAA;IACjB,8CAAiB,CAAA;IACjB,kDAAqB,CAAA;IACrB,4CAAe,CAAA;IACf,gDAAmB,CAAA;IACnB,gDAAmB,CAAA;IACnB,4CAAe,CAAA;IACf,0CAAa,CAAA;AACf,CAAC,EAdWK,iCAAyB,KAAzBA,iCAAyB,QAcpC;AAED,AAGA,WAAY,4BAA4B;IACtC,2CAAW,CAAA;IACX,mDAAmB,CAAA;IACnB,iDAAiB,CAAA;IACjB,uDAAuB,CAAA;IACvB,mDAAmB,CAAA;IACnB,mDAAmB,CAAA;IACnB,2CAAW,CAAA;IACX,yCAAS,CAAA;IACT,+CAAe,CAAA;IACf,iDAAiB,CAAA;IACjB,mDAAmB,CAAA;IACnB,+CAAe,CAAA;IACf,mDAAmB,CAAA;IACnB,mDAAmB,CAAA;AACrB,CAAC,EAfWC,oCAA4B,KAA5BA,oCAA4B,QAevC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/logger.ts","../src/generated/models/mappers.ts","../src/generated/models/parameters.ts","../src/generated/operations/containerRegistry.ts","../src/generated/operations/containerRegistryBlob.ts","../src/generated/operations/authentication.ts","../src/generated/generatedClientContext.ts","../src/generated/generatedClient.ts","../src/tracing.ts","../src/utils/helpers.ts","../src/utils/wwwAuthenticateParser.ts","../src/utils/tokenCycler.ts","../src/containerRegistryChallengeHandler.ts","../src/transformations.ts","../src/registryArtifact.ts","../src/containerRepository.ts","../src/utils/base64.ts","../src/containerRegistryTokenCredential.ts","../src/containerRegistryClient.ts","../src/models.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createClientLogger } from \"@azure/logger\";\n\n/**\n * The \\@azure/logger configuration for this package.\n *\n * @internal\n */\nexport const logger = createClientLogger(\"container-registry\");\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const AcrErrors: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AcrErrors\",\n modelProperties: {\n errors: {\n serializedName: \"errors\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AcrErrorInfo\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AcrErrorInfo: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AcrErrorInfo\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n },\n detail: {\n serializedName: \"detail\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const Manifest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Manifest\",\n modelProperties: {\n schemaVersion: {\n serializedName: \"schemaVersion\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const ManifestListAttributes: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ManifestListAttributes\",\n modelProperties: {\n mediaType: {\n serializedName: \"mediaType\",\n type: {\n name: \"String\"\n }\n },\n size: {\n serializedName: \"size\",\n type: {\n name: \"Number\"\n }\n },\n digest: {\n serializedName: \"digest\",\n type: {\n name: \"String\"\n }\n },\n platform: {\n serializedName: \"platform\",\n type: {\n name: \"Composite\",\n className: \"Platform\"\n }\n }\n }\n }\n};\n\nexport const Platform: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Platform\",\n modelProperties: {\n architecture: {\n serializedName: \"architecture\",\n type: {\n name: \"String\"\n }\n },\n os: {\n serializedName: \"os\",\n type: {\n name: \"String\"\n }\n },\n osVersion: {\n serializedName: \"os\\\\.version\",\n type: {\n name: \"String\"\n }\n },\n osFeatures: {\n serializedName: \"os\\\\.features\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n variant: {\n serializedName: \"variant\",\n type: {\n name: \"String\"\n }\n },\n features: {\n serializedName: \"features\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const Descriptor: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Descriptor\",\n modelProperties: {\n mediaType: {\n serializedName: \"mediaType\",\n type: {\n name: \"String\"\n }\n },\n size: {\n serializedName: \"size\",\n type: {\n name: \"Number\"\n }\n },\n digest: {\n serializedName: \"digest\",\n type: {\n name: \"String\"\n }\n },\n urls: {\n serializedName: \"urls\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n annotations: {\n serializedName: \"annotations\",\n type: {\n name: \"Composite\",\n className: \"Annotations\"\n }\n }\n }\n }\n};\n\nexport const Annotations: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Annotations\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n created: {\n serializedName: \"org\\\\.opencontainers.image.created\",\n type: {\n name: \"DateTime\"\n }\n },\n authors: {\n serializedName: \"org\\\\.opencontainers.image.authors\",\n type: {\n name: \"String\"\n }\n },\n url: {\n serializedName: \"org\\\\.opencontainers.image.url\",\n type: {\n name: \"String\"\n }\n },\n documentation: {\n serializedName: \"org\\\\.opencontainers.image.documentation\",\n type: {\n name: \"String\"\n }\n },\n source: {\n serializedName: \"org\\\\.opencontainers.image.source\",\n type: {\n name: \"String\"\n }\n },\n version: {\n serializedName: \"org\\\\.opencontainers.image.version\",\n type: {\n name: \"String\"\n }\n },\n revision: {\n serializedName: \"org\\\\.opencontainers.image.revision\",\n type: {\n name: \"String\"\n }\n },\n vendor: {\n serializedName: \"org\\\\.opencontainers.image.vendor\",\n type: {\n name: \"String\"\n }\n },\n licenses: {\n serializedName: \"org\\\\.opencontainers.image.licenses\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"org\\\\.opencontainers.image.ref.name\",\n type: {\n name: \"String\"\n }\n },\n title: {\n serializedName: \"org\\\\.opencontainers.image.title\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"org\\\\.opencontainers.image.description\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const FsLayer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"FsLayer\",\n modelProperties: {\n blobSum: {\n serializedName: \"blobSum\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const History: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"History\",\n modelProperties: {\n v1Compatibility: {\n serializedName: \"v1Compatibility\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ImageSignature: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ImageSignature\",\n modelProperties: {\n header: {\n serializedName: \"header\",\n type: {\n name: \"Composite\",\n className: \"Jwk\"\n }\n },\n signature: {\n serializedName: \"signature\",\n type: {\n name: \"String\"\n }\n },\n protected: {\n serializedName: \"protected\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Jwk: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Jwk\",\n modelProperties: {\n jwk: {\n serializedName: \"jwk\",\n type: {\n name: \"Composite\",\n className: \"JWKHeader\"\n }\n },\n alg: {\n serializedName: \"alg\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const JWKHeader: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"JWKHeader\",\n modelProperties: {\n crv: {\n serializedName: \"crv\",\n type: {\n name: \"String\"\n }\n },\n kid: {\n serializedName: \"kid\",\n type: {\n name: \"String\"\n }\n },\n kty: {\n serializedName: \"kty\",\n type: {\n name: \"String\"\n }\n },\n x: {\n serializedName: \"x\",\n type: {\n name: \"String\"\n }\n },\n y: {\n serializedName: \"y\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Repositories: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Repositories\",\n modelProperties: {\n repositories: {\n serializedName: \"repositories\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRepositoryProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRepositoryProperties\",\n modelProperties: {\n registryLoginServer: {\n serializedName: \"registry\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"imageName\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"lastUpdateTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n manifestCount: {\n serializedName: \"manifestCount\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n tagCount: {\n serializedName: \"tagCount\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n canDelete: {\n serializedName: \"changeableAttributes.deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"changeableAttributes.writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"changeableAttributes.listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"changeableAttributes.readEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const RepositoryWriteableProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RepositoryWriteableProperties\",\n modelProperties: {\n canDelete: {\n serializedName: \"deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"readEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const TagList: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TagList\",\n modelProperties: {\n registryLoginServer: {\n serializedName: \"registry\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n repository: {\n serializedName: \"imageName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n tagAttributeBases: {\n serializedName: \"tags\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TagAttributesBase\"\n }\n }\n }\n },\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TagAttributesBase: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TagAttributesBase\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n digest: {\n serializedName: \"digest\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"lastUpdateTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n canDelete: {\n serializedName: \"changeableAttributes.deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"changeableAttributes.writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"changeableAttributes.listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"changeableAttributes.readEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const TagWriteableProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TagWriteableProperties\",\n modelProperties: {\n canDelete: {\n serializedName: \"deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"readEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const ArtifactTagProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ArtifactTagProperties\",\n modelProperties: {\n registryLoginServer: {\n serializedName: \"registry\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n repositoryName: {\n serializedName: \"imageName\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"tag.name\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n digest: {\n serializedName: \"tag.digest\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"tag.createdTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"tag.lastUpdateTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n canDelete: {\n serializedName: \"tag.changeableAttributes.deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"tag.changeableAttributes.writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"tag.changeableAttributes.listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"tag.changeableAttributes.readEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const AcrManifests: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AcrManifests\",\n modelProperties: {\n registryLoginServer: {\n serializedName: \"registry\",\n type: {\n name: \"String\"\n }\n },\n repository: {\n serializedName: \"imageName\",\n type: {\n name: \"String\"\n }\n },\n manifests: {\n serializedName: \"manifests\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManifestAttributesBase\"\n }\n }\n }\n },\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ManifestAttributesBase: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ManifestAttributesBase\",\n modelProperties: {\n digest: {\n serializedName: \"digest\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n size: {\n serializedName: \"imageSize\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n createdOn: {\n serializedName: \"createdTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"lastUpdateTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n architecture: {\n serializedName: \"architecture\",\n readOnly: true,\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n operatingSystem: {\n serializedName: \"os\",\n readOnly: true,\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n relatedArtifacts: {\n serializedName: \"references\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ArtifactManifestPlatform\"\n }\n }\n }\n },\n tags: {\n serializedName: \"tags\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n canDelete: {\n serializedName: \"changeableAttributes.deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"changeableAttributes.writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"changeableAttributes.listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"changeableAttributes.readEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const ArtifactManifestPlatform: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ArtifactManifestPlatform\",\n modelProperties: {\n digest: {\n serializedName: \"digest\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n architecture: {\n serializedName: \"architecture\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n operatingSystem: {\n serializedName: \"os\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ManifestWriteableProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ManifestWriteableProperties\",\n modelProperties: {\n canDelete: {\n serializedName: \"deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"readEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const ArtifactManifestProperties: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ArtifactManifestProperties\",\n modelProperties: {\n registryLoginServer: {\n serializedName: \"registry\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n repositoryName: {\n serializedName: \"imageName\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n digest: {\n serializedName: \"manifest.digest\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n size: {\n serializedName: \"manifest.imageSize\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n createdOn: {\n serializedName: \"manifest.createdTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"manifest.lastUpdateTime\",\n required: true,\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n architecture: {\n serializedName: \"manifest.architecture\",\n readOnly: true,\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n operatingSystem: {\n serializedName: \"manifest.os\",\n readOnly: true,\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n relatedArtifacts: {\n serializedName: \"manifest.references\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ArtifactManifestPlatform\"\n }\n }\n }\n },\n tags: {\n serializedName: \"manifest.tags\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n canDelete: {\n serializedName: \"manifest.changeableAttributes.deleteEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canWrite: {\n serializedName: \"manifest.changeableAttributes.writeEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canList: {\n serializedName: \"manifest.changeableAttributes.listEnabled\",\n type: {\n name: \"Boolean\"\n }\n },\n canRead: {\n serializedName: \"manifest.changeableAttributes.readEnabled\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const AcrRefreshToken: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AcrRefreshToken\",\n modelProperties: {\n refreshToken: {\n serializedName: \"refresh_token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AcrAccessToken: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AcrAccessToken\",\n modelProperties: {\n accessToken: {\n serializedName: \"access_token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RepositoryTags: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"RepositoryTags\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const DeleteRepositoryResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DeleteRepositoryResult\",\n modelProperties: {\n deletedManifests: {\n serializedName: \"manifestsDeleted\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n deletedTags: {\n serializedName: \"tagsDeleted\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const TagAttributesTag: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TagAttributesTag\",\n modelProperties: {\n signatureRecord: {\n serializedName: \"signatureRecord\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ManifestAttributesManifest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ManifestAttributesManifest\",\n modelProperties: {\n references: {\n serializedName: \"references\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ArtifactManifestPlatform\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const Paths108HwamOauth2ExchangePostRequestbodyContentApplicationXWwwFormUrlencodedSchema: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className:\n \"Paths108HwamOauth2ExchangePostRequestbodyContentApplicationXWwwFormUrlencodedSchema\",\n modelProperties: {\n grantType: {\n serializedName: \"grant_type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n service: {\n serializedName: \"service\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n tenant: {\n serializedName: \"tenant\",\n type: {\n name: \"String\"\n }\n },\n refreshToken: {\n serializedName: \"refresh_token\",\n type: {\n name: \"String\"\n }\n },\n aadAccessToken: {\n serializedName: \"access_token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PathsV3R3RxOauth2TokenPostRequestbodyContentApplicationXWwwFormUrlencodedSchema: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className:\n \"PathsV3R3RxOauth2TokenPostRequestbodyContentApplicationXWwwFormUrlencodedSchema\",\n modelProperties: {\n service: {\n serializedName: \"service\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n scope: {\n serializedName: \"scope\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n acrRefreshToken: {\n serializedName: \"refresh_token\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n grantType: {\n serializedName: \"grant_type\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"refresh_token\", \"password\"]\n }\n }\n }\n }\n};\n\nexport const ManifestWrapper: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ManifestWrapper\",\n modelProperties: {\n ...Manifest.type.modelProperties,\n mediaType: {\n serializedName: \"mediaType\",\n type: {\n name: \"String\"\n }\n },\n manifests: {\n serializedName: \"manifests\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManifestListAttributes\"\n }\n }\n }\n },\n config: {\n serializedName: \"config\",\n type: {\n name: \"Composite\",\n className: \"Descriptor\"\n }\n },\n layers: {\n serializedName: \"layers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Descriptor\"\n }\n }\n }\n },\n annotations: {\n serializedName: \"annotations\",\n type: {\n name: \"Composite\",\n className: \"Annotations\"\n }\n },\n architecture: {\n serializedName: \"architecture\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n tag: {\n serializedName: \"tag\",\n type: {\n name: \"String\"\n }\n },\n fsLayers: {\n serializedName: \"fsLayers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FsLayer\"\n }\n }\n }\n },\n history: {\n serializedName: \"history\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"History\"\n }\n }\n }\n },\n signatures: {\n serializedName: \"signatures\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ImageSignature\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ManifestList: coreClient.CompositeMapper = {\n serializedName: \"application/vnd.docker.distribution.manifest.list.v2+json\",\n type: {\n name: \"Composite\",\n className: \"ManifestList\",\n modelProperties: {\n ...Manifest.type.modelProperties,\n mediaType: {\n serializedName: \"mediaType\",\n type: {\n name: \"String\"\n }\n },\n manifests: {\n serializedName: \"manifests\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManifestListAttributes\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const V2Manifest: coreClient.CompositeMapper = {\n serializedName: \"application/vnd.docker.distribution.manifest.v2+json\",\n type: {\n name: \"Composite\",\n className: \"V2Manifest\",\n modelProperties: {\n ...Manifest.type.modelProperties,\n mediaType: {\n serializedName: \"mediaType\",\n type: {\n name: \"String\"\n }\n },\n config: {\n serializedName: \"config\",\n type: {\n name: \"Composite\",\n className: \"Descriptor\"\n }\n },\n layers: {\n serializedName: \"layers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Descriptor\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const OCIManifest: coreClient.CompositeMapper = {\n serializedName: \"application/vnd.oci.image.manifest.v1+json\",\n type: {\n name: \"Composite\",\n className: \"OCIManifest\",\n modelProperties: {\n ...Manifest.type.modelProperties,\n config: {\n serializedName: \"config\",\n type: {\n name: \"Composite\",\n className: \"Descriptor\"\n }\n },\n layers: {\n serializedName: \"layers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Descriptor\"\n }\n }\n }\n },\n annotations: {\n serializedName: \"annotations\",\n type: {\n name: \"Composite\",\n className: \"Annotations\"\n }\n }\n }\n }\n};\n\nexport const OCIIndex: coreClient.CompositeMapper = {\n serializedName: \"application/vnd.oci.image.index.v1+json\",\n type: {\n name: \"Composite\",\n className: \"OCIIndex\",\n modelProperties: {\n ...Manifest.type.modelProperties,\n manifests: {\n serializedName: \"manifests\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManifestListAttributes\"\n }\n }\n }\n },\n annotations: {\n serializedName: \"annotations\",\n type: {\n name: \"Composite\",\n className: \"Annotations\"\n }\n }\n }\n }\n};\n\nexport const V1Manifest: coreClient.CompositeMapper = {\n serializedName: \"application/vnd.oci.image.manifest.v1+json\",\n type: {\n name: \"Composite\",\n className: \"V1Manifest\",\n modelProperties: {\n ...Manifest.type.modelProperties,\n architecture: {\n serializedName: \"architecture\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n tag: {\n serializedName: \"tag\",\n type: {\n name: \"String\"\n }\n },\n fsLayers: {\n serializedName: \"fsLayers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FsLayer\"\n }\n }\n }\n },\n history: {\n serializedName: \"history\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"History\"\n }\n }\n }\n },\n signatures: {\n serializedName: \"signatures\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ImageSignature\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryCreateManifestHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryCreateManifestHeaders\",\n modelProperties: {\n dockerContentDigest: {\n serializedName: \"docker-content-digest\",\n type: {\n name: \"String\"\n }\n },\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n contentLength: {\n serializedName: \"content-length\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryGetRepositoriesHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryGetRepositoriesHeaders\",\n modelProperties: {\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryGetTagsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryGetTagsHeaders\",\n modelProperties: {\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryGetManifestsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryGetManifestsHeaders\",\n modelProperties: {\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryGetRepositoriesNextHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryGetRepositoriesNextHeaders\",\n modelProperties: {\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryGetTagsNextHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryGetTagsNextHeaders\",\n modelProperties: {\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryGetManifestsNextHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryGetManifestsNextHeaders\",\n modelProperties: {\n link: {\n serializedName: \"link\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobGetBlobHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobGetBlobHeaders\",\n modelProperties: {\n contentLength: {\n serializedName: \"content-length\",\n type: {\n name: \"Number\"\n }\n },\n dockerContentDigest: {\n serializedName: \"docker-content-digest\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobCheckBlobExistsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobCheckBlobExistsHeaders\",\n modelProperties: {\n contentLength: {\n serializedName: \"content-length\",\n type: {\n name: \"Number\"\n }\n },\n dockerContentDigest: {\n serializedName: \"docker-content-digest\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobDeleteBlobHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobDeleteBlobHeaders\",\n modelProperties: {\n dockerContentDigest: {\n serializedName: \"docker-content-digest\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobMountBlobHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobMountBlobHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n dockerUploadUuid: {\n serializedName: \"docker-upload-uuid\",\n type: {\n name: \"String\"\n }\n },\n dockerContentDigest: {\n serializedName: \"docker-content-digest\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobGetUploadStatusHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobGetUploadStatusHeaders\",\n modelProperties: {\n range: {\n serializedName: \"range\",\n type: {\n name: \"String\"\n }\n },\n dockerUploadUuid: {\n serializedName: \"docker-upload-uuid\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobUploadChunkHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobUploadChunkHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n range: {\n serializedName: \"range\",\n type: {\n name: \"String\"\n }\n },\n dockerUploadUuid: {\n serializedName: \"docker-upload-uuid\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobCompleteUploadHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobCompleteUploadHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n range: {\n serializedName: \"range\",\n type: {\n name: \"String\"\n }\n },\n dockerContentDigest: {\n serializedName: \"docker-content-digest\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobStartUploadHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobStartUploadHeaders\",\n modelProperties: {\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n range: {\n serializedName: \"range\",\n type: {\n name: \"String\"\n }\n },\n dockerUploadUuid: {\n serializedName: \"docker-upload-uuid\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobGetChunkHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobGetChunkHeaders\",\n modelProperties: {\n contentLength: {\n serializedName: \"content-length\",\n type: {\n name: \"Number\"\n }\n },\n contentRange: {\n serializedName: \"content-range\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ContainerRegistryBlobCheckChunkExistsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ContainerRegistryBlobCheckChunkExistsHeaders\",\n modelProperties: {\n contentLength: {\n serializedName: \"content-length\",\n type: {\n name: \"Number\"\n }\n },\n contentRange: {\n serializedName: \"content-range\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n Manifest as ManifestMapper,\n RepositoryWriteableProperties as RepositoryWriteablePropertiesMapper,\n TagWriteableProperties as TagWriteablePropertiesMapper,\n ManifestWriteableProperties as ManifestWriteablePropertiesMapper\n} from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const url: OperationURLParameter = {\n parameterPath: \"url\",\n mapper: {\n serializedName: \"url\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const name: OperationURLParameter = {\n parameterPath: \"name\",\n mapper: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const reference: OperationURLParameter = {\n parameterPath: \"reference\",\n mapper: {\n serializedName: \"reference\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const accept1: OperationParameter = {\n parameterPath: [\"options\", \"accept\"],\n mapper: {\n serializedName: \"accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/vnd.docker.distribution.manifest.v2+json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const payload: OperationParameter = {\n parameterPath: \"payload\",\n mapper: ManifestMapper\n};\n\nexport const last: OperationQueryParameter = {\n parameterPath: [\"options\", \"last\"],\n mapper: {\n serializedName: \"last\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const n: OperationQueryParameter = {\n parameterPath: [\"options\", \"n\"],\n mapper: {\n serializedName: \"n\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n serializedName: \"api-version\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType1: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const value: OperationParameter = {\n parameterPath: [\"options\", \"value\"],\n mapper: RepositoryWriteablePropertiesMapper\n};\n\nexport const orderby: OperationQueryParameter = {\n parameterPath: [\"options\", \"orderby\"],\n mapper: {\n serializedName: \"orderby\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const digest: OperationQueryParameter = {\n parameterPath: [\"options\", \"digest\"],\n mapper: {\n serializedName: \"digest\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const value1: OperationParameter = {\n parameterPath: [\"options\", \"value\"],\n mapper: TagWriteablePropertiesMapper\n};\n\nexport const digest1: OperationURLParameter = {\n parameterPath: \"digest\",\n mapper: {\n serializedName: \"digest\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const value2: OperationParameter = {\n parameterPath: [\"options\", \"value\"],\n mapper: ManifestWriteablePropertiesMapper\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const accept2: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/octet-stream\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const fromParam: OperationQueryParameter = {\n parameterPath: \"fromParam\",\n mapper: {\n serializedName: \"from\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const mount: OperationQueryParameter = {\n parameterPath: \"mount\",\n mapper: {\n serializedName: \"mount\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const location: OperationURLParameter = {\n parameterPath: \"location\",\n mapper: {\n serializedName: \"nextBlobUuidLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const contentType2: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/octet-stream\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const value3: OperationParameter = {\n parameterPath: \"value\",\n mapper: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Stream\"\n }\n }\n};\n\nexport const accept3: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const value4: OperationParameter = {\n parameterPath: [\"options\", \"value\"],\n mapper: {\n serializedName: \"value\",\n type: {\n name: \"Stream\"\n }\n }\n};\n\nexport const digest2: OperationQueryParameter = {\n parameterPath: \"digest\",\n mapper: {\n serializedName: \"digest\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const range: OperationParameter = {\n parameterPath: \"range\",\n mapper: {\n serializedName: \"Range\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType3: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/x-www-form-urlencoded\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const grantType: OperationParameter = {\n parameterPath: \"grantType\",\n mapper: {\n serializedName: \"grant_type\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const service: OperationParameter = {\n parameterPath: \"service\",\n mapper: {\n serializedName: \"service\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const tenant: OperationParameter = {\n parameterPath: [\"options\", \"tenant\"],\n mapper: {\n serializedName: \"tenant\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const refreshToken: OperationParameter = {\n parameterPath: [\"options\", \"refreshToken\"],\n mapper: {\n serializedName: \"refresh_token\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const accessToken: OperationParameter = {\n parameterPath: [\"options\", \"accessToken\"],\n mapper: {\n serializedName: \"access_token\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const accept4: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const scope: OperationParameter = {\n parameterPath: \"scope\",\n mapper: {\n serializedName: \"scope\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const refreshToken1: OperationParameter = {\n parameterPath: \"refreshToken\",\n mapper: {\n serializedName: \"refresh_token\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const grantType1: OperationParameter = {\n parameterPath: \"grantType\",\n mapper: {\n serializedName: \"grant_type\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"refresh_token\", \"password\"]\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { ContainerRegistry } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { GeneratedClientContext } from \"../generatedClientContext\";\nimport {\n ContainerRegistryCheckDockerV2SupportOptionalParams,\n ContainerRegistryGetManifestOptionalParams,\n ContainerRegistryGetManifestResponse,\n Manifest,\n ContainerRegistryCreateManifestOptionalParams,\n ContainerRegistryCreateManifestResponse,\n ContainerRegistryDeleteManifestOptionalParams,\n ContainerRegistryGetRepositoriesOptionalParams,\n ContainerRegistryGetRepositoriesResponse,\n ContainerRegistryGetPropertiesOptionalParams,\n ContainerRegistryGetPropertiesResponse,\n ContainerRegistryDeleteRepositoryOptionalParams,\n ContainerRegistryUpdatePropertiesOptionalParams,\n ContainerRegistryUpdatePropertiesResponse,\n ContainerRegistryGetTagsOptionalParams,\n ContainerRegistryGetTagsResponse,\n ContainerRegistryGetTagPropertiesOptionalParams,\n ContainerRegistryGetTagPropertiesResponse,\n ContainerRegistryUpdateTagAttributesOptionalParams,\n ContainerRegistryUpdateTagAttributesResponse,\n ContainerRegistryDeleteTagOptionalParams,\n ContainerRegistryGetManifestsOptionalParams,\n ContainerRegistryGetManifestsResponse,\n ContainerRegistryGetManifestPropertiesOptionalParams,\n ContainerRegistryGetManifestPropertiesResponse,\n ContainerRegistryUpdateManifestPropertiesOptionalParams,\n ContainerRegistryUpdateManifestPropertiesResponse,\n ContainerRegistryGetRepositoriesNextOptionalParams,\n ContainerRegistryGetRepositoriesNextResponse,\n ContainerRegistryGetTagsNextOptionalParams,\n ContainerRegistryGetTagsNextResponse,\n ContainerRegistryGetManifestsNextOptionalParams,\n ContainerRegistryGetManifestsNextResponse\n} from \"../models\";\n\n/** Class containing ContainerRegistry operations. */\nexport class ContainerRegistryImpl implements ContainerRegistry {\n private readonly client: GeneratedClientContext;\n\n /**\n * Initialize a new instance of the class ContainerRegistry class.\n * @param client Reference to the service client\n */\n constructor(client: GeneratedClientContext) {\n this.client = client;\n }\n\n /**\n * Tells whether this Docker Registry instance supports Docker Registry HTTP API v2\n * @param options The options parameters.\n */\n checkDockerV2Support(\n options?: ContainerRegistryCheckDockerV2SupportOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { options },\n checkDockerV2SupportOperationSpec\n );\n }\n\n /**\n * Get the manifest identified by `name` and `reference` where `reference` can be a tag or digest.\n * @param name Name of the image (including the namespace)\n * @param reference A tag or a digest, pointing to a specific image\n * @param options The options parameters.\n */\n getManifest(\n name: string,\n reference: string,\n options?: ContainerRegistryGetManifestOptionalParams\n ): Promise<ContainerRegistryGetManifestResponse> {\n return this.client.sendOperationRequest(\n { name, reference, options },\n getManifestOperationSpec\n );\n }\n\n /**\n * Put the manifest identified by `name` and `reference` where `reference` can be a tag or digest.\n * @param name Name of the image (including the namespace)\n * @param reference A tag or a digest, pointing to a specific image\n * @param payload Manifest body, can take v1 or v2 values depending on accept header\n * @param options The options parameters.\n */\n createManifest(\n name: string,\n reference: string,\n payload: Manifest,\n options?: ContainerRegistryCreateManifestOptionalParams\n ): Promise<ContainerRegistryCreateManifestResponse> {\n return this.client.sendOperationRequest(\n { name, reference, payload, options },\n createManifestOperationSpec\n );\n }\n\n /**\n * Delete the manifest identified by `name` and `reference`. Note that a manifest can _only_ be deleted\n * by `digest`.\n * @param name Name of the image (including the namespace)\n * @param reference Digest of a BLOB\n * @param options The options parameters.\n */\n deleteManifest(\n name: string,\n reference: string,\n options?: ContainerRegistryDeleteManifestOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { name, reference, options },\n deleteManifestOperationSpec\n );\n }\n\n /**\n * List repositories\n * @param options The options parameters.\n */\n getRepositories(\n options?: ContainerRegistryGetRepositoriesOptionalParams\n ): Promise<ContainerRegistryGetRepositoriesResponse> {\n return this.client.sendOperationRequest(\n { options },\n getRepositoriesOperationSpec\n );\n }\n\n /**\n * Get repository attributes\n * @param name Name of the image (including the namespace)\n * @param options The options parameters.\n */\n getProperties(\n name: string,\n options?: ContainerRegistryGetPropertiesOptionalParams\n ): Promise<ContainerRegistryGetPropertiesResponse> {\n return this.client.sendOperationRequest(\n { name, options },\n getPropertiesOperationSpec\n );\n }\n\n /**\n * Delete the repository identified by `name`\n * @param name Name of the image (including the namespace)\n * @param options The options parameters.\n */\n deleteRepository(\n name: string,\n options?: ContainerRegistryDeleteRepositoryOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { name, options },\n deleteRepositoryOperationSpec\n );\n }\n\n /**\n * Update the attribute identified by `name` where `reference` is the name of the repository.\n * @param name Name of the image (including the namespace)\n * @param options The options parameters.\n */\n updateProperties(\n name: string,\n options?: ContainerRegistryUpdatePropertiesOptionalParams\n ): Promise<ContainerRegistryUpdatePropertiesResponse> {\n return this.client.sendOperationRequest(\n { name, options },\n updatePropertiesOperationSpec\n );\n }\n\n /**\n * List tags of a repository\n * @param name Name of the image (including the namespace)\n * @param options The options parameters.\n */\n getTags(\n name: string,\n options?: ContainerRegistryGetTagsOptionalParams\n ): Promise<ContainerRegistryGetTagsResponse> {\n return this.client.sendOperationRequest(\n { name, options },\n getTagsOperationSpec\n );\n }\n\n /**\n * Get tag attributes by tag\n * @param name Name of the image (including the namespace)\n * @param reference Tag name\n * @param options The options parameters.\n */\n getTagProperties(\n name: string,\n reference: string,\n options?: ContainerRegistryGetTagPropertiesOptionalParams\n ): Promise<ContainerRegistryGetTagPropertiesResponse> {\n return this.client.sendOperationRequest(\n { name, reference, options },\n getTagPropertiesOperationSpec\n );\n }\n\n /**\n * Update tag attributes\n * @param name Name of the image (including the namespace)\n * @param reference Tag name\n * @param options The options parameters.\n */\n updateTagAttributes(\n name: string,\n reference: string,\n options?: ContainerRegistryUpdateTagAttributesOptionalParams\n ): Promise<ContainerRegistryUpdateTagAttributesResponse> {\n return this.client.sendOperationRequest(\n { name, reference, options },\n updateTagAttributesOperationSpec\n );\n }\n\n /**\n * Delete tag\n * @param name Name of the image (including the namespace)\n * @param reference Tag name\n * @param options The options parameters.\n */\n deleteTag(\n name: string,\n reference: string,\n options?: ContainerRegistryDeleteTagOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { name, reference, options },\n deleteTagOperationSpec\n );\n }\n\n /**\n * List manifests of a repository\n * @param name Name of the image (including the namespace)\n * @param options The options parameters.\n */\n getManifests(\n name: string,\n options?: ContainerRegistryGetManifestsOptionalParams\n ): Promise<ContainerRegistryGetManifestsResponse> {\n return this.client.sendOperationRequest(\n { name, options },\n getManifestsOperationSpec\n );\n }\n\n /**\n * Get manifest attributes\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param options The options parameters.\n */\n getManifestProperties(\n name: string,\n digest: string,\n options?: ContainerRegistryGetManifestPropertiesOptionalParams\n ): Promise<ContainerRegistryGetManifestPropertiesResponse> {\n return this.client.sendOperationRequest(\n { name, digest, options },\n getManifestPropertiesOperationSpec\n );\n }\n\n /**\n * Update properties of a manifest\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param options The options parameters.\n */\n updateManifestProperties(\n name: string,\n digest: string,\n options?: ContainerRegistryUpdateManifestPropertiesOptionalParams\n ): Promise<ContainerRegistryUpdateManifestPropertiesResponse> {\n return this.client.sendOperationRequest(\n { name, digest, options },\n updateManifestPropertiesOperationSpec\n );\n }\n\n /**\n * GetRepositoriesNext\n * @param nextLink The nextLink from the previous successful call to the GetRepositories method.\n * @param options The options parameters.\n */\n getRepositoriesNext(\n nextLink: string,\n options?: ContainerRegistryGetRepositoriesNextOptionalParams\n ): Promise<ContainerRegistryGetRepositoriesNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n getRepositoriesNextOperationSpec\n );\n }\n\n /**\n * GetTagsNext\n * @param name Name of the image (including the namespace)\n * @param nextLink The nextLink from the previous successful call to the GetTags method.\n * @param options The options parameters.\n */\n getTagsNext(\n name: string,\n nextLink: string,\n options?: ContainerRegistryGetTagsNextOptionalParams\n ): Promise<ContainerRegistryGetTagsNextResponse> {\n return this.client.sendOperationRequest(\n { name, nextLink, options },\n getTagsNextOperationSpec\n );\n }\n\n /**\n * GetManifestsNext\n * @param name Name of the image (including the namespace)\n * @param nextLink The nextLink from the previous successful call to the GetManifests method.\n * @param options The options parameters.\n */\n getManifestsNext(\n name: string,\n nextLink: string,\n options?: ContainerRegistryGetManifestsNextOptionalParams\n ): Promise<ContainerRegistryGetManifestsNextResponse> {\n return this.client.sendOperationRequest(\n { name, nextLink, options },\n getManifestsNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst checkDockerV2SupportOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/\",\n httpMethod: \"GET\",\n responses: {\n 200: {},\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getManifestOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/manifests/{reference}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ManifestWrapper\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.reference],\n headerParameters: [Parameters.accept, Parameters.accept1],\n serializer\n};\nconst createManifestOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/manifests/{reference}\",\n httpMethod: \"PUT\",\n responses: {\n 201: {\n bodyMapper: { type: { name: \"any\" } },\n headersMapper: Mappers.ContainerRegistryCreateManifestHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n requestBody: Parameters.payload,\n urlParameters: [Parameters.url, Parameters.name, Parameters.reference],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst deleteManifestOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/manifests/{reference}\",\n httpMethod: \"DELETE\",\n responses: {\n 202: {},\n 404: {},\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.reference],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getRepositoriesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/_catalog\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Repositories,\n headersMapper: Mappers.ContainerRegistryGetRepositoriesHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.last, Parameters.n, Parameters.apiVersion],\n urlParameters: [Parameters.url],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getPropertiesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ContainerRepositoryProperties\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteRepositoryOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}\",\n httpMethod: \"DELETE\",\n responses: {\n 202: {},\n 404: {},\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updatePropertiesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.ContainerRepositoryProperties\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n requestBody: Parameters.value,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept, Parameters.contentType1],\n mediaType: \"json\",\n serializer\n};\nconst getTagsOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_tags\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.TagList,\n headersMapper: Mappers.ContainerRegistryGetTagsHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [\n Parameters.last,\n Parameters.n,\n Parameters.apiVersion,\n Parameters.orderby,\n Parameters.digest\n ],\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getTagPropertiesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_tags/{reference}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ArtifactTagProperties\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.url, Parameters.name, Parameters.reference],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateTagAttributesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_tags/{reference}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.ArtifactTagProperties\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n requestBody: Parameters.value1,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.url, Parameters.name, Parameters.reference],\n headerParameters: [Parameters.accept, Parameters.contentType1],\n mediaType: \"json\",\n serializer\n};\nconst deleteTagOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_tags/{reference}\",\n httpMethod: \"DELETE\",\n responses: {\n 202: {},\n 404: {},\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.url, Parameters.name, Parameters.reference],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getManifestsOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_manifests\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AcrManifests,\n headersMapper: Mappers.ContainerRegistryGetManifestsHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [\n Parameters.last,\n Parameters.n,\n Parameters.apiVersion,\n Parameters.orderby\n ],\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getManifestPropertiesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_manifests/{digest}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ArtifactManifestProperties\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst updateManifestPropertiesOperationSpec: coreClient.OperationSpec = {\n path: \"/acr/v1/{name}/_manifests/{digest}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.ArtifactManifestProperties\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n requestBody: Parameters.value2,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept, Parameters.contentType1],\n mediaType: \"json\",\n serializer\n};\nconst getRepositoriesNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Repositories,\n headersMapper: Mappers.ContainerRegistryGetRepositoriesNextHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.last, Parameters.n, Parameters.apiVersion],\n urlParameters: [Parameters.url, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getTagsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.TagList,\n headersMapper: Mappers.ContainerRegistryGetTagsNextHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [\n Parameters.last,\n Parameters.n,\n Parameters.apiVersion,\n Parameters.orderby,\n Parameters.digest\n ],\n urlParameters: [Parameters.url, Parameters.name, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getManifestsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AcrManifests,\n headersMapper: Mappers.ContainerRegistryGetManifestsNextHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [\n Parameters.last,\n Parameters.n,\n Parameters.apiVersion,\n Parameters.orderby\n ],\n urlParameters: [Parameters.url, Parameters.name, Parameters.nextLink],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { ContainerRegistryBlob } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as coreRestPipeline from \"@azure/core-rest-pipeline\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { GeneratedClientContext } from \"../generatedClientContext\";\nimport {\n ContainerRegistryBlobGetBlobOptionalParams,\n ContainerRegistryBlobGetBlobResponse,\n ContainerRegistryBlobCheckBlobExistsOptionalParams,\n ContainerRegistryBlobCheckBlobExistsResponse,\n ContainerRegistryBlobDeleteBlobOptionalParams,\n ContainerRegistryBlobDeleteBlobResponse,\n ContainerRegistryBlobMountBlobOptionalParams,\n ContainerRegistryBlobMountBlobResponse,\n ContainerRegistryBlobGetUploadStatusOptionalParams,\n ContainerRegistryBlobGetUploadStatusResponse,\n ContainerRegistryBlobUploadChunkOptionalParams,\n ContainerRegistryBlobUploadChunkResponse,\n ContainerRegistryBlobCompleteUploadOptionalParams,\n ContainerRegistryBlobCompleteUploadResponse,\n ContainerRegistryBlobCancelUploadOptionalParams,\n ContainerRegistryBlobStartUploadOptionalParams,\n ContainerRegistryBlobStartUploadResponse,\n ContainerRegistryBlobGetChunkOptionalParams,\n ContainerRegistryBlobGetChunkResponse,\n ContainerRegistryBlobCheckChunkExistsOptionalParams,\n ContainerRegistryBlobCheckChunkExistsResponse\n} from \"../models\";\n\n/** Class containing ContainerRegistryBlob operations. */\nexport class ContainerRegistryBlobImpl implements ContainerRegistryBlob {\n private readonly client: GeneratedClientContext;\n\n /**\n * Initialize a new instance of the class ContainerRegistryBlob class.\n * @param client Reference to the service client\n */\n constructor(client: GeneratedClientContext) {\n this.client = client;\n }\n\n /**\n * Retrieve the blob from the registry identified by digest.\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param options The options parameters.\n */\n getBlob(\n name: string,\n digest: string,\n options?: ContainerRegistryBlobGetBlobOptionalParams\n ): Promise<ContainerRegistryBlobGetBlobResponse> {\n return this.client.sendOperationRequest(\n { name, digest, options },\n getBlobOperationSpec\n );\n }\n\n /**\n * Same as GET, except only the headers are returned.\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param options The options parameters.\n */\n checkBlobExists(\n name: string,\n digest: string,\n options?: ContainerRegistryBlobCheckBlobExistsOptionalParams\n ): Promise<ContainerRegistryBlobCheckBlobExistsResponse> {\n return this.client.sendOperationRequest(\n { name, digest, options },\n checkBlobExistsOperationSpec\n );\n }\n\n /**\n * Removes an already uploaded blob.\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param options The options parameters.\n */\n deleteBlob(\n name: string,\n digest: string,\n options?: ContainerRegistryBlobDeleteBlobOptionalParams\n ): Promise<ContainerRegistryBlobDeleteBlobResponse> {\n return this.client.sendOperationRequest(\n { name, digest, options },\n deleteBlobOperationSpec\n );\n }\n\n /**\n * Mount a blob identified by the `mount` parameter from another repository.\n * @param name Name of the image (including the namespace)\n * @param mount Digest of blob to mount from the source repository.\n * @param fromParam Name of the source repository.\n * @param options The options parameters.\n */\n mountBlob(\n name: string,\n mount: string,\n fromParam: string,\n options?: ContainerRegistryBlobMountBlobOptionalParams\n ): Promise<ContainerRegistryBlobMountBlobResponse> {\n return this.client.sendOperationRequest(\n { name, mount, fromParam, options },\n mountBlobOperationSpec\n );\n }\n\n /**\n * Retrieve status of upload identified by uuid. The primary purpose of this endpoint is to resolve the\n * current status of a resumable upload.\n * @param location Link acquired from upload start or previous chunk. Note, do not include initial /\n * (must do substring(1) )\n * @param options The options parameters.\n */\n getUploadStatus(\n location: string,\n options?: ContainerRegistryBlobGetUploadStatusOptionalParams\n ): Promise<ContainerRegistryBlobGetUploadStatusResponse> {\n return this.client.sendOperationRequest(\n { location, options },\n getUploadStatusOperationSpec\n );\n }\n\n /**\n * Upload a stream of data without completing the upload.\n * @param location Link acquired from upload start or previous chunk. Note, do not include initial /\n * (must do substring(1) )\n * @param value Raw data of blob\n * @param options The options parameters.\n */\n uploadChunk(\n location: string,\n value: coreRestPipeline.RequestBodyType,\n options?: ContainerRegistryBlobUploadChunkOptionalParams\n ): Promise<ContainerRegistryBlobUploadChunkResponse> {\n return this.client.sendOperationRequest(\n { location, value, options },\n uploadChunkOperationSpec\n );\n }\n\n /**\n * Complete the upload, providing all the data in the body, if necessary. A request without a body will\n * just complete the upload with previously uploaded content.\n * @param digest Digest of a BLOB\n * @param location Link acquired from upload start or previous chunk. Note, do not include initial /\n * (must do substring(1) )\n * @param options The options parameters.\n */\n completeUpload(\n digest: string,\n location: string,\n options?: ContainerRegistryBlobCompleteUploadOptionalParams\n ): Promise<ContainerRegistryBlobCompleteUploadResponse> {\n return this.client.sendOperationRequest(\n { digest, location, options },\n completeUploadOperationSpec\n );\n }\n\n /**\n * Cancel outstanding upload processes, releasing associated resources. If this is not called, the\n * unfinished uploads will eventually timeout.\n * @param location Link acquired from upload start or previous chunk. Note, do not include initial /\n * (must do substring(1) )\n * @param options The options parameters.\n */\n cancelUpload(\n location: string,\n options?: ContainerRegistryBlobCancelUploadOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { location, options },\n cancelUploadOperationSpec\n );\n }\n\n /**\n * Initiate a resumable blob upload with an empty request body.\n * @param name Name of the image (including the namespace)\n * @param options The options parameters.\n */\n startUpload(\n name: string,\n options?: ContainerRegistryBlobStartUploadOptionalParams\n ): Promise<ContainerRegistryBlobStartUploadResponse> {\n return this.client.sendOperationRequest(\n { name, options },\n startUploadOperationSpec\n );\n }\n\n /**\n * Retrieve the blob from the registry identified by `digest`. This endpoint may also support RFC7233\n * compliant range requests. Support can be detected by issuing a HEAD request. If the header\n * `Accept-Range: bytes` is returned, range requests can be used to fetch partial content.\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param range Format : bytes=<start>-<end>, HTTP Range header specifying blob chunk.\n * @param options The options parameters.\n */\n getChunk(\n name: string,\n digest: string,\n range: string,\n options?: ContainerRegistryBlobGetChunkOptionalParams\n ): Promise<ContainerRegistryBlobGetChunkResponse> {\n return this.client.sendOperationRequest(\n { name, digest, range, options },\n getChunkOperationSpec\n );\n }\n\n /**\n * Same as GET, except only the headers are returned.\n * @param name Name of the image (including the namespace)\n * @param digest Digest of a BLOB\n * @param range Format : bytes=<start>-<end>, HTTP Range header specifying blob chunk.\n * @param options The options parameters.\n */\n checkChunkExists(\n name: string,\n digest: string,\n range: string,\n options?: ContainerRegistryBlobCheckChunkExistsOptionalParams\n ): Promise<ContainerRegistryBlobCheckChunkExistsResponse> {\n return this.client.sendOperationRequest(\n { name, digest, range, options },\n checkChunkExistsOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getBlobOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/{digest}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: {\n type: { name: \"Stream\" },\n serializedName: \"parsedResponse\"\n },\n headersMapper: Mappers.ContainerRegistryBlobGetBlobHeaders\n },\n 307: {\n headersMapper: Mappers.ContainerRegistryBlobGetBlobHeaders\n },\n default: {}\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst checkBlobExistsOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/{digest}\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.ContainerRegistryBlobCheckBlobExistsHeaders\n },\n 307: {\n headersMapper: Mappers.ContainerRegistryBlobCheckBlobExistsHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst deleteBlobOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/{digest}\",\n httpMethod: \"DELETE\",\n responses: {\n 202: {\n bodyMapper: {\n type: { name: \"Stream\" },\n serializedName: \"parsedResponse\"\n },\n headersMapper: Mappers.ContainerRegistryBlobDeleteBlobHeaders\n },\n default: {}\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst mountBlobOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/uploads/\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n headersMapper: Mappers.ContainerRegistryBlobMountBlobHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n queryParameters: [Parameters.fromParam, Parameters.mount],\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getUploadStatusOperationSpec: coreClient.OperationSpec = {\n path: \"/{nextBlobUuidLink}\",\n httpMethod: \"GET\",\n responses: {\n 204: {\n headersMapper: Mappers.ContainerRegistryBlobGetUploadStatusHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.location],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst uploadChunkOperationSpec: coreClient.OperationSpec = {\n path: \"/{nextBlobUuidLink}\",\n httpMethod: \"PATCH\",\n responses: {\n 202: {\n headersMapper: Mappers.ContainerRegistryBlobUploadChunkHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n requestBody: Parameters.value3,\n urlParameters: [Parameters.url, Parameters.location],\n headerParameters: [Parameters.contentType2, Parameters.accept3],\n mediaType: \"binary\",\n serializer\n};\nconst completeUploadOperationSpec: coreClient.OperationSpec = {\n path: \"/{nextBlobUuidLink}\",\n httpMethod: \"PUT\",\n responses: {\n 201: {\n headersMapper: Mappers.ContainerRegistryBlobCompleteUploadHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n requestBody: Parameters.value4,\n queryParameters: [Parameters.digest2],\n urlParameters: [Parameters.url, Parameters.location],\n headerParameters: [Parameters.contentType2, Parameters.accept3],\n mediaType: \"binary\",\n serializer\n};\nconst cancelUploadOperationSpec: coreClient.OperationSpec = {\n path: \"/{nextBlobUuidLink}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.location],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst startUploadOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/uploads/\",\n httpMethod: \"POST\",\n responses: {\n 202: {\n headersMapper: Mappers.ContainerRegistryBlobStartUploadHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getChunkOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/{digest}\",\n httpMethod: \"GET\",\n responses: {\n 206: {\n bodyMapper: {\n type: { name: \"Stream\" },\n serializedName: \"parsedResponse\"\n },\n headersMapper: Mappers.ContainerRegistryBlobGetChunkHeaders\n },\n default: {}\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept2, Parameters.range],\n serializer\n};\nconst checkChunkExistsOperationSpec: coreClient.OperationSpec = {\n path: \"/v2/{name}/blobs/{digest}\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.ContainerRegistryBlobCheckChunkExistsHeaders\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n urlParameters: [Parameters.url, Parameters.name, Parameters.digest1],\n headerParameters: [Parameters.accept, Parameters.range],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Authentication } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { GeneratedClientContext } from \"../generatedClientContext\";\nimport {\n PostContentSchemaGrantType,\n AuthenticationExchangeAadAccessTokenForAcrRefreshTokenOptionalParams,\n AuthenticationExchangeAadAccessTokenForAcrRefreshTokenResponse,\n TokenGrantType,\n AuthenticationExchangeAcrRefreshTokenForAcrAccessTokenOptionalParams,\n AuthenticationExchangeAcrRefreshTokenForAcrAccessTokenResponse\n} from \"../models\";\n\n/** Class containing Authentication operations. */\nexport class AuthenticationImpl implements Authentication {\n private readonly client: GeneratedClientContext;\n\n /**\n * Initialize a new instance of the class Authentication class.\n * @param client Reference to the service client\n */\n constructor(client: GeneratedClientContext) {\n this.client = client;\n }\n\n /**\n * Exchange AAD tokens for an ACR refresh Token\n * @param grantType Can take a value of access_token_refresh_token, or access_token, or refresh_token\n * @param service Indicates the name of your Azure container registry.\n * @param options The options parameters.\n */\n exchangeAadAccessTokenForAcrRefreshToken(\n grantType: PostContentSchemaGrantType,\n service: string,\n options?: AuthenticationExchangeAadAccessTokenForAcrRefreshTokenOptionalParams\n ): Promise<AuthenticationExchangeAadAccessTokenForAcrRefreshTokenResponse> {\n return this.client.sendOperationRequest(\n { grantType, service, options },\n exchangeAadAccessTokenForAcrRefreshTokenOperationSpec\n );\n }\n\n /**\n * Exchange ACR Refresh token for an ACR Access Token\n * @param service Indicates the name of your Azure container registry.\n * @param scope Which is expected to be a valid scope, and can be specified more than once for multiple\n * scope requests. You obtained this from the Www-Authenticate response header from the challenge.\n * @param refreshToken Must be a valid ACR refresh token\n * @param grantType Grant type is expected to be refresh_token\n * @param options The options parameters.\n */\n exchangeAcrRefreshTokenForAcrAccessToken(\n service: string,\n scope: string,\n refreshToken: string,\n grantType: TokenGrantType,\n options?: AuthenticationExchangeAcrRefreshTokenForAcrAccessTokenOptionalParams\n ): Promise<AuthenticationExchangeAcrRefreshTokenForAcrAccessTokenResponse> {\n return this.client.sendOperationRequest(\n { service, scope, refreshToken, grantType, options },\n exchangeAcrRefreshTokenForAcrAccessTokenOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst exchangeAadAccessTokenForAcrRefreshTokenOperationSpec: coreClient.OperationSpec = {\n path: \"/oauth2/exchange\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.AcrRefreshToken\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n formDataParameters: [\n Parameters.grantType,\n Parameters.service,\n Parameters.tenant,\n Parameters.refreshToken,\n Parameters.accessToken\n ],\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.url],\n headerParameters: [Parameters.contentType3, Parameters.accept4],\n serializer\n};\nconst exchangeAcrRefreshTokenForAcrAccessTokenOperationSpec: coreClient.OperationSpec = {\n path: \"/oauth2/token\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.AcrAccessToken\n },\n default: {\n bodyMapper: Mappers.AcrErrors\n }\n },\n formDataParameters: [\n Parameters.service,\n Parameters.scope,\n Parameters.refreshToken1,\n Parameters.grantType1\n ],\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.url],\n headerParameters: [Parameters.contentType3, Parameters.accept4],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport { ApiVersion20210701, GeneratedClientOptionalParams } from \"./models\";\n\n/** @internal */\nexport class GeneratedClientContext extends coreClient.ServiceClient {\n url: string;\n apiVersion: ApiVersion20210701;\n\n /**\n * Initializes a new instance of the GeneratedClientContext class.\n * @param url Registry login URL\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n url: string,\n apiVersion: ApiVersion20210701,\n options?: GeneratedClientOptionalParams\n ) {\n if (url === undefined) {\n throw new Error(\"'url' cannot be null\");\n }\n if (apiVersion === undefined) {\n throw new Error(\"'apiVersion' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: GeneratedClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const packageDetails = `azsdk-js-container-registry/1.0.0`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint || \"{url}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.url = url;\n this.apiVersion = apiVersion;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n ContainerRegistryImpl,\n ContainerRegistryBlobImpl,\n AuthenticationImpl\n} from \"./operations\";\nimport {\n ContainerRegistry,\n ContainerRegistryBlob,\n Authentication\n} from \"./operationsInterfaces\";\nimport { GeneratedClientContext } from \"./generatedClientContext\";\nimport { GeneratedClientOptionalParams, ApiVersion20210701 } from \"./models\";\n\n/** @internal */\nexport class GeneratedClient extends GeneratedClientContext {\n /**\n * Initializes a new instance of the GeneratedClient class.\n * @param url Registry login URL\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n url: string,\n apiVersion: ApiVersion20210701,\n options?: GeneratedClientOptionalParams\n ) {\n super(url, apiVersion, options);\n this.containerRegistry = new ContainerRegistryImpl(this);\n this.containerRegistryBlob = new ContainerRegistryBlobImpl(this);\n this.authentication = new AuthenticationImpl(this);\n }\n\n containerRegistry: ContainerRegistry;\n containerRegistryBlob: ContainerRegistryBlob;\n authentication: Authentication;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n//\nimport { createSpanFunction } from \"@azure/core-tracing\";\n\n/**\n * Creates a span using the global tracer.\n *\n * @param name - The name of the operation being performed.\n * @param tracingOptions - The options for the underlying http request.\n *\n * @internal\n */\nexport const createSpan = createSpanFunction({\n namespace: \"Azure.Containers\",\n packagePrefix: \"Azure.Containers.ContainerRegistry\",\n});\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Extract the path part from the next link value returned by the service,\n * @internal\n */\nexport function extractNextLink(value: string | undefined): string | undefined {\n // The link value has this pattern\n // `</acr/v1/name/...&n=2&orderby=>; rel=\"next\"`\n // and we only want the part inside of <...>\n return value?.substr(1, value.indexOf(\">\") - 1);\n}\n\n/**\n * Checks whether a string is a digest\n * @internal\n */\nexport function isDigest(tagOrDigest: string): boolean {\n return tagOrDigest.includes(\":\");\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Defined supported names of WWW-Authenticate name-value pairs.\n */\nexport type ValidParsedWWWAuthenticateProperties =\n // \"authorization_uri\" was used in the track 1 version of KeyVault.\n // This is not a relevant property anymore, since the service is consistently answering with \"authorization\".\n // | \"authorization_uri\"\n | \"authorization\"\n | \"claims\"\n // Even though the service is moving to \"scope\", both \"resource\" and \"scope\" should be supported.\n | \"resource\"\n | \"scope\"\n | \"service\";\n\n/**\n * Represents the result of `parseWWWAuthenticate()`;\n */\nexport type ParsedWWWAuthenticate = {\n [Key in ValidParsedWWWAuthenticateProperties]?: string;\n};\n\n/**\n * Parses an WWW-Authenticate response.\n * This transforms a string value like:\n * `Bearer authorization=\"some_authorization\", resource=\"https://some.url\"`\n * into an object like:\n * `{ authorization: \"some_authorization\", resource: \"https://some.url\" }`\n * @param wwwAuthenticate - String value in the WWW-Authenticate header\n */\nexport function parseWWWAuthenticate(wwwAuthenticate: string): ParsedWWWAuthenticate {\n // First we split the string by either `,`, `, ` or ` `.\n const parts = wwwAuthenticate.split(/, *| +/);\n // Then we only keep the strings with an equal sign after a word and before a quote.\n // also splitting these sections by their equal sign\n const keyValues = parts.reduce<string[][]>(\n (acc, str) => (str.match(/\\w=\"/) ? [...acc, str.split(\"=\")] : acc),\n []\n );\n // Then we transform these key-value pairs back into an object.\n const parsed = keyValues.reduce<ParsedWWWAuthenticate>(\n (result, [key, value]: string[]) => ({\n ...result,\n [key]: value.slice(1, -1),\n }),\n {}\n );\n return parsed;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\n\nfunction delay<T>(t: number, value?: T): Promise<T | void> {\n return new Promise((resolve) => setTimeout(() => resolve(value), t));\n}\n/**\n * A function that gets a promise of an access token and allows providing\n * options.\n *\n * @param options - the options to pass to the underlying token provider\n */\nexport type AccessTokenGetter<T extends GetTokenOptions> = (\n scopes: string | string[],\n options: T\n) => Promise<AccessToken>;\n\n/**\n * The response of the\n */\nexport interface AccessTokenRefresher<T extends GetTokenOptions> {\n cachedToken?: AccessToken;\n getToken: AccessTokenGetter<T>;\n}\n\nexport interface TokenCyclerOptions {\n /**\n * The window of time before token expiration during which the token will be\n * considered unusable due to risk of the token expiring before sending the\n * request.\n *\n * This will only become meaningful if the refresh fails for over\n * (refreshWindow - forcedRefreshWindow) milliseconds.\n */\n forcedRefreshWindowInMs: number;\n /**\n * Interval in milliseconds to retry failed token refreshes.\n */\n retryIntervalInMs: number;\n /**\n * The window of time before token expiration during which\n * we will attempt to refresh the token.\n */\n refreshWindowInMs: number;\n}\n\n// Default options for the cycler if none are provided\nexport const DEFAULT_CYCLER_OPTIONS: TokenCyclerOptions = {\n forcedRefreshWindowInMs: 1000, // Force waiting for a refresh 1s before the token expires\n retryIntervalInMs: 3000, // Allow refresh attempts every 3s\n refreshWindowInMs: 1000 * 60 * 2, // Start refreshing 2m before expiry\n};\n\n/**\n * Converts an an unreliable access token getter (which may resolve with null)\n * into an AccessTokenGetter by retrying the unreliable getter in a regular\n * interval.\n *\n * @param getAccessToken - A function that produces a promise of an access token that may fail by returning null.\n * @param retryIntervalInMs - The time (in milliseconds) to wait between retry attempts.\n * @param refreshTimeout - The timestamp after which the refresh attempt will fail, throwing an exception.\n * @returns - A promise that, if it resolves, will resolve with an access token.\n */\nasync function beginRefresh(\n getAccessToken: () => Promise<AccessToken | null>,\n retryIntervalInMs: number,\n refreshTimeout: number\n): Promise<AccessToken> {\n // This wrapper handles exceptions gracefully as long as we haven't exceeded\n // the timeout.\n async function tryGetAccessToken(): Promise<AccessToken | null> {\n if (Date.now() < refreshTimeout) {\n try {\n return await getAccessToken();\n } catch {\n return null;\n }\n } else {\n const finalToken = await getAccessToken();\n\n // Timeout is up, so throw if it's still null\n if (finalToken === null) {\n throw new Error(\"Failed to refresh access token.\");\n }\n\n return finalToken;\n }\n }\n\n let token: AccessToken | null = await tryGetAccessToken();\n\n while (token === null) {\n await delay(retryIntervalInMs);\n\n token = await tryGetAccessToken();\n }\n\n return token;\n}\n\n/**\n * Creates a token cycler from a credential, scopes, and optional settings.\n *\n * A token cycler represents a way to reliably retrieve a valid access token\n * from a TokenCredential. It will handle initializing the token, refreshing it\n * when it nears expiration, and synchronizes refresh attempts to avoid\n * concurrency hazards.\n *\n * @param credential - the underlying TokenCredential that provides the access\n * token\n * @param tokenCyclerOptions - optionally override default settings for the cycler\n *\n * @returns - a function that reliably produces a valid access token\n */\nexport function createTokenCycler<T extends GetTokenOptions>(\n credential: TokenCredential,\n tokenCyclerOptions?: Partial<TokenCyclerOptions>\n): AccessTokenRefresher<T> {\n let refreshWorker: Promise<AccessToken> | null = null;\n let token: AccessToken | null = null;\n\n const options = {\n ...DEFAULT_CYCLER_OPTIONS,\n ...tokenCyclerOptions,\n };\n\n /**\n * This little holder defines several predicates that we use to construct\n * the rules of refreshing the token.\n */\n const cycler = {\n /**\n * Produces true if a refresh job is currently in progress.\n */\n get isRefreshing(): boolean {\n return refreshWorker !== null;\n },\n /**\n * Produces true if the cycler SHOULD refresh (we are within the refresh\n * window and not already refreshing)\n */\n get shouldRefresh(): boolean {\n return (\n !cycler.isRefreshing &&\n (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now()\n );\n },\n /**\n * Produces true if the cycler MUST refresh (null or nearly-expired\n * token).\n */\n get mustRefresh(): boolean {\n return (\n token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now()\n );\n },\n };\n\n /**\n * Starts a refresh job or returns the existing job if one is already\n * running.\n */\n function refresh(scopes: string | string[], getTokenOptions: T): Promise<AccessToken> {\n if (!cycler.isRefreshing) {\n // We bind `scopes` here to avoid passing it around a lot\n const tryGetAccessToken = (): Promise<AccessToken | null> =>\n credential.getToken(scopes, getTokenOptions);\n\n // Take advantage of promise chaining to insert an assignment to `token`\n // before the refresh can be considered done.\n refreshWorker = beginRefresh(\n tryGetAccessToken,\n options.retryIntervalInMs,\n // If we don't have a token, then we should timeout immediately\n token?.expiresOnTimestamp ?? Date.now()\n )\n .then((_token) => {\n refreshWorker = null;\n token = _token;\n return token;\n })\n .catch((reason) => {\n // We also should reset the refresher if we enter a failed state. All\n // existing awaiters will throw, but subsequent requests will start a\n // new retry chain.\n refreshWorker = null;\n token = null;\n throw reason;\n });\n }\n\n return refreshWorker as Promise<AccessToken>;\n }\n\n return {\n get cachedToken(): AccessToken | undefined {\n return token || undefined;\n },\n getToken: async (scopes: string | string[], tokenOptions: T): Promise<AccessToken> => {\n //\n // Simple rules:\n // - If we MUST refresh, then return the refresh task, blocking\n // the pipeline until a token is available.\n // - If we SHOULD refresh, then run refresh but don't return it\n // (we can still use the cached token).\n // - Return the token, since it's fine if we didn't return in\n // step 1.\n //\n if (cycler.mustRefresh) return refresh(scopes, tokenOptions);\n\n if (cycler.shouldRefresh) {\n refresh(scopes, tokenOptions);\n }\n\n return token as AccessToken;\n },\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { GetTokenOptions } from \"@azure/core-auth\";\nimport {\n AuthorizeRequestOnChallengeOptions,\n ChallengeCallbacks,\n AuthorizeRequestOptions,\n} from \"@azure/core-rest-pipeline\";\nimport { parseWWWAuthenticate } from \"./utils/wwwAuthenticateParser\";\nimport {\n ContainerRegistryGetTokenOptions,\n ContainerRegistryRefreshTokenCredential,\n} from \"./containerRegistryTokenCredential\";\nimport { AccessTokenRefresher, createTokenCycler } from \"./utils/tokenCycler\";\n\nconst fiveMinutesInMs = 5 * 60 * 1000;\n\n/**\n * Handles challenge based authentication for Container Registry Service.\n *```\n * The challenge-based authorization flow for ACR is illustrated in the following steps.\n * For example, GET /api/v1/acr/repositories translates into the following calls.\n * Step 1: GET /api/v1/acr/repositories\n * Return Header: 401: www-authenticate header - Bearer realm=\"{url}\",service=\"{serviceName}\",scope=\"{scope}\",error=\"invalid_token\"\n * Step 2: Retrieve the serviceName, scope from the WWW-Authenticate header. (Parse the string.)\n * Step 3: POST /api/oauth2/exchange\n * Request Body : { service, scope, grant-type, aadToken with ARM scope }\n * Response Body: { acrRefreshToken }\n * Step 4: POST /api/oauth2/token\n * Request Body: { acrRefreshToken, scope, grant-type }\n * Response Body: { acrAccessToken }\n * Step 5: GET /api/v1/acr/repositories\n * Request Header: { Bearer acrTokenAccess }\n *```\n */\nexport class ChallengeHandler implements ChallengeCallbacks {\n private readonly cycler: AccessTokenRefresher<ContainerRegistryGetTokenOptions>;\n constructor(\n private credential: ContainerRegistryRefreshTokenCredential,\n private options: GetTokenOptions & { claims?: string } = {}\n ) {\n this.cycler = createTokenCycler(credential, {\n refreshWindowInMs: fiveMinutesInMs,\n });\n }\n\n authorizeRequest(_options: AuthorizeRequestOptions): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Updates the authentication context based on the challenge.\n */\n async authorizeRequestOnChallenge(options: AuthorizeRequestOnChallengeOptions): Promise<boolean> {\n // Once we're here, we've completed Step 1.\n const challenge = options.response?.headers.get(\"WWW-Authenticate\");\n if (!challenge) {\n throw new Error(\"Failed to retrieve challenge from response headers\");\n }\n // Step 2: Parse challenge string to retrieve serviceName and scope, where scope is the ACR Scope\n const { service, scope } = parseWWWAuthenticate(challenge);\n\n if (!service) {\n throw new Error(\"Failed to retrieve 'service' from challenge\");\n }\n\n if (!scope) {\n throw new Error(\"Failed to retrieve 'scope' from challenge\");\n }\n\n // Step 3: Exchange AAD Access Token for ACR Refresh Token\n // For anonymous access, we send the request with grant_type=password and an empty ACR refresh token\n // For non-anonymous access, we get an AAD token then exchange it for an ACR fresh token\n let grantType: \"password\" | \"refresh_token\";\n let acrRefreshToken: string;\n if (this.credential.isAnonymousAccess) {\n grantType = \"password\";\n acrRefreshToken = \"\";\n } else {\n grantType = \"refresh_token\";\n acrRefreshToken = (await this.cycler.getToken(scope, { ...options, service })).token;\n }\n\n // Step 4: Send in acrRefreshToken and get back acrAccessToken\n const acrAccessToken =\n await this.credential.tokenService.ExchangeAcrRefreshTokenForAcrAccessTokenAsync(\n acrRefreshToken,\n service,\n scope,\n grantType,\n this.options\n );\n\n // Step 5 - Authorize Request. At this point we're done with AAD and using an ACR access token.\n options.request.headers.set(\"Authorization\", `Bearer ${acrAccessToken}`);\n\n return true;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n ArtifactTagOrderBy as ServiceTagOrderBy,\n ArtifactManifestOrderBy as ServiceManifestOrderBy,\n ManifestWriteableProperties as ServiceManifestWritableProperties,\n ArtifactManifestProperties as ServiceArtifactManifestProperties,\n} from \"./generated/models\";\nimport { ArtifactManifestProperties, ArtifactTagOrder, ArtifactManifestOrder } from \"./models\";\n\n/** Changeable attributes. Filter out `quarantineState` and `quarantineDetails` returned by service */\ninterface ManifestWriteableProperties {\n /** Delete enabled */\n canDelete?: boolean;\n /** Write enabled */\n canWrite?: boolean;\n /** List enabled */\n canList?: boolean;\n /** Read enabled */\n canRead?: boolean;\n}\n\nexport function toManifestWritableProperties(\n from?: ServiceManifestWritableProperties\n): ManifestWriteableProperties | undefined {\n // don't return unwanted properties, namely `quarantineState` and `quarantineDetails`\n return from\n ? {\n canDelete: from.canDelete,\n canList: from.canList,\n canRead: from.canRead,\n canWrite: from.canWrite,\n }\n : undefined;\n}\n\nexport function toArtifactManifestProperties(\n from: ServiceArtifactManifestProperties,\n repositoryName: string,\n registryLoginServer: string\n): ArtifactManifestProperties {\n return {\n registryLoginServer,\n repositoryName,\n digest: from.digest,\n sizeInBytes: from.size,\n createdOn: from.createdOn,\n lastUpdatedOn: from.lastUpdatedOn,\n architecture: from.architecture ?? undefined,\n operatingSystem: from.operatingSystem ?? undefined,\n relatedArtifacts: from.relatedArtifacts ?? [],\n tags: from.tags ?? [],\n ...toManifestWritableProperties(from),\n };\n}\n\nexport function toServiceTagOrderBy(orderBy?: ArtifactTagOrder): ServiceTagOrderBy | undefined {\n return orderBy === \"LastUpdatedOnAscending\"\n ? \"timeasc\"\n : orderBy === \"LastUpdatedOnDescending\"\n ? \"timedesc\"\n : undefined;\n}\n\nexport function toServiceManifestOrderBy(\n orderBy?: ArtifactManifestOrder\n): ServiceManifestOrderBy | undefined {\n return orderBy === \"LastUpdatedOnAscending\"\n ? \"timeasc\"\n : orderBy === \"LastUpdatedOnDescending\"\n ? \"timedesc\"\n : undefined;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { OperationOptions } from \"@azure/core-client\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport \"@azure/core-paging\";\nimport { PageSettings, PagedAsyncIterableIterator } from \"@azure/core-paging\";\n\nimport {\n ArtifactTagProperties,\n ArtifactManifestProperties,\n ArtifactTagOrder,\n TagPageResponse,\n} from \"./models\";\nimport { URL } from \"./utils/url\";\nimport { createSpan } from \"./tracing\";\nimport { GeneratedClient } from \"./generated\";\nimport { extractNextLink, isDigest } from \"./utils/helpers\";\nimport { toArtifactManifestProperties, toServiceTagOrderBy } from \"./transformations\";\n\n/**\n * Options for the `delete` method of `RegistryArtifact`.\n */\nexport interface DeleteArtifactOptions extends OperationOptions {}\n/**\n * Options for the `deleteTag` method of `RegistryArtifact`.\n */\nexport interface DeleteTagOptions extends OperationOptions {}\n/**\n * Options for the `getManifestProperties` method of `RegistryArtifact`.\n */\nexport interface GetManifestPropertiesOptions extends OperationOptions {}\n/**\n * Options for the `getTagProperties` method of `RegistryArtifact`.\n */\nexport interface GetTagPropertiesOptions extends OperationOptions {}\n\n/**\n * Options for the `updateTagProperties` method of `RegistryArtifact`.\n */\nexport interface UpdateTagPropertiesOptions extends OperationOptions {\n /** Whether or not this tag can be deleted */\n canDelete?: boolean;\n /** Whether or not this tag can be written to */\n canWrite?: boolean;\n /** Whether or not to include this tag when listing tags */\n canList?: boolean;\n /** Whether or not this tag can be read */\n canRead?: boolean;\n}\n\n/**\n * Options for the `updateManifestProperties` method of `RegistryArtifact`.\n */\nexport interface UpdateManifestPropertiesOptions extends OperationOptions {\n /** Whether or not this manifest can be deleted */\n canDelete?: boolean;\n /** Whether or not this manifest can be written to */\n canWrite?: boolean;\n /** Whether or not to include this manifest when listing manifest properties */\n canList?: boolean;\n /** Whether or not this manifest can be read */\n canRead?: boolean;\n}\n\n/**\n * Options for the `listTagProperties` method of `RegistryArtifact`.\n */\nexport interface ListTagPropertiesOptions extends OperationOptions {\n /** order in which the tags are returned */\n order?: ArtifactTagOrder;\n}\n\n/**\n * `Artifact` is the general term for items stored in a container registry,\n * and can include Docker images or other Open Container Initiative (OCI) artifact types.\n *\n * The {@link RegistryArtifact} interface is a helper that groups information and operations about an image\n * or artifact in a container registry.\n *\n */\nexport interface RegistryArtifact {\n /**\n * The Azure Container Registry endpoint.\n */\n readonly registryEndpoint: string;\n /**\n * Repository name.\n */\n readonly repositoryName: string;\n /**\n * fully qualified reference of the artifact.\n */\n readonly fullyQualifiedReference: string;\n /**\n * Deletes this registry artifact by deleting its manifest.\n * @param options -\n */\n delete(options?: DeleteArtifactOptions): Promise<void>;\n /**\n * Deletes a tag. This removes the tag from the artifact and its manifest.\n * @param tag - the name of the tag to delete.\n * @param options -\n */\n deleteTag(tag: string, options?: DeleteTagOptions): Promise<void>;\n /**\n * Retrieves the properties of the manifest that uniquely identifies this artifact.\n * @param options -\n */\n getManifestProperties(\n options?: GetManifestPropertiesOptions\n ): Promise<ArtifactManifestProperties>;\n /**\n * Updates the properties of the artifact's manifest.\n *\n * Example usage:\n *\n * ```javascript\n * const client = new ContainerRegistryClient(url, credential);\n * const artifact = client.getArtifact(repositoryName, artifactTagOrDigest)\n * const updated = await artifact.updateManifestProperties({\n * canDelete: false,\n * canList: false,\n * canRead: false,\n * canWrite: false\n * });\n * ```\n * @param options -\n */\n updateManifestProperties(\n options: UpdateManifestPropertiesOptions\n ): Promise<ArtifactManifestProperties>;\n /**\n * Retrieves the properties of the specified tag.\n * @param tag - the tag to retrieve properties.\n * @param options -\n */\n getTagProperties(tag: string, options?: GetTagPropertiesOptions): Promise<ArtifactTagProperties>;\n /**\n * Updates the properties of a given tag.\n *\n * Example usage:\n *\n * ```javascript\n * const client = new ContainerRegistryClient(url, credential);\n * const artifact = client.getArtifact(repositoryName, artifactTagOrDigest)\n * const updated = await artifact.updateTagProperties(tag, {\n * canDelete: false,\n * canList: false,\n * canRead: false,\n * canWrite: false\n * });\n * ```\n * @param tag - name of the tag to update properties on\n * @param options -\n */\n updateTagProperties(\n tag: string,\n options: UpdateTagPropertiesOptions\n ): Promise<ArtifactTagProperties>;\n /**\n * Returns an async iterable iterator to list the tags that uniquely identify this artifact and the properties of each.\n *\n * Example using `for-await-of` syntax:\n *\n * ```javascript\n * const client = new ContainerRegistryClient(url, credentials);\n * const repository = client.getRepository(repositoryName);\n * const artifact = repository.getArtifact(digest)\n * for await (const tag of artifact.listTagProperties()) {\n * console.log(\"tag: \", tag);\n * }\n * ```\n *\n * Example using `iter.next()`:\n *\n * ```javascript\n * const iter = artifact.listTagProperties();\n * let item = await iter.next();\n * while (!item.done) {\n * console.log(\"tag properties: \", item.value);\n * item = await iter.next();\n * }\n * ```\n *\n * Example using `byPage()`:\n *\n * ```javascript\n * const pages = artifact.listTagProperties().byPage({ maxPageSize: 2 });\n * let page = await pages.next();\n * let i = 1;\n * while (!page.done) {\n * if (page.value) {\n * console.log(`-- page ${i++}`);\n * for (const tagProperties of page.value) {\n * console.log(` repository name: ${tagProperties}`);\n * }\n * }\n * page = await pages.next();\n * }\n * ```\n * @param options -\n */\n listTagProperties(\n options?: ListTagPropertiesOptions\n ): PagedAsyncIterableIterator<ArtifactTagProperties>;\n}\n\n/**\n * The client class used to interact with the Container Registry service.\n * @internal\n */\nexport class RegistryArtifactImpl {\n private client: GeneratedClient;\n /**\n * The Azure Container Registry endpoint.\n */\n public readonly registryEndpoint: string;\n /**\n * Repository name.\n */\n public readonly repositoryName: string;\n\n /**\n * Name of the form 'registry-login-server/repository-name\\@digest' or\n * 'registry-login-server/repository-name:tag'\n */\n public readonly fullyQualifiedReference: string;\n\n private digest?: string;\n /**\n * Creates an instance of a RegistryArtifact.\n * @param registryEndpoint - the URL to the Container Registry endpoint\n * @param repositoryName - the name of the repository\n * @param tagOrDigest - the tag or digest of this artifact\n * @param client - the generated client that interacts with service\n */\n constructor(\n registryEndpoint: string,\n repositoryName: string,\n private tagOrDigest: string,\n client: GeneratedClient\n ) {\n this.registryEndpoint = registryEndpoint;\n this.repositoryName = repositoryName;\n\n const parsedUrl = new URL(registryEndpoint);\n if (isDigest(tagOrDigest)) {\n this.digest = tagOrDigest;\n this.fullyQualifiedReference = `${parsedUrl.hostname}/${repositoryName}@${this.digest}`;\n } else {\n this.fullyQualifiedReference = `${parsedUrl.hostname}/${repositoryName}:${tagOrDigest}`;\n }\n\n this.client = client;\n }\n\n /**\n * digest of this artifact.\n */\n private async getDigest(): Promise<string> {\n if (this.digest) {\n return this.digest;\n }\n\n if (!isDigest(this.tagOrDigest)) {\n this.digest = (await this.getTagProperties(this.tagOrDigest)).digest;\n } else {\n this.digest = this.tagOrDigest;\n }\n\n return this.digest;\n }\n\n /**\n * Deletes this registry artifact by deleting its manifest.\n * @param options -\n */\n public async delete(options: DeleteArtifactOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"RegistryArtifact-delete\", options);\n\n try {\n await this.client.containerRegistry.deleteManifest(\n this.repositoryName,\n await this.getDigest(),\n updatedOptions\n );\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes a tag. This removes the tag from the artifact and its manifest.\n * @param tag - the name of the tag to delete.\n * @param options -\n */\n public async deleteTag(tag: string, options: DeleteTagOptions = {}): Promise<void> {\n if (!tag) {\n throw new Error(\"invalid tag\");\n }\n\n const { span, updatedOptions } = createSpan(\"RegistryArtifact-deleteTag\", options);\n\n try {\n await this.client.containerRegistry.deleteTag(this.repositoryName, tag, updatedOptions);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves the properties of the manifest that uniquely identifies this artifact.\n * @param options -\n */\n public async getManifestProperties(\n options: GetManifestPropertiesOptions = {}\n ): Promise<ArtifactManifestProperties> {\n const { span, updatedOptions } = createSpan(\"RegistryArtifact-getManifestProperties\", options);\n\n try {\n const result = await this.client.containerRegistry.getManifestProperties(\n this.repositoryName,\n await this.getDigest(),\n updatedOptions\n );\n return toArtifactManifestProperties(result, this.repositoryName, result.registryLoginServer!);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates the properties of the artifact's manifest.\n *\n * Example usage:\n *\n * ```javascript\n * const client = new ContainerRegistryClient(url, credential);\n * const artifact = client.getArtifact(repositoryName, artifactTagOrDigest)\n * const updated = await artifact.updateManifestProperties({\n * canDelete: false,\n * canList: false,\n * canRead: false,\n * canWrite: false\n * });\n * ```\n * @param options -\n */\n public async updateManifestProperties(\n options: UpdateManifestPropertiesOptions\n ): Promise<ArtifactManifestProperties> {\n const { span, updatedOptions } = createSpan(\"RegistryArtifact-updateManifestProperties\", {\n ...options,\n value: {\n canDelete: options.canDelete,\n canWrite: options.canWrite,\n canList: options.canList,\n canRead: options.canRead,\n },\n });\n\n try {\n const result = await this.client.containerRegistry.updateManifestProperties(\n this.repositoryName,\n await this.getDigest(),\n updatedOptions\n );\n return toArtifactManifestProperties(result, this.repositoryName, result.registryLoginServer!);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves the properties of the specified tag.\n * @param tag - the tag to retrieve properties.\n * @param options -\n */\n public async getTagProperties(\n tag: string,\n options: GetTagPropertiesOptions = {}\n ): Promise<ArtifactTagProperties> {\n if (!tag) {\n throw new Error(\"invalid tag\");\n }\n\n const { span, updatedOptions } = createSpan(\"RegistryArtifact-getTagProperties\", options);\n try {\n return await this.client.containerRegistry.getTagProperties(\n this.repositoryName,\n tag,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates the properties of a given tag.\n *\n * Example usage:\n *\n * ```javascript\n * const client = new ContainerRegistryClient(url, credential);\n * const artifact = client.getArtifact(repositoryName, artifactTagOrDigest)\n * const updated = await artifact.updateTagProperties(tag, {\n * canDelete: false,\n * canList: false,\n * canRead: false,\n * canWrite: false\n * });\n * ```\n * @param tag - name of the tag to update properties on\n * @param options -\n */\n public async updateTagProperties(\n tag: string,\n options: UpdateTagPropertiesOptions\n ): Promise<ArtifactTagProperties> {\n if (!tag) {\n throw new Error(\"invalid tag\");\n }\n\n const { span, updatedOptions } = createSpan(\"RegistryArtifact-updateTagProperties\", {\n ...options,\n value: {\n canDelete: options.canDelete,\n canWrite: options.canWrite,\n canList: options.canList,\n canRead: options.canRead,\n },\n });\n\n try {\n return await this.client.containerRegistry.updateTagAttributes(\n this.repositoryName,\n tag,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Returns an async iterable iterator to list the tags that uniquely identify this artifact and the properties of each.\n *\n * Example using `for-await-of` syntax:\n *\n * ```javascript\n * const client = new ContainerRegistryClient(url, credentials);\n * const repository = client.getRepository(repositoryName);\n * const artifact = repository.getArtifact(digest)\n * for await (const tag of artifact.listTagProperties()) {\n * console.log(\"tag: \", tag);\n * }\n * ```\n *\n * Example using `iter.next()`:\n *\n * ```javascript\n * const iter = artifact.listTagProperties();\n * let item = await iter.next();\n * while (!item.done) {\n * console.log(\"tag properties: \", item.value);\n * item = await iter.next();\n * }\n * ```\n *\n * Example using `byPage()`:\n *\n * ```javascript\n * const pages = artifact.listTagProperties().byPage({ maxPageSize: 2 });\n * let page = await pages.next();\n * let i = 1;\n * while (!page.done) {\n * if (page.value) {\n * console.log(`-- page ${i++}`);\n * for (const tagProperties of page.value) {\n * console.log(` repository name: ${tagProperties}`);\n * }\n * }\n * page = await pages.next();\n * }\n * ```\n * @param options -\n */\n public listTagProperties(\n options: ListTagPropertiesOptions = {}\n ): PagedAsyncIterableIterator<ArtifactTagProperties, TagPageResponse> {\n const iter = this.listTagsItems(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => this.listTagsPage(settings, options),\n };\n }\n\n private async *listTagsItems(\n options: ListTagPropertiesOptions = {}\n ): AsyncIterableIterator<ArtifactTagProperties> {\n for await (const page of this.listTagsPage({}, options)) {\n yield* page;\n }\n }\n\n private async *listTagsPage(\n continuationState: PageSettings,\n options: ListTagPropertiesOptions = {}\n ): AsyncIterableIterator<TagPageResponse> {\n const orderby = toServiceTagOrderBy(options.order);\n if (!continuationState.continuationToken) {\n const optionsComplete = {\n ...options,\n n: continuationState.maxPageSize,\n orderby,\n };\n const currentPage = await this.client.containerRegistry.getTags(\n this.repositoryName,\n optionsComplete\n );\n continuationState.continuationToken = extractNextLink(currentPage.link);\n if (currentPage.tagAttributeBases) {\n const array = currentPage.tagAttributeBases.map((t) => {\n return {\n registryLoginServer: currentPage.registryLoginServer,\n repositoryName: currentPage.repository,\n ...t,\n };\n });\n yield Object.defineProperty(array, \"continuationToken\", {\n value: continuationState.continuationToken,\n enumerable: true,\n });\n }\n }\n while (continuationState.continuationToken) {\n const currentPage = await this.client.containerRegistry.getTagsNext(\n this.repositoryName,\n continuationState.continuationToken,\n options\n );\n continuationState.continuationToken = extractNextLink(currentPage.link);\n if (currentPage.tagAttributeBases) {\n const array = currentPage.tagAttributeBases.map((t) => {\n return {\n registryLoginServer: currentPage.registryLoginServer,\n repositoryName: currentPage.repository,\n ...t,\n };\n });\n yield Object.defineProperty(array, \"continuationToken\", {\n value: continuationState.continuationToken,\n enumerable: true,\n });\n }\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { OperationOptions } from \"@azure/core-client\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport \"@azure/core-paging\";\nimport { PageSettings, PagedAsyncIterableIterator } from \"@azure/core-paging\";\n\nimport { GeneratedClient, RepositoryWriteableProperties } from \"./generated\";\nimport { createSpan } from \"./tracing\";\nimport {\n ArtifactManifestOrder,\n ContainerRepositoryProperties,\n ArtifactManifestProperties,\n ManifestPageResponse,\n} from \"./models\";\nimport { RegistryArtifact, RegistryArtifactImpl } from \"./registryArtifact\";\nimport { toArtifactManifestProperties, toServiceManifestOrderBy } from \"./transformations\";\nimport { extractNextLink } from \"./utils/helpers\";\n\n/**\n * Options for delete repository operation.\n */\nexport interface DeleteRepositoryOptions extends OperationOptions {}\n/**\n * Options for the `listRegistryArtifacts` method of `ContainerRepository`.\n */\nexport interface ListManifestPropertiesOptions extends OperationOptions {\n /** order in which the manifest properties are returned */\n order?: ArtifactManifestOrder;\n}\n/**\n * Options for the `getProperties` method of `ContainerRepository`.\n */\nexport interface GetRepositoryPropertiesOptions extends OperationOptions {}\n/**\n * Options for the `setProperties` method of `ContainerRepository`.\n */\nexport interface UpdateRepositoryPropertiesOptions extends OperationOptions {\n /** Whether or not this repository can be deleted */\n canDelete?: boolean;\n /** Whether or not this repository can be written to */\n canWrite?: boolean;\n /** Whether or not include this repository when listing repositories */\n canList?: boolean;\n /** Whether or not this repository can be read */\n canRead?: boolean;\n}\n\n/**\n * A `repository` in a container registry is a logical grouping of images or artifacts that share the same name. For example,\n * different versions of a `hello-world` application could have tags `v1` and `v2`, and be grouped by the repository `hello-world`.\n *\n * The {@link ContainerRepository} interface is a helper that groups information and operations about a repository in this\n * container registry.\n */\nexport interface ContainerRepository {\n /**\n * The Azure Container Registry endpoint.\n */\n readonly registryEndpoint: string;\n /**\n * Repository name.\n */\n readonly name: string;\n /**\n * Deletes this repository and all artifacts that are part of its logical group.\n *\n * @param options - optional configuration for the operation\n */\n delete(options?: DeleteRepositoryOptions): Promise<void>;\n /**\n * Returns an helper instance of {@link RegistryArtifact} for the given tag or digest.\n * @param tagOrDigest - the tag or digest of the artifact\n */\n getArtifact(tagOrDigest: string): RegistryArtifact;\n /**\n * Retrieves the properties of this repository.\n * @param options -\n */\n getProperties(options?: GetRepositoryPropertiesOptions): Promise<ContainerRepositoryProperties>;\n /**\n * Updates the properties of this repository.\n *\n * Example usage:\n *\n * ```javascript\n * const client = new ContainerRegistryClient(url, credential);\n * const repository = client.getRepository(repositoryName)\n * const updated = await repository.updateProperties({\n * canDelete: false,\n * canList: false,\n * canRead: false,\n * canWrite: false\n * });\n * ```\n * @param options -\n */\n updateProperties(\n options: UpdateRepositoryPropertiesOptions\n ): Promise<ContainerRepositoryProperties>;\n /**\n * Returns an async iterable iterator to list manifest properties.\n * This is useful for determining the collection of artifacts associated with\n * this repository, as each artifact is uniquely identified by its manifest.\n *\n * Example using `for-await-of` syntax:\n *\n * ```javascript\n * const client = new ContainerRegistryClient(url, credential);\n * const repository = client.getRepository(repositoryName)\n * for await (const manifest of repository.listManifestProperties()) {\n * console.log(\"manifest: \", manifest);\n * }\n * ```\n *\n * Example using `iter.next()`:\n *\n * ```javascript\n * const iter = repository.listManifestProperties();\n * let item = await iter.next();\n * while (!item.done) {\n * console.log(\"manifest properties: \", item.value);\n * item = await iter.next();\n * }\n * ```\n *\n * Example using `byPage()`:\n *\n * ```javascript\n * const pages = repository.listManifestProperties().byPage({ maxPageSize: 2 });\n * let page = await pages.next();\n * let i = 1;\n * while (!page.done) {\n * if (page.value) {\n * console.log(`-- page ${i++}`);\n * for (const manifestProperties of page.value) {\n * console.log(` manifest properties: ${manifestProperties}`);\n * }\n * }\n * page = await pages.next();\n * }\n * ```\n * @param options -\n */\n listManifestProperties(\n options?: ListManifestPropertiesOptions\n ): PagedAsyncIterableIterator<ArtifactManifestProperties>;\n}\n\n/**\n * The client class used to interact with the Container Registry service.\n * @internal\n */\nexport class ContainerRepositoryImpl {\n private readonly client: GeneratedClient;\n /**\n * The Azure Container Registry endpoint.\n */\n public readonly registryEndpoint: string;\n /**\n * Repository name.\n */\n public readonly name: string;\n\n /**\n * Creates an instance of a ContainerRepository.\n * @param registryEndpoint - the URL to the Container Registry endpoint\n * @param name - the name of the repository\n * @param client - the generated client that interacts with service\n */\n constructor(registryEndpoint: string, name: string, client: GeneratedClient) {\n this.registryEndpoint = registryEndpoint;\n this.name = name;\n\n this.client = client;\n }\n\n /**\n * Deletes this repository and all artifacts that are part of its logical group.\n *\n * @param options - optional configuration for the operation\n */\n public async delete(options: DeleteRepositoryOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"ContainerRepository-delete\", options);\n\n try {\n await this.client.containerRegistry.deleteRepository(this.name, updatedOptions);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Returns an helper instance of {@link RegistryArtifact} for the given tag or digest.\n * @param tagOrDigest - the tag or digest of the artifact\n */\n public getArtifact(tagOrDigest: string): RegistryArtifact {\n if (!tagOrDigest) {\n throw new Error(\"invalid tagOrDigest\");\n }\n return new RegistryArtifactImpl(this.registryEndpoint, this.name, tagOrDigest, this.client);\n }\n\n /**\n * Retrieves the properties of this repository.\n * @param options -\n */\n public async getProperties(\n options: GetRepositoryPropertiesOptions = {}\n ): Promise<ContainerRepositoryProperties> {\n const { span, updatedOptions } = createSpan(\"ContainerRepository-getProperties\", options);\n\n try {\n return await this.client.containerRegistry.getProperties(this.name, updatedOptions);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Updates the properties of this repository.\n *\n * Example usage:\n *\n * ```javascript\n * const client = new ContainerRegistryClient(url, credential);\n * const repository = client.getRepository(repositoryName)\n * const updated = await repository.updateProperties({\n * canDelete: false,\n * canList: false,\n * canRead: false,\n * canWrite: false\n * });\n * ```\n * @param options -\n */\n public async updateProperties(\n options: UpdateRepositoryPropertiesOptions\n ): Promise<ContainerRepositoryProperties> {\n const value: RepositoryWriteableProperties = {\n canDelete: options.canDelete,\n canWrite: options.canWrite,\n canList: options.canList,\n canRead: options.canRead,\n };\n const { span, updatedOptions } = createSpan(\"ContainerRepository-updateProperties\", {\n ...options,\n value,\n });\n\n try {\n return await this.client.containerRegistry.updateProperties(this.name, updatedOptions);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Returns an async iterable iterator to list manifest properties.\n * This is useful for determining the collection of artifacts associated with\n * this repository, as each artifact is uniquely identified by its manifest.\n *\n * Example using `for-await-of` syntax:\n *\n * ```javascript\n * const client = new ContainerRegistryClient(url, credential);\n * const repository = client.getRepository(repositoryName)\n * for await (const manifest of repository.listManifestProperties()) {\n * console.log(\"manifest: \", manifest);\n * }\n * ```\n *\n * Example using `iter.next()`:\n *\n * ```javascript\n * const iter = repository.listManifestProperties();\n * let item = await iter.next();\n * while (!item.done) {\n * console.log(\"manifest properties: \", item.value);\n * item = await iter.next();\n * }\n * ```\n *\n * Example using `byPage()`:\n *\n * ```javascript\n * const pages = repository.listManifestProperties().byPage({ maxPageSize: 2 });\n * let page = await pages.next();\n * let i = 1;\n * while (!page.done) {\n * if (page.value) {\n * console.log(`-- page ${i++}`);\n * for (const manifestProperties of page.value) {\n * console.log(` manifest properties: ${manifestProperties}`);\n * }\n * }\n * page = await pages.next();\n * }\n * ```\n * @param options -\n */\n public listManifestProperties(\n options: ListManifestPropertiesOptions = {}\n ): PagedAsyncIterableIterator<ArtifactManifestProperties, ManifestPageResponse> {\n const iter = this.listManifestsItems(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => this.listManifestsPage(settings, options),\n };\n }\n\n private async *listManifestsItems(\n options: ListManifestPropertiesOptions = {}\n ): AsyncIterableIterator<ArtifactManifestProperties> {\n for await (const page of this.listManifestsPage({}, options)) {\n yield* page;\n }\n }\n\n private async *listManifestsPage(\n continuationState: PageSettings,\n options: ListManifestPropertiesOptions = {}\n ): AsyncIterableIterator<ManifestPageResponse> {\n const orderby = toServiceManifestOrderBy(options.order);\n if (!continuationState.continuationToken) {\n const optionsComplete = {\n ...options,\n n: continuationState.maxPageSize,\n orderby,\n };\n const currentPage = await this.client.containerRegistry.getManifests(\n this.name,\n optionsComplete\n );\n continuationState.continuationToken = extractNextLink(currentPage.link);\n if (currentPage.manifests) {\n const array = currentPage.manifests.map((t) =>\n toArtifactManifestProperties(t, this.name, currentPage.registryLoginServer!)\n );\n yield Object.defineProperty(array, \"continuationToken\", {\n value: continuationState.continuationToken,\n enumerable: true,\n });\n }\n }\n while (continuationState.continuationToken) {\n const currentPage = await this.client.containerRegistry.getManifestsNext(\n this.name,\n continuationState.continuationToken,\n options\n );\n continuationState.continuationToken = extractNextLink(currentPage.link);\n if (currentPage.manifests) {\n const array = currentPage.manifests.map((t) =>\n toArtifactManifestProperties(t, this.name, currentPage.registryLoginServer!)\n );\n yield Object.defineProperty(array, \"continuationToken\", {\n value: continuationState.continuationToken,\n enumerable: true,\n });\n }\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Base64 decode\n *\n * @internal\n * @param encodedString -\n * @returns\n */\nexport function base64decode(encodedString: string): string {\n return Buffer.from(encodedString, \"base64\").toString();\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AccessToken, GetTokenOptions, TokenCredential } from \"@azure/core-auth\";\nimport { GeneratedClient } from \"./generated\";\nimport { base64decode } from \"./utils/base64\";\n\nexport interface ContainerRegistryGetTokenOptions extends GetTokenOptions {\n service: string;\n}\n\nexport class ContainerRegistryRefreshTokenCredential implements TokenCredential {\n readonly tokenService: ContainerRegistryTokenService;\n readonly isAnonymousAccess: boolean;\n constructor(\n authClient: GeneratedClient,\n private authenticationScope: string,\n private credential?: TokenCredential\n ) {\n this.tokenService = new ContainerRegistryTokenService(authClient);\n this.isAnonymousAccess = !this.credential;\n }\n\n async getToken(\n _scopes: string | string[],\n options: ContainerRegistryGetTokenOptions\n ): Promise<AccessToken | null> {\n if (!this.credential) {\n return null;\n }\n\n const aadToken = await this.credential.getToken(this.authenticationScope, options);\n if (!aadToken) {\n throw new Error(\"Failed to retrieve AAD token.\");\n }\n\n return this.tokenService.ExchangeAadAccessTokenForAcrRefreshTokenAsync(\n aadToken.token,\n options.service,\n options\n );\n }\n}\n\nexport class ContainerRegistryTokenService {\n constructor(private authClient: GeneratedClient) {}\n\n async ExchangeAadAccessTokenForAcrRefreshTokenAsync(\n aadAccessToken: string,\n service: string,\n options: GetTokenOptions\n ): Promise<AccessToken> {\n const acrRefreshToken =\n await this.authClient.authentication.exchangeAadAccessTokenForAcrRefreshToken(\n \"access_token\",\n service,\n {\n ...options,\n accessToken: aadAccessToken,\n }\n );\n if (!acrRefreshToken.refreshToken) {\n throw new Error(\"Failed to exchange AAD access token for an ACR refresh token.\");\n }\n\n // ACR refresh token expires after three hours\n const jwtParts = acrRefreshToken.refreshToken.split(\".\");\n if (jwtParts.length < 3) {\n throw new Error(\"Invalid JWT structure from ACR refresh token.\");\n }\n if (!jwtParts[1]) {\n throw new Error(\"Invalid JWT payload.\");\n }\n\n const jwtPayload = JSON.parse(base64decode(jwtParts[1]));\n if (!jwtPayload.exp) {\n throw new Error(\"Invalid JWT payload structure. No expiration.\");\n }\n\n // JWT expiry is in seconds\n const expiry = Number.parseInt(jwtPayload.exp) * 1000;\n return {\n token: acrRefreshToken.refreshToken,\n expiresOnTimestamp: expiry,\n };\n }\n\n async ExchangeAcrRefreshTokenForAcrAccessTokenAsync(\n acrRefreshToken: string,\n service: string,\n scope: string,\n grantType: \"refresh_token\" | \"password\",\n options: GetTokenOptions\n ): Promise<string> {\n const acrAccessToken =\n await this.authClient.authentication.exchangeAcrRefreshTokenForAcrAccessToken(\n service,\n scope,\n acrRefreshToken,\n grantType,\n options\n );\n\n if (!acrAccessToken.accessToken) {\n throw new Error(\"Failed to exchange ACR refresh token for an ACR access token\");\n }\n return acrAccessToken.accessToken;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { isTokenCredential, TokenCredential } from \"@azure/core-auth\";\nimport {\n InternalPipelineOptions,\n bearerTokenAuthenticationPolicy,\n PipelineOptions,\n} from \"@azure/core-rest-pipeline\";\nimport { OperationOptions } from \"@azure/core-client\";\n\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport \"@azure/core-paging\";\nimport { PageSettings, PagedAsyncIterableIterator } from \"@azure/core-paging\";\n\nimport { logger } from \"./logger\";\nimport { GeneratedClient } from \"./generated\";\nimport { createSpan } from \"./tracing\";\nimport { RepositoryPageResponse } from \"./models\";\nimport { extractNextLink } from \"./utils/helpers\";\nimport { ChallengeHandler } from \"./containerRegistryChallengeHandler\";\nimport {\n ContainerRepository,\n ContainerRepositoryImpl,\n DeleteRepositoryOptions,\n} from \"./containerRepository\";\nimport { RegistryArtifact } from \"./registryArtifact\";\nimport { ContainerRegistryRefreshTokenCredential } from \"./containerRegistryTokenCredential\";\n\nconst LATEST_API_VERSION = \"2021-07-01\";\n\n/**\n * Client options used to configure Container Registry Repository API requests.\n */\nexport interface ContainerRegistryClientOptions extends PipelineOptions {\n /**\n * Gets or sets the audience to use for authentication with Azure Active Directory.\n * The authentication scope will be set from this audience.\n * See {@link KnownContainerRegistryAudience} for known audience values.\n */\n audience?: string;\n /**\n * The version of service API to make calls against.\n */\n serviceVersion?: \"2021-07-01\";\n}\n\n/**\n * Options for the `listRepositories` method of `ContainerRegistryClient`.\n */\nexport interface ListRepositoriesOptions extends OperationOptions {}\n\n/**\n * The client class used to interact with the Container Registry service.\n */\nexport class ContainerRegistryClient {\n /**\n * The Azure Container Registry endpoint.\n */\n public readonly endpoint: string;\n\n private client: GeneratedClient;\n\n /**\n * Creates an instance of a ContainerRegistryClient.\n *\n * Example usage:\n * ```ts\n * import { ContainerRegistryClient } from \"@azure/container-registry\";\n * import { DefaultAzureCredential} from \"@azure/identity\";\n *\n * const client = new ContainerRegistryClient(\n * \"<container registry API endpoint>\",\n * new DefaultAzureCredential()\n * );\n * ```\n * @param endpoint - the URL endpoint of the container registry\n * @param credential - used to authenticate requests to the service\n * @param options - optional configuration used to send requests to the service\n */\n constructor(\n endpoint: string,\n credential: TokenCredential,\n options?: ContainerRegistryClientOptions\n );\n\n /**\n * Creates an instance of a ContainerRegistryClient to interact with\n * an Azure Container Registry that has anonymous pull access enabled.\n * Only operations that support anonymous access are enabled. Other service\n * methods will throw errors.\n *\n * Example usage:\n * ```ts\n * import { ContainerRegistryClient } from \"@azure/container-registry\";\n *\n * const client = new ContainerRegistryClient(\n * \"<container registry API endpoint>\",\n * );\n * ```\n * @param endpoint - the URL endpoint of the container registry\n * @param options - optional configuration used to send requests to the service\n */\n constructor(endpoint: string, options?: ContainerRegistryClientOptions);\n\n constructor(\n endpoint: string,\n credentialOrOptions?: TokenCredential | ContainerRegistryClientOptions,\n clientOptions: ContainerRegistryClientOptions = {}\n ) {\n if (!endpoint) {\n throw new Error(\"invalid endpoint\");\n }\n\n this.endpoint = endpoint;\n\n let credential: TokenCredential | undefined;\n let options: ContainerRegistryClientOptions | undefined;\n if (isTokenCredential(credentialOrOptions)) {\n credential = credentialOrOptions;\n options = clientOptions;\n } else {\n options = credentialOrOptions ?? {};\n }\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...options,\n loggingOptions: {\n logger: logger.info,\n // This array contains header names we want to log that are not already\n // included as safe. Unknown/unsafe headers are logged as \"<REDACTED>\".\n additionalAllowedQueryParameters: [\"last\", \"n\", \"orderby\", \"digest\"],\n },\n };\n // Require audience now until we have a default ACR audience from the service.\n if (!options.audience) {\n throw new Error(\n \"ContainerRegistryClientOptions.audience must be set to initialize ContainerRegistryClient.\"\n );\n }\n\n const defaultScope = `${options.audience}/.default`;\n const serviceVersion = options.serviceVersion ?? LATEST_API_VERSION;\n const authClient = new GeneratedClient(endpoint, serviceVersion, internalPipelineOptions);\n this.client = new GeneratedClient(endpoint, serviceVersion, internalPipelineOptions);\n this.client.pipeline.addPolicy(\n bearerTokenAuthenticationPolicy({\n credential,\n scopes: [defaultScope],\n challengeCallbacks: new ChallengeHandler(\n new ContainerRegistryRefreshTokenCredential(authClient, defaultScope, credential)\n ),\n })\n );\n }\n\n /**\n * Deletes the repository identified by the given name and all associated artifacts.\n *\n * @param repositoryName - the name of repository to delete\n * @param options - optional configuration for the operation\n */\n public async deleteRepository(\n repositoryName: string,\n options: DeleteRepositoryOptions = {}\n ): Promise<void> {\n if (!repositoryName) {\n throw new Error(\"invalid repositoryName\");\n }\n\n const { span, updatedOptions } = createSpan(\n \"ContainerRegistryClient-deleteRepository\",\n options\n );\n\n try {\n await this.client.containerRegistry.deleteRepository(repositoryName, updatedOptions);\n } catch (e) {\n span.setStatus({ code: SpanStatusCode.ERROR, message: e.message });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Returns an instance of {@link RegistryArtifact} for calling service methods related to the artifact specified by `repositoryName` and `tagOrDigest`.\n *\n * @param repositoryName - the name of repository\n * @param tagOrDigest - tag or digest of the artifact to retrieve\n */\n public getArtifact(repositoryName: string, tagOrDigest: string): RegistryArtifact {\n if (!repositoryName) {\n throw new Error(\"invalid repositoryName\");\n }\n if (!tagOrDigest) {\n throw new Error(\"invalid tagOrDigest\");\n }\n\n return new ContainerRepositoryImpl(this.endpoint, repositoryName, this.client).getArtifact(\n tagOrDigest\n );\n }\n\n /**\n * Returns an instance of {@link ContainerRepository} for calling service methods related to the repository specified by `repositoryName`.\n *\n * @param repositoryName - the name of repository\n */\n public getRepository(repositoryName: string): ContainerRepository {\n if (!repositoryName) {\n throw new Error(\"invalid repositoryName\");\n }\n\n return new ContainerRepositoryImpl(this.endpoint, repositoryName, this.client);\n }\n\n /**\n * Returns an async iterable iterator to list names of repositories in this registry.\n *\n * Example usage:\n * ```javascript\n * let client = new ContainerRegistryClient(url, credential);\n * for await (const repository of client.listRepositoryNames()) {\n * console.log(\"repository name: \", repository);\n * }\n * ```\n *\n * Example using `iter.next()`:\n *\n * ```javascript\n * let iter = client.listRepositoryNames();\n * let item = await iter.next();\n * while (!item.done) {\n * console.log(`repository name: ${item.value}`);\n * item = await iter.next();\n * }\n * ```\n *\n * Example using `byPage()`:\n *\n * ```javascript\n * const pages = client.listRepositoryNames().byPage({ maxPageSize: 2 });\n * let page = await pages.next();\n * let i = 1;\n * while (!page.done) {\n * if (page.value) {\n * console.log(`-- page ${i++}`);\n * for (const name of page.value) {\n * console.log(` repository name: ${name}`);\n * }\n * }\n * page = await pages.next();\n * }\n * ```\n * @param options -\n */\n public listRepositoryNames(\n options: ListRepositoriesOptions = {}\n ): PagedAsyncIterableIterator<string, RepositoryPageResponse> {\n const iter = this.listRepositoryItems(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => this.listRepositoriesPage(settings, options),\n };\n }\n\n private async *listRepositoryItems(\n options: ListRepositoriesOptions = {}\n ): AsyncIterableIterator<string> {\n for await (const page of this.listRepositoriesPage({}, options)) {\n yield* page;\n }\n }\n\n private async *listRepositoriesPage(\n continuationState: PageSettings,\n options: ListRepositoriesOptions = {}\n ): AsyncIterableIterator<RepositoryPageResponse> {\n if (!continuationState.continuationToken) {\n const optionsComplete = {\n ...options,\n n: continuationState.maxPageSize,\n };\n const currentPage = await this.client.containerRegistry.getRepositories(optionsComplete);\n continuationState.continuationToken = extractNextLink(currentPage.link);\n if (currentPage.repositories) {\n const array = currentPage.repositories;\n yield Object.defineProperty(array, \"continuationToken\", {\n value: continuationState.continuationToken,\n enumerable: true,\n });\n }\n }\n while (continuationState.continuationToken) {\n const currentPage = await this.client.containerRegistry.getRepositoriesNext(\n continuationState.continuationToken,\n options\n );\n continuationState.continuationToken = extractNextLink(currentPage.link);\n if (currentPage.repositories) {\n const array = currentPage.repositories;\n yield Object.defineProperty(array, \"continuationToken\", {\n value: continuationState.continuationToken,\n enumerable: true,\n });\n }\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport { ContainerRepositoryProperties, ArtifactTagProperties } from \"./generated\";\n\nimport { ArtifactTagProperties } from \"./generated\";\n\n/**\n * Defines known cloud audiences for Azure Container Registry.\n */\nexport enum KnownContainerRegistryAudience {\n /** Azure China */\n AzureResourceManagerChina = \"https://management.chinacloudapi.cn\",\n /** Azure Gemany */\n AzureResourceManagerGermany = \"https://management.microsoftazure.de\",\n /** Azure Government */\n AzureResourceManagerGovernment = \"https://management.usgovcloudapi.net\",\n /** Azure Public Cloud */\n AzureResourceManagerPublicCloud = \"https://management.azure.com\",\n}\n\n/**\n * Defines known artifact architectures that the service supports.\n */\nexport enum KnownArtifactArchitecture {\n /** i386 */\n I386 = \"386\",\n /** AMD64 */\n Amd64 = \"amd64\",\n /** ARM */\n Arm = \"arm\",\n /** ARM64 */\n Arm64 = \"arm64\",\n /** MIPS */\n Mips = \"mips\",\n /** MIPSLE */\n MipsLe = \"mipsle\",\n /** MIPS64 */\n Mips64 = \"mips64\",\n /** MIPS64LE */\n Mips64Le = \"mips64le\",\n /** PPC64 */\n Ppc64 = \"ppc64\",\n /** PPC64LE */\n Ppc64Le = \"ppc64le\",\n /** RISCv64 */\n RiscV64 = \"riscv64\",\n /** s390x */\n S390X = \"s390x\",\n /** Wasm */\n Wasm = \"wasm\",\n}\n\n/**\n * Defines known artifact platform's operating systems that the service supports.\n */\nexport enum KnownArtifactOperatingSystem {\n /** Aix */\n Aix = \"aix\",\n /** Android */\n Android = \"android\",\n /** Darwin */\n Darwin = \"darwin\",\n /** Dragonfly */\n Dragonfly = \"dragonfly\",\n /** FreeBSD */\n FreeBsd = \"freebsd\",\n /** Illumos */\n Illumos = \"illumos\",\n /** iOS */\n iOS = \"ios\",\n /** JS */\n JS = \"js\",\n /** Linux */\n Linux = \"linux\",\n /** NetBSD */\n NetBsd = \"netbsd\",\n /** OpenBSD */\n OpenBsd = \"openbsd\",\n /** Plan9 */\n Plan9 = \"plan9\",\n /** Solaris */\n Solaris = \"solaris\",\n /** Windows */\n Windows = \"windows\",\n}\n\n/** Manifest attributes details */\nexport interface ArtifactManifestPlatform {\n /**\n * Manifest digest\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly digest: string;\n /**\n * CPU architecture. See {@link KnownArtifactArchitecture} for values supported by the service.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly architecture?: string;\n /**\n * Operating system. See {@link KnownArtifactOperatingSystem} for values supported by the service.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly operatingSystem?: string;\n}\n\n/** Manifest attributes details */\nexport interface ArtifactManifestProperties {\n /**\n * Registry login server name. This is likely to be similar to <registry-name>.azurecr.io\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly registryLoginServer: string;\n /**\n * Repository name\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly repositoryName: string;\n /**\n * Manifest\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly digest: string;\n /**\n * Image size\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly sizeInBytes?: number;\n /**\n * Created time\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly createdOn: Date;\n /**\n * Last update time\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly lastUpdatedOn: Date;\n /**\n * CPU architecture. See {@link KnownArtifactArchitecture} for values supported by the service.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly architecture?: string;\n /**\n * Operating system. See {@link KnownArtifactOperatingSystem} for values supported by the service.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly operatingSystem?: string;\n /**\n * List of manifests referenced by this manifest list. List will be empty if this manifest is not a manifest list.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly relatedArtifacts: ArtifactManifestPlatform[];\n /**\n * List of tags\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly tags: string[];\n /** Delete enabled */\n canDelete?: boolean;\n /** Write enabled */\n canWrite?: boolean;\n /** List enabled */\n canList?: boolean;\n /** Read enabled */\n canRead?: boolean;\n}\n\n/**\n * Defines values for ArtifactTagOrder.\n * this contains the known values that the service supports.\n * ### Know values supported by the service\n * **LastUpdatedOnDescending**: Order tags by LastUpdatedOn field, from most recently updated to least recently updated.\n * **LastUpdatedOnAscending**: Order tags by LastUpdatedOn field, from least recently updated to most recently updated.\n */\nexport type ArtifactTagOrder = \"LastUpdatedOnDescending\" | \"LastUpdatedOnAscending\";\n\n/**\n * Defines values for ArtifactManifestOrder.\n * this contains the known values that the service supports.\n * ### Know values supported by the service\n * **LastUpdatedOnDescending**: Order registry artifacts by LastUpdatedOn field, from most recently updated to least recently updated.\n * **LastUpdatedOnAscending**: Order registry artifacts by LastUpdatedOn field, from least recently updated to most recently updated.\n */\nexport type ArtifactManifestOrder = \"LastUpdatedOnDescending\" | \"LastUpdatedOnAscending\";\n\n/**\n * Contains response data for the listRepositoryNames operation.\n */\nexport interface RepositoryPageResponse extends Array<string> {\n /**\n * Continuation token to pass to `byPage()` to resume listing of more results if available.\n */\n continuationToken?: string;\n}\n\n/**\n * Contains response data for the listManifests operation.\n */\nexport interface ManifestPageResponse extends Array<ArtifactManifestProperties> {\n /**\n * Continuation token to pass to `byPage()` to resume listing of more results if available.\n */\n continuationToken?: string;\n}\n\n/**\n * Contains response data for the listTags operation.\n */\nexport interface TagPageResponse extends Array<ArtifactTagProperties> {\n /**\n * Continuation token to pass to `byPage()` to resume listing of more results if available.\n */\n continuationToken?: string;\n}\n"],"names":["createClientLogger","ManifestMapper","RepositoryWriteablePropertiesMapper","TagWriteablePropertiesMapper","ManifestWriteablePropertiesMapper","coreClient.createSerializer","Mappers.AcrErrors","Parameters.url","Parameters.accept","Mappers.ManifestWrapper","Parameters.name","Parameters.reference","Parameters.accept1","Mappers.ContainerRegistryCreateManifestHeaders","Parameters.payload","Parameters.contentType","Mappers.Repositories","Mappers.ContainerRegistryGetRepositoriesHeaders","Parameters.last","Parameters.n","Parameters.apiVersion","Mappers.ContainerRepositoryProperties","Parameters.value","Parameters.contentType1","Mappers.TagList","Mappers.ContainerRegistryGetTagsHeaders","Parameters.orderby","Parameters.digest","Mappers.ArtifactTagProperties","Parameters.value1","Mappers.AcrManifests","Mappers.ContainerRegistryGetManifestsHeaders","Mappers.ArtifactManifestProperties","Parameters.digest1","Parameters.value2","Mappers.ContainerRegistryGetRepositoriesNextHeaders","Parameters.nextLink","Mappers.ContainerRegistryGetTagsNextHeaders","Mappers.ContainerRegistryGetManifestsNextHeaders","serializer","Mappers.ContainerRegistryBlobGetBlobHeaders","Parameters.accept2","Mappers.ContainerRegistryBlobCheckBlobExistsHeaders","Mappers.ContainerRegistryBlobDeleteBlobHeaders","Mappers.ContainerRegistryBlobMountBlobHeaders","Parameters.fromParam","Parameters.mount","Mappers.ContainerRegistryBlobGetUploadStatusHeaders","Parameters.location","Mappers.ContainerRegistryBlobUploadChunkHeaders","Parameters.value3","Parameters.contentType2","Parameters.accept3","Mappers.ContainerRegistryBlobCompleteUploadHeaders","Parameters.value4","Parameters.digest2","Mappers.ContainerRegistryBlobStartUploadHeaders","Mappers.ContainerRegistryBlobGetChunkHeaders","Parameters.range","Mappers.ContainerRegistryBlobCheckChunkExistsHeaders","Mappers.AcrRefreshToken","Parameters.grantType","Parameters.service","Parameters.tenant","Parameters.refreshToken","Parameters.accessToken","Parameters.contentType3","Parameters.accept4","Mappers.AcrAccessToken","Parameters.scope","Parameters.refreshToken1","Parameters.grantType1","coreClient.ServiceClient","createSpanFunction","URL","SpanStatusCode","__asyncValues","__asyncDelegator","isTokenCredential","bearerTokenAuthenticationPolicy","KnownContainerRegistryAudience","KnownArtifactArchitecture","KnownArtifactOperatingSystem"],"mappings":"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"}